diff --git a/.gradle/8.10/dependencies-accessors/gc.properties b/.gradle/8.10/dependencies-accessors/gc.properties new file mode 100644 index 00000000..e69de29b diff --git a/.gradle/8.10/expanded/expanded.lock b/.gradle/8.10/expanded/expanded.lock new file mode 100644 index 00000000..fa2213fc Binary files /dev/null and b/.gradle/8.10/expanded/expanded.lock differ diff --git a/.gradle/8.10/fileChanges/last-build.bin b/.gradle/8.10/fileChanges/last-build.bin new file mode 100644 index 00000000..f76dd238 Binary files /dev/null and b/.gradle/8.10/fileChanges/last-build.bin differ diff --git a/build/generated/sources/modMetadata/META-INF/neoforge.mods.toml b/build/generated/sources/modMetadata/META-INF/neoforge.mods.toml new file mode 100644 index 00000000..a9aa9c82 --- /dev/null +++ b/build/generated/sources/modMetadata/META-INF/neoforge.mods.toml @@ -0,0 +1,79 @@ +# This is an example mods.toml file. It contains the data relating to the loading mods. +# There are several mandatory fields (#mandatory), and many more that are optional (#optional). +# The overall format is standard TOML format, v0.5.0. +# Note that there are a couple of TOML lists in this file. +# Find more information on toml format here: https://github.com/toml-lang/toml +# The name of the mod loader type to load - for regular FML @Mod mods it should be javafml +modLoader = "javafml" #mandatory +# A version range to match for said mod loader - for regular FML @Mod it will be the the FML version. This is currently 47. +loaderVersion = "[4,)" #mandatory +# The license for you mod. This is mandatory metadata and allows for easier comprehension of your redistributive properties. +# Review your options at https://choosealicense.com/. All rights reserved is the default copyright stance, and is thus the default here. +license = "MIT" +# A URL to refer people to when problems occur with this mod +#issueTrackerURL="https://change.me.to.your.issue.tracker.example.invalid/" #optional +# A list of mods - how many allowed here is determined by the individual mod loader +[[mods]] #mandatory +# The modid of the mod +modId = "tfmg" #mandatory +# The version number of the mod +version = "1.0.1" #mandatory +# A display name for the mod +displayName = "Create: The Factory Must Grow" #mandatory +# A URL to query for updates for this mod. See the JSON update specification https://docs.neoforge.net/docs/misc/updatechecker/ +#updateJSONURL="https://change.me.example.invalid/updates.json" #optional +# A URL for the "homepage" for this mod, displayed in the mod UI +#displayURL="https://change.me.to.your.mods.homepage.example.invalid/" #optional +# A file name (in the root of the mod JAR) containing a logo for display +#logoFile="tfmg.png" #optional +# A text field displayed in the mod UI +#credits="" #optional +# A text field displayed in the mod UI +authors = "DrMangoTea, Pepa, Luna" #optional + +# The description text for the mod (multi line!) (#mandatory) +description = '''Create: The Factory Must Grow brings the age of steel, oil and electricity to the Create mod''' + +# The [[mixins]] block allows you to declare your mixin config to FML so that it gets loaded. +[[mixins]] +config = "tfmg.mixins.json" + +# The [[accessTransformers]] block allows you to declare where your AT file is. +# If this block is omitted, a fallback attempt will be made to load an AT from META-INF/accesstransformer.cfg +#[[accessTransformers]] +#file="META-INF/accesstransformer.cfg" + +# The coremods config file path is not configurable and is always loaded from META-INF/coremods.json + +# A dependency - use the . to indicate dependency for a specific modid. Dependencies are optional. +[[dependencies."tfmg"]] #optional +# the modid of the dependency +modId = "neoforge" #mandatory +# The type of the dependency. Can be one of "required", "optional", "incompatible" or "discouraged" (case insensitive). +# 'required' requires the mod to exist, 'optional' does not +# 'incompatible' will prevent the game from loading when the mod exists, and 'discouraged' will show a warning +type = "required" #mandatory +# Optional field describing why the dependency is required or why it is incompatible +# reason="..." +# The version range of the dependency +versionRange = "[21,)" #mandatory +# An ordering relationship for the dependency. +# BEFORE - This mod is loaded BEFORE the dependency +# AFTER - This mod is loaded AFTER the dependency +ordering = "NONE" +# Side this dependency is applied on - BOTH, CLIENT, or SERVER +side = "BOTH" +# Here's another dependency +[[dependencies."tfmg"]] +modId = "minecraft" +type = "required" +# This version range declares a minimum of the current minecraft version up to but not including the next major version +versionRange = "[1.21.1,1.22)" +ordering = "NONE" +side = "BOTH" + +# Features are specific properties of the game environment, that you may want to declare you require. This example declares +# that your mod requires GL version 3.2 or higher. Other features will be added. They are side aware so declaring this won't +# stop your mod loading on the server for example. +#[features."tfmg"] +#openGLVersion="[3.2,)" diff --git a/build/moddev/artifacts/neoforge-21.1.152-merged.jar b/build/moddev/artifacts/neoforge-21.1.152-merged.jar new file mode 100644 index 00000000..9064dddb Binary files /dev/null and b/build/moddev/artifacts/neoforge-21.1.152-merged.jar differ diff --git a/build/moddev/clientRunVmArgs.txt b/build/moddev/clientRunVmArgs.txt new file mode 100644 index 00000000..91fbc5a0 --- /dev/null +++ b/build/moddev/clientRunVmArgs.txt @@ -0,0 +1,22 @@ +-p +C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.neoforged\\JarJarFileSystems\\0.4.1\\78f59f89defcd032ed788b151ca6a0d40ace796a\\JarJarFileSystems-0.4.1.jar;C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\cpw.mods\\bootstraplauncher\\2.0.2\\1a2d076cbc33b0520cbacd591224427b2a20047d\\bootstraplauncher-2.0.2.jar;C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\cpw.mods\\securejarhandler\\3.0.8\\c0ef95cecd8699a0449053ac7d9c160748d902cd\\securejarhandler-3.0.8.jar;C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm-commons\\9.7\\e86dda4696d3c185fcc95d8d311904e7ce38a53f\\asm-commons-9.7.jar;C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm-util\\9.7\\c0655519f24d92af2202cb681cd7c1569df6ead6\\asm-util-9.7.jar;C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm-analysis\\9.7\\e4a258b7eb96107106c0599f0061cfc1832fe07a\\asm-analysis-9.7.jar;C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm-tree\\9.7\\e446a17b175bfb733b87c5c2560ccb4e57d69f1a\\asm-tree-9.7.jar;C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm\\9.7\\73d7b3086e14beb604ced229c302feff6449723\\asm-9.7.jar +--add-modules +ALL-MODULE-PATH +--add-opens +java.base/java.util.jar=cpw.mods.securejarhandler +--add-opens +java.base/java.lang.invoke=cpw.mods.securejarhandler +--add-exports +java.base/sun.security.util=cpw.mods.securejarhandler +--add-exports +jdk.naming.dns/com.sun.jndi.dns=java.naming +-Dlog4j2.configurationFile=C:\\Users\\adamn\\Documents\\minecraft\\mods\\TFMG\\Create-The_Factory_Must_Grow-1.21.1\\build\\moddev\\clientLog4j2.xml +-Dneoforge.enableGameTest=true +-DlegacyClassPath.file=C:\\Users\\adamn\\Documents\\minecraft\\mods\\TFMG\\Create-The_Factory_Must_Grow-1.21.1\\build\\moddev\\clientLegacyClasspath.txt +-DignoreList=securejarhandler-3.0.8.jar,asm-9.7.jar,asm-commons-9.7.jar,asm-tree-9.7.jar,asm-util-9.7.jar,asm-analysis-9.7.jar,bootstraplauncher-2.0.2.jar,JarJarFileSystems-0.4.1.jar,mixinextras-neoforge-0.4.1.jar,client-extra,neoforge- +-Dfml.gameLayerLibraries= +-DmergeModules=jna-5.10.0.jar,jna-platform-5.10.0.jar +-Djava.net.preferIPv6Addresses=system +-Dfml.pluginLayerLibraries= +-Dneoforge.enabledGameTestNamespaces=tfmg +-Dforge.logging.markers=REGISTRIES \ No newline at end of file diff --git a/build/moddev/dataRunVmArgs.txt b/build/moddev/dataRunVmArgs.txt new file mode 100644 index 00000000..5b90216d --- /dev/null +++ b/build/moddev/dataRunVmArgs.txt @@ -0,0 +1,20 @@ +-p +C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.neoforged\\JarJarFileSystems\\0.4.1\\78f59f89defcd032ed788b151ca6a0d40ace796a\\JarJarFileSystems-0.4.1.jar;C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\cpw.mods\\bootstraplauncher\\2.0.2\\1a2d076cbc33b0520cbacd591224427b2a20047d\\bootstraplauncher-2.0.2.jar;C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\cpw.mods\\securejarhandler\\3.0.8\\c0ef95cecd8699a0449053ac7d9c160748d902cd\\securejarhandler-3.0.8.jar;C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm-commons\\9.7\\e86dda4696d3c185fcc95d8d311904e7ce38a53f\\asm-commons-9.7.jar;C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm-util\\9.7\\c0655519f24d92af2202cb681cd7c1569df6ead6\\asm-util-9.7.jar;C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm-analysis\\9.7\\e4a258b7eb96107106c0599f0061cfc1832fe07a\\asm-analysis-9.7.jar;C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm-tree\\9.7\\e446a17b175bfb733b87c5c2560ccb4e57d69f1a\\asm-tree-9.7.jar;C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm\\9.7\\73d7b3086e14beb604ced229c302feff6449723\\asm-9.7.jar +--add-modules +ALL-MODULE-PATH +--add-opens +java.base/java.util.jar=cpw.mods.securejarhandler +--add-opens +java.base/java.lang.invoke=cpw.mods.securejarhandler +--add-exports +java.base/sun.security.util=cpw.mods.securejarhandler +--add-exports +jdk.naming.dns/com.sun.jndi.dns=java.naming +-Dlog4j2.configurationFile=C:\\Users\\adamn\\Documents\\minecraft\\mods\\TFMG\\Create-The_Factory_Must_Grow-1.21.1\\build\\moddev\\dataLog4j2.xml +-DlegacyClassPath.file=C:\\Users\\adamn\\Documents\\minecraft\\mods\\TFMG\\Create-The_Factory_Must_Grow-1.21.1\\build\\moddev\\dataLegacyClasspath.txt +-DignoreList=securejarhandler-3.0.8.jar,asm-9.7.jar,asm-commons-9.7.jar,asm-tree-9.7.jar,asm-util-9.7.jar,asm-analysis-9.7.jar,bootstraplauncher-2.0.2.jar,JarJarFileSystems-0.4.1.jar,mixinextras-neoforge-0.4.1.jar,client-extra,neoforge- +-Dfml.gameLayerLibraries= +-DmergeModules=jna-5.10.0.jar,jna-platform-5.10.0.jar +-Djava.net.preferIPv6Addresses=system +-Dfml.pluginLayerLibraries= +-Dforge.logging.markers=REGISTRIES \ No newline at end of file diff --git a/build/moddev/gameTestServerLog4j2.xml b/build/moddev/gameTestServerLog4j2.xml new file mode 100644 index 00000000..773e88ab --- /dev/null +++ b/build/moddev/gameTestServerLog4j2.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/moddev/gameTestServerRunVmArgs.txt b/build/moddev/gameTestServerRunVmArgs.txt new file mode 100644 index 00000000..a0d9e415 --- /dev/null +++ b/build/moddev/gameTestServerRunVmArgs.txt @@ -0,0 +1,23 @@ +-p +C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.neoforged\\JarJarFileSystems\\0.4.1\\78f59f89defcd032ed788b151ca6a0d40ace796a\\JarJarFileSystems-0.4.1.jar;C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\cpw.mods\\bootstraplauncher\\2.0.2\\1a2d076cbc33b0520cbacd591224427b2a20047d\\bootstraplauncher-2.0.2.jar;C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\cpw.mods\\securejarhandler\\3.0.8\\c0ef95cecd8699a0449053ac7d9c160748d902cd\\securejarhandler-3.0.8.jar;C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm-commons\\9.7\\e86dda4696d3c185fcc95d8d311904e7ce38a53f\\asm-commons-9.7.jar;C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm-util\\9.7\\c0655519f24d92af2202cb681cd7c1569df6ead6\\asm-util-9.7.jar;C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm-analysis\\9.7\\e4a258b7eb96107106c0599f0061cfc1832fe07a\\asm-analysis-9.7.jar;C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm-tree\\9.7\\e446a17b175bfb733b87c5c2560ccb4e57d69f1a\\asm-tree-9.7.jar;C:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm\\9.7\\73d7b3086e14beb604ced229c302feff6449723\\asm-9.7.jar +--add-modules +ALL-MODULE-PATH +--add-opens +java.base/java.util.jar=cpw.mods.securejarhandler +--add-opens +java.base/java.lang.invoke=cpw.mods.securejarhandler +--add-exports +java.base/sun.security.util=cpw.mods.securejarhandler +--add-exports +jdk.naming.dns/com.sun.jndi.dns=java.naming +-Dlog4j2.configurationFile=C:\\Users\\adamn\\Documents\\minecraft\\mods\\TFMG\\Create-The_Factory_Must_Grow-1.21.1\\build\\moddev\\gameTestServerLog4j2.xml +-Dneoforge.enableGameTest=true +-Dneoforge.gameTestServer=true +-DlegacyClassPath.file=C:\\Users\\adamn\\Documents\\minecraft\\mods\\TFMG\\Create-The_Factory_Must_Grow-1.21.1\\build\\moddev\\gameTestServerLegacyClasspath.txt +-DignoreList=securejarhandler-3.0.8.jar,asm-9.7.jar,asm-commons-9.7.jar,asm-tree-9.7.jar,asm-util-9.7.jar,asm-analysis-9.7.jar,bootstraplauncher-2.0.2.jar,JarJarFileSystems-0.4.1.jar,mixinextras-neoforge-0.4.1.jar,client-extra,neoforge- +-Dfml.gameLayerLibraries= +-DmergeModules=jna-5.10.0.jar,jna-platform-5.10.0.jar +-Djava.net.preferIPv6Addresses=system +-Dfml.pluginLayerLibraries= +-Dneoforge.enabledGameTestNamespaces=tfmg +-Dforge.logging.markers=REGISTRIES \ No newline at end of file diff --git a/build/moddev/serverLog4j2.xml b/build/moddev/serverLog4j2.xml new file mode 100644 index 00000000..773e88ab --- /dev/null +++ b/build/moddev/serverLog4j2.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/moddev/serverRunProgramArgs.txt b/build/moddev/serverRunProgramArgs.txt new file mode 100644 index 00000000..8d1cd0c3 --- /dev/null +++ b/build/moddev/serverRunProgramArgs.txt @@ -0,0 +1,19 @@ +# Main Class +cpw.mods.bootstraplauncher.BootstrapLauncher + +# NeoForge Run-Type Program Arguments +--launchTarget +forgeserveruserdev +--gameDir +. +--fml.neoForgeVersion +21.1.152 +--fml.fmlVersion +4.0.38 +--fml.mcVersion +1.21.1 +--fml.neoFormVersion +20240808.144430 + +# User Supplied Program Arguments +--nogui \ No newline at end of file diff --git a/build/reports/configuration-cache/6sy991t1b5nisvk14lmm0kyzl/1uzgwysk65zngn2q6915o08ag/configuration-cache-report.html b/build/reports/configuration-cache/6sy991t1b5nisvk14lmm0kyzl/1uzgwysk65zngn2q6915o08ag/configuration-cache-report.html new file mode 100644 index 00000000..e7cb43b8 --- /dev/null +++ b/build/reports/configuration-cache/6sy991t1b5nisvk14lmm0kyzl/1uzgwysk65zngn2q6915o08ag/configuration-cache-report.html @@ -0,0 +1,451 @@ + + + + + + + + + + + + + Gradle Configuration Cache + + + +
+ +
+ Loading... +
+ + + + + + diff --git a/build/resources/main/.cache/c5d1eddcf072f02c4997a7ec80c1b21ad739b1b3 b/build/resources/main/.cache/c5d1eddcf072f02c4997a7ec80c1b21ad739b1b3 new file mode 100644 index 00000000..0f61dd60 --- /dev/null +++ b/build/resources/main/.cache/c5d1eddcf072f02c4997a7ec80c1b21ad739b1b3 @@ -0,0 +1,515 @@ +// 1.21.1 2025-06-30T15:04:10.6625255 TFMG'S Standard Recipes +1ba4d033b7372e3e76f656e6d6f9eb1b8a2efe0a data/tfmg/advancement/recipes/misc/blasting/lead_ingot_blasting.json +e83131f3f345326695a796d8dac58b0868861458 data/tfmg/advancement/recipes/misc/blasting/lead_ingot_from_crushed_blasting.json +975643162ee77b2111d0bfebfb57da861544490a data/tfmg/advancement/recipes/misc/blasting/lithium_ingot_blasting.json +341f3bf3c91447d6184207919fdd47885f34e41f data/tfmg/advancement/recipes/misc/blasting/nickel_ingot_blasting.json +ae1d6b3f1f2569d0b18fad4d2c0af33cb349eca0 data/tfmg/advancement/recipes/misc/blasting/nickel_ingot_from_crushed_blasting.json +10bd2bbd6d600c04da6c42992ffb0d846d9d3fb7 data/tfmg/advancement/recipes/misc/crafting/materials/accumulator.json +6e055de56037e71377746a499ce3970fdc421d65 data/tfmg/advancement/recipes/misc/crafting/materials/accumulatorfrom_lithium.json +6581c5c8a5ecbd4cf0099c151896cf7e1758eef6 data/tfmg/advancement/recipes/misc/crafting/materials/air_intake.json +9ecf97839409e553a9d4062ed11785bdf0a4a500 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_axe.json +66db94dc52ae41cec71a3a5e4e73b5f0ac28b06d data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_block_from_compacting.json +5fe96e63b033e5d2e949fa9d9366f3bc5680dd68 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_cable_hub.json +819008864a677090daa4f945cc3094a401432656 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_cogwheel.json +681e6d711fabdfa569d03b8655fd469c0078e1ae data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_door.json +a70723e2daaed99bb2f63b6d3d6b60b3c2abc3fe data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_fluid_tank.json +64222d3ce0beba6ab163f26846e8b24eead61a71 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_flywheel.json +55f2186ff61067031e8ef9ffbec08e73cb496a6a data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_frame.json +15d10fa6dbdb2d7698f9e787d182eeb9417c571d data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_hoe.json +c5106fa02f73e852d1fa0cc7ab0de4ba51158b9a data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_ingot_from_compacting.json +0e87476a9f0c32d6725abd6a1b128217e0ee52f3 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_ingot_from_decompacting.json +a7c4181e01134f321982a443410669884ccbd919 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_lamp.json +192f2a0604bf014c9c38cbd7af837ad1e845da83 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_nugget_from_decompacting.json +9c3ac62187020b7dbd5f8f1b0030007633c9ba07 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_pickaxe.json +07f5c64345a0ce0894ae4b9dee87f463af067ab8 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_shovel.json +9614368e6b4a3f833588bcf556508afca5014135 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_spool.json +022368ea9eb516bfe32cb8cb6fdc14659ea226f7 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_sword.json +20d65fd203a7172e3eb8119a3828fcb88200aab7 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_truss.json +766b93e1a4fe05f100c1678cf3b01065c373c6a9 data/tfmg/advancement/recipes/misc/crafting/materials/black_concrete.json +eed9387b9eb583355e575ddd72cbd5b1443cf36a data/tfmg/advancement/recipes/misc/crafting/materials/black_multimeter.json +867e9a045a2117bfa453a2b7ed11ddad6868272d data/tfmg/advancement/recipes/misc/crafting/materials/black_rebar_concrete.json +b0d05b322d49df8dcc35bc49ce69f841320995a0 data/tfmg/advancement/recipes/misc/crafting/materials/blast_furnace_hatch.json +33a71456d2d779d14797427b837b7c278a952a8f data/tfmg/advancement/recipes/misc/crafting/materials/blast_furnace_output.json +02d880b4edf4367681e54abea99df8d08f5d7b0d data/tfmg/advancement/recipes/misc/crafting/materials/blast_furnace_reinforcement.json +282d0da4d486a1d1a95b7ff81fd2bb3d92ef1944 data/tfmg/advancement/recipes/misc/crafting/materials/blast_stove.json +99b963c7eed6543f0f207c15dc45051c373dee91 data/tfmg/advancement/recipes/misc/crafting/materials/blue_concrete.json +8514e65743850b4ea7a198fb8c293cc99cb3050b data/tfmg/advancement/recipes/misc/crafting/materials/blue_multimeter.json +c69ff9dfca6f9e864621e36e0b71a2f36d8b0357 data/tfmg/advancement/recipes/misc/crafting/materials/blue_rebar_concrete.json +b9a7cfce24712e56b393cd9fdcea49f2eddfa985 data/tfmg/advancement/recipes/misc/crafting/materials/brass_cable_hub.json +23691b4e1ad2e2578a55bd0c774429fbb650953d data/tfmg/advancement/recipes/misc/crafting/materials/brass_frame.json +2aac6c07c7c29f34f9b9a438b5813eee7efc8f6b data/tfmg/advancement/recipes/misc/crafting/materials/brass_truss.json +fea4f2a75a40a71c322da022033a67a37264c276 data/tfmg/advancement/recipes/misc/crafting/materials/brick_smokestack.json +c66fb2ea1cf956f53764aaaf5f28d70099b36b24 data/tfmg/advancement/recipes/misc/crafting/materials/brown_concrete.json +6021c92d83a6e0c338d18cd41ab84f57609e7ac8 data/tfmg/advancement/recipes/misc/crafting/materials/brown_multimeter.json +734de5893678b28aec289779ecdbee5981d40e35 data/tfmg/advancement/recipes/misc/crafting/materials/brown_rebar_concrete.json +739a00cda189f72c1f4cd38898c0712bffb31f42 data/tfmg/advancement/recipes/misc/crafting/materials/cable_connector.json +24914906f9d01e569ab83ccd37e7744674f8aece data/tfmg/advancement/recipes/misc/crafting/materials/cable_tube.json +04e35e4b7457906935003e0a7651d3cd60005607 data/tfmg/advancement/recipes/misc/crafting/materials/casting_basin.json +04febba3ad12a3ed6d802d76ed93f3200faedb3d data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_block_from_compacting.json +05de7ce92c56492e36ccc00070782e4e42a72daf data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_chemical_vat.json +4be640969f9200b0de32f20720d9fbdfcfab44f7 data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_fluid_tank.json +30ba68537862b68b59af4deb23f4046566c388ea data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_flywheel.json +718628af4fde3012865c3b9769940629fbd45bdb data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_frame.json +fd3fd7562048ea5d7b4f5de3944e6f3fdbd01914 data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_ingot_from_compacting.json +b0adfd6cf795d873f1bfc1732aca91fa02661f9f data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_ingot_from_decompacting.json +c3eb6195e42a6b2b930bb267bae2abff334d7196 data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_nugget_from_decompacting.json +5879584f09b67f4e83aa3cfe33a414699c5f52a2 data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_truss.json +1751159e37c1d9cf3c392726d9ee2ccb25bd044a data/tfmg/advancement/recipes/misc/crafting/materials/centrifuge.json +deb6ee513df35af15592b1f448b7b5da67c6d47b data/tfmg/advancement/recipes/misc/crafting/materials/cinderflour_block.json +0e6ee66a203ad045ffd8064e677d23f16060ccfe data/tfmg/advancement/recipes/misc/crafting/materials/cinder_block.json +6d3a1ea551b3388d226edc667eb445fffbf9eac3 data/tfmg/advancement/recipes/misc/crafting/materials/circular_light.json +27bf3c9801770718566d07821818de76af3d0bf0 data/tfmg/advancement/recipes/misc/crafting/materials/coal_coke.json +92e3306e1eb4c714f0e154aea29ed5f2958e21c6 data/tfmg/advancement/recipes/misc/crafting/materials/coal_coke_block.json +0da79c216abc5da65281795395639f14474e8af8 data/tfmg/advancement/recipes/misc/crafting/materials/coke_oven.json +8ac3434745d07283746318dcf04d8c706d87acd4 data/tfmg/advancement/recipes/misc/crafting/materials/concrete_hose.json +41177c9f8e12c5352b4d8f6f4fc390b96bf305e2 data/tfmg/advancement/recipes/misc/crafting/materials/concrete_smokestack.json +d80539f29b718d1c2ef51c44a08ce43b648219c3 data/tfmg/advancement/recipes/misc/crafting/materials/constantan_block_from_compacting.json +8010276d114f6e4b5c810ae645ef5bcd75655bed data/tfmg/advancement/recipes/misc/crafting/materials/constantan_frame.json +39058fbdea4a5675019f35938aaae7453e871bd5 data/tfmg/advancement/recipes/misc/crafting/materials/constantan_ingot_from_compacting.json +8f7b51b57de3ba242462908c5297f651ff29be72 data/tfmg/advancement/recipes/misc/crafting/materials/constantan_ingot_from_decompacting.json +bf2a101060dbfb52b3afd78fca24e1e496f71103 data/tfmg/advancement/recipes/misc/crafting/materials/constantan_nugget_from_decompacting.json +9526d014d0b78485e0478643b40381c45910011d data/tfmg/advancement/recipes/misc/crafting/materials/constantan_spool.json +0663d334a61948e61ee60229e65d21b75bddb7ac data/tfmg/advancement/recipes/misc/crafting/materials/constantan_truss.json +4aa859d17c9d8a094189df700453e7347a5a516e data/tfmg/advancement/recipes/misc/crafting/materials/converter.json +9f902c1897ab37214d3fc88a2bf37adc39438c8e data/tfmg/advancement/recipes/misc/crafting/materials/cooling_fluid_bottle.json +637002d04dbabae9d9be444890ff801e79dfcd43 data/tfmg/advancement/recipes/misc/crafting/materials/copper_cable_hub.json +e60311ef8f41384dc589fec4871ea4ae0fb70e0f data/tfmg/advancement/recipes/misc/crafting/materials/copper_frame.json +dd71f52393218cf573043ff3a398d80463bad2d6 data/tfmg/advancement/recipes/misc/crafting/materials/copper_grenade.json +ea1913c2461706ca54bc4354dea7962a70cb8afb data/tfmg/advancement/recipes/misc/crafting/materials/copper_spool.json +aa160503040d4977b61ccb05f13098a24cc9df88 data/tfmg/advancement/recipes/misc/crafting/materials/copper_truss.json +316dad2fc4a2aaba2a575109dd691fe093a2042f data/tfmg/advancement/recipes/misc/crafting/materials/copycat_cable_block.json +e3fef1a13983c1a9b325a4c756957d7354929a9e data/tfmg/advancement/recipes/misc/crafting/materials/crankshaft.json +fef9c0f151b60f49b774d4b51de4fa6240720e1c data/tfmg/advancement/recipes/misc/crafting/materials/cyan_concrete.json +05b06795f2a5caa5c12ded0efe73ca77f79cbfa0 data/tfmg/advancement/recipes/misc/crafting/materials/cyan_multimeter.json +f86f0b48bab60d04c8d78bf080480276f5489f06 data/tfmg/advancement/recipes/misc/crafting/materials/cyan_rebar_concrete.json +9dfe2905cd7500a93af662f7b3c4092c5c187bad data/tfmg/advancement/recipes/misc/crafting/materials/diagonal_cable_block.json +b206903e84dfa60d16a6538c5cf5471aad005fc7 data/tfmg/advancement/recipes/misc/crafting/materials/electrical_switch.json +c6edec32f743f4237f82221ca5545f9f360ce9c0 data/tfmg/advancement/recipes/misc/crafting/materials/electricians_wrench.json +87e2ceef418c504f75b207c7a67cc033ab4b48de data/tfmg/advancement/recipes/misc/crafting/materials/electric_diode.json +c6299d55ad53f07fa881ce9d52d7431b8304dd33 data/tfmg/advancement/recipes/misc/crafting/materials/electric_post.json +fec141af53a939b18f0c82adcae33dc6b8eb0d37 data/tfmg/advancement/recipes/misc/crafting/materials/electric_pump.json +a4571766b188a07babf0f91b93b18aa15e29218f data/tfmg/advancement/recipes/misc/crafting/materials/electrode_holder.json +0753a07d9908e21d4b036dbbdac366ece7658816 data/tfmg/advancement/recipes/misc/crafting/materials/empty_circuit_board.json +1b25e33e402a7c2149742ba75d961dc920079835 data/tfmg/advancement/recipes/misc/crafting/materials/engine_gearbox.json +c7cba29e6f7d2aa2b4fd2cdf34a71a17583d5450 data/tfmg/advancement/recipes/misc/crafting/materials/exhaust.json +884395f8fc0702edfbc5f5a8dcd061d81a0d1f93 data/tfmg/advancement/recipes/misc/crafting/materials/firebox.json +c65b18147b7b89fd505071f34a0d9f5bfff070ca data/tfmg/advancement/recipes/misc/crafting/materials/fireclay.json +05e9bad955ee982ba3ae172aff5551bdc66f7594 data/tfmg/advancement/recipes/misc/crafting/materials/fireproof_bricks.json +9e8c3b007ff62f37d5963a510837088e65a0b8e5 data/tfmg/advancement/recipes/misc/crafting/materials/fireproof_brick_reinforcement.json +fbbe810e1208507b4d7e7f6ec51183ab8310605c data/tfmg/advancement/recipes/misc/crafting/materials/fireproof_chemical_vat.json +c2a88b7d49ac16aaaabc5eb41ff44b81e448c2e7 data/tfmg/advancement/recipes/misc/crafting/materials/flarestack.json +34f8c61a0662d74bc5f8868bcc252d1c5e8a3211 data/tfmg/advancement/recipes/misc/crafting/materials/glass_cable_insulator.json +1c6d72c59241276ed97eb12028221af210a0837a data/tfmg/advancement/recipes/misc/crafting/materials/glass_insulator_segment.json +621d720793c003cf0e66365bd33dbdafbac0e742 data/tfmg/advancement/recipes/misc/crafting/materials/gray_concrete.json +afa4710298fcaa77660a93ce877c525474704e48 data/tfmg/advancement/recipes/misc/crafting/materials/gray_multimeter.json +01b1951017fae118b0372e6100ca60d16a32459f data/tfmg/advancement/recipes/misc/crafting/materials/gray_rebar_concrete.json +0c7ec9685284478c517f49b7d7ef08582b98837a data/tfmg/advancement/recipes/misc/crafting/materials/green_concrete.json +22170ac52bcaa7e1f48da11e9e363e67ffb1cfb2 data/tfmg/advancement/recipes/misc/crafting/materials/green_multimeter.json +ab67d5f0305a8188a0f8401cbf08e3154ce415ff data/tfmg/advancement/recipes/misc/crafting/materials/green_rebar_concrete.json +91d27b5c3598954ba0f72ff218e01a8ea7b111ae data/tfmg/advancement/recipes/misc/crafting/materials/heavy_cable_hub.json +7e039b604f1b897e1b94d0370bb5293a01e61486 data/tfmg/advancement/recipes/misc/crafting/materials/heavy_casing_door.json +ec32d19e3bcdb9408a5c980531f644395adf2d6e data/tfmg/advancement/recipes/misc/crafting/materials/heavy_plated_door.json +dd45a928d43f7558bde9bbbfff08991c137d36b2 data/tfmg/advancement/recipes/misc/crafting/materials/industrial_mixer.json +aa4b0182e6132667ce3a8774be8609c76e83a4ec data/tfmg/advancement/recipes/misc/crafting/materials/large_aluminum_cogwheel.json +8ce850d1d6892132c7b040af32e6376acbe0e9dd data/tfmg/advancement/recipes/misc/crafting/materials/large_pumpjack_hammer_connector.json +72f870034c3b74e74b59f2e8972b033a00d5dfc7 data/tfmg/advancement/recipes/misc/crafting/materials/large_pumpjack_hammer_head.json +c0bea63558a8afdea454500f2582f42c50e15f92 data/tfmg/advancement/recipes/misc/crafting/materials/large_steel_cogwheel.json +f052642688690b03ab7ccaa8f0b3c380307d5e9c data/tfmg/advancement/recipes/misc/crafting/materials/lead_axe.json +7737f4ec843701dda1a6205fc75cff8043f22210 data/tfmg/advancement/recipes/misc/crafting/materials/lead_block_from_compacting.json +6a3deb508cb27be73e287fd8eb90402aa2fb3fd2 data/tfmg/advancement/recipes/misc/crafting/materials/lead_flywheel.json +72a2bd6364a14d22d06a0e539cc06680b69e2f20 data/tfmg/advancement/recipes/misc/crafting/materials/lead_frame.json +66ec4781863c9b0cfaf83519103e07893f468e56 data/tfmg/advancement/recipes/misc/crafting/materials/lead_hoe.json +ad2263a7375a058567c68f3632c0734cc6acb256 data/tfmg/advancement/recipes/misc/crafting/materials/lead_ingot_from_compacting.json +b3eeb0e694b0bad6e9909e3d1867b86e3679153a data/tfmg/advancement/recipes/misc/crafting/materials/lead_ingot_from_decompacting.json +6a50e76176ca108e54ad03296487393323ba80cb data/tfmg/advancement/recipes/misc/crafting/materials/lead_nugget_from_decompacting.json +2fb4d6df936bdc2cc3648df5f5eae9cf738397f9 data/tfmg/advancement/recipes/misc/crafting/materials/lead_pickaxe.json +75cb8749fde2ee7e0348ffb3981c0a669ac6b30e data/tfmg/advancement/recipes/misc/crafting/materials/lead_shovel.json +049b54fecf312ef5335e358f8385093f28d5a162 data/tfmg/advancement/recipes/misc/crafting/materials/lead_sword.json +7ca39d780331bddaa59d21057ffe78d959f3df78 data/tfmg/advancement/recipes/misc/crafting/materials/lead_truss.json +a159a885e35b451d3735c8587b132e7a5cc0baca data/tfmg/advancement/recipes/misc/crafting/materials/light_blue_concrete.json +e0a703c7b2fbc72130fffd9e4d4d720217f7e622 data/tfmg/advancement/recipes/misc/crafting/materials/light_blue_multimeter.json +da91a2dd07046cd0a5fc4d9cb2daad7c632ac7d8 data/tfmg/advancement/recipes/misc/crafting/materials/light_blue_rebar_concrete.json +93ddae1b0eb5c6ffe9ff3c2f344727cc39e1f7cc data/tfmg/advancement/recipes/misc/crafting/materials/light_bulb.json +ec555fbacadf85c1a59d18534b5c5749f80b66b3 data/tfmg/advancement/recipes/misc/crafting/materials/light_gray_concrete.json +6949d2d02c0bf766039ef1e9253323c7fb29a8f8 data/tfmg/advancement/recipes/misc/crafting/materials/light_gray_multimeter.json +7a8a4f22874bb0def372ccf31cb4ccbee6fa4a01 data/tfmg/advancement/recipes/misc/crafting/materials/light_gray_rebar_concrete.json +1b4a051efdb330488bc5077e7511ebc88b983b53 data/tfmg/advancement/recipes/misc/crafting/materials/lime_concrete.json +684472d428cf9c509c14028cd29e879ca2dfc5a7 data/tfmg/advancement/recipes/misc/crafting/materials/lime_multimeter.json +6a742b9f97bfacf48517e5545d296059d227c3f8 data/tfmg/advancement/recipes/misc/crafting/materials/lime_rebar_concrete.json +c1454df94da933c12c0876e43dc80f4fcb58638d data/tfmg/advancement/recipes/misc/crafting/materials/lithium_blade.json +ed1deea39a9364f052c78d142e78b0967a133cc6 data/tfmg/advancement/recipes/misc/crafting/materials/lithium_block_from_compacting.json +cbddb4295abe43f1dae30a989bb75750d4ac210d data/tfmg/advancement/recipes/misc/crafting/materials/lithium_charge.json +762b3a31ad1cfbb4ae6d5114a8fa81332fee5c01 data/tfmg/advancement/recipes/misc/crafting/materials/lithium_ingot_from_compacting.json +d2a5ad3c82a1b6f642c3d6e90d07b91e8e33eb0b data/tfmg/advancement/recipes/misc/crafting/materials/lithium_ingot_from_decompacting.json +7f37da4673fb3cf9472365c38a3da91444a7df0b data/tfmg/advancement/recipes/misc/crafting/materials/lithium_nugget_from_decompacting.json +26a2078c01f5f49aedce3f73f597eae2bc26d155 data/tfmg/advancement/recipes/misc/crafting/materials/lithium_torch.json +4578f4ae380f28e6d2ce2d1c14980bc4b8f2c995 data/tfmg/advancement/recipes/misc/crafting/materials/machine_input.json +38b3415de84bd4cdbfd3199f54aa5bc446695c0b data/tfmg/advancement/recipes/misc/crafting/materials/magenta_concrete.json +4fb6e596001f2822c8b1b705ec76972064315f6c data/tfmg/advancement/recipes/misc/crafting/materials/magenta_multimeter.json +0b4d160084dd099087205d50b043d7416b3c74bd data/tfmg/advancement/recipes/misc/crafting/materials/magenta_rebar_concrete.json +a13bf24d8d13571ac6c7760f7f54bdcd5ae4e53f data/tfmg/advancement/recipes/misc/crafting/materials/metal_smokestack.json +68d6fa1171334ea1be1caadfc70da920be034fd6 data/tfmg/advancement/recipes/misc/crafting/materials/mixer_blade.json +80065730056b18fd579f8d7324157211bf9194c9 data/tfmg/advancement/recipes/misc/crafting/materials/modern_light.json +87c2f538d678449112ee089d3aa6ae98ddf06eed data/tfmg/advancement/recipes/misc/crafting/materials/multimeter.json +ae2ec065e1c5570e623c35c385eb260e0e69ad18 data/tfmg/advancement/recipes/misc/crafting/materials/napalm_bomb.json +78bee77974c6664f17d83235cd0a42e50de649ec data/tfmg/advancement/recipes/misc/crafting/materials/neon_tube.json +cd97138073edb2df282bda57f94b1e6dfd5acef6 data/tfmg/advancement/recipes/misc/crafting/materials/nickel_block_from_compacting.json +cda957eb43c07f92f765b12afc15bf4b7ee69ad4 data/tfmg/advancement/recipes/misc/crafting/materials/nickel_flywheel.json +5aeb6f6dd0d67044d08dd94edcd521d97b6eae89 data/tfmg/advancement/recipes/misc/crafting/materials/nickel_frame.json +b5ff824a7d33c9d2161540e83d28d054c6a29880 data/tfmg/advancement/recipes/misc/crafting/materials/nickel_ingot_from_compacting.json +6691caa72021eabd3b53bd1d2f5225ebc6973450 data/tfmg/advancement/recipes/misc/crafting/materials/nickel_ingot_from_decompacting.json +595a1937399c3cc532151b618f5948f56e8122a9 data/tfmg/advancement/recipes/misc/crafting/materials/nickel_nugget_from_decompacting.json +d7959c1f1d53d452c773ab0632f40abd3cc10dfb data/tfmg/advancement/recipes/misc/crafting/materials/nickel_truss.json +d9694d0293cc699e468836e9f8f344f85481e5cb data/tfmg/advancement/recipes/misc/crafting/materials/oil_can.json +b2384676e3745e58240363609dcf97c6713d10c0 data/tfmg/advancement/recipes/misc/crafting/materials/oil_hammer.json +d6bf7b4bdf24c78d46d9bd2575543864b2257767 data/tfmg/advancement/recipes/misc/crafting/materials/orange_concrete.json +73358283a2e2743e79b884ce05d1bca211ae55db data/tfmg/advancement/recipes/misc/crafting/materials/orange_multimeter.json +6066be34dab1e14de24abb8179f3bdbae1c4826b data/tfmg/advancement/recipes/misc/crafting/materials/orange_rebar_concrete.json +38bb95da15e27fb32565714608eed19b8e582c6e data/tfmg/advancement/recipes/misc/crafting/materials/pink_concrete.json +85bc0371e278bd1046ddff0b1d0b6598b52b54f8 data/tfmg/advancement/recipes/misc/crafting/materials/pink_multimeter.json +3b6457e6c6a123db48dacf11feadd16df253892a data/tfmg/advancement/recipes/misc/crafting/materials/pink_rebar_concrete.json +c2c63f9fb303ed0cd7144a4becd56647678d9e17 data/tfmg/advancement/recipes/misc/crafting/materials/pipe_bomb.json +d4aa0bf50dba392e0fb6eb0b0d21eb3deaec16ec data/tfmg/advancement/recipes/misc/crafting/materials/plastic_block.json +119c3d1de8050659210b785d905eed7157af7117 data/tfmg/advancement/recipes/misc/crafting/materials/plastic_sheet.json +e99c1b472d9467501e1ebbf8dc12437a1dcef5d5 data/tfmg/advancement/recipes/misc/crafting/materials/polarizer.json +379cf185c2701bc07bfd722be0ba594b3dd62b04 data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_base.json +bd22949da5dc31fef4c569f1b30ca16f038d9285 data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_crank.json +0b59e2e7d3d579d1a61f0a0ca3ebb6260ced4b76 data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_hammer.json +cdb93bb498da2b4f929c16b8941611ac9c4b67f8 data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_hammer_connector.json +6308c342d54767577ec94ab2f1aa5da24bdf1808 data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_hammer_head.json +8b93592849facfcdd255649c4829da450e85af0c data/tfmg/advancement/recipes/misc/crafting/materials/purple_concrete.json +2ef74c6937951efab8c3686891ccccc154a3cc68 data/tfmg/advancement/recipes/misc/crafting/materials/purple_multimeter.json +bd10fd39aef892b39f592e42656c110edc126377 data/tfmg/advancement/recipes/misc/crafting/materials/purple_rebar_concrete.json +cd970d28e19289dfcdd5ff5bb4c7f4f5fc9b3bff data/tfmg/advancement/recipes/misc/crafting/materials/radial_engine.json +e9476245b4a21f828626d8d22ed156226ed0a8d8 data/tfmg/advancement/recipes/misc/crafting/materials/raw_lead.json +2d8f235d312dc979cba8243bef6c4a9170d3461e data/tfmg/advancement/recipes/misc/crafting/materials/raw_lead_block.json +687906fbc87983c694dadf24bdb25650f8b2426c data/tfmg/advancement/recipes/misc/crafting/materials/raw_lithium.json +4e5e886da80de0c13fab1c7046e3206408d31641 data/tfmg/advancement/recipes/misc/crafting/materials/raw_lithium_block.json +161afa320e72f0c8bd0d3d1ac94479f4c1652c43 data/tfmg/advancement/recipes/misc/crafting/materials/raw_nickel.json +eb470478956e99c952e650bffc37207cc0ce198e data/tfmg/advancement/recipes/misc/crafting/materials/raw_nickel_block.json +3fb65e924a5b02cd103602ab65afa0aee350c92d data/tfmg/advancement/recipes/misc/crafting/materials/rebar.json +0eec85efde58168501b9795d93f05c99ef3c0727 data/tfmg/advancement/recipes/misc/crafting/materials/rebar_block.json +d6c4e3088ac4a3d3c36b8cd5a6ee0acb3da9883c data/tfmg/advancement/recipes/misc/crafting/materials/rebar_floor.json +3cf168d83b6f98ab04191a1d02a7d2a379fb89ea data/tfmg/advancement/recipes/misc/crafting/materials/rebar_pile.json +e48f497e37290566146a0be074694fddea2ca1e5 data/tfmg/advancement/recipes/misc/crafting/materials/rebar_pillar.json +1c029151bd593c3f15e6e322b3fb1c2ea0ee8ed3 data/tfmg/advancement/recipes/misc/crafting/materials/rebar_stairs.json +6a0453687fdfbc75cdeb10f3f2eede266b64ad3f data/tfmg/advancement/recipes/misc/crafting/materials/rebar_wall.json +3ae4e10abba58937f04c6e822aa7ca75c43c32d8 data/tfmg/advancement/recipes/misc/crafting/materials/red_concrete.json +404ac0e2485aa91e2f73114afe4a86cb43dd6552 data/tfmg/advancement/recipes/misc/crafting/materials/red_multimeter.json +00f495b34745ab410ffce6c96b03fac2c3599920 data/tfmg/advancement/recipes/misc/crafting/materials/red_rebar_concrete.json +7e336a7bfcdeabb8743194862f83f0a9ed06a6ae data/tfmg/advancement/recipes/misc/crafting/materials/regular_engine.json +9ee5b4b6923fdbbaa4c608d9be82afba1819fab6 data/tfmg/advancement/recipes/misc/crafting/materials/rusted_blast_furnace_reinforcement.json +1f5891a0392f48b0dc1eb5a213725d188837ec06 data/tfmg/advancement/recipes/misc/crafting/materials/screwdriver.json +93970f6a3c33af9c8a4d3fe888e554de551ed35f data/tfmg/advancement/recipes/misc/crafting/materials/screwdriverfrom_brass.json +d90e3ca22d1edc684c089a985b95a9573bf94dfd data/tfmg/advancement/recipes/misc/crafting/materials/segmented_display.json +94ca5eed35ed4358b9c94f6fe120d06261c65dc3 data/tfmg/advancement/recipes/misc/crafting/materials/steel_axe.json +a9709b109852fce282d3969f929e07b949d22567 data/tfmg/advancement/recipes/misc/crafting/materials/steel_block_from_compacting.json +fbafe2a9474c759cea160489f8159850c32d3bfc data/tfmg/advancement/recipes/misc/crafting/materials/steel_cable_hub.json +796883cc61bc9d620681039abea77f49f57a92ae data/tfmg/advancement/recipes/misc/crafting/materials/steel_casing_cable_hub.json +fa6626a32aa4010c068f367e514c478e2857e903 data/tfmg/advancement/recipes/misc/crafting/materials/steel_chemical_vat.json +e3bb2b6dfb06e384b056827b939c69ba8cbd86d1 data/tfmg/advancement/recipes/misc/crafting/materials/steel_cogwheel.json +8f47e9b04e3186655b3e7e97e65d823d056413c4 data/tfmg/advancement/recipes/misc/crafting/materials/steel_distillation_controller.json +567ecb9c0dd2e3c1d05d1fc0bd38faed0aab2fa3 data/tfmg/advancement/recipes/misc/crafting/materials/steel_distillation_output.json +15071185aaeb0aff405630d0fb7a3ed1de388b9e data/tfmg/advancement/recipes/misc/crafting/materials/steel_door.json +6f3d27529a79de118a613acc6331fd7ae5721913 data/tfmg/advancement/recipes/misc/crafting/materials/steel_fluid_tank.json +1d91b1752d7fd3468303a357d6235ce6851c68cb data/tfmg/advancement/recipes/misc/crafting/materials/steel_flywheel.json +0be679170b26160abe9524f3235138a41f7e7d78 data/tfmg/advancement/recipes/misc/crafting/materials/steel_frame.json +a2fe8e7d942c300272a8f75556b7d3b4fe1fba67 data/tfmg/advancement/recipes/misc/crafting/materials/steel_gearbox.json +2fde5da35c5bb54e97b5ea024f2a5a6e14fdc6bf data/tfmg/advancement/recipes/misc/crafting/materials/steel_hoe.json +27db390d78185acbd1a5517896a26854cd0f4413 data/tfmg/advancement/recipes/misc/crafting/materials/steel_ingot_from_compacting.json +bf96d3be6cbbc0c28b5d14f51a4cdcad7e6c1b10 data/tfmg/advancement/recipes/misc/crafting/materials/steel_ingot_from_decompacting.json +95e4f90325a09c41d894a2b29126933df4a41c8a data/tfmg/advancement/recipes/misc/crafting/materials/steel_nugget_from_decompacting.json +b716df5714af0dcb7b5e27245a108829b2f2d6d3 data/tfmg/advancement/recipes/misc/crafting/materials/steel_pickaxe.json +e01da2c61fbf74c8ddd2fcc298c3dcea91e9b175 data/tfmg/advancement/recipes/misc/crafting/materials/steel_shovel.json +885861f0b2275fda0a041b9fed2f7ccafe895f08 data/tfmg/advancement/recipes/misc/crafting/materials/steel_sword.json +8ee691e06b6281c058a3abfa4f01c38ed1a034a4 data/tfmg/advancement/recipes/misc/crafting/materials/steel_trapdoor.json +97bc8a978894f71fc0798ac432ad91f723d4a023 data/tfmg/advancement/recipes/misc/crafting/materials/steel_truss.json +946f0230e73df8e14908a225e4ecc2d6fb50d7da data/tfmg/advancement/recipes/misc/crafting/materials/surface_scanner.json +c9ce3253bed9ed63c89eb5449f719030c788e32e data/tfmg/advancement/recipes/misc/crafting/materials/thermite_grenade.json +cc0912afd54ca449102420dcb86bedd4fa28466c data/tfmg/advancement/recipes/misc/crafting/materials/traffic_light.json +1c6accdff145aeecedec5e8fcbf0f75322485212 data/tfmg/advancement/recipes/misc/crafting/materials/transformer.json +de79bb6623b91d11aa41cebbcf7b7914ccce4546 data/tfmg/advancement/recipes/misc/crafting/materials/transmission.json +aabfe2c1d21303278d0322183d3e7db901db1259 data/tfmg/advancement/recipes/misc/crafting/materials/turbine_engine.json +f624be55db5ffeed17457c1a0dafb89898f26bc0 data/tfmg/advancement/recipes/misc/crafting/materials/turbo.json +5aa3eccc945b3eab8c8b4d8f1c5ae85491351b94 data/tfmg/advancement/recipes/misc/crafting/materials/unfinished_electromagnetic_coil.json +d6fb2554c98e1615be35a068c9f822af85035188 data/tfmg/advancement/recipes/misc/crafting/materials/unfinished_resistor.json +239461226762283f3dd0b160714491828454f28e data/tfmg/advancement/recipes/misc/crafting/materials/unfinished_resistorfrom_slime.json +2ab5b936a5c5eaaa9e87054c18e437cb2595a328 data/tfmg/advancement/recipes/misc/crafting/materials/voltage_observer.json +1bacf66478df941bc649d6345b37329e8f041b97 data/tfmg/advancement/recipes/misc/crafting/materials/voltmeter.json +eff2a5b8584f7a9fe8be9382388c84fa05aac891 data/tfmg/advancement/recipes/misc/crafting/materials/white_concrete.json +489f84a45e46dd0c5d6ab6acb864d002e5c8440b data/tfmg/advancement/recipes/misc/crafting/materials/white_multimeter.json +817f0b94d99d978233e7d279156c87861af7a0f7 data/tfmg/advancement/recipes/misc/crafting/materials/white_rebar_concrete.json +56dfa5ec6e8d47ee5b968dc117caba998aa7f69e data/tfmg/advancement/recipes/misc/crafting/materials/winding_machine.json +e7bcf14c5cf481d6b8fcbb8458684e8a34912211 data/tfmg/advancement/recipes/misc/crafting/materials/yellow_concrete.json +b711ac0b4700990b1cb8b8839f7ee88730e8e588 data/tfmg/advancement/recipes/misc/crafting/materials/yellow_multimeter.json +9560a15dc9c409730ed52ac71944117a065a7cce data/tfmg/advancement/recipes/misc/crafting/materials/yellow_rebar_concrete.json +7155bc1ec5db4d990c88286650a9ff1a799f874f data/tfmg/advancement/recipes/misc/crafting/materials/zinc_frame.json +d54db7ca65d852881fe4e8635a487146ef3ef153 data/tfmg/advancement/recipes/misc/crafting/materials/zinc_grenade.json +002391cb592362488efbb7a01f82016212efd29c data/tfmg/advancement/recipes/misc/crafting/materials/zinc_truss.json +fbe4387c69c1d35e797bda5fee5f166d27cfc823 data/tfmg/advancement/recipes/misc/smelting/fireproof_brick.json +3507cd7119c6ccb08dbd9c2298bf55c9e674d0e9 data/tfmg/advancement/recipes/misc/smelting/lead_ingot.json +01da5054374723da5de0db7935d3c9d097138e1d data/tfmg/advancement/recipes/misc/smelting/lead_ingot_blasting.json +b697f184fcf580d1a2015d11bd992a76b7c218ec data/tfmg/advancement/recipes/misc/smelting/lead_ingot_from_crushed_blasting.json +a6bf8200a0a352dc10bf9dd69809da7598be6436 data/tfmg/advancement/recipes/misc/smelting/lithium_ingot.json +66c9f69eb27bfca2e4c8fde80d88bebbc024d38d data/tfmg/advancement/recipes/misc/smelting/lithium_ingot_blasting.json +cef3238bbd0377fd70e42759ab896cee8533d2f2 data/tfmg/advancement/recipes/misc/smelting/nickel_ingot.json +7b9e9d7087c3bb068f0f23b8be79c07b4ad4a9de data/tfmg/advancement/recipes/misc/smelting/nickel_ingot_blasting.json +d37951c8cadc7171c7d76f3dccb940d63e081546 data/tfmg/advancement/recipes/misc/smelting/nickel_ingot_from_crushed_blasting.json +8e64cc13455d9ac939c3b3779c176a7f0ac94c71 data/tfmg/advancement/recipes/misc/smelting/unfinished_insulator.json +5fd4775deac479175db652d1d60848f30b950a9a data/tfmg/recipe/blasting/lead_ingot_blasting.json +8236c6a98ad8b7c775c33f12dc5443a9814896ba data/tfmg/recipe/blasting/lead_ingot_from_crushed_blasting.json +2875431d39bdec9424b3c1ff51a33d8b8f2838b7 data/tfmg/recipe/blasting/lithium_ingot_blasting.json +8e00b06eda2399bcfdc71013ef1f060c99275f06 data/tfmg/recipe/blasting/nickel_ingot_blasting.json +e8ce85caeb22bc0c54fbb9aeceeeb3f7ea8a1495 data/tfmg/recipe/blasting/nickel_ingot_from_crushed_blasting.json +d106d48e609d7094b0bb707708512a55942d1c15 data/tfmg/recipe/crafting/materials/accumulator.json +20d2cb1f6dd696e0acbdc740eed1932724460559 data/tfmg/recipe/crafting/materials/accumulatorfrom_lithium.json +b23810c7693decbee3fa5ff712471a8abf078509 data/tfmg/recipe/crafting/materials/air_intake.json +c79ce6d267134fe7757c60b99d500eba7fd5e3bd data/tfmg/recipe/crafting/materials/aluminum_axe.json +5abf71eaf49ebde9d803d65692f8ce27c9fdde8b data/tfmg/recipe/crafting/materials/aluminum_block_from_compacting.json +61a2e9d897aa5f58a8125f8f9fc239c59176989d data/tfmg/recipe/crafting/materials/aluminum_cable_hub.json +3ce776d453a8793ee83457c9669fb34f1e5aa750 data/tfmg/recipe/crafting/materials/aluminum_cogwheel.json +e7c8aad1d6c6d214ebbd90d20460c201328a9e0d data/tfmg/recipe/crafting/materials/aluminum_door.json +85c44ae3b2c25483a93da282f2dbc489c943c4aa data/tfmg/recipe/crafting/materials/aluminum_fluid_tank.json +3cba18f633557d792211cbb703a76a2a73cfc3a8 data/tfmg/recipe/crafting/materials/aluminum_flywheel.json +448f2dbf1cb991d9d03ad38d3a7041094533a7ce data/tfmg/recipe/crafting/materials/aluminum_frame.json +0f4a25f4187c3e503c7880c90efc7008e8c41431 data/tfmg/recipe/crafting/materials/aluminum_hoe.json +16d88911e6ad8a9527478388020c3fcd6ed9aadd data/tfmg/recipe/crafting/materials/aluminum_ingot_from_compacting.json +6cbe3b795122382451a65b2402ca90922855e1d0 data/tfmg/recipe/crafting/materials/aluminum_ingot_from_decompacting.json +99828fb9105c78ca2c9a8fefc2076d9e4f0d7bef data/tfmg/recipe/crafting/materials/aluminum_lamp.json +bdbe5170df749d96362887273b885f3dc892bcb7 data/tfmg/recipe/crafting/materials/aluminum_nugget_from_decompacting.json +c4eb965d88eb501683a576ee8c0b80d61f7f92f5 data/tfmg/recipe/crafting/materials/aluminum_pickaxe.json +076c585d13541c358fc4df29b0eb857eb6b51022 data/tfmg/recipe/crafting/materials/aluminum_shovel.json +e5b684822100ee184d35a6129e71881420d4da9e data/tfmg/recipe/crafting/materials/aluminum_spool.json +0ec1566f3714470b185df94ee83c1c84f1277a78 data/tfmg/recipe/crafting/materials/aluminum_sword.json +c7314b55fc65dc3bad2c4d0d004a19a020516e44 data/tfmg/recipe/crafting/materials/aluminum_truss.json +d175595ea677f486ce9a10debd8d3643328824ac data/tfmg/recipe/crafting/materials/black_concrete.json +d2660859c561c4bd68813f400c03bad40e27d120 data/tfmg/recipe/crafting/materials/black_multimeter.json +5ac9abddb8aa449ec5ea472df17986c71e883638 data/tfmg/recipe/crafting/materials/black_rebar_concrete.json +1e2a794b2fba89002b53b1fb7983a447caf45c4a data/tfmg/recipe/crafting/materials/blast_furnace_hatch.json +f1372bc1f490e7831c7b5d9cd45ba58eaa710f07 data/tfmg/recipe/crafting/materials/blast_furnace_output.json +96487a711d26500380a1b7c9c67d72b3a1884af2 data/tfmg/recipe/crafting/materials/blast_furnace_reinforcement.json +18ce4d0dff5f3d95b408638cf7fb4857dccc38b4 data/tfmg/recipe/crafting/materials/blast_stove.json +7821f4885876f7445188a5c1f09c709d49d30409 data/tfmg/recipe/crafting/materials/blue_concrete.json +8901995d191b4b1892480cde3c8c09d95149fd1e data/tfmg/recipe/crafting/materials/blue_multimeter.json +014fa7939f6878f56e0331e2089d1e7b67a00692 data/tfmg/recipe/crafting/materials/blue_rebar_concrete.json +e2c43925defaac733d7a9e28679acc45511734ed data/tfmg/recipe/crafting/materials/brass_cable_hub.json +decd43dfe044ee6fdb1e6abfbac1e150bf61471f data/tfmg/recipe/crafting/materials/brass_frame.json +4f8acc3174e6b4153e8f117c6df0f57cd7fc0970 data/tfmg/recipe/crafting/materials/brass_truss.json +494e6c9b70eb5c992d5fdd19678c0bbc0037d088 data/tfmg/recipe/crafting/materials/brick_smokestack.json +df251ad3fcd97250b3d5c3105f1c29d325df39aa data/tfmg/recipe/crafting/materials/brown_concrete.json +ff2febdab0cca0421a0dd038100cfb6f8dc42faf data/tfmg/recipe/crafting/materials/brown_multimeter.json +537344919a2cee36e64d9931a4030561fbaa6925 data/tfmg/recipe/crafting/materials/brown_rebar_concrete.json +049e09b06c5d28a684a29605e9d1a50b8d8a3395 data/tfmg/recipe/crafting/materials/cable_connector.json +d73bd8005058bd2896092fd213b79039f078cccb data/tfmg/recipe/crafting/materials/cable_tube.json +54b1e6b3b1a0044a950241cadb39ee9bcc4f9933 data/tfmg/recipe/crafting/materials/casting_basin.json +6477ed4f5debc7b645ed864b0f1168fcfd17a5d0 data/tfmg/recipe/crafting/materials/cast_iron_block_from_compacting.json +20cf9808563515b5abbfc4907d88a45a47017938 data/tfmg/recipe/crafting/materials/cast_iron_chemical_vat.json +385df8fd169bf139183a9784c08bec10c1217dc0 data/tfmg/recipe/crafting/materials/cast_iron_fluid_tank.json +98acf8aa7e94ae8df5adb434d912bb690d1ae4dc data/tfmg/recipe/crafting/materials/cast_iron_flywheel.json +705510773f20579136c8f65a579fecf4a39b9a5b data/tfmg/recipe/crafting/materials/cast_iron_frame.json +6d70868e9a875b0eae0da514349e285db67e3661 data/tfmg/recipe/crafting/materials/cast_iron_ingot_from_compacting.json +a7f91fe3b66258765110f7eb3651b3309e7f18d2 data/tfmg/recipe/crafting/materials/cast_iron_ingot_from_decompacting.json +c5560b49308fd54211fd173fb48a3651e385f412 data/tfmg/recipe/crafting/materials/cast_iron_nugget_from_decompacting.json +b5a76d18a47375bd9d6c214039fdccbf67c21063 data/tfmg/recipe/crafting/materials/cast_iron_truss.json +d8049fae9b2c9c70547b97e62c56c7f7a9678cdd data/tfmg/recipe/crafting/materials/centrifuge.json +7a4a6be2415cf4b60cfb72c5e42caa4d1ac2daef data/tfmg/recipe/crafting/materials/cinderflour_block.json +52cefcfc28178016a82a07095669ceb76b35b125 data/tfmg/recipe/crafting/materials/cinder_block.json +163373fb1e28e5595b59e7b9b7b1701df06f4d6a data/tfmg/recipe/crafting/materials/circular_light.json +e69a1fa2ae46c128362c480dbeaa3dae46db9c1f data/tfmg/recipe/crafting/materials/coal_coke.json +9f21479f2d99a4be59ec3746d961cc256b21146d data/tfmg/recipe/crafting/materials/coal_coke_block.json +6e5ee4e853a86c20bd08cd00744df36e09ade6b2 data/tfmg/recipe/crafting/materials/coke_oven.json +116835faa845c6577723cf826a67bbd85f608feb data/tfmg/recipe/crafting/materials/concrete_hose.json +aa6119a180048584ddd7f8f396c8b865cdab0b04 data/tfmg/recipe/crafting/materials/concrete_smokestack.json +cd8026d05aa11602093496f7bb540779eb4b921f data/tfmg/recipe/crafting/materials/constantan_block_from_compacting.json +d102bbba5f703d9155dbfd89f3eeb53618c0c613 data/tfmg/recipe/crafting/materials/constantan_frame.json +8f8eb1d64849c2a993a22414f33eb0b0ced5db95 data/tfmg/recipe/crafting/materials/constantan_ingot_from_compacting.json +a283f9cc32d537b4bb91d7f277e2aa27e9e06ad1 data/tfmg/recipe/crafting/materials/constantan_ingot_from_decompacting.json +10208b260c8590f4dea15949d627c2660dd5a6db data/tfmg/recipe/crafting/materials/constantan_nugget_from_decompacting.json +576a88aa50473a462b05acde251d6941cf646eea data/tfmg/recipe/crafting/materials/constantan_spool.json +ed3b9755ae75894fe5e81133b0b7a10b09142336 data/tfmg/recipe/crafting/materials/constantan_truss.json +0cbf2af89469abe06f849a2d462d8616887ce81d data/tfmg/recipe/crafting/materials/converter.json +a6b7df4a66559f0a57c0e2d4dee85ae49004f84d data/tfmg/recipe/crafting/materials/cooling_fluid_bottle.json +8c981a9139ee9aec63647302eb9d604f84298ee4 data/tfmg/recipe/crafting/materials/copper_cable_hub.json +3bc0af5e78e0a5c22ef4b6ca5050f493c435d5bd data/tfmg/recipe/crafting/materials/copper_frame.json +e75f2251bcdf8cdb47d8de057735cf7efe1fb62f data/tfmg/recipe/crafting/materials/copper_grenade.json +28a6bb6757e75d754b10c536083c5be3d5ca0745 data/tfmg/recipe/crafting/materials/copper_spool.json +be689dc5df3bb0be1474c7b60d972eb9533d8868 data/tfmg/recipe/crafting/materials/copper_truss.json +103bb487b1b53aae642b1df1919c6442dd0e7b3a data/tfmg/recipe/crafting/materials/copycat_cable_block.json +f365d32e6c3f0f570e535b6fc083a640983b1541 data/tfmg/recipe/crafting/materials/crankshaft.json +19cfed240c8dcc7163fd2dad23adf6a827ed2743 data/tfmg/recipe/crafting/materials/cyan_concrete.json +6ae5384d34916efcf8af5825ca8a537dd9ed71fa data/tfmg/recipe/crafting/materials/cyan_multimeter.json +2ad93375bef2e81366458ef4ac711f9670fd5b7d data/tfmg/recipe/crafting/materials/cyan_rebar_concrete.json +ac7373fe6f7c2aa7e190d32950571029ebcf8dd2 data/tfmg/recipe/crafting/materials/diagonal_cable_block.json +57fefddb8873f5b1227737c9bbb7a92f61d43c04 data/tfmg/recipe/crafting/materials/electrical_switch.json +273a761fc931acb13b5dcc7e1ec89c142ee6d5c4 data/tfmg/recipe/crafting/materials/electricians_wrench.json +f9e958dc22be2067aecb38b14fab807e2ec952d1 data/tfmg/recipe/crafting/materials/electric_diode.json +81ed8e97c469a2c43aca94861f8ca81d3c41e6c7 data/tfmg/recipe/crafting/materials/electric_post.json +401d36d81a832fb61fa6d03429551079c99f40ca data/tfmg/recipe/crafting/materials/electric_pump.json +6792ed39b44236f2e5cd3236d952af259f1915f1 data/tfmg/recipe/crafting/materials/electrode_holder.json +e6bcab69512584362e0b6647d653a0bb32145a1f data/tfmg/recipe/crafting/materials/empty_circuit_board.json +e54ec249a95cdee71ac0fea1242bf6d8e28dbd24 data/tfmg/recipe/crafting/materials/engine_gearbox.json +de62177fb0426844d7c481b69a8da8c60474c44b data/tfmg/recipe/crafting/materials/exhaust.json +164ee58837512d583308bf1828f779a82e5df0f1 data/tfmg/recipe/crafting/materials/firebox.json +58bb0c6aa51262ff91bc6a133592329f621271c7 data/tfmg/recipe/crafting/materials/fireclay.json +2ed06fc71610f7d5ebe0a7ba05d0eadf4f8a41a6 data/tfmg/recipe/crafting/materials/fireproof_bricks.json +75eae476980dcc22b61d472ba4f60d297a8f60aa data/tfmg/recipe/crafting/materials/fireproof_brick_reinforcement.json +d09d2edeae31a276ea8c763c95df2aa119f40899 data/tfmg/recipe/crafting/materials/fireproof_chemical_vat.json +9449860c915eff49f557fde951f7c7ca329a8d2e data/tfmg/recipe/crafting/materials/flarestack.json +a9679bba91a9c4459dc12305eceea70c211ffe11 data/tfmg/recipe/crafting/materials/glass_cable_insulator.json +4df43d6d3a37fafaddd71dcb7679103aaabfa0f3 data/tfmg/recipe/crafting/materials/glass_insulator_segment.json +76f9c9a0de818ebf008156d50248fb6b34b145fd data/tfmg/recipe/crafting/materials/gray_concrete.json +6e182fd1827243b25252a600fa02d2354a632dea data/tfmg/recipe/crafting/materials/gray_multimeter.json +02d3990452037497731371ca87a0bdcb9994c62c data/tfmg/recipe/crafting/materials/gray_rebar_concrete.json +49231ae62616e48b0d37ad7db5406bfefd5759ce data/tfmg/recipe/crafting/materials/green_concrete.json +8996fd2ebdf1188a8bc262da95275ae6ffdbb04b data/tfmg/recipe/crafting/materials/green_multimeter.json +4a649fa1e19b634299df35d3897cec642f994219 data/tfmg/recipe/crafting/materials/green_rebar_concrete.json +d90f0635b9732cb6a036d4fcd90418c9ade73b3c data/tfmg/recipe/crafting/materials/heavy_cable_hub.json +c0ab0292bffca8798fcd50bee97955dc4fbf1fd8 data/tfmg/recipe/crafting/materials/heavy_casing_door.json +d02cba7d6e92651a7e5f7f4ebdc2511a085d7579 data/tfmg/recipe/crafting/materials/heavy_plated_door.json +693b34df5f8f775eeef89c0157ebeb1498adc6e7 data/tfmg/recipe/crafting/materials/industrial_mixer.json +76c8b00179d98204f3d4b66ee470ae6e7b631c70 data/tfmg/recipe/crafting/materials/large_aluminum_cogwheel.json +f4a0b0f3aba7ac9d275d67480f8014bb938a14b3 data/tfmg/recipe/crafting/materials/large_pumpjack_hammer_connector.json +96aeb5049913f5e5d933d6f89b8104ec85b27d92 data/tfmg/recipe/crafting/materials/large_pumpjack_hammer_head.json +87a436e57580c73275ebb3caca577c06eadd0412 data/tfmg/recipe/crafting/materials/large_steel_cogwheel.json +cdda82ae60bd65e3e022a2573ced6c86b4e75a17 data/tfmg/recipe/crafting/materials/lead_axe.json +2e05132f93d01876e2dad728b1eb8812430f741d data/tfmg/recipe/crafting/materials/lead_block_from_compacting.json +3f407cf9b54aed3b2d1cc034f57fe2300d48aa03 data/tfmg/recipe/crafting/materials/lead_flywheel.json +99897d44dc47c52ef21a039d601d367559c48106 data/tfmg/recipe/crafting/materials/lead_frame.json +cad7b01d5bf72e94182139d1215b8bab5accd1ba data/tfmg/recipe/crafting/materials/lead_hoe.json +ee7833341651079b5e352917e3272967ab989ca4 data/tfmg/recipe/crafting/materials/lead_ingot_from_compacting.json +9bf467d8c9b21f455afa381eee0e346729f61488 data/tfmg/recipe/crafting/materials/lead_ingot_from_decompacting.json +46795e075fa8d2ee1a6ceca7f292e7992a562e24 data/tfmg/recipe/crafting/materials/lead_nugget_from_decompacting.json +9f598a3243c78dcc7747c2e2865dc8754460ba34 data/tfmg/recipe/crafting/materials/lead_pickaxe.json +0cad798f8fae18f8b15fbb5169dc89a904c73901 data/tfmg/recipe/crafting/materials/lead_shovel.json +2e3359b4c70b84c529595555a3da11fe69468d91 data/tfmg/recipe/crafting/materials/lead_sword.json +b4c1c457beb1c942fca62f1c951ebdb92ab95d9b data/tfmg/recipe/crafting/materials/lead_truss.json +61f68ee5c58af91fb300c68e7a4b60ac6d1aafb6 data/tfmg/recipe/crafting/materials/light_blue_concrete.json +7b7df6e12b4f3ca388aa0630d019d468de730214 data/tfmg/recipe/crafting/materials/light_blue_multimeter.json +4a2c38de2745ced68ac15e162d76a2c5fe38bfd0 data/tfmg/recipe/crafting/materials/light_blue_rebar_concrete.json +cab35ad2b85deb90c4ab35c1d4a4f914ad7ef649 data/tfmg/recipe/crafting/materials/light_bulb.json +ef9e2b4530754aecbe4701ca33982333e08f0e87 data/tfmg/recipe/crafting/materials/light_gray_concrete.json +3d88d33485d11d49c50c0dcc79072e4c929bc448 data/tfmg/recipe/crafting/materials/light_gray_multimeter.json +4c3dbe871240aad96c21dcef317ebed78d2d6086 data/tfmg/recipe/crafting/materials/light_gray_rebar_concrete.json +eab72d8c767a6d3daed71ff32ad7cfe8d1f5dafb data/tfmg/recipe/crafting/materials/lime_concrete.json +fc37b695afdcc2370a903ac5e10b2feb14b326b3 data/tfmg/recipe/crafting/materials/lime_multimeter.json +784f5101bb1fe0309b5275721d48f3d2a6a9d5ef data/tfmg/recipe/crafting/materials/lime_rebar_concrete.json +699ce68a0cd7407d02a6bb27dce17caddab9127a data/tfmg/recipe/crafting/materials/lithium_blade.json +55b5c5bf8026c4733a9624409ce145d4616f453e data/tfmg/recipe/crafting/materials/lithium_block_from_compacting.json +a05ab5e201c2c4ded90ac916140a96d5fa6ed81f data/tfmg/recipe/crafting/materials/lithium_charge.json +c7b8b14ab5c5c5a200be1c71eb7bdbc132b02aec data/tfmg/recipe/crafting/materials/lithium_ingot_from_compacting.json +bd567c33469df6b8da6b6b5d93023312481ff084 data/tfmg/recipe/crafting/materials/lithium_ingot_from_decompacting.json +65ae6d28e9aeb3d5ee378bbf0c63ff0e30c407fe data/tfmg/recipe/crafting/materials/lithium_nugget_from_decompacting.json +432775d6bfa98688cea5de9c8f3bd88f9f9ea76e data/tfmg/recipe/crafting/materials/lithium_torch.json +a222a4ab2eca7456c1858153bd46c442ff07b462 data/tfmg/recipe/crafting/materials/machine_input.json +4b17d78379a67adccca6ee891138391e3263ff8c data/tfmg/recipe/crafting/materials/magenta_concrete.json +c4553d9b30796bf59fb090c876fbf84cc90ba189 data/tfmg/recipe/crafting/materials/magenta_multimeter.json +9defd369c8cae18d25c40be22360b91409653d4a data/tfmg/recipe/crafting/materials/magenta_rebar_concrete.json +2792d5753a7e48f0cc27afb21aaeb84dae6f912c data/tfmg/recipe/crafting/materials/metal_smokestack.json +f685194c17f83a02387a608a93c73676bb580bad data/tfmg/recipe/crafting/materials/mixer_blade.json +70916e3db2a264e19b8e1aea4e8e2581fe00b42d data/tfmg/recipe/crafting/materials/modern_light.json +67cb408efd2a8c30612c1502d94c9a01a470057c data/tfmg/recipe/crafting/materials/multimeter.json +537c1782e33cd3d87c00bb82ae7931ccb22753c4 data/tfmg/recipe/crafting/materials/napalm_bomb.json +6abb2c6f7c328843138f5366ee7094cd56c542dd data/tfmg/recipe/crafting/materials/neon_tube.json +ca7929c5c97a8398faaaf95f66eb07bc50aecc4b data/tfmg/recipe/crafting/materials/nickel_block_from_compacting.json +70bb0a2c65aa87bdbb9ddd0352975078d274f76f data/tfmg/recipe/crafting/materials/nickel_flywheel.json +22437ca9008cda24b9c8e87d67ef909b6a353f87 data/tfmg/recipe/crafting/materials/nickel_frame.json +df71480bb8b83e3ab70f479d16ad369a98b57674 data/tfmg/recipe/crafting/materials/nickel_ingot_from_compacting.json +8edf81be373ba5620a2e39c4b6d70d7c43574bdd data/tfmg/recipe/crafting/materials/nickel_ingot_from_decompacting.json +c7434ac1e9a5fc3d45ee5b6d2e642073526a1685 data/tfmg/recipe/crafting/materials/nickel_nugget_from_decompacting.json +7638f3541fd022faa7fe55b3555889084acb6747 data/tfmg/recipe/crafting/materials/nickel_truss.json +1fae93ad9217c404319fbbd3372a1bf5aa67a615 data/tfmg/recipe/crafting/materials/oil_can.json +4ed8c5b277af83f9f0b4354220eafda8a864503f data/tfmg/recipe/crafting/materials/oil_hammer.json +79a0ffb9bc675a34d85109b2ca5812f93a84d189 data/tfmg/recipe/crafting/materials/orange_concrete.json +10d9904e8ee9210ac18cd67c4f2823b18aa0c79a data/tfmg/recipe/crafting/materials/orange_multimeter.json +48e5a6aec7962ba79a86decbae82b174d7ac6f12 data/tfmg/recipe/crafting/materials/orange_rebar_concrete.json +c2c9d2c53acdcc582ca075b173f8ca8a4fc8e6d9 data/tfmg/recipe/crafting/materials/pink_concrete.json +fd22d270c7e925a6ae7b01e7b87866a9dc898fd2 data/tfmg/recipe/crafting/materials/pink_multimeter.json +9c74c0ffc2f71d6c599286b371266d136904c21e data/tfmg/recipe/crafting/materials/pink_rebar_concrete.json +a0490b8a3557edbdd87c3e4650313cd8ad1265b2 data/tfmg/recipe/crafting/materials/pipe_bomb.json +205a133cc1c17dd7246aa4728b0e542aae42ca15 data/tfmg/recipe/crafting/materials/plastic_block.json +1f5aa2449853410d91b81a93eb242990b6a1fc42 data/tfmg/recipe/crafting/materials/plastic_sheet.json +bd9ec3c0903940cbe06c140378177b99f1fd9a33 data/tfmg/recipe/crafting/materials/polarizer.json +64fa6fe41ff6e6c71fd31f9464b3a4a728a525ac data/tfmg/recipe/crafting/materials/pumpjack_base.json +a3cbf7c3a0c1743e032ab03803504870fd067aa7 data/tfmg/recipe/crafting/materials/pumpjack_crank.json +b5136197f8cd6d84bf8c11bff9b09f783445f55d data/tfmg/recipe/crafting/materials/pumpjack_hammer.json +6f6e0ff50309763bd742744ee89ea66616390c38 data/tfmg/recipe/crafting/materials/pumpjack_hammer_connector.json +784b8fd8de0aa669536c4b57d866e48f2c64c940 data/tfmg/recipe/crafting/materials/pumpjack_hammer_head.json +71af9f516cecbb600a99fa5fe039affe08b8a376 data/tfmg/recipe/crafting/materials/purple_concrete.json +a65c4ddb22a682aedd6422a07b19a2daef486589 data/tfmg/recipe/crafting/materials/purple_multimeter.json +599e1f5996961901edc9bbbff89c61b21a1a7c6f data/tfmg/recipe/crafting/materials/purple_rebar_concrete.json +bcd45743b40b24b7b2a265ecd63631e101d8410e data/tfmg/recipe/crafting/materials/radial_engine.json +f0d28622e3a7c48d6e9293e28449f0bcd5a63216 data/tfmg/recipe/crafting/materials/raw_lead.json +6d4407efb37ab8e7cfae1b01ec01f5afd94b9505 data/tfmg/recipe/crafting/materials/raw_lead_block.json +76258d776f3074d5141ae2ef995230ac7ce9a83c data/tfmg/recipe/crafting/materials/raw_lithium.json +39a74b20017afbe44d6a034be114abbd4abcf688 data/tfmg/recipe/crafting/materials/raw_lithium_block.json +e267154237a0370f1ec5e3334d624bf96cb7bcb5 data/tfmg/recipe/crafting/materials/raw_nickel.json +43ad9810bff66a3af6eabf436f427b43de7feb8a data/tfmg/recipe/crafting/materials/raw_nickel_block.json +14b50cd2dc1f3bab20cd5bce5c785922a5eb8b59 data/tfmg/recipe/crafting/materials/rebar.json +2aceadebd06de865ed5f87ca059cf567158bfbd0 data/tfmg/recipe/crafting/materials/rebar_block.json +2117d420a3f5a2d2d83b98cc2f0e3b8c02a45316 data/tfmg/recipe/crafting/materials/rebar_floor.json +48bacb1e0351e98afa0171514ea883bf9a046f62 data/tfmg/recipe/crafting/materials/rebar_pile.json +797023f6b87ed40745d3d57b19717c29af2263fb data/tfmg/recipe/crafting/materials/rebar_pillar.json +958dc1e2647b53af576b87e25cf7c61f18921489 data/tfmg/recipe/crafting/materials/rebar_stairs.json +982a511f2c976523b22fc80655c8b6ffde1cf8b7 data/tfmg/recipe/crafting/materials/rebar_wall.json +75bc2b21d2a6bd24ab0f5840a00dbbce7c7b8285 data/tfmg/recipe/crafting/materials/red_concrete.json +8949d0c95ce2bf17913fc442b2f780e7ad8f319d data/tfmg/recipe/crafting/materials/red_multimeter.json +077c3c2caeedcfbca8cfb40d4b199fc5bc918d3d data/tfmg/recipe/crafting/materials/red_rebar_concrete.json +f5d3c70ee7ec9092b7a522a82575a9e8fc43bc4f data/tfmg/recipe/crafting/materials/regular_engine.json +889f7c90ccee8555c6aa44d514ede05ccf269950 data/tfmg/recipe/crafting/materials/rusted_blast_furnace_reinforcement.json +0a34a712cabc2de13adaaa2065afa7bd2ae9156b data/tfmg/recipe/crafting/materials/screwdriver.json +7d9e4373134de097f74b364471551e3e44a1cab9 data/tfmg/recipe/crafting/materials/screwdriverfrom_brass.json +5843df447531f1f232c5bb4f874e1a3e64d2fc2d data/tfmg/recipe/crafting/materials/segmented_display.json +aab890f5bbfe58690b55e64411a91c4e9f4fba12 data/tfmg/recipe/crafting/materials/steel_axe.json +cce73975d317457949828490a420c52383bc7a44 data/tfmg/recipe/crafting/materials/steel_block_from_compacting.json +6b0add358b22efaf8d6ae2ac26e260f6bd7b982b data/tfmg/recipe/crafting/materials/steel_cable_hub.json +87920c01cf41a8e5b09ec19a54a48baf5e040a06 data/tfmg/recipe/crafting/materials/steel_casing_cable_hub.json +b46ba3dda18d6d7a29be504bd9dbbf7fee8e8281 data/tfmg/recipe/crafting/materials/steel_chemical_vat.json +4689e7d7b92724a49ce6dc3781a1b12df277633a data/tfmg/recipe/crafting/materials/steel_cogwheel.json +cb47257d448ada80339267b3f60d19ca014ca947 data/tfmg/recipe/crafting/materials/steel_distillation_controller.json +1311dd0176040bbeb89d1ffecccf3c53d85c91b9 data/tfmg/recipe/crafting/materials/steel_distillation_output.json +49a6d60e27d43c1e5b0e49576d24fbaa25816e8d data/tfmg/recipe/crafting/materials/steel_door.json +8b04967a63326d6882bfe2ced45ea95fa06f2a13 data/tfmg/recipe/crafting/materials/steel_fluid_tank.json +a5a51de643646781c968d15ac8ea2ab8011b0d68 data/tfmg/recipe/crafting/materials/steel_flywheel.json +1da2269c9760de28df984114fe6bd93a76141806 data/tfmg/recipe/crafting/materials/steel_frame.json +7dd88acebf3ec59809c58c207bad6c859920bde3 data/tfmg/recipe/crafting/materials/steel_gearbox.json +2eea444590ef1ff3ba042c0505afde174c722540 data/tfmg/recipe/crafting/materials/steel_hoe.json +a7bc08368aa212d6752b07996c0770b86bda627b data/tfmg/recipe/crafting/materials/steel_ingot_from_compacting.json +e9f0a4281209f8b93e6813b878df388b6cf244db data/tfmg/recipe/crafting/materials/steel_ingot_from_decompacting.json +4f740d7416ab3402e90a545a4c5f9a9fabbc1fd5 data/tfmg/recipe/crafting/materials/steel_nugget_from_decompacting.json +525675a63ef58fb3d18c9c9f057dedbeabc2337d data/tfmg/recipe/crafting/materials/steel_pickaxe.json +b476a375c8d50679e97aadfa1b06422555f5e5de data/tfmg/recipe/crafting/materials/steel_shovel.json +fd3bbbc39fdc8fdbbba3b25455aaf1750ee60bf4 data/tfmg/recipe/crafting/materials/steel_sword.json +766986efb85631549d4bd1c87a086b2402a2245e data/tfmg/recipe/crafting/materials/steel_trapdoor.json +628348980a4d38ce6f74f8d3ecfb510b94bb2bc6 data/tfmg/recipe/crafting/materials/steel_truss.json +26efee6aa8ae5a87421ce94816ec679fb8b45b97 data/tfmg/recipe/crafting/materials/surface_scanner.json +d0a83ed4d0e3ef511fffa88b739a00e8ac3f27e8 data/tfmg/recipe/crafting/materials/thermite_grenade.json +51873c54d7b434616fdff4f495c811f6b0db4050 data/tfmg/recipe/crafting/materials/traffic_light.json +6a0b9fd463d44658bf018eee535a47fefe4ce80b data/tfmg/recipe/crafting/materials/transformer.json +18c5229e5df52f4e26cb018af948b6dcb02170b9 data/tfmg/recipe/crafting/materials/transmission.json +a4d5490aef122658c1a10fbdc1fea617ee81ec2c data/tfmg/recipe/crafting/materials/turbine_engine.json +a24ee2a009886c77f180d051c64f4cca5c09744f data/tfmg/recipe/crafting/materials/turbo.json +f1551819f3bc0560de5222a74df0a89c42cf3895 data/tfmg/recipe/crafting/materials/unfinished_electromagnetic_coil.json +7490f3a38c94bcf8205aefd4cfd98876644d8552 data/tfmg/recipe/crafting/materials/unfinished_resistor.json +eb01cd90e9cac40c67f444458cfaad7781fc7771 data/tfmg/recipe/crafting/materials/unfinished_resistorfrom_slime.json +a12273269fd0687008dfc79bb1ca174b65fdd67f data/tfmg/recipe/crafting/materials/voltage_observer.json +4d57095e90fb9544069af4cefbc420ecb56512e4 data/tfmg/recipe/crafting/materials/voltmeter.json +b147baaf165d978f7ae4751cbc69358181ba4994 data/tfmg/recipe/crafting/materials/white_concrete.json +907938c0001639c6bf6b999778bf1b27acc3eace data/tfmg/recipe/crafting/materials/white_multimeter.json +ba5f8bf741f8bd7770d7b1335695521dc3cd7920 data/tfmg/recipe/crafting/materials/white_rebar_concrete.json +95c2c4c95731b032f3b85e399772c90dc89cf667 data/tfmg/recipe/crafting/materials/winding_machine.json +f94eeb4703090b7df927a8247de04dd17f424ccc data/tfmg/recipe/crafting/materials/yellow_concrete.json +34fc462fceb88c36765ab2cd5382480fe3c77938 data/tfmg/recipe/crafting/materials/yellow_multimeter.json +ba40667157de76d5d65dc0259b50c91fc3934a7d data/tfmg/recipe/crafting/materials/yellow_rebar_concrete.json +a26c1895e13e570f50d289254ba2e9776c6bf66e data/tfmg/recipe/crafting/materials/zinc_frame.json +ace7e758ed0c85515233a31a363f1790e12dd0b9 data/tfmg/recipe/crafting/materials/zinc_grenade.json +4d115edcb1461d5028f467c81741b078ad11783b data/tfmg/recipe/crafting/materials/zinc_truss.json +2a1b94d55a3a9d713cf5dc752e688ea05f4b99d3 data/tfmg/recipe/smelting/fireproof_brick.json +76d648e7a227a2461eb2c4a74b42887bad2704b0 data/tfmg/recipe/smelting/lead_ingot.json +76d648e7a227a2461eb2c4a74b42887bad2704b0 data/tfmg/recipe/smelting/lead_ingot_blasting.json +eceb059d38a4e2a6c555cea2edd88045e5569efc data/tfmg/recipe/smelting/lead_ingot_from_crushed_blasting.json +9224b8efd174aff56ac137cf1a174110c20399d3 data/tfmg/recipe/smelting/lithium_ingot.json +9224b8efd174aff56ac137cf1a174110c20399d3 data/tfmg/recipe/smelting/lithium_ingot_blasting.json +00a2f106e8a399c5f64829312665e4b11383bed7 data/tfmg/recipe/smelting/nickel_ingot.json +00a2f106e8a399c5f64829312665e4b11383bed7 data/tfmg/recipe/smelting/nickel_ingot_blasting.json +e1e3cf099b19f5796da3e04a144ecf8dc733663e data/tfmg/recipe/smelting/nickel_ingot_from_crushed_blasting.json +90472e03445b95da996c802bc449ad55898e8755 data/tfmg/recipe/smelting/unfinished_insulator.json diff --git a/build/resources/main/META-INF/neoforge.mods.toml b/build/resources/main/META-INF/neoforge.mods.toml new file mode 100644 index 00000000..a9aa9c82 --- /dev/null +++ b/build/resources/main/META-INF/neoforge.mods.toml @@ -0,0 +1,79 @@ +# This is an example mods.toml file. It contains the data relating to the loading mods. +# There are several mandatory fields (#mandatory), and many more that are optional (#optional). +# The overall format is standard TOML format, v0.5.0. +# Note that there are a couple of TOML lists in this file. +# Find more information on toml format here: https://github.com/toml-lang/toml +# The name of the mod loader type to load - for regular FML @Mod mods it should be javafml +modLoader = "javafml" #mandatory +# A version range to match for said mod loader - for regular FML @Mod it will be the the FML version. This is currently 47. +loaderVersion = "[4,)" #mandatory +# The license for you mod. This is mandatory metadata and allows for easier comprehension of your redistributive properties. +# Review your options at https://choosealicense.com/. All rights reserved is the default copyright stance, and is thus the default here. +license = "MIT" +# A URL to refer people to when problems occur with this mod +#issueTrackerURL="https://change.me.to.your.issue.tracker.example.invalid/" #optional +# A list of mods - how many allowed here is determined by the individual mod loader +[[mods]] #mandatory +# The modid of the mod +modId = "tfmg" #mandatory +# The version number of the mod +version = "1.0.1" #mandatory +# A display name for the mod +displayName = "Create: The Factory Must Grow" #mandatory +# A URL to query for updates for this mod. See the JSON update specification https://docs.neoforge.net/docs/misc/updatechecker/ +#updateJSONURL="https://change.me.example.invalid/updates.json" #optional +# A URL for the "homepage" for this mod, displayed in the mod UI +#displayURL="https://change.me.to.your.mods.homepage.example.invalid/" #optional +# A file name (in the root of the mod JAR) containing a logo for display +#logoFile="tfmg.png" #optional +# A text field displayed in the mod UI +#credits="" #optional +# A text field displayed in the mod UI +authors = "DrMangoTea, Pepa, Luna" #optional + +# The description text for the mod (multi line!) (#mandatory) +description = '''Create: The Factory Must Grow brings the age of steel, oil and electricity to the Create mod''' + +# The [[mixins]] block allows you to declare your mixin config to FML so that it gets loaded. +[[mixins]] +config = "tfmg.mixins.json" + +# The [[accessTransformers]] block allows you to declare where your AT file is. +# If this block is omitted, a fallback attempt will be made to load an AT from META-INF/accesstransformer.cfg +#[[accessTransformers]] +#file="META-INF/accesstransformer.cfg" + +# The coremods config file path is not configurable and is always loaded from META-INF/coremods.json + +# A dependency - use the . to indicate dependency for a specific modid. Dependencies are optional. +[[dependencies."tfmg"]] #optional +# the modid of the dependency +modId = "neoforge" #mandatory +# The type of the dependency. Can be one of "required", "optional", "incompatible" or "discouraged" (case insensitive). +# 'required' requires the mod to exist, 'optional' does not +# 'incompatible' will prevent the game from loading when the mod exists, and 'discouraged' will show a warning +type = "required" #mandatory +# Optional field describing why the dependency is required or why it is incompatible +# reason="..." +# The version range of the dependency +versionRange = "[21,)" #mandatory +# An ordering relationship for the dependency. +# BEFORE - This mod is loaded BEFORE the dependency +# AFTER - This mod is loaded AFTER the dependency +ordering = "NONE" +# Side this dependency is applied on - BOTH, CLIENT, or SERVER +side = "BOTH" +# Here's another dependency +[[dependencies."tfmg"]] +modId = "minecraft" +type = "required" +# This version range declares a minimum of the current minecraft version up to but not including the next major version +versionRange = "[1.21.1,1.22)" +ordering = "NONE" +side = "BOTH" + +# Features are specific properties of the game environment, that you may want to declare you require. This example declares +# that your mod requires GL version 3.2 or higher. Other features will be added. They are side aware so declaring this won't +# stop your mod loading on the server for example. +#[features."tfmg"] +#openGLVersion="[3.2,)" diff --git a/build/resources/main/assets/create/textures/fluid/butane.png b/build/resources/main/assets/create/textures/fluid/butane.png new file mode 100644 index 00000000..e69de29b diff --git a/build/resources/main/assets/create/textures/fluid/cooling_fluid_flow.png b/build/resources/main/assets/create/textures/fluid/cooling_fluid_flow.png new file mode 100644 index 00000000..e69de29b diff --git a/build/resources/main/assets/create/textures/fluid/cooling_fluid_still.png.mcmeta b/build/resources/main/assets/create/textures/fluid/cooling_fluid_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/create/textures/fluid/cooling_fluid_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/create/textures/fluid/creosote_flow.png b/build/resources/main/assets/create/textures/fluid/creosote_flow.png new file mode 100644 index 00000000..e69de29b diff --git a/build/resources/main/assets/create/textures/fluid/creosote_flow.png.mcmeta b/build/resources/main/assets/create/textures/fluid/creosote_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/create/textures/fluid/creosote_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/create/textures/fluid/crude_oil_flow.png.mcmeta b/build/resources/main/assets/create/textures/fluid/crude_oil_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/create/textures/fluid/crude_oil_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/create/textures/fluid/diesel_still.png.mcmeta b/build/resources/main/assets/create/textures/fluid/diesel_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/create/textures/fluid/diesel_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/create/textures/fluid/ethylene.png b/build/resources/main/assets/create/textures/fluid/ethylene.png new file mode 100644 index 00000000..e69de29b diff --git a/build/resources/main/assets/create/textures/fluid/gasoline_flow.png b/build/resources/main/assets/create/textures/fluid/gasoline_flow.png new file mode 100644 index 00000000..e69de29b diff --git a/build/resources/main/assets/create/textures/fluid/gasoline_flow.png.mcmeta b/build/resources/main/assets/create/textures/fluid/gasoline_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/create/textures/fluid/gasoline_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/create/textures/fluid/gasoline_still.png b/build/resources/main/assets/create/textures/fluid/gasoline_still.png new file mode 100644 index 00000000..e69de29b diff --git a/build/resources/main/assets/create/textures/fluid/heavy_oil_flow.png b/build/resources/main/assets/create/textures/fluid/heavy_oil_flow.png new file mode 100644 index 00000000..e69de29b diff --git a/build/resources/main/assets/create/textures/fluid/kerosene_flow.png.mcmeta b/build/resources/main/assets/create/textures/fluid/kerosene_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/create/textures/fluid/kerosene_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/create/textures/fluid/kerosene_still.png.mcmeta b/build/resources/main/assets/create/textures/fluid/kerosene_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/create/textures/fluid/kerosene_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/create/textures/fluid/liquid_asphalt.png b/build/resources/main/assets/create/textures/fluid/liquid_asphalt.png new file mode 100644 index 00000000..8d837f89 Binary files /dev/null and b/build/resources/main/assets/create/textures/fluid/liquid_asphalt.png differ diff --git a/build/resources/main/assets/create/textures/fluid/liquid_concrete.png b/build/resources/main/assets/create/textures/fluid/liquid_concrete.png new file mode 100644 index 00000000..e69de29b diff --git a/build/resources/main/assets/create/textures/fluid/lpg.png b/build/resources/main/assets/create/textures/fluid/lpg.png new file mode 100644 index 00000000..e69de29b diff --git a/build/resources/main/assets/create/textures/fluid/lpg.png.mcmeta b/build/resources/main/assets/create/textures/fluid/lpg.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/create/textures/fluid/lpg.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/create/textures/fluid/lubrication_oil_still.png b/build/resources/main/assets/create/textures/fluid/lubrication_oil_still.png new file mode 100644 index 00000000..e69de29b diff --git a/build/resources/main/assets/create/textures/fluid/lubrication_oil_still.png.mcmeta b/build/resources/main/assets/create/textures/fluid/lubrication_oil_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/create/textures/fluid/lubrication_oil_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/create/textures/fluid/molten_steel_flow.png.mcmeta b/build/resources/main/assets/create/textures/fluid/molten_steel_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/create/textures/fluid/molten_steel_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/create/textures/fluid/molten_steel_still.png b/build/resources/main/assets/create/textures/fluid/molten_steel_still.png new file mode 100644 index 00000000..e69de29b diff --git a/build/resources/main/assets/create/textures/fluid/naphtha_flow.png b/build/resources/main/assets/create/textures/fluid/naphtha_flow.png new file mode 100644 index 00000000..e69de29b diff --git a/build/resources/main/assets/create/textures/fluid/propylene.png.mcmeta b/build/resources/main/assets/create/textures/fluid/propylene.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/create/textures/fluid/propylene.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/minecraft/atlases/blocks.json b/build/resources/main/assets/minecraft/atlases/blocks.json new file mode 100644 index 00000000..bd1dd372 --- /dev/null +++ b/build/resources/main/assets/minecraft/atlases/blocks.json @@ -0,0 +1,47 @@ +{ + "sources": [ + {"type": "single", "resource": "tfmg:fluid/crude_oil_flow"}, + {"type": "single", "resource": "tfmg:fluid/crude_oil_still"}, + {"type": "single", "resource": "tfmg:fluid/air"}, + {"type": "single", "resource": "tfmg:fluid/butane"}, + {"type": "single", "resource": "tfmg:fluid/carbon_dioxide"}, + {"type": "single", "resource": "tfmg:fluid/cooling_fluid_flow"}, + {"type": "single", "resource": "tfmg:fluid/cooling_fluid_still"}, + {"type": "single", "resource": "tfmg:fluid/creosote_flow"}, + {"type": "single", "resource": "tfmg:fluid/creosote_still"}, + {"type": "single", "resource": "tfmg:fluid/diesel_flow"}, + {"type": "single", "resource": "tfmg:fluid/diesel_still"}, + {"type": "single", "resource": "tfmg:fluid/gasoline_flow"}, + {"type": "single", "resource": "tfmg:fluid/gasoline_still"}, + {"type": "single", "resource": "tfmg:fluid/ethylene"}, + {"type": "single", "resource": "tfmg:fluid/propylene"}, + {"type": "single", "resource": "tfmg:fluid/heavy_oil_flow"}, + {"type": "single", "resource": "tfmg:fluid/heavy_oil_still"}, + {"type": "single", "resource": "tfmg:fluid/kerosene_flow"}, + {"type": "single", "resource": "tfmg:fluid/kerosene_still"}, + {"type": "single", "resource": "tfmg:fluid/liquid_asphalt_still"}, + {"type": "single", "resource": "tfmg:fluid/liquid_asphalt_flow"}, + {"type": "single", "resource": "tfmg:fluid/liquid_concrete_still"}, + {"type": "single", "resource": "tfmg:fluid/liquid_concrete_flow"}, + {"type": "single", "resource": "tfmg:fluid/molten_plastic_flow"}, + {"type": "single", "resource": "tfmg:fluid/molten_plastic_still"}, + {"type": "single", "resource": "tfmg:fluid/lubrication_oil_flow"}, + {"type": "single", "resource": "tfmg:fluid/lubrication_oil_still"}, + {"type": "single", "resource": "tfmg:fluid/molten_slag_flow"}, + {"type": "single", "resource": "tfmg:fluid/molten_slag_still"}, + {"type": "single", "resource": "tfmg:fluid/molten_steel_flow"}, + {"type": "single", "resource": "tfmg:fluid/molten_steel_still"}, + {"type": "single", "resource": "tfmg:fluid/napalm_flow"}, + {"type": "single", "resource": "tfmg:fluid/napalm_still"}, + {"type": "single", "resource": "tfmg:fluid/liquid_silicon_flow"}, + {"type": "single", "resource": "tfmg:fluid/liquid_silicon_still"}, + {"type": "single", "resource": "tfmg:fluid/naphtha_flow"}, + {"type": "single", "resource": "tfmg:fluid/naphtha_still"}, + {"type": "single", "resource": "tfmg:fluid/sulfuric_acid_flow"}, + {"type": "single", "resource": "tfmg:fluid/sulfuric_acid_still"}, + {"type": "single", "resource": "tfmg:fluid/propane"}, + {"type": "single", "resource": "tfmg:fluid/lpg"}, + {"type": "single", "resource": "tfmg:fluid/neon"}, + {"type": "single", "resource": "tfmg:fluid/gas_texture"} + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/aluminum_bars.json b/build/resources/main/assets/tfmg/blockstates/aluminum_bars.json new file mode 100644 index 00000000..4c3802f8 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/aluminum_bars.json @@ -0,0 +1,100 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/aluminum_post_ends" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_post" + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_cap" + }, + "when": { + "east": "false", + "north": "true", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_cap", + "y": 90 + }, + "when": { + "east": "true", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_cap_alt" + }, + "when": { + "east": "false", + "north": "false", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_cap_alt", + "y": 90 + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_side" + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_side", + "y": 90 + }, + "when": { + "east": "true" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_side_alt" + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_side_alt", + "y": 90 + }, + "when": { + "west": "true" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/aluminum_lamp.json b/build/resources/main/assets/tfmg/blockstates/aluminum_lamp.json new file mode 100644 index 00000000..15716716 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/aluminum_lamp.json @@ -0,0 +1,836 @@ +{ + "variants": { + "facing=down,level=0,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block", + "x": 180 + }, + "facing=down,level=0,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block", + "x": 180 + }, + "facing=down,level=1,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=1,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=10,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=10,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=11,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=11,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=12,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=12,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=13,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=13,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=14,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=14,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=15,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=15,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=2,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=2,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=3,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=3,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=4,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=4,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=5,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=5,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=6,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=6,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=7,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=7,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=8,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=8,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=9,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=9,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=east,level=0,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block", + "x": 90, + "y": 90 + }, + "facing=east,level=0,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block", + "x": 90, + "y": 90 + }, + "facing=east,level=1,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=1,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=10,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=10,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=11,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=11,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=12,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=12,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=13,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=13,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=14,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=14,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=15,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=15,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=2,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=2,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=3,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=3,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=4,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=4,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=5,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=5,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=6,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=6,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=7,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=7,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=8,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=8,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=9,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=9,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=north,level=0,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block", + "x": 90 + }, + "facing=north,level=0,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block", + "x": 90 + }, + "facing=north,level=1,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=1,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=10,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=10,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=11,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=11,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=12,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=12,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=13,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=13,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=14,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=14,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=15,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=15,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=2,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=2,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=3,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=3,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=4,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=4,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=5,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=5,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=6,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=6,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=7,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=7,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=8,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=8,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=9,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=9,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=south,level=0,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block", + "x": 90, + "y": 180 + }, + "facing=south,level=0,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block", + "x": 90, + "y": 180 + }, + "facing=south,level=1,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=1,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=10,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=10,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=11,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=11,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=12,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=12,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=13,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=13,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=14,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=14,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=15,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=15,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=2,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=2,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=3,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=3,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=4,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=4,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=5,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=5,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=6,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=6,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=7,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=7,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=8,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=8,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=9,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=9,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=up,level=0,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block" + }, + "facing=up,level=0,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block" + }, + "facing=up,level=1,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=1,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=10,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=10,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=11,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=11,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=12,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=12,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=13,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=13,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=14,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=14,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=15,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=15,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=2,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=2,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=3,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=3,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=4,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=4,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=5,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=5,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=6,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=6,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=7,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=7,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=8,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=8,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=9,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=9,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=west,level=0,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block", + "x": 90, + "y": 270 + }, + "facing=west,level=0,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block", + "x": 90, + "y": 270 + }, + "facing=west,level=1,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=1,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=10,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=10,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=11,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=11,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=12,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=12,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=13,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=13,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=14,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=14,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=15,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=15,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=2,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=2,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=3,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=3,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=4,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=4,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=5,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=5,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=6,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=6,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=7,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=7,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=8,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=8,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=9,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=9,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/aluminum_truss.json b/build/resources/main/assets/tfmg/blockstates/aluminum_truss.json new file mode 100644 index 00000000..3885be0b --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/aluminum_truss.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/aluminum_truss", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/aluminum_truss" + }, + "axis=z": { + "model": "tfmg:block/aluminum_truss", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/asphalt.json b/build/resources/main/assets/tfmg/blockstates/asphalt.json new file mode 100644 index 00000000..39696e3c --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/asphalt.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/asphalt" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/asphalt_stairs.json b/build/resources/main/assets/tfmg/blockstates/asphalt_stairs.json new file mode 100644 index 00000000..d82a4954 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/asphalt_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/asphalt_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/asphalt_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/asphalt_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/asphalt_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/asphalt_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/asphalt_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/asphalt_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/asphalt_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/asphalt_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/asphalt_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/asphalt_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/asphalt_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/asphalt_wall.json b/build/resources/main/assets/tfmg/blockstates/asphalt_wall.json new file mode 100644 index 00000000..765c33b2 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/asphalt_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/asphalt_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/asphalt_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/asphalt_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/asphalt_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/asphalt_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/asphalt_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/asphalt_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/asphalt_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/asphalt_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/bauxite_pillar.json b/build/resources/main/assets/tfmg/blockstates/bauxite_pillar.json new file mode 100644 index 00000000..814e1a90 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/bauxite_pillar.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/bauxite_pillar_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/bauxite_pillar" + }, + "axis=z": { + "model": "tfmg:block/bauxite_pillar_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/black_concrete_stairs.json b/build/resources/main/assets/tfmg/blockstates/black_concrete_stairs.json new file mode 100644 index 00000000..e94d19cb --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/black_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/black_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/black_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/black_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/black_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/black_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/black_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/black_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/black_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/black_rebar_concrete_wall.json b/build/resources/main/assets/tfmg/blockstates/black_rebar_concrete_wall.json new file mode 100644 index 00000000..203c70f6 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/black_rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/black_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/blast_furnace_reinforcement.json b/build/resources/main/assets/tfmg/blockstates/blast_furnace_reinforcement.json new file mode 100644 index 00000000..0ff54382 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/blast_furnace_reinforcement.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/blast_furnace_reinforcement" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/blue_caution_block.json b/build/resources/main/assets/tfmg/blockstates/blue_caution_block.json new file mode 100644 index 00000000..767f3591 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/blue_caution_block.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/blue_caution_block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/blue_caution_block" + }, + "facing=south": { + "model": "tfmg:block/blue_caution_block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/blue_caution_block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/blue_rebar_concrete_wall.json b/build/resources/main/assets/tfmg/blockstates/blue_rebar_concrete_wall.json new file mode 100644 index 00000000..d24dbe63 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/blue_rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/brass_smart_fluid_pipe.json b/build/resources/main/assets/tfmg/blockstates/brass_smart_fluid_pipe.json new file mode 100644 index 00000000..a47e963f --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/brass_smart_fluid_pipe.json @@ -0,0 +1,110 @@ +{ + "variants": { + "face=ceiling,facing=east,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=east,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=north,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 180 + }, + "face=ceiling,facing=north,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 180 + }, + "face=ceiling,facing=south,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=south,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=west,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=west,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 180, + "y": 270 + }, + "face=floor,facing=east,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "y": 270 + }, + "face=floor,facing=east,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "y": 270 + }, + "face=floor,facing=north,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "y": 180 + }, + "face=floor,facing=north,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "y": 180 + }, + "face=floor,facing=south,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block" + }, + "face=floor,facing=south,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block" + }, + "face=floor,facing=west,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "y": 90 + }, + "face=floor,facing=west,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "y": 90 + }, + "face=wall,facing=east,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 270, + "y": 270 + }, + "face=wall,facing=east,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 270, + "y": 270 + }, + "face=wall,facing=north,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 270, + "y": 180 + }, + "face=wall,facing=north,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 270, + "y": 180 + }, + "face=wall,facing=south,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 270 + }, + "face=wall,facing=south,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 270 + }, + "face=wall,facing=west,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 270, + "y": 90 + }, + "face=wall,facing=west,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 270, + "y": 90 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/brick_smokestack.json b/build/resources/main/assets/tfmg/blockstates/brick_smokestack.json new file mode 100644 index 00000000..3950c91a --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/brick_smokestack.json @@ -0,0 +1,10 @@ +{ + "variants": { + "top=false": { + "model": "tfmg:block/brick_smokestack/block" + }, + "top=true": { + "model": "tfmg:block/brick_smokestack/block_top" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/brown_caution_block.json b/build/resources/main/assets/tfmg/blockstates/brown_caution_block.json new file mode 100644 index 00000000..612644da --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/brown_caution_block.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/brown_caution_block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/brown_caution_block" + }, + "facing=south": { + "model": "tfmg:block/brown_caution_block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/brown_caution_block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/brown_concrete_wall.json b/build/resources/main/assets/tfmg/blockstates/brown_concrete_wall.json new file mode 100644 index 00000000..bd575df3 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/brown_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/brown_rebar_concrete_slab.json b/build/resources/main/assets/tfmg/blockstates/brown_rebar_concrete_slab.json new file mode 100644 index 00000000..396f23f2 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/brown_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/brown_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/brown_concrete" + }, + "type=top": { + "model": "tfmg:block/brown_concrete_top" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/cable_connector.json b/build/resources/main/assets/tfmg/blockstates/cable_connector.json new file mode 100644 index 00000000..4b0cf223 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/cable_connector.json @@ -0,0 +1,56 @@ +{ + "variants": { + "extension=false,facing=down": { + "model": "tfmg:block/cable_connector/block", + "x": 180 + }, + "extension=false,facing=east": { + "model": "tfmg:block/cable_connector/block", + "x": 90, + "y": 90 + }, + "extension=false,facing=north": { + "model": "tfmg:block/cable_connector/block", + "x": 90 + }, + "extension=false,facing=south": { + "model": "tfmg:block/cable_connector/block", + "x": 90, + "y": 180 + }, + "extension=false,facing=up": { + "model": "tfmg:block/cable_connector/block" + }, + "extension=false,facing=west": { + "model": "tfmg:block/cable_connector/block", + "x": 90, + "y": 270 + }, + "extension=true,facing=down": { + "model": "tfmg:block/cable_connector/block_extension", + "x": 180 + }, + "extension=true,facing=east": { + "model": "tfmg:block/cable_connector/block_extension", + "x": 90, + "y": 90 + }, + "extension=true,facing=north": { + "model": "tfmg:block/cable_connector/block_extension", + "x": 90 + }, + "extension=true,facing=south": { + "model": "tfmg:block/cable_connector/block_extension", + "x": 90, + "y": 180 + }, + "extension=true,facing=up": { + "model": "tfmg:block/cable_connector/block_extension" + }, + "extension=true,facing=west": { + "model": "tfmg:block/cable_connector/block_extension", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/cast_iron_flywheel.json b/build/resources/main/assets/tfmg/blockstates/cast_iron_flywheel.json new file mode 100644 index 00000000..0b7920a1 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/cast_iron_flywheel.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/cast_iron_flywheel/block", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/cast_iron_flywheel/block" + }, + "axis=z": { + "model": "tfmg:block/cast_iron_flywheel/block", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/cast_iron_truss.json b/build/resources/main/assets/tfmg/blockstates/cast_iron_truss.json new file mode 100644 index 00000000..93beecea --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/cast_iron_truss.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/cast_iron_truss", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/cast_iron_truss" + }, + "axis=z": { + "model": "tfmg:block/cast_iron_truss", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/coal_coke_block.json b/build/resources/main/assets/tfmg/blockstates/coal_coke_block.json new file mode 100644 index 00000000..8fb114d6 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/coal_coke_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/coal_coke_block" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/coke_oven.json b/build/resources/main/assets/tfmg/blockstates/coke_oven.json new file mode 100644 index 00000000..66df01e3 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/coke_oven.json @@ -0,0 +1,64 @@ +{ + "variants": { + "controller_type=bottom_on,facing=east": { + "model": "tfmg:block/coke_oven/block_bottom_on", + "y": 270 + }, + "controller_type=bottom_on,facing=north": { + "model": "tfmg:block/coke_oven/block_bottom_on", + "y": 180 + }, + "controller_type=bottom_on,facing=south": { + "model": "tfmg:block/coke_oven/block_bottom_on" + }, + "controller_type=bottom_on,facing=west": { + "model": "tfmg:block/coke_oven/block_bottom_on", + "y": 90 + }, + "controller_type=casual,facing=east": { + "model": "tfmg:block/coke_oven/block_casual", + "y": 270 + }, + "controller_type=casual,facing=north": { + "model": "tfmg:block/coke_oven/block_casual", + "y": 180 + }, + "controller_type=casual,facing=south": { + "model": "tfmg:block/coke_oven/block_casual" + }, + "controller_type=casual,facing=west": { + "model": "tfmg:block/coke_oven/block_casual", + "y": 90 + }, + "controller_type=middle_on,facing=east": { + "model": "tfmg:block/coke_oven/block_middle_on", + "y": 270 + }, + "controller_type=middle_on,facing=north": { + "model": "tfmg:block/coke_oven/block_middle_on", + "y": 180 + }, + "controller_type=middle_on,facing=south": { + "model": "tfmg:block/coke_oven/block_middle_on" + }, + "controller_type=middle_on,facing=west": { + "model": "tfmg:block/coke_oven/block_middle_on", + "y": 90 + }, + "controller_type=top_on,facing=east": { + "model": "tfmg:block/coke_oven/block_top_on", + "y": 270 + }, + "controller_type=top_on,facing=north": { + "model": "tfmg:block/coke_oven/block_top_on", + "y": 180 + }, + "controller_type=top_on,facing=south": { + "model": "tfmg:block/coke_oven/block_top_on" + }, + "controller_type=top_on,facing=west": { + "model": "tfmg:block/coke_oven/block_top_on", + "y": 90 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/concrete_encased_electric_post.json b/build/resources/main/assets/tfmg/blockstates/concrete_encased_electric_post.json new file mode 100644 index 00000000..98d31161 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/concrete_encased_electric_post.json @@ -0,0 +1,30 @@ +{ + "variants": { + "axis=x,concretelogged=false": { + "model": "tfmg:block/concrete_encased_electric_post", + "x": 90, + "y": 90 + }, + "axis=x,concretelogged=true": { + "model": "tfmg:block/concrete_encased_electric_post", + "x": 90, + "y": 90 + }, + "axis=y,concretelogged=false": { + "model": "tfmg:block/concrete_encased_electric_post" + }, + "axis=y,concretelogged=true": { + "model": "tfmg:block/concrete_encased_electric_post" + }, + "axis=z,concretelogged=false": { + "model": "tfmg:block/concrete_encased_electric_post", + "x": 90, + "y": 180 + }, + "axis=z,concretelogged=true": { + "model": "tfmg:block/concrete_encased_electric_post", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/constantan_block.json b/build/resources/main/assets/tfmg/blockstates/constantan_block.json new file mode 100644 index 00000000..289265e1 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/constantan_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/constantan_block" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/cooling_fluid.json b/build/resources/main/assets/tfmg/blockstates/cooling_fluid.json new file mode 100644 index 00000000..b4e6808f --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/cooling_fluid.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/cooling_fluid" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/copper_cable_hub.json b/build/resources/main/assets/tfmg/blockstates/copper_cable_hub.json new file mode 100644 index 00000000..75401eb0 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/copper_cable_hub.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/copper_cable_hub" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/copper_encased_cast_iron_pipe.json b/build/resources/main/assets/tfmg/blockstates/copper_encased_cast_iron_pipe.json new file mode 100644 index 00000000..9626bb9f --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/copper_encased_cast_iron_pipe.json @@ -0,0 +1,110 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_flat", + "x": -90 + }, + "when": { + "down": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_flat", + "x": 90 + }, + "when": { + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_flat", + "y": 180 + }, + "when": { + "north": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_flat" + }, + "when": { + "south": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_flat", + "y": 90 + }, + "when": { + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_flat", + "y": 270 + }, + "when": { + "east": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_open", + "x": -90 + }, + "when": { + "down": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_open", + "x": 90 + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_open", + "y": 180 + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_open" + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_open", + "y": 90 + }, + "when": { + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_open", + "y": 270 + }, + "when": { + "east": "true" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/copper_encased_plastic_pipe.json b/build/resources/main/assets/tfmg/blockstates/copper_encased_plastic_pipe.json new file mode 100644 index 00000000..0a40bf5b --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/copper_encased_plastic_pipe.json @@ -0,0 +1,110 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_flat", + "x": -90 + }, + "when": { + "down": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_flat", + "x": 90 + }, + "when": { + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_flat", + "y": 180 + }, + "when": { + "north": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_flat" + }, + "when": { + "south": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_flat", + "y": 90 + }, + "when": { + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_flat", + "y": 270 + }, + "when": { + "east": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_open", + "x": -90 + }, + "when": { + "down": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_open", + "x": 90 + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_open", + "y": 180 + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_open" + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_open", + "y": 90 + }, + "when": { + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_open", + "y": 270 + }, + "when": { + "east": "true" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/copycat_cable_block.json b/build/resources/main/assets/tfmg/blockstates/copycat_cable_block.json new file mode 100644 index 00000000..2c8f02f0 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/copycat_cable_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "minecraft:block/air" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/creative_generator.json b/build/resources/main/assets/tfmg/blockstates/creative_generator.json new file mode 100644 index 00000000..be582125 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/creative_generator.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/creative_generator" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/creosote.json b/build/resources/main/assets/tfmg/blockstates/creosote.json new file mode 100644 index 00000000..7daea690 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/creosote.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/creosote" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/cut_bauxite_brick_stairs.json b/build/resources/main/assets/tfmg/blockstates/cut_bauxite_brick_stairs.json new file mode 100644 index 00000000..b2effb80 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/cut_bauxite_brick_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/cut_bauxite_brick_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/cut_bauxite_brick_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/cut_bauxite_brick_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/cut_bauxite_brick_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/cut_bauxite_brick_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/cut_bauxite_brick_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/cut_bauxite_brick_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/cut_bauxite_brick_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/cut_galena.json b/build/resources/main/assets/tfmg/blockstates/cut_galena.json new file mode 100644 index 00000000..80e17b41 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/cut_galena.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/cut_galena" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/cut_galena_brick_slab.json b/build/resources/main/assets/tfmg/blockstates/cut_galena_brick_slab.json new file mode 100644 index 00000000..c844c89d --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/cut_galena_brick_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/cut_galena_brick_slab" + }, + "type=double": { + "model": "tfmg:block/cut_galena_bricks" + }, + "type=top": { + "model": "tfmg:block/cut_galena_brick_slab_top" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/cut_galena_brick_wall.json b/build/resources/main/assets/tfmg/blockstates/cut_galena_brick_wall.json new file mode 100644 index 00000000..a85ee86d --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/cut_galena_brick_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/cut_galena_bricks_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_bricks_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_bricks_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_bricks_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_bricks_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_bricks_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_bricks_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_bricks_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_bricks_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/cut_galena_slab.json b/build/resources/main/assets/tfmg/blockstates/cut_galena_slab.json new file mode 100644 index 00000000..f2da8cfa --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/cut_galena_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/cut_galena_slab" + }, + "type=double": { + "model": "tfmg:block/cut_galena" + }, + "type=top": { + "model": "tfmg:block/cut_galena_slab_top" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/cut_galena_wall.json b/build/resources/main/assets/tfmg/blockstates/cut_galena_wall.json new file mode 100644 index 00000000..788c8c8b --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/cut_galena_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/cut_galena_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/cyan_caution_block.json b/build/resources/main/assets/tfmg/blockstates/cyan_caution_block.json new file mode 100644 index 00000000..f19d96ae --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/cyan_caution_block.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/cyan_caution_block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/cyan_caution_block" + }, + "facing=south": { + "model": "tfmg:block/cyan_caution_block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/cyan_caution_block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/cyan_concrete.json b/build/resources/main/assets/tfmg/blockstates/cyan_concrete.json new file mode 100644 index 00000000..56d6156b --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/cyan_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/cyan_concrete" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/cyan_concrete_stairs.json b/build/resources/main/assets/tfmg/blockstates/cyan_concrete_stairs.json new file mode 100644 index 00000000..7e5a5f9d --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/cyan_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/cyan_rebar_concrete_slab.json b/build/resources/main/assets/tfmg/blockstates/cyan_rebar_concrete_slab.json new file mode 100644 index 00000000..5fd79900 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/cyan_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/cyan_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/cyan_concrete" + }, + "type=top": { + "model": "tfmg:block/cyan_concrete_top" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/electric_motor.json b/build/resources/main/assets/tfmg/blockstates/electric_motor.json new file mode 100644 index 00000000..b2acd44d --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/electric_motor.json @@ -0,0 +1,26 @@ +{ + "variants": { + "facing=down": { + "model": "tfmg:block/electric_motor/block_vertical", + "x": 180 + }, + "facing=east": { + "model": "tfmg:block/electric_motor/block", + "y": 270 + }, + "facing=north": { + "model": "tfmg:block/electric_motor/block", + "y": 180 + }, + "facing=south": { + "model": "tfmg:block/electric_motor/block" + }, + "facing=up": { + "model": "tfmg:block/electric_motor/block_vertical" + }, + "facing=west": { + "model": "tfmg:block/electric_motor/block", + "y": 90 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/electrode_holder.json b/build/resources/main/assets/tfmg/blockstates/electrode_holder.json new file mode 100644 index 00000000..781571ee --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/electrode_holder.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/electrode_holder/block" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/engine_gearbox.json b/build/resources/main/assets/tfmg/blockstates/engine_gearbox.json new file mode 100644 index 00000000..1f5b3a10 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/engine_gearbox.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/engine_gearbox/block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/engine_gearbox/block" + }, + "facing=south": { + "model": "tfmg:block/engine_gearbox/block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/engine_gearbox/block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/fireclay.json b/build/resources/main/assets/tfmg/blockstates/fireclay.json new file mode 100644 index 00000000..e82a435a --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/fireclay.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/fireclay" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/fireproof_brick_reinforcement.json b/build/resources/main/assets/tfmg/blockstates/fireproof_brick_reinforcement.json new file mode 100644 index 00000000..182ce71c --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/fireproof_brick_reinforcement.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/fireproof_brick_reinforcement_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/fireproof_brick_reinforcement_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/fireproof_brick_reinforcement_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/fireproof_brick_reinforcement_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/fireproof_brick_reinforcement_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/fireproof_brick_reinforcement_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/fireproof_brick_reinforcement_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/fireproof_brick_reinforcement_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/fireproof_brick_reinforcement_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/fireproof_chemical_vat.json b/build/resources/main/assets/tfmg/blockstates/fireproof_chemical_vat.json new file mode 100644 index 00000000..8aa63c62 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/fireproof_chemical_vat.json @@ -0,0 +1,76 @@ +{ + "variants": { + "bottom=false,shape=plain,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_middle" + }, + "bottom=false,shape=plain,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_top" + }, + "bottom=false,shape=window,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_middle_window" + }, + "bottom=false,shape=window,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_top_window" + }, + "bottom=false,shape=window_ne,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_middle_window_ne" + }, + "bottom=false,shape=window_ne,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_top_window_ne" + }, + "bottom=false,shape=window_nw,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_middle_window_nw" + }, + "bottom=false,shape=window_nw,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_top_window_nw" + }, + "bottom=false,shape=window_se,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_middle_window_se" + }, + "bottom=false,shape=window_se,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_top_window_se" + }, + "bottom=false,shape=window_sw,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_middle_window_sw" + }, + "bottom=false,shape=window_sw,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_top_window_sw" + }, + "bottom=true,shape=plain,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_bottom" + }, + "bottom=true,shape=plain,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_single" + }, + "bottom=true,shape=window,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_bottom_window" + }, + "bottom=true,shape=window,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_single_window" + }, + "bottom=true,shape=window_ne,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_bottom_window_ne" + }, + "bottom=true,shape=window_ne,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_single_window_ne" + }, + "bottom=true,shape=window_nw,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_bottom_window_nw" + }, + "bottom=true,shape=window_nw,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_single_window_nw" + }, + "bottom=true,shape=window_se,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_bottom_window_se" + }, + "bottom=true,shape=window_se,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_single_window_se" + }, + "bottom=true,shape=window_sw,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_bottom_window_sw" + }, + "bottom=true,shape=window_sw,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_single_window_sw" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/galena_pillar.json b/build/resources/main/assets/tfmg/blockstates/galena_pillar.json new file mode 100644 index 00000000..975f64fc --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/galena_pillar.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/galena_pillar_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/galena_pillar" + }, + "axis=z": { + "model": "tfmg:block/galena_pillar_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/glass_brass_pipe.json b/build/resources/main/assets/tfmg/blockstates/glass_brass_pipe.json new file mode 100644 index 00000000..27d61e17 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/glass_brass_pipe.json @@ -0,0 +1,28 @@ +{ + "variants": { + "alt=false,axis=x": { + "model": "tfmg:block/brass_pipe/window", + "x": 90, + "y": 90 + }, + "alt=false,axis=y": { + "model": "tfmg:block/brass_pipe/window" + }, + "alt=false,axis=z": { + "model": "tfmg:block/brass_pipe/window", + "x": 90 + }, + "alt=true,axis=x": { + "model": "tfmg:block/brass_pipe/window", + "x": 90, + "y": 90 + }, + "alt=true,axis=y": { + "model": "tfmg:block/brass_pipe/window" + }, + "alt=true,axis=z": { + "model": "tfmg:block/brass_pipe/window", + "x": 90 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/glass_cable_insulator.json b/build/resources/main/assets/tfmg/blockstates/glass_cable_insulator.json new file mode 100644 index 00000000..1801aa05 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/glass_cable_insulator.json @@ -0,0 +1,56 @@ +{ + "variants": { + "extension=false,facing=down": { + "model": "tfmg:block/glass_cable_insulator/block", + "x": 180 + }, + "extension=false,facing=east": { + "model": "tfmg:block/glass_cable_insulator/block", + "x": 90, + "y": 90 + }, + "extension=false,facing=north": { + "model": "tfmg:block/glass_cable_insulator/block", + "x": 90 + }, + "extension=false,facing=south": { + "model": "tfmg:block/glass_cable_insulator/block", + "x": 90, + "y": 180 + }, + "extension=false,facing=up": { + "model": "tfmg:block/glass_cable_insulator/block" + }, + "extension=false,facing=west": { + "model": "tfmg:block/glass_cable_insulator/block", + "x": 90, + "y": 270 + }, + "extension=true,facing=down": { + "model": "tfmg:block/glass_cable_insulator/block_extension", + "x": 180 + }, + "extension=true,facing=east": { + "model": "tfmg:block/glass_cable_insulator/block_extension", + "x": 90, + "y": 90 + }, + "extension=true,facing=north": { + "model": "tfmg:block/glass_cable_insulator/block_extension", + "x": 90 + }, + "extension=true,facing=south": { + "model": "tfmg:block/glass_cable_insulator/block_extension", + "x": 90, + "y": 180 + }, + "extension=true,facing=up": { + "model": "tfmg:block/glass_cable_insulator/block_extension" + }, + "extension=true,facing=west": { + "model": "tfmg:block/glass_cable_insulator/block_extension", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/gray_concrete.json b/build/resources/main/assets/tfmg/blockstates/gray_concrete.json new file mode 100644 index 00000000..cea786cf --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/gray_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/gray_concrete" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/gray_concrete_wall.json b/build/resources/main/assets/tfmg/blockstates/gray_concrete_wall.json new file mode 100644 index 00000000..1fa3f2c8 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/gray_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/gray_rebar_concrete_slab.json b/build/resources/main/assets/tfmg/blockstates/gray_rebar_concrete_slab.json new file mode 100644 index 00000000..94fb647f --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/gray_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/gray_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/gray_concrete" + }, + "type=top": { + "model": "tfmg:block/gray_concrete_top" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/gray_rebar_concrete_wall.json b/build/resources/main/assets/tfmg/blockstates/gray_rebar_concrete_wall.json new file mode 100644 index 00000000..1fa3f2c8 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/gray_rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/hardened_planks.json b/build/resources/main/assets/tfmg/blockstates/hardened_planks.json new file mode 100644 index 00000000..bf1d7e76 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/hardened_planks.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/hardened_planks" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/heavy_casing_encased_large_aluminum_cogwheel.json b/build/resources/main/assets/tfmg/blockstates/heavy_casing_encased_large_aluminum_cogwheel.json new file mode 100644 index 00000000..042e2bb6 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/heavy_casing_encased_large_aluminum_cogwheel.json @@ -0,0 +1,56 @@ +{ + "variants": { + "axis=x,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel_top", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel_bottom", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel_top_bottom", + "x": 90, + "y": 90 + }, + "axis=y,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel" + }, + "axis=y,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel_top" + }, + "axis=y,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel_bottom" + }, + "axis=y,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel_top_bottom" + }, + "axis=z,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel_top", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel_bottom", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel_top_bottom", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/heavy_casing_encased_shaft.json b/build/resources/main/assets/tfmg/blockstates/heavy_casing_encased_shaft.json new file mode 100644 index 00000000..59941237 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/heavy_casing_encased_shaft.json @@ -0,0 +1,20 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/encased_shaft/block_heavy_casing", + "uvlock": true, + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/encased_shaft/block_heavy_casing", + "uvlock": true + }, + "axis=z": { + "model": "tfmg:block/encased_shaft/block_heavy_casing", + "uvlock": true, + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/heavy_machinery_casing.json b/build/resources/main/assets/tfmg/blockstates/heavy_machinery_casing.json new file mode 100644 index 00000000..d539ef15 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/heavy_machinery_casing.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/heavy_machinery_casing" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/large_aluminum_cogwheel.json b/build/resources/main/assets/tfmg/blockstates/large_aluminum_cogwheel.json new file mode 100644 index 00000000..3dfae762 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/large_aluminum_cogwheel.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/large_aluminum_cogwheel", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/large_aluminum_cogwheel" + }, + "axis=z": { + "model": "tfmg:block/large_aluminum_cogwheel", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/large_engine.json b/build/resources/main/assets/tfmg/blockstates/large_engine.json new file mode 100644 index 00000000..c70f912f --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/large_engine.json @@ -0,0 +1,110 @@ +{ + "variants": { + "face=ceiling,facing=east,waterlogged=false": { + "model": "tfmg:block/large_engine/block", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=east,waterlogged=true": { + "model": "tfmg:block/large_engine/block", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=north,waterlogged=false": { + "model": "tfmg:block/large_engine/block", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=north,waterlogged=true": { + "model": "tfmg:block/large_engine/block", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=south,waterlogged=false": { + "model": "tfmg:block/large_engine/block", + "x": 180 + }, + "face=ceiling,facing=south,waterlogged=true": { + "model": "tfmg:block/large_engine/block", + "x": 180 + }, + "face=ceiling,facing=west,waterlogged=false": { + "model": "tfmg:block/large_engine/block", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=west,waterlogged=true": { + "model": "tfmg:block/large_engine/block", + "x": 180, + "y": 90 + }, + "face=floor,facing=east,waterlogged=false": { + "model": "tfmg:block/large_engine/block", + "y": 90 + }, + "face=floor,facing=east,waterlogged=true": { + "model": "tfmg:block/large_engine/block", + "y": 90 + }, + "face=floor,facing=north,waterlogged=false": { + "model": "tfmg:block/large_engine/block" + }, + "face=floor,facing=north,waterlogged=true": { + "model": "tfmg:block/large_engine/block" + }, + "face=floor,facing=south,waterlogged=false": { + "model": "tfmg:block/large_engine/block", + "y": 180 + }, + "face=floor,facing=south,waterlogged=true": { + "model": "tfmg:block/large_engine/block", + "y": 180 + }, + "face=floor,facing=west,waterlogged=false": { + "model": "tfmg:block/large_engine/block", + "y": 270 + }, + "face=floor,facing=west,waterlogged=true": { + "model": "tfmg:block/large_engine/block", + "y": 270 + }, + "face=wall,facing=east,waterlogged=false": { + "model": "tfmg:block/large_engine/block", + "x": 90, + "y": 90 + }, + "face=wall,facing=east,waterlogged=true": { + "model": "tfmg:block/large_engine/block", + "x": 90, + "y": 90 + }, + "face=wall,facing=north,waterlogged=false": { + "model": "tfmg:block/large_engine/block", + "x": 90 + }, + "face=wall,facing=north,waterlogged=true": { + "model": "tfmg:block/large_engine/block", + "x": 90 + }, + "face=wall,facing=south,waterlogged=false": { + "model": "tfmg:block/large_engine/block", + "x": 90, + "y": 180 + }, + "face=wall,facing=south,waterlogged=true": { + "model": "tfmg:block/large_engine/block", + "x": 90, + "y": 180 + }, + "face=wall,facing=west,waterlogged=false": { + "model": "tfmg:block/large_engine/block", + "x": 90, + "y": 270 + }, + "face=wall,facing=west,waterlogged=true": { + "model": "tfmg:block/large_engine/block", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/large_pumpjack_hammer_connector.json b/build/resources/main/assets/tfmg/blockstates/large_pumpjack_hammer_connector.json new file mode 100644 index 00000000..76e65852 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/large_pumpjack_hammer_connector.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/large_pumpjack_hammer_connector", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/large_pumpjack_hammer_connector" + }, + "facing=south": { + "model": "tfmg:block/large_pumpjack_hammer_connector", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/large_pumpjack_hammer_connector", + "y": 270 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/large_steel_cogwheel.json b/build/resources/main/assets/tfmg/blockstates/large_steel_cogwheel.json new file mode 100644 index 00000000..15f0c176 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/large_steel_cogwheel.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/large_steel_cogwheel", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/large_steel_cogwheel" + }, + "axis=z": { + "model": "tfmg:block/large_steel_cogwheel", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/lead_bars.json b/build/resources/main/assets/tfmg/blockstates/lead_bars.json new file mode 100644 index 00000000..510e3ed6 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/lead_bars.json @@ -0,0 +1,100 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/lead_post_ends" + } + }, + { + "apply": { + "model": "tfmg:block/lead_post" + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/lead_cap" + }, + "when": { + "east": "false", + "north": "true", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/lead_cap", + "y": 90 + }, + "when": { + "east": "true", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/lead_cap_alt" + }, + "when": { + "east": "false", + "north": "false", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/lead_cap_alt", + "y": 90 + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/lead_side" + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "tfmg:block/lead_side", + "y": 90 + }, + "when": { + "east": "true" + } + }, + { + "apply": { + "model": "tfmg:block/lead_side_alt" + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "tfmg:block/lead_side_alt", + "y": 90 + }, + "when": { + "west": "true" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/lead_ladder.json b/build/resources/main/assets/tfmg/blockstates/lead_ladder.json new file mode 100644 index 00000000..bf41713e --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/lead_ladder.json @@ -0,0 +1,34 @@ +{ + "variants": { + "facing=east,waterlogged=false": { + "model": "tfmg:block/lead_ladder", + "y": 90 + }, + "facing=east,waterlogged=true": { + "model": "tfmg:block/lead_ladder", + "y": 90 + }, + "facing=north,waterlogged=false": { + "model": "tfmg:block/lead_ladder" + }, + "facing=north,waterlogged=true": { + "model": "tfmg:block/lead_ladder" + }, + "facing=south,waterlogged=false": { + "model": "tfmg:block/lead_ladder", + "y": 180 + }, + "facing=south,waterlogged=true": { + "model": "tfmg:block/lead_ladder", + "y": 180 + }, + "facing=west,waterlogged=false": { + "model": "tfmg:block/lead_ladder", + "y": 270 + }, + "facing=west,waterlogged=true": { + "model": "tfmg:block/lead_ladder", + "y": 270 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/light_blue_concrete.json b/build/resources/main/assets/tfmg/blockstates/light_blue_concrete.json new file mode 100644 index 00000000..7a3e3669 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/light_blue_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/light_blue_concrete" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/light_blue_concrete_stairs.json b/build/resources/main/assets/tfmg/blockstates/light_blue_concrete_stairs.json new file mode 100644 index 00000000..c37ec2fe --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/light_blue_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/light_blue_rebar_concrete.json b/build/resources/main/assets/tfmg/blockstates/light_blue_rebar_concrete.json new file mode 100644 index 00000000..038399f4 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/light_blue_rebar_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/light_blue_rebar_concrete" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/light_gray_concrete.json b/build/resources/main/assets/tfmg/blockstates/light_gray_concrete.json new file mode 100644 index 00000000..fef40440 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/light_gray_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/light_gray_concrete" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/light_gray_concrete_stairs.json b/build/resources/main/assets/tfmg/blockstates/light_gray_concrete_stairs.json new file mode 100644 index 00000000..411109cf --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/light_gray_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/light_gray_rebar_concrete.json b/build/resources/main/assets/tfmg/blockstates/light_gray_rebar_concrete.json new file mode 100644 index 00000000..aabf30f0 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/light_gray_rebar_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/light_gray_rebar_concrete" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/light_gray_rebar_concrete_slab.json b/build/resources/main/assets/tfmg/blockstates/light_gray_rebar_concrete_slab.json new file mode 100644 index 00000000..0a69f890 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/light_gray_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/light_gray_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/light_gray_concrete" + }, + "type=top": { + "model": "tfmg:block/light_gray_concrete_top" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/light_gray_rebar_concrete_stairs.json b/build/resources/main/assets/tfmg/blockstates/light_gray_rebar_concrete_stairs.json new file mode 100644 index 00000000..411109cf --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/light_gray_rebar_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/light_gray_rebar_concrete_wall.json b/build/resources/main/assets/tfmg/blockstates/light_gray_rebar_concrete_wall.json new file mode 100644 index 00000000..7ed35d87 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/light_gray_rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/lime_caution_block.json b/build/resources/main/assets/tfmg/blockstates/lime_caution_block.json new file mode 100644 index 00000000..55f63204 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/lime_caution_block.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/lime_caution_block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/lime_caution_block" + }, + "facing=south": { + "model": "tfmg:block/lime_caution_block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/lime_caution_block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/lime_concrete_slab.json b/build/resources/main/assets/tfmg/blockstates/lime_concrete_slab.json new file mode 100644 index 00000000..0936cd4b --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/lime_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/lime_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/lime_concrete" + }, + "type=top": { + "model": "tfmg:block/lime_concrete_top" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/lime_rebar_concrete_slab.json b/build/resources/main/assets/tfmg/blockstates/lime_rebar_concrete_slab.json new file mode 100644 index 00000000..0936cd4b --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/lime_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/lime_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/lime_concrete" + }, + "type=top": { + "model": "tfmg:block/lime_concrete_top" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/lime_rebar_concrete_wall.json b/build/resources/main/assets/tfmg/blockstates/lime_rebar_concrete_wall.json new file mode 100644 index 00000000..2975bc75 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/lime_rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/liquid_concrete.json b/build/resources/main/assets/tfmg/blockstates/liquid_concrete.json new file mode 100644 index 00000000..cb73717c --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/liquid_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/liquid_concrete" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/liquid_silicon.json b/build/resources/main/assets/tfmg/blockstates/liquid_silicon.json new file mode 100644 index 00000000..d0ab0f14 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/liquid_silicon.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/liquid_silicon" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/lithium_block.json b/build/resources/main/assets/tfmg/blockstates/lithium_block.json new file mode 100644 index 00000000..7187fa5c --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/lithium_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/lithium_block" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/lithium_ore.json b/build/resources/main/assets/tfmg/blockstates/lithium_ore.json new file mode 100644 index 00000000..1d963e10 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/lithium_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/lithium_ore" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/lubrication_oil.json b/build/resources/main/assets/tfmg/blockstates/lubrication_oil.json new file mode 100644 index 00000000..6892efe5 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/lubrication_oil.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/lubrication_oil" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/magenta_caution_block.json b/build/resources/main/assets/tfmg/blockstates/magenta_caution_block.json new file mode 100644 index 00000000..cde48038 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/magenta_caution_block.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/magenta_caution_block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/magenta_caution_block" + }, + "facing=south": { + "model": "tfmg:block/magenta_caution_block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/magenta_caution_block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/magenta_concrete_slab.json b/build/resources/main/assets/tfmg/blockstates/magenta_concrete_slab.json new file mode 100644 index 00000000..79b2ce24 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/magenta_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/magenta_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/magenta_concrete" + }, + "type=top": { + "model": "tfmg:block/magenta_concrete_top" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/magenta_concrete_stairs.json b/build/resources/main/assets/tfmg/blockstates/magenta_concrete_stairs.json new file mode 100644 index 00000000..701c5f6e --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/magenta_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/magenta_concrete_wall.json b/build/resources/main/assets/tfmg/blockstates/magenta_concrete_wall.json new file mode 100644 index 00000000..69c3f9ec --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/magenta_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/molten_slag.json b/build/resources/main/assets/tfmg/blockstates/molten_slag.json new file mode 100644 index 00000000..87b42c00 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/molten_slag.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/molten_slag" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/napalm.json b/build/resources/main/assets/tfmg/blockstates/napalm.json new file mode 100644 index 00000000..15ed69ed --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/napalm.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/napalm" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/nickel_block.json b/build/resources/main/assets/tfmg/blockstates/nickel_block.json new file mode 100644 index 00000000..3b92baa5 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/nickel_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/nickel_block" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/nickel_flywheel.json b/build/resources/main/assets/tfmg/blockstates/nickel_flywheel.json new file mode 100644 index 00000000..5747f747 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/nickel_flywheel.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/nickel_flywheel/block", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/nickel_flywheel/block" + }, + "axis=z": { + "model": "tfmg:block/nickel_flywheel/block", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/nickel_ore.json b/build/resources/main/assets/tfmg/blockstates/nickel_ore.json new file mode 100644 index 00000000..5b00c33d --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/nickel_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/nickel_ore" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/oil_deposit.json b/build/resources/main/assets/tfmg/blockstates/oil_deposit.json new file mode 100644 index 00000000..060f4782 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/oil_deposit.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/oil_deposit" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/orange_concrete_stairs.json b/build/resources/main/assets/tfmg/blockstates/orange_concrete_stairs.json new file mode 100644 index 00000000..c82b4fa7 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/orange_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/orange_rebar_concrete.json b/build/resources/main/assets/tfmg/blockstates/orange_rebar_concrete.json new file mode 100644 index 00000000..d4043453 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/orange_rebar_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/orange_rebar_concrete" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/orange_rebar_concrete_slab.json b/build/resources/main/assets/tfmg/blockstates/orange_rebar_concrete_slab.json new file mode 100644 index 00000000..a749437c --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/orange_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/orange_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/orange_concrete" + }, + "type=top": { + "model": "tfmg:block/orange_concrete_top" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/pink_concrete_wall.json b/build/resources/main/assets/tfmg/blockstates/pink_concrete_wall.json new file mode 100644 index 00000000..acd2f479 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/pink_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/pink_rebar_concrete_slab.json b/build/resources/main/assets/tfmg/blockstates/pink_rebar_concrete_slab.json new file mode 100644 index 00000000..f6a019b4 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/pink_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/pink_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/pink_concrete" + }, + "type=top": { + "model": "tfmg:block/pink_concrete_top" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/pink_rebar_concrete_stairs.json b/build/resources/main/assets/tfmg/blockstates/pink_rebar_concrete_stairs.json new file mode 100644 index 00000000..908367a5 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/pink_rebar_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/plastic_pipe.json b/build/resources/main/assets/tfmg/blockstates/plastic_pipe.json new file mode 100644 index 00000000..47d9f517 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/plastic_pipe.json @@ -0,0 +1,334 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/plastic_pipe/lu_x" + }, + "when": { + "down": "false", + "north": "false", + "south": "true", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/ru_x" + }, + "when": { + "down": "false", + "north": "true", + "south": "false", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/ld_x" + }, + "when": { + "down": "true", + "north": "false", + "south": "true", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/rd_x" + }, + "when": { + "down": "true", + "north": "true", + "south": "false", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/ud_x" + }, + "when": { + "down": "true", + "north": "false", + "south": "false", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/u_x" + }, + "when": { + "down": "false", + "north": "false", + "south": "false", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/d_x" + }, + "when": { + "down": "true", + "north": "false", + "south": "false", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/lr_x" + }, + "when": { + "down": "false", + "north": "true", + "south": "true", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/l_x" + }, + "when": { + "down": "false", + "north": "false", + "south": "true", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/r_x" + }, + "when": { + "down": "false", + "north": "true", + "south": "false", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/lu_y" + }, + "when": { + "east": "true", + "north": "false", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/ru_y" + }, + "when": { + "east": "false", + "north": "false", + "south": "true", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/ld_y" + }, + "when": { + "east": "true", + "north": "true", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/rd_y" + }, + "when": { + "east": "false", + "north": "true", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/ud_y" + }, + "when": { + "east": "false", + "north": "true", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/u_y" + }, + "when": { + "east": "false", + "north": "false", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/d_y" + }, + "when": { + "east": "false", + "north": "true", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/lr_y" + }, + "when": { + "east": "true", + "north": "false", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/l_y" + }, + "when": { + "east": "true", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/r_y" + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/lu_z" + }, + "when": { + "down": "false", + "east": "true", + "up": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/ru_z" + }, + "when": { + "down": "false", + "east": "false", + "up": "true", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/ld_z" + }, + "when": { + "down": "true", + "east": "true", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/rd_z" + }, + "when": { + "down": "true", + "east": "false", + "up": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/ud_z" + }, + "when": { + "down": "true", + "east": "false", + "up": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/u_z" + }, + "when": { + "down": "false", + "east": "false", + "up": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/d_z" + }, + "when": { + "down": "true", + "east": "false", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/lr_z" + }, + "when": { + "down": "false", + "east": "true", + "up": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/l_z" + }, + "when": { + "down": "false", + "east": "true", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/r_z" + }, + "when": { + "down": "false", + "east": "false", + "up": "false", + "west": "true" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/polished_cut_bauxite_slab.json b/build/resources/main/assets/tfmg/blockstates/polished_cut_bauxite_slab.json new file mode 100644 index 00000000..7bbf0535 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/polished_cut_bauxite_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/polished_cut_bauxite_slab" + }, + "type=double": { + "model": "tfmg:block/polished_cut_bauxite_slab_double" + }, + "type=top": { + "model": "tfmg:block/polished_cut_bauxite_slab_top" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/polished_cut_bauxite_stairs.json b/build/resources/main/assets/tfmg/blockstates/polished_cut_bauxite_stairs.json new file mode 100644 index 00000000..4a6153b3 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/polished_cut_bauxite_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/polished_cut_bauxite_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/polished_cut_bauxite_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/polished_cut_bauxite_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/polished_cut_bauxite_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/polished_cut_bauxite_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/polished_cut_bauxite_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/polished_cut_bauxite_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/polished_cut_bauxite_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/polished_cut_galena_stairs.json b/build/resources/main/assets/tfmg/blockstates/polished_cut_galena_stairs.json new file mode 100644 index 00000000..30a7761e --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/polished_cut_galena_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/polished_cut_galena_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/polished_cut_galena_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/polished_cut_galena_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/polished_cut_galena_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/polished_cut_galena_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/polished_cut_galena_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/polished_cut_galena_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/polished_cut_galena_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/polished_cut_galena_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/polished_cut_galena_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/polished_cut_galena_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/polished_cut_galena_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/potentiometer.json b/build/resources/main/assets/tfmg/blockstates/potentiometer.json new file mode 100644 index 00000000..f8c75971 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/potentiometer.json @@ -0,0 +1,26 @@ +{ + "variants": { + "facing=down": { + "model": "tfmg:block/potentiometer/block_vertical", + "x": 180 + }, + "facing=east": { + "model": "tfmg:block/potentiometer/block", + "y": 270 + }, + "facing=north": { + "model": "tfmg:block/potentiometer/block", + "y": 180 + }, + "facing=south": { + "model": "tfmg:block/potentiometer/block" + }, + "facing=up": { + "model": "tfmg:block/potentiometer/block_vertical" + }, + "facing=west": { + "model": "tfmg:block/potentiometer/block", + "y": 90 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/pumpjack_hammer.json b/build/resources/main/assets/tfmg/blockstates/pumpjack_hammer.json new file mode 100644 index 00000000..ad8f6d8e --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/pumpjack_hammer.json @@ -0,0 +1,50 @@ +{ + "variants": { + "facing=down,wide=false": { + "model": "tfmg:block/pumpjack_hammer/block", + "y": 180 + }, + "facing=down,wide=true": { + "model": "tfmg:block/pumpjack_hammer/block_wide", + "y": 180 + }, + "facing=east,wide=false": { + "model": "tfmg:block/pumpjack_hammer/block" + }, + "facing=east,wide=true": { + "model": "tfmg:block/pumpjack_hammer/block_wide" + }, + "facing=north,wide=false": { + "model": "tfmg:block/pumpjack_hammer/block", + "y": 270 + }, + "facing=north,wide=true": { + "model": "tfmg:block/pumpjack_hammer/block_wide", + "y": 270 + }, + "facing=south,wide=false": { + "model": "tfmg:block/pumpjack_hammer/block", + "y": 90 + }, + "facing=south,wide=true": { + "model": "tfmg:block/pumpjack_hammer/block_wide", + "y": 90 + }, + "facing=up,wide=false": { + "model": "tfmg:block/pumpjack_hammer/block", + "y": 180 + }, + "facing=up,wide=true": { + "model": "tfmg:block/pumpjack_hammer/block_wide", + "y": 180 + }, + "facing=west,wide=false": { + "model": "tfmg:block/pumpjack_hammer/block", + "y": 180 + }, + "facing=west,wide=true": { + "model": "tfmg:block/pumpjack_hammer/block_wide", + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/purple_rebar_concrete_slab.json b/build/resources/main/assets/tfmg/blockstates/purple_rebar_concrete_slab.json new file mode 100644 index 00000000..765e9a99 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/purple_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/purple_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/purple_concrete" + }, + "type=top": { + "model": "tfmg:block/purple_concrete_top" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/purple_rebar_concrete_stairs.json b/build/resources/main/assets/tfmg/blockstates/purple_rebar_concrete_stairs.json new file mode 100644 index 00000000..e8903664 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/purple_rebar_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/rebar_floor.json b/build/resources/main/assets/tfmg/blockstates/rebar_floor.json new file mode 100644 index 00000000..651abad1 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/rebar_floor.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/rebar_floor/block" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/rebar_pillar.json b/build/resources/main/assets/tfmg/blockstates/rebar_pillar.json new file mode 100644 index 00000000..18efc8d7 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/rebar_pillar.json @@ -0,0 +1,56 @@ +{ + "variants": { + "concretelogged=false,facing=down": { + "model": "tfmg:block/rebar_pillar/block", + "x": 180 + }, + "concretelogged=false,facing=east": { + "model": "tfmg:block/rebar_pillar/block", + "x": 90, + "y": 90 + }, + "concretelogged=false,facing=north": { + "model": "tfmg:block/rebar_pillar/block", + "x": 90 + }, + "concretelogged=false,facing=south": { + "model": "tfmg:block/rebar_pillar/block", + "x": 90, + "y": 180 + }, + "concretelogged=false,facing=up": { + "model": "tfmg:block/rebar_pillar/block" + }, + "concretelogged=false,facing=west": { + "model": "tfmg:block/rebar_pillar/block", + "x": 90, + "y": 270 + }, + "concretelogged=true,facing=down": { + "model": "tfmg:block/rebar_pillar/block", + "x": 180 + }, + "concretelogged=true,facing=east": { + "model": "tfmg:block/rebar_pillar/block", + "x": 90, + "y": 90 + }, + "concretelogged=true,facing=north": { + "model": "tfmg:block/rebar_pillar/block", + "x": 90 + }, + "concretelogged=true,facing=south": { + "model": "tfmg:block/rebar_pillar/block", + "x": 90, + "y": 180 + }, + "concretelogged=true,facing=up": { + "model": "tfmg:block/rebar_pillar/block" + }, + "concretelogged=true,facing=west": { + "model": "tfmg:block/rebar_pillar/block", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/red_concrete_stairs.json b/build/resources/main/assets/tfmg/blockstates/red_concrete_stairs.json new file mode 100644 index 00000000..c81f7c85 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/red_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/red_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/red_rebar_concrete_stairs.json b/build/resources/main/assets/tfmg/blockstates/red_rebar_concrete_stairs.json new file mode 100644 index 00000000..c81f7c85 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/red_rebar_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/red_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/red_rebar_concrete_wall.json b/build/resources/main/assets/tfmg/blockstates/red_rebar_concrete_wall.json new file mode 100644 index 00000000..1dacf99a --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/red_rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/red_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/slag_block.json b/build/resources/main/assets/tfmg/blockstates/slag_block.json new file mode 100644 index 00000000..2063db2c --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/slag_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/slag_block" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/slag_bricks.json b/build/resources/main/assets/tfmg/blockstates/slag_bricks.json new file mode 100644 index 00000000..d80e21e1 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/slag_bricks.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/slag_bricks" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/small_galena_brick_wall.json b/build/resources/main/assets/tfmg/blockstates/small_galena_brick_wall.json new file mode 100644 index 00000000..1f0c5ac0 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/small_galena_brick_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/small_galena_bricks_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/small_galena_bricks_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/small_galena_bricks_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/small_galena_bricks_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/small_galena_bricks_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/small_galena_bricks_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/small_galena_bricks_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/small_galena_bricks_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/small_galena_bricks_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/steel_bars.json b/build/resources/main/assets/tfmg/blockstates/steel_bars.json new file mode 100644 index 00000000..a9bc86cd --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/steel_bars.json @@ -0,0 +1,100 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/steel_post_ends" + } + }, + { + "apply": { + "model": "tfmg:block/steel_post" + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_cap" + }, + "when": { + "east": "false", + "north": "true", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_cap", + "y": 90 + }, + "when": { + "east": "true", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_cap_alt" + }, + "when": { + "east": "false", + "north": "false", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_cap_alt", + "y": 90 + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_side" + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_side", + "y": 90 + }, + "when": { + "east": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_side_alt" + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_side_alt", + "y": 90 + }, + "when": { + "west": "true" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/steel_block.json b/build/resources/main/assets/tfmg/blockstates/steel_block.json new file mode 100644 index 00000000..5894d5d6 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/steel_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/steel_block" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/steel_distillation_controller.json b/build/resources/main/assets/tfmg/blockstates/steel_distillation_controller.json new file mode 100644 index 00000000..f785a9b9 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/steel_distillation_controller.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/steel_distillation_controller/block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/steel_distillation_controller/block" + }, + "facing=south": { + "model": "tfmg:block/steel_distillation_controller/block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/steel_distillation_controller/block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/steel_encased_aluminum_cogwheel.json b/build/resources/main/assets/tfmg/blockstates/steel_encased_aluminum_cogwheel.json new file mode 100644 index 00000000..bda0082c --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/steel_encased_aluminum_cogwheel.json @@ -0,0 +1,56 @@ +{ + "variants": { + "axis=x,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel_top", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel_bottom", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel_top_bottom", + "x": 90, + "y": 90 + }, + "axis=y,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel" + }, + "axis=y,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel_top" + }, + "axis=y,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel_bottom" + }, + "axis=y,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel_top_bottom" + }, + "axis=z,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel_top", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel_bottom", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel_top_bottom", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/steel_fluid_tank.json b/build/resources/main/assets/tfmg/blockstates/steel_fluid_tank.json new file mode 100644 index 00000000..8846788b --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/steel_fluid_tank.json @@ -0,0 +1,76 @@ +{ + "variants": { + "bottom=false,shape=plain,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_middle" + }, + "bottom=false,shape=plain,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_top" + }, + "bottom=false,shape=window,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_middle_window" + }, + "bottom=false,shape=window,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_top_window" + }, + "bottom=false,shape=window_ne,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_middle_window_ne" + }, + "bottom=false,shape=window_ne,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_top_window_ne" + }, + "bottom=false,shape=window_nw,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_middle_window_nw" + }, + "bottom=false,shape=window_nw,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_top_window_nw" + }, + "bottom=false,shape=window_se,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_middle_window_se" + }, + "bottom=false,shape=window_se,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_top_window_se" + }, + "bottom=false,shape=window_sw,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_middle_window_sw" + }, + "bottom=false,shape=window_sw,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_top_window_sw" + }, + "bottom=true,shape=plain,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_bottom" + }, + "bottom=true,shape=plain,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_single" + }, + "bottom=true,shape=window,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_bottom_window" + }, + "bottom=true,shape=window,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_single_window" + }, + "bottom=true,shape=window_ne,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_bottom_window_ne" + }, + "bottom=true,shape=window_ne,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_single_window_ne" + }, + "bottom=true,shape=window_nw,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_bottom_window_nw" + }, + "bottom=true,shape=window_nw,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_single_window_nw" + }, + "bottom=true,shape=window_se,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_bottom_window_se" + }, + "bottom=true,shape=window_se,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_single_window_se" + }, + "bottom=true,shape=window_sw,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_bottom_window_sw" + }, + "bottom=true,shape=window_sw,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_single_window_sw" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/steel_frame.json b/build/resources/main/assets/tfmg/blockstates/steel_frame.json new file mode 100644 index 00000000..da3d9ae8 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/steel_frame.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/steel_frame/block" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/steel_mechanical_pump.json b/build/resources/main/assets/tfmg/blockstates/steel_mechanical_pump.json new file mode 100644 index 00000000..71b3d6b1 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/steel_mechanical_pump.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "tfmg:block/steel_mechanical_pump/block", + "x": 180 + }, + "facing=east": { + "model": "tfmg:block/steel_mechanical_pump/block", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/steel_mechanical_pump/block", + "x": 90 + }, + "facing=south": { + "model": "tfmg:block/steel_mechanical_pump/block", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "tfmg:block/steel_mechanical_pump/block" + }, + "facing=west": { + "model": "tfmg:block/steel_mechanical_pump/block", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/steel_pipe.json b/build/resources/main/assets/tfmg/blockstates/steel_pipe.json new file mode 100644 index 00000000..d9f75b9d --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/steel_pipe.json @@ -0,0 +1,334 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/steel_pipe/lu_x" + }, + "when": { + "down": "false", + "north": "false", + "south": "true", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/ru_x" + }, + "when": { + "down": "false", + "north": "true", + "south": "false", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/ld_x" + }, + "when": { + "down": "true", + "north": "false", + "south": "true", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/rd_x" + }, + "when": { + "down": "true", + "north": "true", + "south": "false", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/ud_x" + }, + "when": { + "down": "true", + "north": "false", + "south": "false", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/u_x" + }, + "when": { + "down": "false", + "north": "false", + "south": "false", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/d_x" + }, + "when": { + "down": "true", + "north": "false", + "south": "false", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/lr_x" + }, + "when": { + "down": "false", + "north": "true", + "south": "true", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/l_x" + }, + "when": { + "down": "false", + "north": "false", + "south": "true", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/r_x" + }, + "when": { + "down": "false", + "north": "true", + "south": "false", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/lu_y" + }, + "when": { + "east": "true", + "north": "false", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/ru_y" + }, + "when": { + "east": "false", + "north": "false", + "south": "true", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/ld_y" + }, + "when": { + "east": "true", + "north": "true", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/rd_y" + }, + "when": { + "east": "false", + "north": "true", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/ud_y" + }, + "when": { + "east": "false", + "north": "true", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/u_y" + }, + "when": { + "east": "false", + "north": "false", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/d_y" + }, + "when": { + "east": "false", + "north": "true", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/lr_y" + }, + "when": { + "east": "true", + "north": "false", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/l_y" + }, + "when": { + "east": "true", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/r_y" + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/lu_z" + }, + "when": { + "down": "false", + "east": "true", + "up": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/ru_z" + }, + "when": { + "down": "false", + "east": "false", + "up": "true", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/ld_z" + }, + "when": { + "down": "true", + "east": "true", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/rd_z" + }, + "when": { + "down": "true", + "east": "false", + "up": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/ud_z" + }, + "when": { + "down": "true", + "east": "false", + "up": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/u_z" + }, + "when": { + "down": "false", + "east": "false", + "up": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/d_z" + }, + "when": { + "down": "true", + "east": "false", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/lr_z" + }, + "when": { + "down": "false", + "east": "true", + "up": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/l_z" + }, + "when": { + "down": "false", + "east": "true", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/r_z" + }, + "when": { + "down": "false", + "east": "false", + "up": "false", + "west": "true" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/steel_scaffolding.json b/build/resources/main/assets/tfmg/blockstates/steel_scaffolding.json new file mode 100644 index 00000000..b758096e --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/steel_scaffolding.json @@ -0,0 +1,10 @@ +{ + "variants": { + "bottom=false": { + "model": "tfmg:block/steel_scaffolding" + }, + "bottom=true": { + "model": "tfmg:block/steel_scaffolding_horizontal" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/sulfur.json b/build/resources/main/assets/tfmg/blockstates/sulfur.json new file mode 100644 index 00000000..2b313ee3 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/sulfur.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/sulfur" + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/yellow_caution_block.json b/build/resources/main/assets/tfmg/blockstates/yellow_caution_block.json new file mode 100644 index 00000000..f95941a4 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/yellow_caution_block.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/yellow_caution_block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/yellow_caution_block" + }, + "facing=south": { + "model": "tfmg:block/yellow_caution_block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/yellow_caution_block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/yellow_concrete_wall.json b/build/resources/main/assets/tfmg/blockstates/yellow_concrete_wall.json new file mode 100644 index 00000000..d162cd55 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/yellow_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/blockstates/zinc_truss.json b/build/resources/main/assets/tfmg/blockstates/zinc_truss.json new file mode 100644 index 00000000..22984c12 --- /dev/null +++ b/build/resources/main/assets/tfmg/blockstates/zinc_truss.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/zinc_truss", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/zinc_truss" + }, + "axis=z": { + "model": "tfmg:block/zinc_truss", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/lang/default/interface.json b/build/resources/main/assets/tfmg/lang/default/interface.json new file mode 100644 index 00000000..c5309ecf --- /dev/null +++ b/build/resources/main/assets/tfmg/lang/default/interface.json @@ -0,0 +1,172 @@ +{ + "creative_tab.tfmg_main": "Create: The Factory Must Grow", + "creative_tab.tfmg_decoration": "Create: TFMG Building Blocks", + + "create.goggles.fluid_storage": "Fluid Storage:", + "create.goggles.item_storage": "Item Storage:", + "create.goggles.item_storage_empty": "*Empty*", + + "create.goggles.surface_scanner.header": "Surface Scanner", + "create.goggles.surface_scanner.no_deposit": "No Deposits Found", + "create.goggles.surface_scanner.no_rotation": "Not Enough Rotation (Needs 64rpm)", + "create.goggles.surface_scanner.deposits_found": " Chunks With Oil Deposits Found", + + "create.goggles.distillation_tower.status": "Distillation Tower Info:", + "create.goggles.distillation_tower.tank_not_found": "Steel Fluid Tank Not Found", + "create.goggles.distillation_tower.level": "Heat Level: %1$s", + "create.goggles.distillation_tower.found_outputs": "Output Count: %1$s", + "create.goggles.distillation_tower.no_outputs": "No Output Blocks Found", + + "create.goggles.blast_furnace.stats": "Blast Furnace:", + "create.goggles.blast_furnace.fuel_amount": " Fuel : %1$s", + "create.goggles.blast_furnace.height": " Height: %1$s", + "create.goggles.blast_furnace.reinforced": "Reinforced", + "create.goggles.blast_furnace.timer": "Time Left: %1$s", + "create.goggles.blast_furnace.modifier": "Production Time: %1$s", + + "create.goggles.blast_stove.header": "Blast Stove: ", + "create.goggles.blast_stove.tank1": "Input Tank: ", + "create.goggles.blast_stove.tank2": "Fuel Tank: ", + "create.goggles.blast_stove.tank3": "Output Tank 1: ", + "create.goggles.blast_stove.tank4": "Output Tank 2: ", + + "create.goggles.coke_oven.header": "Coke Oven:", + "create.goggles.coke_oven.progress": "Progress: %1$s", + + "create.goggles.pumpjack_info": "Pumpjack Info:", + "create.goggles.pumpjack.reserves": "Deposit Reserves: ", + "create.goggles.pumpjack.part_missing": "Hammer or Crank Missing", + "create.goggles.pumpjack.wrong_rotation1": "The Pumpjack Base is oriented incorrectly, the red marker must", + "create.goggles.pumpjack.wrong_rotation2": "face away from the Pumpjack Hammer Holder", + "create.goggles.pumpjack_fluid_storage": "Fluid Tank Info:", + "create.goggles.pumpjack.fluid_amount": "Fluid Amount:", + "create.goggles.pumpjack.deposit_info": "Deposit Info:", + "create.pumpjack_deposit_amount": "%1$s Buckets", + "create.goggles.zero": "Machine Invalid", + + "create.voltage": "Voltage: %1$s", + "create.fe": "FE: %1$s", + "create.network": "Network: %1$s", + + "create.goggles.machine_input.info": "Machine Input Info", + "create.goggles.machine_input.no_rot": "No Rotation Provided!", + "create.goggles.machine_input.power_level": "Power Level: ", + + "create.goggles.winding_machine.header": "Winding Machine", + "create.goggles.winding_machine.turns": "Turns Left: ", + "create.goggles.winding_machine.progress": "Progress: ", + + "create.goggles.polarizer.header": "Polarizer", + "create.goggles.polarizer.charge": "Charge: ", + "create.goggles.polarizer.insufficient_power": "Not Enough Power (Needs 2000W)", + + "create.goggles.electric_machine.no_power": "No Power", + "create.goggles.electricity.insufficient_voltage": "Insufficient Voltage", + + "create.goggles.voltmeter": "Voltmeter:", + "create.goggles.gauge.value": " Measured Voltage:", + "create.goggles.voltmeter.range": " Range: %1$s", + + "create.goggles.engine.header": "Engine Info", + "create.goggles.engine.type": " Type: ", + "create.goggles.engine.rpm": " Speed: ", + "create.goggles.engine.signal": " Signal: ", + "create.goggles.engine.torque": " Torque:", + "create.goggles.engine.fuel_consumption": " Fuel Consumption:", + "create.goggles.engine.oil": "Oil: ", + "create.goggles.engine.cooling_fluid": "Cooling Fluid: ", + "create.goggles.engine.unfinished": "Engine Unfinished", + "create.goggles.engine.next_component": " Next Component: ", + "create.goggles.engine.pistons_missing": "Pistons Missing", + "create.goggles.engine.turbines_missing": "Turbines Missing", + + "create.goggles.electrode_holder.min_amps": "Not Enough Current (Needs ", + + "create.goggles.vat.header": "Chemical Vat", + "create.goggles.vat.attachments": "Attachments:", + "create.goggles.vat.contents": "Vat Contents:", + "create.goggles.vat.heat_status": "Heat Status: ", + "create.goggles.vat.no_heat": "No Heat", + "create.goggles.vat.heated": "Heated", + "create.goggles.vat.superheated": "Superheated", + "create.goggles.vat.tfmg.graphite_electrode": " Graphite Electrode", + "create.goggles.vat.tfmg.electrode": " Electrode", + "create.goggles.vat.tfmg.mixing": " Mixer", + "create.goggles.vat.tfmg.centrifuge": " Centrifuge", + + + "create.goggles.ammeter": "Ammeter:", + "create.goggles.ammeter.amps": " Measured Amps: %1$s V", + + "create.goggles.motor.usage": "Energy Usage: %1$s fe/t", + "create.goggles.generator.production": "Energy Production: %1$s fe/t", + + "create.resistor.allowed_voltage": "Percentage of Voltage Allowed", + "create.winding_machine.turn_percentage": "Allowed Turn Percentage (From 1000)", + "create.creative_generator.voltage_generation": "Voltage Generation", + + "create.distillation_output.when_tank_is_full": "When Internal Tank is Full", + "create.distillation_output.mode.keep_fluid": "Stop Distillation Process", + "create.distillation_output.mode.void_when_full": "Void Excess Fluid", + + "death.attack.tfmg.concrete": "%1$s tried to eat Concrete", + "death.attack.tfmg.concrete.player": "%1$s tried to eat Concrete", + + "death.attack.tfmg.acid": "%1$s took an acid bath", + "death.attack.tfmg.acid.player": "%1$s took an acid bath", + + "death.attack.tfmg.blast_furnace": "%1$s was turned in carbon steel", + "death.attack.tfmg.blast_furnace.player": "%1$s was thrown into a blast furnace", + + "create.tooltip.fuse": "Rating: %1$s", + "create.tooltip.resistor": "Resistance: %1$s", + "create.tooltip.coils": "Turns: %1$s", + "create.tooltip.cylinder": "Supported Fuels:", + "create.tooltip.fluid_item": "Fluid Amount: %1$s", + + "create.recipe.assembly.winding": "Wind a Spool", + + "create.recipe.distillation": "Distillation", + "create.recipe.advanced_distillation": "Advanced Distillation", + "create.recipe.industrial_blasting": "Industrial Blasting", + "create.recipe.casting": "Casting", + "create.recipe.coking": "Coking", + "create.recipe.polarizing": "Polarizing", + "create.recipe.chemical_vat": "Chemical Vat", + "create.recipe.hot_blast": "Air Blasting", + "create.recipe.winding": "Winding", + + "tfmg.keyinfo.custom_button": "Engine Controller Custom Button", + "tfmg.keyinfo.engine_start": "Start Engine", + "tfmg.keyinfo.transmission_shift_up": "Transmission Shift Up", + "tfmg.keyinfo.transmission_shift_down": "Transmission Shift Down", + + "create.multimeter.header": "Multimeter Data:", + "create.multimeter.additional_values": "Additional Values:", + "create.multimeter.power_usage": " Power Usage: ", + "create.multimeter.group": " Group: ", + "create.multimeter.voltage_generated": " Voltage Generated: ", + "create.multimeter.power_generated": " Power Generated: ", + "create.multimeter.power_percentage": " Grid Strength: ", + "create.multimeter.energy_usage": " Energy Usage: ", + "create.multimeter.energy_stored": " Energy Stored: ", + "create.multimeter.transformer_ratio": " Turn Ratio: ", + + "item.minecraft.potion.effect.hellfire_potion": "Potion of Hellfire", + "item.minecraft.splash_potion.effect.hellfire_potion": "Splash Potion of Hellfire", + "item.minecraft.lingering_potion.effect.hellfire_potion": "Lingering Potion of Hellfire", + "item.minecraft.tipped_arrow.effect.hellfire_potion": "Arrow of Hellfire", + + "effect.tfmg.hellfire": "Hellfire", + + "create.wires.removed_data": "Data Removed", + + "create.oil_hammer.reserves": "Oil Reserves: %1$s", + + + + "tfmg.subtitle.engine_sounds": "Engine Sounds", + "tfmg.subtitle.diesel_engine_sounds": "Diesel Engine Sounds" + + +} diff --git a/build/resources/main/assets/tfmg/lang/default/tooltips.json b/build/resources/main/assets/tfmg/lang/default/tooltips.json new file mode 100644 index 00000000..36cbbe24 --- /dev/null +++ b/build/resources/main/assets/tfmg/lang/default/tooltips.json @@ -0,0 +1,260 @@ +{ + + + "OwO": "UwU", + + "item.tfmg.multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.white_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.white_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.white_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.white_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.white_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.light_gray_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.light_gray_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.light_gray_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.light_gray_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.light_gray_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.gray_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.gray_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.gray_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.gray_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.gray_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.black_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.black_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.black_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.black_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.black_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.red_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.red_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.red_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.red_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.red_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.orange_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.orange_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.orange_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.orange_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.orange_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.yellow_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.yellow_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.yellow_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.yellow_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.yellow_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.lime_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.lime_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.lime_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.lime_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.lime_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.green_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.green_multimeter_.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.green_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.green_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.green_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.light_blue_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.light_blue_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.light_blue_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.light_blue_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.light_blue_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.cyan_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.cyan_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.cyan_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.cyan_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.cyan_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.blue_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.blue_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.blue_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.blue_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.blue_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.purple_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.purple_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.purple_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.purple_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.purple_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.magenta_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.magenta_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.magenta_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.magenta_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.magenta_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.pink_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.pink_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.pink_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.pink_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.pink_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.brown_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.brown_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.brown_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.brown_multimeter_cannon.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.brown_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "block.tfmg.firebox.tooltip.summary": "Heats machinery when fuel is pumped inside", + "block.tfmg.firebox.tooltip.condition1": "When filled with lpg, butane, diesel, propane, naphta or kerosene with carbon dioxide being pumped out", + "block.tfmg.firebox.tooltip.behaviour1": "Heats machinery above it acting as a blaze burner", + + "block.tfmg.winding_machine.tooltip.summary": "Changes the amount of turns on spools and the resistance on resistors", + "block.tfmg.winding_machine.tooltip.behaviour1": "Right click with your desired item (Electromagnetic Coil or Resistor) and then right click with either a Copper spool for Coils and an Aluminium one for resistors. Interact with it to set the amount of turns/ohms and power with rotation. Use the Engineers goggles to see when your winding is finished.", + + "block.tfmg.surface_scanner.tooltip.summary": "Helps to find chunks with oil", + "block.tfmg.surface_scanner.tooltip.condition1": "When powered from below with a Machine Input", + "block.tfmg.surface_scanner.tooltip.behaviour1": "The machines top 5x5 grid shows the surrounding chunks with its chunk in the center, the chunks that have atleast 1 oil deposit in them should glow. If the surface does not start to glow within a few seconds then it is likely that there are no oil deposits nearby. Chunks can be seen ingame with F3+G", + + "block.tfmg.casting_basin.tooltip.summary": "Casts ingots", + "block.tfmg.casting_basin.tooltip.condition1": "When supplied with molten steel", + "block.tfmg.casting_basin.tooltip.behaviour1": "Creates steel ingots which must have a sufficent output as the internal storage of the basin is limited", + + "block.tfmg.neon_tube.tooltip.summary": "Glows", + "block.tfmg.neon_tube.tooltip.condition1": "When provided with power", + "block.tfmg.neon_tube.tooltip.behaviour1": "Glows relative to the amount of power its receiving", + "block.tfmg.neon_tube.tooltip.condition2": "When interacted with a dye", + "block.tfmg.neon_tube.tooltip.behaviour2": "Changes color to the color of the light when glowing", + "block.tfmg.neon_tube.tooltip.condition3": "When interacted with a Wrench", + "block.tfmg.neon_tube.tooltip.behaviour3": "Changes shape providing a space to power the tube", + + "block.tfmg.light_bulb.tooltip.summary": "Glows", + "block.tfmg.light_bulb.tooltip.condition1": "When provided with power", + "block.tfmg.light_bulb.tooltip.behaviour1": "Glows relative to the amount of power its receiving", + "block.tfmg.light_bulb.tooltip.condition2": "When interacted with a dye", + "block.tfmg.light_bulb.tooltip.behaviour2": "Changes color to the color of the light when glowing", + + "block.tfmg.circular_light.tooltip.summary": "Glows", + "block.tfmg.circular_light.tooltip.condition1": "When provided with power", + "block.tfmg.circular_light.tooltip.behaviour1": "Glows relative to the amount of power its receiving", + "block.tfmg.circular_light.tooltip.condition2": "When interacted with a dye", + "block.tfmg.circular_light.tooltip.behaviour2": "Changes color to the color of the light when glowing", + + "block.tfmg.modern_light.tooltip.summary": "Glows", + "block.tfmg.modern_light.tooltip.condition1": "When provided with power", + "block.tfmg.modern_light.tooltip.behaviour1": "Glows relative to the amount of power its receiving", + "block.tfmg.modern_light.tooltip.condition2": "When interacted with a dye", + "block.tfmg.modern_light.tooltip.behaviour2": "Changes color to the color of the light when glowing", + + "block.tfmg.aluminum_lamp.tooltip.summary": "Glows", + "block.tfmg.aluminum_lamp.tooltip.condition1": "When provided with power", + "block.tfmg.aluminum_lamp.tooltip.behaviour1": "Glows relative to the amount of power its receiving", + "block.tfmg.aluminum_lamp.tooltip.condition2": "When interacted with a dye", + "block.tfmg.aluminum_lamp.tooltip.behaviour2": "Changes color to the color of the light when glowing", + + "item.tfmg.oil_can.tooltip.summary": "Adds lubrication oil to engines", + "item.tfmg.oil_can.tooltip.condition1": "When Right Clicking a tank with lubrication oil inside", + "item.tfmg.oil_can.tooltip.behaviour1": "Fills the can with lubrication oil", + "item.tfmg.oil_can.tooltip.condition2": "When Right Clicking an engine", + "item.tfmg.oil_can.tooltip.behaviour2": "Fills the engine with lubrication oil", + + "block.tfmg.cable_connector.tooltip.summary": "Transfers power", + "block.tfmg.cable_connector.tooltip.condition1": "When 2 cable insulators are right clicked with a copper/aluminum/constantan spool", + "block.tfmg.cable_connector.tooltip.behaviour1": "Created a connection between the 2 insulators transferring power between them", + + "block.tfmg.glass_cable_insulator.tooltip.summary": "Transfers power", + "block.tfmg.glass_cable_insulator.tooltip.condition1": "When 2 cable insulators are right clicked with a copper/aluminum/constantan spool", + "block.tfmg.glass_cable_insulator.tooltip.behaviour1": "Created a connection between the 2 insulators transferring power between them", + + "block.tfmg.transformer.tooltip.summary": "Changes the voltage in a circuit", + "block.tfmg.transformer.tooltip.behaviour1": "Needs 2 electromagnetic coils of different turn amounts that have to be put on the transformer where the output (indicated by a small line of copper) outputs voltage based on the ratio of the 2 coils (for example if the input has a coil with 50 turns and the output has one with a 100 then the voltage is doubled since 100/50 = 2)", + + "block.tfmg.diode.tooltip.summary": "Functions as a one way gateway for power to flow through", + "block.tfmg.diode.tooltip.condition1": "When provided with power from its darker side", + "block.tfmg.diode.tooltip.behaviour1": "The power will be outputted on its lighter side acting as a one way pathway for power (meaning any power that would be coming from its lighter side would not be outputted on the darker one)", + + "block.tfmg.blast_stove.tooltip.summary": "Heats Air", + "block.tfmg.blast_stove.tooltip.behaviour1": "When 3 blast stoves are placed on top of eachother (or in a 3x2 shape) the smallest version of a blast stove is created, to add further internal storage you can add more stove blocks on top which is generally reccomended. A Blast Stove requires 2 things to be pumped in. Air, from the side of the bottom block and Creosote or Furnace gas from the bottom. Carbon dioxide must be pumped out from the side of the bottom block and finally heated air must be pumped out from the machines top.", + + "block.tfmg.resistor.tooltip.summary": "Adds resistance to a network", + "block.tfmg.resistor.tooltip.condition1": "When placed on a block within a group", + "block.tfmg.resistor.tooltip.behaviour1": "Adds the resistors respective resistance (to see how to change its resistance look at the winding machines tooltip) to whatever electric group its target block is in", + + "block.tfmg.electrical_switch.tooltip.summary": "Lets power through when powered with redstone", + + "block.tfmg.potentiometer.tooltip.summary": "Lets through a only a set amount of voltage", + "block.tfmg.potentiometer.tooltip.behaviour1": "Based on what pecentage you set, this machine only lets through a certain amount of voltage outputted by its output (its output can be seen by the arrow like pattern on its top pointing to it)", + + "block.tfmg.fireclay.tooltip.summary": "Spawns in underground veins located in the overworld", + + "item.tfmg.advanced_potato_cannon.tooltip.summary": "Launches _Napalm Potatoes_ at Enemies. Can be powered with _Air_ _Pressure_ from a _Backtank_", + "item.tfmg.advanced_potato_cannon.tooltip.condition1": "When R-Clicked", + "item.tfmg.advanced_potato_cannon.tooltip.behaviour1": "_Shoots_ a _Napalm Potato_ from your _Inventory_.", + "item.tfmg.advanced_potato_cannon.tooltip.condition2": "While wearing Backtank", + "item.tfmg.advanced_potato_cannon.tooltip.behaviour2": "_No_ _Durability_ will be used. Instead, _Air_ _pressure_ is drained from the Tank", + + "item.tfmg.flamethrower.tooltip.summary": "Burns burnable _Gases_ and _Fluids_ to shoot out a burst of flame to burn your Enemies", + "item.tfmg.flamethrower.tooltip.condition1": "When R-Clicked", + "item.tfmg.flamethrower.tooltip.behaviour1": "_Shoots out Flames_ ", + "item.tfmg.flamethrower.tooltip.condition2": "When R-Clicking a Fluid Tank with Gasoline, Diesel, Kerosene, Naphtha, LPG, Molten Slag or Napalm inside", + "item.tfmg.flamethrower.tooltip.behaviour2": "The _Fuel_ will be consumed from the tank. _Range_ and _Spread_ change according to your _Fuel_ of choice", + + "item.tfmg.pipebomb.tooltip.summary": "So cool", + + "item.tfmg.screwdriver.tooltip.summary": "Can lock pipes in place", + "item.tfmg.screwdriver.tooltip.condition1": "When R-Clicking pipe", + "item.tfmg.screwdriver.tooltip.behaviour1": "Locks _Pipe_ in its current rotation allowing for _Pipes_ to be placed next to eachother _Without Connecting_", + + "block.tfmg.polarizer.tooltip.summary": "Makes Magnetis out of Magnetic Ingots", + "block.tfmg.polarizer.tooltip.condition1": "When powered", + "block.tfmg.polarizer.tooltip.behaviour1": "Will turn a _Magnetic Ingot_ into a _Magnet_ when right clicked with a _Magnetic Ingot_ after a bit of time", + + "item.tfmg.magnetic_alloy_ingot.tooltip.summary": "Striking this with a lightning might do something...", + + "item.tfmg.lithium_blade.tooltip.summary": "Using _Steel Ingot_Lithium Charges_, this Blade is set aflame burning enemies and shooting out Bolts of _Hellfire_", + "item.tfmg.lithium_blade.tooltip.condition1": "When R-Clicked when Off", + "item.tfmg.lithium_blade.tooltip.behaviour1": "Is set on hellfire, consuming a _Lithium Charge_. Its flame sets enemies on fire for a set amount of time, this fire is renewed even after Enemy extinguishes themself in water ", + "item.tfmg.lithium_blade.tooltip.condition2": "When R-Clicking when On", + "item.tfmg.lithium_blade.tooltip.behaviour2": "Shoots out several bolts of _Hellfire_ consuming the blades charge", + + "block.tfmg.accumulator.tooltip.summary": "Holds a Large Amount of energy (inserted from bottom) that can be outputted Slowly from the Top", + + "item.tfmg.electrictians_wrench.tooltip.summary": "Changes the electrical group of a component", + "item.tfmg.electrictians_wrench.tooltip.condition1": "When R-Clicking electrical block", + "item.tfmg.electrictians_wrench.tooltip.behaviour1": "Opens up a menu where you can choose the group of set block. Groups are explained within the generators ponder", + + "block.tfmg.flarestack.tooltip.summary": "Burns unneeded oil products", + "block.tfmg.flarestack.tooltip.condition1": "When Pumped burnable Fluids/Gases into from the bottom", + "block.tfmg.flarestack.tooltip.behaviour1": "Deletes what is pumped inside", + + "block.tfmg.large_engine.tooltip.summary": "Creates rotation from less refined fuels", + "block.tfmg.large_engine.tooltip.behaviour1": "To function it requires air and fuel to be pumped in (Diesel, Kerosene, Naphta, Furnace Gas) and co2 to be pumped out (needs an exhaust) to generate rotation (a shaft needs to be attached similiar to a steam engine)", + + "block.tfmg.simple_large_engine.tooltip.summary": "Creates rotation (less effectively than its regular counterpart) from less refined fuels", + "block.tfmg.simple_large_engine.tooltip.behaviour1": "To function it requires air and fuel to be pumped in (Diesel, Kerosene, Naphta, Furnace Gas) and co2 to be pumped out (needs an exhaust) to generate rotation (a shaft needs to be attached similiar to a steam engine)", + + "block.tfmg.engine_controller.tooltip.summary": "Controls the speed and direction of rotation generated by various types of engine", + "block.tfmg.engine_controller.tooltip.condition1": "How to link to an engine", + "block.tfmg.engine_controller.tooltip.behaviour1": "R-Click the controller with a transmission item and then do the same with the engine.", + "block.tfmg.engine_controller.tooltip.condition2": "How to control an engine", + "block.tfmg.engine_controller.tooltip.behaviour2": "Look in the Keybinds part of the minecraft settings specifically in the Create: The Factory Must Grow section", + + "block.tfmg.voltmeter.tooltip.summary": "Shows various different values about an electric component", + "block.tfmg.voltmeter.tooltip.behaviour1": "To use put this block on an electric block/component. By default it will measure voltage from 0 to 500 volts. To see what its currently measuring look at it with engineers goggles. To choose from various options of what it can measure R-Click with a wrench.", + + "block.tfmg.converter.tooltip.summary": "Converts FE to TFMG energy and vice versa", + "block.tfmg.converter.tooltip.behaviour1": "The block has a TFMG input (copper) and an FE one (redstone) by default it converts TFMG energy to FE with a wrench you can make the converter convert FE to TFMG energy. Voltage of the tfmg output may be abjusted by opening a menu on the side of the Converter", + + "block.tfmg.cocrete_hose.tooltip.summary": "Pumps concrete like a hose pulley into rebar blocks. Set concrete dries as rebar concrete", + + "block.tfmg.voltage_observer.tooltip.summary": "Powers redstone when any voltage is detected", + + "item.tfmg.quad_potato_cannon.tooltip.summary": "Launches 4 of your home-grown vegetables at Enemies. Can be powered with _Air_ _Pressure_ from a _Backtank_", + "item.tfmg.quad_potato_cannon.tooltip.condition1": "When R-Clicked", + "item.tfmg.quad_potato_cannon.tooltip.behaviour1": "_Shoots_ a suitable item from your _Inventory_.", + "item.tfmg.quad_potato_cannon.tooltip.condition2": "While wearing Backtank", + "item.tfmg.quad_potato_cannon.tooltip.behaviour2": "_No_ _Durability_ will be used. Instead, _Air_ _pressure_ is drained from the Tank" + + + +} diff --git a/build/resources/main/assets/tfmg/lang/ru_ru.json b/build/resources/main/assets/tfmg/lang/ru_ru.json new file mode 100644 index 00000000..5d30967d --- /dev/null +++ b/build/resources/main/assets/tfmg/lang/ru_ru.json @@ -0,0 +1,572 @@ +{ + + "_": "->------------------------] Game Elements [------------------------<-", + + "block.tfmg.air_intake": "Воздухозаборник", + "block.tfmg.aluminum_bars": "Алюминиевый столб", + "block.tfmg.aluminum_block": "Блок алюминия", + "block.tfmg.aluminum_fluid_valve": "Алюминиевый жидкостный вентиль", + "block.tfmg.aluminum_flywheel": "Алюминиевый маховик", + "block.tfmg.aluminum_ladder": "Алюминиевая лестница", + "block.tfmg.aluminum_mechanical_pump": "Алюминиевая механическая помпа", + "block.tfmg.aluminum_pipe": "Алюминиевая жидкостная труба", + "block.tfmg.aluminum_scaffolding": "Алюминиевые подмостки", + "block.tfmg.aluminum_smart_fluid_pipe": "Умная алюминиевая умная труба", + "block.tfmg.aluminum_truss": "Алюминиевые балки", + "block.tfmg.asphalt": "Асфальт", + "block.tfmg.bauxite": "Боксит", + "block.tfmg.bauxite_pillar": "Бокситовая колонна", + "block.tfmg.black_concrete": "Черный бетон", + "block.tfmg.black_concrete_slab": "Черная бетонная плита", + "block.tfmg.black_concrete_stairs": "Черные бетонные ступеньки", + "block.tfmg.black_concrete_wall": "Черная бетонная ограда", + "block.tfmg.blast_furnace_output": "Выход доменной печи", + "block.tfmg.blue_concrete": "Синий бетон", + "block.tfmg.blue_concrete_slab": "Синяя бетонная плита", + "block.tfmg.blue_concrete_stairs": "Синие бетонные ступеньки", + "block.tfmg.blue_concrete_wall": "Синяя бетонная ограда", + "block.tfmg.brass_fluid_valve": "Латунный жидкостный вентиль", + "block.tfmg.brass_mechanical_pump": "Латунная механическая помпа", + "block.tfmg.brass_pipe": "Латунная жидкостная труба", + "block.tfmg.brass_smart_fluid_pipe": "Умная латунная жидкостная труба", + "block.tfmg.brown_concrete": "Коричневый бетон", + "block.tfmg.brown_concrete_slab": "Коричневая бетонная плита", + "block.tfmg.brown_concrete_stairs": "Коричневые бетонные ступеньки", + "block.tfmg.brown_concrete_wall": "Коричневая бетонная ограда", + "block.tfmg.cast_iron_block": "Чугунный блок", + "block.tfmg.cast_iron_distillation_controller": "Чугунный контроллер дистиллятора", + "block.tfmg.cast_iron_distillation_output": "Чугунный выход дистиллятора", + "block.tfmg.cast_iron_fluid_valve": "Чугунный жидкостный вентиль", + "block.tfmg.cast_iron_flywheel": "Чугунный маховик", + "block.tfmg.cast_iron_mechanical_pump": "Чугунная механическая помпа", + "block.tfmg.cast_iron_pipe": "Чугунная жидкостная труба", + "block.tfmg.cast_iron_smart_fluid_pipe": "Умная чугунная жидкостная труба", + "block.tfmg.casting_basin": "Литейная чаша", + "block.tfmg.casting_spout": "Литейный дозатор", + "block.tfmg.caution_block": "Желтый сигнальный блок", + "block.tfmg.cement": "Цемент", + "block.tfmg.coal_coke_block": "Блок коксового угля", + "block.tfmg.coke_oven": "Коксовая печь", + "block.tfmg.concrete": "Бетон", + "block.tfmg.concrete_slab": "Бетонная плита", + "block.tfmg.concrete_stairs": "Бетонные ступеньки", + "block.tfmg.concrete_wall": "Бетонная ограда", + "block.tfmg.cooling_fluid": "Охлаждающая жидкость", + "block.tfmg.copper_encased_aluminum_pipe": "Алюминиевая труба в медном корпусе", + "block.tfmg.copper_encased_brass_pipe": "Латунная труба в медном корпусе", + "block.tfmg.copper_encased_cast_iron_pipe": "Чугунная труба в медном корпусе", + "block.tfmg.copper_encased_plastic_pipe": "Пластиковая труба в медном корпусе", + "block.tfmg.copper_encased_steel_pipe": "Стальная труба в медном корпусе", + "block.tfmg.creosote": "Креозот", + "block.tfmg.crude_oil_fluid": "Сырая нефть", + "block.tfmg.cut_bauxite": "Резной боксит", + "block.tfmg.cut_bauxite_brick_slab": "Плита из резного бокситового кирпича", + "block.tfmg.cut_bauxite_brick_stairs": "Ступеньки из резного бокситового кирпича", + "block.tfmg.cut_bauxite_brick_wall": "Ограда из резного бокситового кирпича", + "block.tfmg.cut_bauxite_bricks": "Резный бокситовый кирпич", + "block.tfmg.cut_bauxite_slab": "Плита из резного боксита", + "block.tfmg.cut_bauxite_stairs": "Ступеньки из резного боксита", + "block.tfmg.cut_bauxite_wall": "Ограда из резного боксита", + "block.tfmg.cyan_concrete": "Бирюзовый бетон", + "block.tfmg.cyan_concrete_slab": "Бирюзовая бетонная плита", + "block.tfmg.cyan_concrete_stairs": "Бирюзовые бетонные ступеньки", + "block.tfmg.cyan_concrete_wall": "Бирюзовая бетонная ограда", + "block.tfmg.diesel": "Дизель", + "block.tfmg.diesel_engine": "Дизельный двигатель", + "block.tfmg.diesel_engine_expansion": "Расширенный ввод для дизельного двигателя", + "block.tfmg.exhaust": "Выхлопная труба", + "block.tfmg.factory_floor": "Заводской пол", + "block.tfmg.factory_floor_slab": "Плита из заводского пола", + "block.tfmg.factory_floor_stairs": "Ступеньки из заводского пола", + "block.tfmg.fireclay": "Огнеупорная глина", + "block.tfmg.fireproof_brick_reinforcement": "Огнеупорное кирпичное укрепление", + "block.tfmg.fireproof_bricks": "Огнеупорные кирпичи", + "block.tfmg.flarestack": "Факельная труба", + "block.tfmg.formwork_block": "Опалубка", + "block.tfmg.fossilstone": "Окаменелость", + "block.tfmg.gasoline": "Бензин", + "block.tfmg.gasoline_engine": "Бензиновый двигатель", + "block.tfmg.gasoline_engine_back": "Задняя часть бензинового двигателя", + "block.tfmg.glass_aluminum_pipe": "Застекленная алюминиевая жидкостная труба", + "block.tfmg.glass_brass_pipe": "Застекленная латунная жидкостная труба", + "block.tfmg.glass_cast_iron_pipe": "Застекленная чугунная жидкостная труба", + "block.tfmg.glass_plastic_pipe": "Застекленная пластиковая жидкостная труба", + "block.tfmg.glass_steel_pipe": "Застекленная стальная жидкостная труба", + "block.tfmg.gray_concrete": "Серый бетон", + "block.tfmg.gray_concrete_slab": "Серая бетонная плита", + "block.tfmg.gray_concrete_stairs": "Серые бетонные ступеньки", + "block.tfmg.gray_concrete_wall": "Серая бетонная ограда", + "block.tfmg.green_concrete": "Зеленый бетон", + "block.tfmg.green_concrete_slab": "Зеленая бетонная плита", + "block.tfmg.green_concrete_stairs": "Зеленые бетонные ступеньки", + "block.tfmg.green_concrete_wall": "Зеленая бетонная ограда", + "block.tfmg.hardened_planks": "Закаленные доски", + "block.tfmg.heavy_casing_door": "Тяжёлая стальная дверь", + "block.tfmg.heavy_machinery_casing": "Тяжёлый машинный корпус", + "block.tfmg.heavy_oil": "Мазут", + "block.tfmg.industrial_pipe": "Промышленная труба", + "block.tfmg.kerosene": "Керосин", + "block.tfmg.layered_bauxite": "Слоистый боксит", + "block.tfmg.light_blue_concrete": "Голубой бетон", + "block.tfmg.light_blue_concrete_slab": "Голубая бетонная плита", + "block.tfmg.light_blue_concrete_stairs": "Голубые бетонный ступеньки", + "block.tfmg.light_blue_concrete_wall": "Голубая бетонная ограда", + "block.tfmg.light_gray_concrete": "Светло-серый бетон", + "block.tfmg.light_gray_concrete_slab": "Светло-серая бетонная плита", + "block.tfmg.light_gray_concrete_stairs": "Светло-серые бетонные ступеньки", + "block.tfmg.light_gray_concrete_wall": "Светло-серая бетонная ограда", + "block.tfmg.lignite": "Бурый уголь", + "block.tfmg.lime_concrete": "Лаймовый бетон", + "block.tfmg.lime_concrete_slab": "Лаймовая бетонная плита", + "block.tfmg.lime_concrete_stairs": "Лаймовые бетонные ступеньки", + "block.tfmg.lime_concrete_wall": "Лаймовая бетонная ограда", + "block.tfmg.limesand": "Известняковый песок", + "block.tfmg.liquid_asphalt": "Жидкий асфальт", + "block.tfmg.liquid_concrete": "Жидкий бетон", + "block.tfmg.liquid_plastic": "Жидкий пластик", + "block.tfmg.lpg_engine": "СНГ двигатель", + "block.tfmg.lpg_engine_back": "Задняя часть СНГ двигателя", + "block.tfmg.lubrication_oil": "Смазочное масло", + "block.tfmg.machine_input": "Машинный ввод", + "block.tfmg.magenta_concrete": "Пурпурный бетон", + "block.tfmg.magenta_concrete_slab": "Пурпурная бетонная плита", + "block.tfmg.magenta_concrete_stairs": "Пурпурные бетонные ступеньки", + "block.tfmg.magenta_concrete_wall": "Пурпурная бетонная ограда", + "block.tfmg.molten_metal": "Расплавленный металл", + "block.tfmg.molten_slag": "расплавленный шлак", + "block.tfmg.molten_steel": "Расплавленная сталь", + "block.tfmg.napalm": "Напалм", + "block.tfmg.napalm_bomb": "Напалмовая бомба", + "block.tfmg.naphtha": "Лигроин", + "block.tfmg.oil_deposit": "Месторождение нефти", + "block.tfmg.orange_concrete": "Оранжевый бетон", + "block.tfmg.orange_concrete_slab": "Оранжевая бетонная плита", + "block.tfmg.orange_concrete_stairs": "Оранжевая бетонные ступеньки", + "block.tfmg.orange_concrete_wall": "Оранжевая бетонная ограда", + "block.tfmg.pink_concrete": "Розовый бетон", + "block.tfmg.pink_concrete_slab": "Розовая бетонная плита", + "block.tfmg.pink_concrete_stairs": "Розовая бетонные ступеньки", + "block.tfmg.pink_concrete_wall": "Розовая бетонная ограда", + "block.tfmg.plastic_block": "Блок пластика", + "block.tfmg.plastic_fluid_valve": "Пластиковый жидкостный вентиль", + "block.tfmg.plastic_mechanical_pump": "Пластиковая механическая помпа", + "block.tfmg.plastic_pipe": "Пластиковая жидкостная труба", + "block.tfmg.plastic_smart_fluid_pipe": "Умная пластиковая жидкостная труба", + "block.tfmg.polished_cut_bauxite": "Полированный резной боксит", + "block.tfmg.polished_cut_bauxite_slab": "Полированная плита из боксита", + "block.tfmg.polished_cut_bauxite_stairs": "Полированные ступеньки из боксита", + "block.tfmg.polished_cut_bauxite_wall": "Полированная ограда из боксита", + "block.tfmg.pumpjack_base": "Основа нефтяного насоса", + "block.tfmg.pumpjack_crank": "Нефтяной насос", + "block.tfmg.pumpjack_hammer_holder": "Балансир нефтяного насоса", + "block.tfmg.purple_concrete": "Фиолетовый бетон", + "block.tfmg.purple_concrete_slab": "Фиолетовая бетонная плита", + "block.tfmg.purple_concrete_stairs": "Фиолетовые бетонные ступеньки", + "block.tfmg.purple_concrete_wall": "Фиолетовая бетонная ограда", + "block.tfmg.rebar_concrete": "Армированный бетон", + "block.tfmg.rebar_concrete_slab": "Армированная бетонная плита", + "block.tfmg.rebar_concrete_stairs": "Армированные бетонные ступеньки", + "block.tfmg.rebar_concrete_wall": "Армированная бетонная плита", + "block.tfmg.rebar_formwork_block": "Арматурная опалубка", + "block.tfmg.red_caution_block": "Красный сигнальный блок", + "block.tfmg.red_concrete": "Красный бетон", + "block.tfmg.red_concrete_slab": "Красная бетонная плита", + "block.tfmg.red_concrete_stairs": "Красные бетонные ступеньки", + "block.tfmg.red_concrete_wall": "Красная бетонная ограда", + "block.tfmg.small_bauxite_brick_slab": "Плита из мелкого бокситового кирпича", + "block.tfmg.small_bauxite_brick_stairs": "Ступеньки из мелкого бокситового кирпича", + "block.tfmg.small_bauxite_brick_wall": "Ограда из мелкого бокситового кирпича", + "block.tfmg.small_bauxite_bricks": "Мелкие кирпичи из боксита", + "block.tfmg.steel_bars": "Стальные прутья", + "block.tfmg.steel_block": "Блок стали", + "block.tfmg.steel_casing": "Стальной корпус", + "block.tfmg.steel_distillation_controller": "Стальной контроллер дистилляционной башни", + "block.tfmg.steel_distillation_output": "Стальной выход дистилляционной дистилляции башни", + "block.tfmg.steel_door": "Стальная дверь", + "block.tfmg.steel_fluid_tank": "Стальной жидкостный бак", + "block.tfmg.steel_fluid_valve": "Стальной жидкостный вентиль", + "block.tfmg.steel_flywheel": "Стальной маховик", + "block.tfmg.steel_ladder": "Стальная лестница", + "block.tfmg.steel_mechanical_pump": "Стальная механическая помпа", + "block.tfmg.steel_pipe": "Стальная жидкостная труба", + "block.tfmg.steel_scaffolding": "Стальные подмостки", + "block.tfmg.steel_smart_fluid_pipe": "Умная стальная жидкостная труба", + "block.tfmg.steel_truss": "Стальные балки", + "block.tfmg.sulfur": "Сера", + "block.tfmg.surface_scanner": "Сканер поверхности", + "block.tfmg.turbine_engine": "Турбинный двигатель", + "block.tfmg.turbine_engine_back": "Задняя часть турбинного двигатель", + "block.tfmg.white_concrete": "Белый бетон", + "block.tfmg.white_concrete_slab": "Белая бетонная плита", + "block.tfmg.white_concrete_stairs": "Белые бетонные ступеньки", + "block.tfmg.white_concrete_wall": "Белая бетонная ограда", + "block.tfmg.yellow_concrete": "Желтый бетон", + "block.tfmg.yellow_concrete_slab": "Желтая бетонная плита", + "block.tfmg.yellow_concrete_stairs": "Желтые бетонные ступеньки", + "block.tfmg.yellow_concrete_wall": "Желтая бетонная ограда", + + "entity.tfmg.blue_spark": "Голубая искра", + "entity.tfmg.copper_grenade": "Медная граната", + "entity.tfmg.green_spark": "Зеленая искра", + "entity.tfmg.napalm_bomb_entity": "Активированная напалмовая бомба", + "entity.tfmg.spark": "Искра", + "entity.tfmg.thermite_grenade": "Термитная граната", + "entity.tfmg.zinc_grenade": "Цинковая граната", + + "fluid.tfmg.air": "Воздух", + "fluid.tfmg.butane": "Бутан", + "fluid.tfmg.carbon_dioxide": "Углекислый газ", + "fluid.tfmg.cooling_fluid": "Охлаждающая жидкость", + "fluid.tfmg.creosote": "Креозот", + "fluid.tfmg.crude_oil_fluid": "Сырая нефть", + "fluid.tfmg.diesel": "Дизель", + "fluid.tfmg.ethylene": "Этилен", + "fluid.tfmg.gasoline": "Бензин", + "fluid.tfmg.heavy_oil": "Мазут", + "fluid.tfmg.kerosene": "Керосин", + "fluid.tfmg.liquid_asphalt": "Жидкий асфальт", + "fluid.tfmg.liquid_concrete": "Жидкий бетон", + "fluid.tfmg.liquid_plastic": "Жидкий пластик", + "fluid.tfmg.lpg": "СНГ", + "fluid.tfmg.lubrication_oil": "Смазочное масло", + "fluid.tfmg.molten_slag": "Расплавленный шлак", + "fluid.tfmg.molten_steel": "Расплавленная сталь", + "fluid.tfmg.napalm": "Напалм", + "fluid.tfmg.naphtha": "Лигроин", + "fluid.tfmg.propane": "Пропан", + "fluid.tfmg.propylene": "Пропилен", + + "item.tfmg.aluminum_ingot": "Алюминиевый слиток", + "item.tfmg.bitumen": "Битум", + "item.tfmg.blasting_mixture": "Смесь для плавки", + "item.tfmg.block_mold": "Форма блока для выплавки", + "item.tfmg.cast_iron_ingot": "Чугунный слиток", + "item.tfmg.charcoal_dust": "Пыль древесного угля", + "item.tfmg.coal_coke": "Коксовый уголь", + "item.tfmg.coal_coke_dust": "Коксовая пыль", + "item.tfmg.cooling_fluid_bucket": "Ведро охлаждающей жидкости", + "item.tfmg.copper_grenade": "Медная граната", + "item.tfmg.creosote_bucket": "Ведро креозота", + "item.tfmg.crude_oil_fluid_bucket": "Ведро сырой нефти", + "item.tfmg.diesel_bucket": "Ведро дизеля", + "item.tfmg.engine_base": "Основа двигателя", + "item.tfmg.engine_chamber": "Камера сгорания", + "item.tfmg.fireclay_ball": "Шарик из огнеупорной глины", + "item.tfmg.fireproof_brick": "Огнеупорный кирпич", + "item.tfmg.gasoline_bucket": "Ведро бензина", + "item.tfmg.heavy_oil_bucket": "Ведро мазута", + "item.tfmg.heavy_plate": "Тяжёлая пластина", + "item.tfmg.ingot_mold": "Форма слитка для выплавки", + "item.tfmg.kerosene_bucket": "Ведро керосина", + "item.tfmg.liquid_asphalt_bucket": "Ведро жидкого асфальта", + "item.tfmg.liquid_concrete_bucket": "Ведро жидкого бетона", + "item.tfmg.liquid_plastic_bucket": "Ведро расплавленного пластика", + "item.tfmg.lubrication_oil_bucket": "Ведро смазочного масла", + "item.tfmg.molten_slag_bucket": "Ведро расплавленного шлака", + "item.tfmg.molten_steel_bucket": "Ведро расплавленной стали", + "item.tfmg.napalm_bucket": "Ведро напалма", + "item.tfmg.naphtha_bucket": "Ведро лигроина", + "item.tfmg.nitrate_dust": "Нитратная пыль", + "item.tfmg.plastic_sheet": "Пластиковый лист", + "item.tfmg.quad_potato_cannon": "Четырёхствольная картофельная пушка", + "item.tfmg.rebar": "Арматура", + "item.tfmg.screw": "Винты", + "item.tfmg.screwdriver": "Отвёртка", + "item.tfmg.slag": "Шлак", + "item.tfmg.spark_plug": "Свеча зажигания", + "item.tfmg.steel_ingot": "Стальной слиток", + "item.tfmg.steel_mechanism": "Стальной механизм", + "item.tfmg.sulfur_dust": "Серная пыль", + "item.tfmg.thermite_grenade": "Термитная граната", + "item.tfmg.thermite_powder": "Термитный порошок", + "item.tfmg.turbine_blade": "Лопасти турбины", + "item.tfmg.unfinished_gasoline_engine": "Незаконченный бензиновый двигатель", + "item.tfmg.unfinished_lpg_engine": "Незаконченный СНГ двигатель", + "item.tfmg.unfinished_steel_mechanism": "Незаконченный стальной механизм", + "item.tfmg.unfinished_turbine_engine": "Незаконченный турбинный двигатель", + "item.tfmg.unprocessed_heavy_plate": "Незаконченная тяжёлая плита", + "item.tfmg.zinc_grenade": "Цинковая граната", + + "itemGroup.tfmg.base": "Create: The Factory Must Grow", + "itemGroup.tfmg.building": "Create: TFMG Building Blocks", + + "create.goggles.misc.number": "%1$s", + "create.goggles.misc.percent_symbol": "%", + "create.goggles.misc.dot_one": ".", + "create.goggles.misc.dot_two": "..", + "create.goggles.misc.dot_three": "...", + "create.goggles.misc.storage_info": "Информация о хранилище:", + "create.goggles.fluid_in_tank": "Содержимое бака:", + "create.goggles.surface_scanner.no_rotation": "Подключите вращение", + "create.goggles.surface_scanner.no_deposit": "Месторождений нефти не найдено", + "create.goggles.surface_scanner.deposit_found": "Найдено месторождение нефти!", + "create.goggles.surface_scanner.distance": "Дистанция: %1$s блоков", + "create.goggles.surface_scanner.scanning_surface": "Сканирование поверхности...", + "create.goggles.distillation_tower.status": "Информация о дистилляционной башне:", + "create.goggles.distillation_tower.tank_not_found": "Стальной жидкостный бак не найден", + "create.goggles.distillation_tower.not_tall_enough": "Жидкостный бак слишком низкий", + "create.goggles.distillation_tower.level": "Уровень дистилляционной башни: %1$s", + "create.goggles.distillation_tower.found_outputs": "Количество выходов: %1$s", + "create.goggles.distillation_tower.no_outputs": "Блоки вывода не найдены", + "create.goggles.blast_furnace.stats": "Доменная печь:", + "create.goggles.blast_furnace.size_stats": "Размер:", + "create.goggles.blast_furnace.fuel_amount": "Количество топлива: %1$s", + "create.goggles.blast_furnace.item_count": "Количество предметов: %1$s", + "create.goggles.blast_furnace.height": "Высота: %1$s", + "create.goggles.blast_furnace.nothing_lol": "", + "create.goggles.blast_furnace.status.off": "Статус: Неактивена", + "create.goggles.blast_furnace.status.running": "Статус: Работает", + "create.goggles.blast_furnace.diameter.one": "Диаметр: 1", + "create.goggles.blast_furnace.diameter.two": "Диаметр: 2", + "create.goggles.blast_furnace.invalid": "Доменная печь недействительна", + "create.goggles.coke_oven.status": "Коксовая печь:", + "create.goggles.coke_oven.fluid_amount_output": "Внутреннее содержимое резервуара: %1$s mb", + "create.goggles.coke_oven.fluid_amount_exhaust": "Углекислый газ: %1$s mb", + "create.goggles.coke_oven.item_count": "Внутренне содержимое: %1$s", + "create.goggles.coke_oven.invalid": "Коксовая печь недействительна", + "create.goggles.coke_oven.tank_full": "Внутренний резервуар заполнен", + "create.goggles.coke_oven.progress": "Коксование: %1$s", + "create.goggles.engine_stats": "Статистика двигателя:", + "create.goggles.engine_exhaust_stats": "Статистика выхлопа двигателя:", + "create.goggles.fuel_container": "Хранение жидкости", + "create.goggles.engine.backpartmissing": "Задняя часть отсутствует:", + "create.goggles.engine_redstone_input": "Скорость:", + "create.goggles.engine.efficiency": "Эффективность:", + + "create.tooltip.engine_analog_strength": "%1$s/15", + + "create.goggles.get_engine_efficiency": "%1$s", + "create.goggles.engine.stress": "%1$sЕН", + "create.goggles.diesel_engine.info": "Дизельный двигатель:", + "create.goggles.pumpjack_info": "Информация о нефтяном насосе:", + "create.goggles.pumpjack.part_missing": "Насос или балансир отсутствует", + "create.goggles.pumpjack.wrong_rotation1": "Основа повёрнута неправильно, красный маркер должен", + "create.goggles.pumpjack.wrong_rotation2": "смотреть ОТ балансира", + "create.goggles.pumpjack_fluid_storage": "Информация о жидкостном баке:", + + "create.pumpjack_deposit_amount": "%1$s Buckets", + + "create.goggles.pumpjack.deposit_info": "Информация о месторождении:", + "create.goggles.zero": "Месторождение не найдено", + "create.goggles.pumpjack.fluid_amount": "Количество жидкости:", + "create.goggles.machine_input.info": "Информация о машинном вводе", + "create.goggles.machine_input.no_rot": "Подключите вращение!", + "create.goggles.machine_input.power_level": "Уровень мощности: ", + + "create.recipe.distillation": "Дистилляция", + "create.recipe.advanced_distillation": "Расширенная дистилляция", + "create.recipe.industrial_blasting": "Промышленная плавка", + "create.recipe.casting": "Литьё", + "create.recipe.coking": "Коксование", + + "tfmg.ponder.small_engines.text_1": "Чтобы создать небольшой двигатель, расположите переднюю и заднюю части рядом друг с другом", + "tfmg.ponder.small_engines.text_2": "Топливо подается в переднюю часть, а выхлопные газы необходимо отводить из задней части с помощью труб и Выхлопной трубы", + "tfmg.ponder.small_engines.text_3": "Подача сигнала редстоуна на переднюю часть запускает двигатель", + "tfmg.ponder.small_engines.text_4": "К малогабаритным двигателям относятся двигатели, работающие на Сжиженном Нефтяном Газе, Керосине и Бензине", + "tfmg.ponder.diesel_engine.text_1": "Дизельные двигатели собираются путем размещения Вала перед блоком Дизельного двигателя", + "tfmg.ponder.diesel_engine.text_2": "Двигатель вырабатывает выхлопные газы, которые необходимо отводить с помощью труб и Выхлопной трубы", + "tfmg.ponder.diesel_engine.text_3": "Для работы двигателя необходим Воздух, поэтому нужен Воздухозаборник", + "tfmg.ponder.diesel_engine_expansion.text_1": "Расширенный ввод дизельного двигателя может предоставить Дизельному двигателю два новых входных слота для Смазочного масла и Охлаждающей жидкости", + "tfmg.ponder.surface_scanner.text_1": "Сканер поверхности используется для обнаружения Месторождений сырой нефти", + "tfmg.ponder.surface_scanner.text_2": "Подача вращения к Сканеру позволяет ему сканировать ближайшее месторождение", + "tfmg.ponder.surface_scanner.text_3": "Если месторождение обнаружено, компас на Сканере укажет на его местонахождение", + "tfmg.ponder.pumpjack.text_1": "Чтобы начать добывать Нефть, вы должны сначала построить трубопровод поверх Месторождения, используя Промышленные трубы", + "tfmg.ponder.pumpjack.text_2": "Затем постройте Нефтяной насос поверх трубопровода, Сначала установив основу....", + "tfmg.ponder.pumpjack.text_3": "Поставьте за ним Балансир....", + "tfmg.ponder.pumpjack.text_4": "И, наконец, разместите Машинный ввод с Насосом над ним, как показано на экране", + "tfmg.ponder.distillation_tower.text_1": "Достаточно большой Стальной бак можно превратить в Дистилляционную башню", + "tfmg.ponder.distillation_tower.text_2": "Башня собирается путем размещения Стального контроллера дистилляционной башни рядом с резервуаром....", + "tfmg.ponder.distillation_tower.text_3": "И размещения до 6 Выходов дистилляционной башни, соединенных Промышленными трубами", + "tfmg.ponder.distillation_tower.text_4": "Горелки всполоха необходимы для работы дистилляционной башни. На индикаторе снизу башни отображается текущий уровень мощности.", + "tfmg.ponder.distillation_tower.text_5": "Что бы ввести Сырую нефть, её необходимо закачать в блок Контроллера", + "tfmg.ponder.distillation_tower.text_6": "Каждый Выходной блок обеспечивает выход одного из побочных продуктов нефти", + "tfmg.ponder.distillation_tower.text_7": "СНГ", + "tfmg.ponder.distillation_tower.text_8": "Бензин", + "tfmg.ponder.distillation_tower.text_9": "Лигроин", + "tfmg.ponder.distillation_tower.text_10": "Керосин", + "tfmg.ponder.distillation_tower.text_11": "Дизель", + "tfmg.ponder.distillation_tower.text_12": "Мазут", + "tfmg.ponder.blast_furnace.text_1": "Основой Доменной печи является блок Вывода доменной печи.", + "tfmg.ponder.blast_furnace.text_2": "Чтобы собрать Доменную печь, постройте дымоход из Огнеупорных кирпичей, как показано на экране.", + "tfmg.ponder.blast_furnace.text_3": "Нижнюю половину дымохода необходимо укрепить.", + "tfmg.ponder.blast_furnace.text_4": "Топливо и другие предметы вводятся через отверстие вверху.", + "tfmg.ponder.coke_oven.text_1": "Коксовая печь строится путем размещения блоков Коксовой печи, как показано на экране, включая направление блоков, и клика Гаечным ключём по узкой стороне.", + "tfmg.ponder.coke_oven.text_2": "Процесс коксования достаточно медленный, поэтому эффективнее иметь длинные ряды одновременно работающих печей.", + "tfmg.ponder.coke_oven.text_3": "Уголь может быть введён через любую из сторон", + "tfmg.ponder.coke_oven.text_4": "Во время работы печь вырабатывает Креозот и Углекислый газ, которые необходимо откачивать для продолжения работы.", + "tfmg.ponder.coke_oven.text_5": "После этого Коксовый уголь выпадет из отверстия.", + "tfmg.ponder.casting.text_1": "Литье — это процесс заливки Жидкого металла в Литейную форму с помощью Литейного дозатора.", + "tfmg.ponder.casting.text_2": "Литейная чаша, очевидно, требует Формы литья для работы.", + + "tfmg.ponder.distillation_tower.header": "Установка дистилляционной башни", + + "tfmg.ponder.pumpjack.header": "Строительство нефтяных насосов", + + "tfmg.ponder.surface_scanner.header": "Поиск нефти", + + "tfmg.ponder.diesel_engine.header": "Сборка дизельного двигателя", + + "tfmg.ponder.diesel_engine_expansion.header": "Расширение дизельных двигателей", + + "tfmg.ponder.small_engines.header": "Создание небольших двигателей", + + "tfmg.ponder.coke_oven.header": "Строительство коксовой печи", + "tfmg.ponder.blast_furnace": "Строительство доменной печи", + + "tfmg.ponder.casting.header": "Литье металла", + "tfmg.ponder.tag.oil": "Машины, связанные с нефтью", + "tfmg.ponder.tag.metallurgy": "Металлообрабатывающие машины", + "tfmg.ponder.tag.oil.description": "Машины, которые добывают, перерабатывают или используют сырую нефть и ее побочные продукты.", + "tfmg.ponder.tag.metallurgy.description": "Машины, которые производят, обрабатывают или используют металл и сырье как таковое.", + + "tfmg.subtitle.engine_sounds": "Звуки двигателя", + "tfmg.subtitle.diesel_engine_sounds": "Звуки дизельного двигателя", + + + "_": "->------------------------] UI & Messages [------------------------<-", + + "itemGroup.tfmg.base": "Create: The Factory Must Grow", + "itemGroup.tfmg.building": "Create: TFMG Строительные блоки", + + "create.goggles.misc.number": "%1$s", + "create.goggles.misc.percent_symbol": "%", + "create.goggles.misc.dot_one": ".", + "create.goggles.misc.dot_two": "..", + "create.goggles.misc.dot_three": "...", + "create.goggles.misc.storage_info": "Информация о хранилище:", + "create.goggles.fluid_in_tank": "Содержимое бака:", + "create.goggles.surface_scanner.no_rotation": "Подключите вращение", + "create.goggles.surface_scanner.no_deposit": "Месторождений нефти не найдено", + "create.goggles.surface_scanner.deposit_found": "Найдено месторождение нефти!", + "create.goggles.surface_scanner.distance": "Дистанция: %1$s блоков", + "create.goggles.surface_scanner.scanning_surface": "Сканирование поверхности...", + "create.goggles.distillation_tower.status": "Информация о дистилляционной башне:", + "create.goggles.distillation_tower.tank_not_found": "Стальной жидкостный бак не найден", + "create.goggles.distillation_tower.not_tall_enough": "Жидкостный бак слишком низкий", + "create.goggles.distillation_tower.level": "Уровень дистилляционной башни: %1$s", + "create.goggles.distillation_tower.found_outputs": "Количество выходов: %1$s", + "create.goggles.distillation_tower.no_outputs": "Блоки вывода не найдены", + "create.goggles.blast_furnace.stats": "Доменная печь:", + + "create.distillation_tower.size": "Размер", + "create.distillation_tower.heat": "Нагрев", + + "create.goggles.blast_furnace.fuel_amount": "Количество топлива: %1$s", + "create.goggles.blast_furnace.item_count": "Количество предметов: %1$s", + "create.goggles.blast_furnace.height": "Высота: %1$s", + "create.goggles.blast_furnace.nothing_lol": "", + "create.goggles.blast_furnace.status.off": "Статус: Неактивена", + "create.goggles.blast_furnace.status.running": "Статус: Работает", + "create.goggles.blast_furnace.diameter.one": "Диаметр: 1", + "create.goggles.blast_furnace.diameter.two": "Диаметр: 2", + "create.goggles.blast_furnace.invalid": "Доменная печь недействительна", + "create.goggles.coke_oven.status": "Коксовая печь:", + "create.goggles.coke_oven.fluid_amount_output": "Внутреннее содержимое резервуара: %1$s mb", + "create.goggles.coke_oven.fluid_amount_exhaust": "Углекислый газ: %1$s mb", + "create.goggles.coke_oven.item_count": "Внутренне содержимое: %1$s", + "create.goggles.coke_oven.invalid": "Коксовая печь недействительна", + "create.goggles.coke_oven.tank_full": "Внутренний резервуар заполнен", + "create.goggles.coke_oven.progress": "Коксование: %1$s", + "create.goggles.engine_stats": "Статистика двигателя:", + "create.goggles.engine_exhaust_stats": "Статистика выхлопа двигателя:", + "create.goggles.fuel_container": "Хранение жидкости", + "create.goggles.engine.backpartmissing": "Задняя часть отсутствует:", + "create.goggles.engine_redstone_input": "Скорость:", + "create.goggles.engine.efficiency": "Эффективность:", + + "create.tooltip.engine_analog_strength": "%1$s/15", + + "create.goggles.get_engine_efficiency": "%1$s", + "create.goggles.engine.stress": "%1$sЕН", + "create.goggles.diesel_engine.info": "Дизельный двигатель:", + "create.goggles.pumpjack_info": "Информация о нефтяном насосе:", + "create.goggles.pumpjack.part_missing": "Насос или балансир отсутствует", + "create.goggles.pumpjack.wrong_rotation1": "Основа повёрнута неправильно, красный маркер должен", + "create.goggles.pumpjack.wrong_rotation2": "смотреть ОТ балансира", + "create.goggles.pumpjack_fluid_storage": "Информация о жидкостном баке:", + + "create.pumpjack_deposit_amount": "%1$s Buckets", + + "create.goggles.pumpjack.deposit_info": "Информация о месторождении:", + "create.goggles.zero": "Месторождение не найдено", + "create.goggles.pumpjack.fluid_amount": "Количество жидкости:", + "create.goggles.machine_input.info": "Информация о машинном вводе", + "create.goggles.machine_input.no_rot": "Подключите вращение!", + "create.goggles.machine_input.power_level": "Уровень мощности: ", + + "create.recipe.distillation": "Дистилляция", + "create.recipe.advanced_distillation": "Расширенная дистилляция", + "create.recipe.industrial_blasting": "Промышленная плавка", + "create.recipe.casting": "Литьё", + "create.recipe.coking": "Коксование", + + "tfmg.subtitle.engine_sounds": "Звуки двигателя", + "tfmg.subtitle.diesel_engine_sounds": "Звуки дизельного двигателя", + + + "_": "->------------------------] Ponders [------------------------<-", + + "tfmg.ponder.small_engines.text_1": "Чтобы создать небольшой двигатель, расположите переднюю и заднюю части рядом друг с другом", + "tfmg.ponder.small_engines.text_2": "Топливо подается в переднюю часть, а выхлопные газы необходимо отводить из задней части с помощью труб и Выхлопной трубы", + "tfmg.ponder.small_engines.text_3": "Подача сигнала редстоуна на переднюю часть запускает двигатель", + "tfmg.ponder.small_engines.text_4": "К малогабаритным двигателям относятся двигатели, работающие на Сжиженном Нефтяном Газе, Керосине и Кензине", + "tfmg.ponder.diesel_engine.text_1": "Дизельные двигатели собираются путем размещения Вала перед блоком дизельного Двигателя", + "tfmg.ponder.diesel_engine.text_2": "Двигатель вырабатывает выхлопные газы, которые необходимо отводить с помощью труб и Выхлопной трубы", + "tfmg.ponder.diesel_engine.text_3": "Для работы двигателя необходим Воздух, поэтому нужен Воздухозаборник", + "tfmg.ponder.diesel_engine_expansion.text_1": "Расширенный ввод дизельного двигателя может предоставить Дизельному двигателю два новых входных слота для Смазочного масла и Охлаждающей жидкости", + "tfmg.ponder.surface_scanner.text_1": "Сканер поверхности используется для обнаружения Месторождений сырой нефти", + "tfmg.ponder.surface_scanner.text_2": "Подача вращения к Сканеру позволяет ему сканировать ближайшее месторождение", + "tfmg.ponder.surface_scanner.text_3": "Если месторождение обнаружено, компас на Сканере укажет на его местонахождение", + "tfmg.ponder.pumpjack.text_1": "Чтобы начать добывать Нефть, вы должны сначала построить трубопровод поверх Месторождения, используя Промышленные трубы", + "tfmg.ponder.pumpjack.text_2": "Затем постройте Нефтяной насос поверх трубопровода, сначала установив Основу...", + "tfmg.ponder.pumpjack.text_3": "За ним поставьте Балансир...", + "tfmg.ponder.pumpjack.text_4": "И, наконец, разместите Машинный ввод с Насосом над ним, как показано на экране", + "tfmg.ponder.distillation_tower.text_1": "Достаточно большой Стальной бак можно превратить в Дистилляционную башню", + "tfmg.ponder.distillation_tower.text_2": "Башня собирается путем размещения Стального контроллера дистилляционной башни рядом с резервуаром...", + "tfmg.ponder.distillation_tower.text_3": "И размещения до 6 Выходов дистилляционной башни, соединенных Промышленными трубами", + "tfmg.ponder.distillation_tower.text_4": "Горелки всполоха необходимы для работы Дистилляционной башни. На индикаторе снизу башни отображается текущий уровень мощности", + "tfmg.ponder.distillation_tower.text_5": "Что бы закачать Сырую нефть в башню, её необходимо ввести в блок Контроллера", + "tfmg.ponder.distillation_tower.text_6": "Каждый Выходной блок обеспечивает выход одного из побочных продуктов нефти", + "tfmg.ponder.distillation_tower.text_7": "СНГ", + "tfmg.ponder.distillation_tower.text_8": "Безнин", + "tfmg.ponder.distillation_tower.text_9": "Лигроин", + "tfmg.ponder.distillation_tower.text_10": "Керосин", + "tfmg.ponder.distillation_tower.text_11": "Дизель", + "tfmg.ponder.distillation_tower.text_12": "Мазут", + "tfmg.ponder.blast_furnace.text_1": "Основой Доменной печи является блок Вывода доменной печи", + "tfmg.ponder.blast_furnace.text_2": "Чтобы собрать Доменную печь, постройте дымоход из Огнеупорных кирпичей, как показано на экране", + "tfmg.ponder.blast_furnace.text_3": "Нижнюю половину дымохода необходимо укрепить", + "tfmg.ponder.blast_furnace.text_4": "Топливо и другие предметы вводятся через отверстие вверху", + "tfmg.ponder.coke_oven.text_1": "Коксовая печь строится путем размещения блоков Коксовой печи, как показано на экране, включая направление блоков, и клика Гаечным ключём по узкой стороне", + "tfmg.ponder.coke_oven.text_2": "Процесс коксования достаточно медленный, поэтому эффективнее иметь длинные ряды одновременно работающих печей", + "tfmg.ponder.coke_oven.text_3": "Уголь может быть введён через любую из сторон", + "tfmg.ponder.coke_oven.text_4": "Во время работы Печь вырабатывает Креозот и Углекислый газ, которые необходимо откачивать для продолжения работы", + "tfmg.ponder.coke_oven.text_5": "После этого Коксовый уголь выпадет из отверстия", + "tfmg.ponder.casting.text_1": "Литье — это процесс заливки Жидкого металла в Литейную форму с помощью Литейного дозатора", + "tfmg.ponder.casting.text_2": "Литейная чаша, очевидно, требует Формы литья для работы", + + "tfmg.ponder.distillation_tower.header": "Установка дистилляционной башни", + + "tfmg.ponder.pumpjack.header": "Строительство нефтяных насосов", + + "tfmg.ponder.surface_scanner.header": "Поиск нефти", + + "tfmg.ponder.diesel_engine.header": "Сборка дизельного двигателя", + + "tfmg.ponder.diesel_engine_expansion.header": "Расширение дизельных двигателей", + + "tfmg.ponder.small_engines.header": "Создание небольших двигателей", + + "tfmg.ponder.coke_oven.header": "Строительство коксовой печи", + "tfmg.ponder.blast_furnace": "Строительство доменной печи", + + "tfmg.ponder.casting.header": "Литье металла", + "tfmg.ponder.tag.oil": "Машины, связанные с нефтью", + "tfmg.ponder.tag.metallurgy": "Металлообрабатывающие машины", + "tfmg.ponder.tag.oil.description": "Машины, которые добывают, перерабатывают или используют сырую нефть и ее побочные продукты", + "tfmg.ponder.tag.metallurgy.description": "Машины, которые производят, обрабатывают или используют металл и сырье как таковое", + + "_": "Thank you for translating Create: The Factory Must Grow!" , + "_": "No Problem))))))spend 4 hours........" + +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/accumulator/block_horizontal.json b/build/resources/main/assets/tfmg/models/block/accumulator/block_horizontal.json new file mode 100644 index 00000000..9cdb40a5 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/accumulator/block_horizontal.json @@ -0,0 +1,25 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/accumulator", + "1": "tfmg:block/accumulator_side", + "particle": "tfmg:block/accumulator" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 0, 16]}, + "faces": { + "north": {"uv": [8, 8, 16, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#1"}, + "south": {"uv": [8, 8, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/air_intake/block_medium.json b/build/resources/main/assets/tfmg/models/block/air_intake/block_medium.json new file mode 100644 index 00000000..e1beaa3d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/air_intake/block_medium.json @@ -0,0 +1,84 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/air_intake/air_intake_medium", + "1": "tfmg:block/air_intake/inputs", + "2": "tfmg:block/air_intake/inside_medium", + "particle": "tfmg:block/air_intake/air_intake_medium" + }, + "elements": [ + { + "from": [-16, 0, 1], + "to": [16, 32, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.33333, 5.33333, 16, 16], "texture": "#1"}, + "east": {"uv": [8, 4, 16, 7.75], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 8, 8, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [8, 4, 16, 7.75], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8, 4, 16, 7.75], "rotation": 180, "texture": "#0"}, + "down": {"uv": [8, 4, 16, 7.75], "texture": "#0"} + } + }, + { + "from": [-16, 0, 8.5], + "to": [16, 32, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 0], "rotation": 270, "texture": "#2"}, + "south": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#2"}, + "west": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#2"}, + "down": {"uv": [0, 0, 16, 0], "texture": "#2"} + } + }, + { + "from": [-13.99, 0, 2], + "to": [-13.99, 32, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8, 4, 16, 7.75], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 14], "texture": "#0"} + } + }, + { + "from": [13.99, 0, 2], + "to": [13.99, 32, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 4, 16, 7.75], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 14], "texture": "#0"} + } + }, + { + "from": [-16, 29.999, 2], + "to": [16, 29.999, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8, 4, 16, 7.75], "texture": "#0"} + } + }, + { + "from": [-16, 2.001, 2], + "to": [16, 2.001, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8, 4, 16, 7.75], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/air_intake/item.json b/build/resources/main/assets/tfmg/models/block/air_intake/item.json new file mode 100644 index 00000000..3a977db3 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/air_intake/item.json @@ -0,0 +1,81 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/air_intake/air_intake_small", + "particle": "tfmg:block/air_intake/air_intake_small" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "south": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [8, 0, 9, 8], "texture": "#0"}, + "up": {"uv": [0, 8, 8, 9], "texture": "#0"}, + "down": {"uv": [0, 7, 8, 8], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [8, 0, 9, 8], "texture": "#0"}, + "south": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "up": {"uv": [0, 8, 8, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 7, 8, 8], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [9, 0, 15, 8], "texture": "#0"}, + "south": {"uv": [8, 0, 9, 8], "texture": "#0"}, + "west": {"uv": [9, 0, 15, 8], "texture": "#0"}, + "up": {"uv": [1, 8, 7, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [1, 7, 7, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [8, 0, 9, 8], "texture": "#0"}, + "east": {"uv": [9, 0, 15, 8], "texture": "#0"}, + "south": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [9, 0, 15, 8], "texture": "#0"}, + "up": {"uv": [1, 8, 7, 9], "rotation": 90, "texture": "#0"}, + "down": {"uv": [1, 7, 7, 8], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 1, 2], + "to": [14, 3, 14], + "faces": { + "north": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "up": {"uv": [1, 1, 7, 7], "texture": "#0"}, + "down": {"uv": [1, 1, 7, 7], "texture": "#0"} + } + }, + { + "from": [2, 16, 2], + "to": [14, 16, 14], + "faces": { + "north": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "up": {"uv": [1, 9, 7, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_cap_alt.json b/build/resources/main/assets/tfmg/models/block/aluminum_cap_alt.json new file mode 100644 index 00000000..9c3cc867 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_cap_alt.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/cap_alt", + "textures": { + "bars": "tfmg:block/bars/aluminum_bars", + "edge": "tfmg:block/bars/aluminum_bars_edge", + "particle": "tfmg:block/bars/aluminum_bars" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_cogwheel.json b/build/resources/main/assets/tfmg/models/block/aluminum_cogwheel.json new file mode 100644 index 00000000..96dc0e46 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_cogwheel.json @@ -0,0 +1,154 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/large_wheels", + "render_type": "minecraft:cutout", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_coghweel", + "1": "create:block/axis_top", + "2": "create:block/axis", + "particle": "tfmg:block/aluminum_coghweel" + }, + "elements": [ + { + "name": "Gear", + "from": [-1, 6.5, 6.5], + "to": [17, 9.5, 9.5], + "faces": { + "north": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "east": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "south": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "west": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#0"} + } + }, + { + "name": "Gear2", + "from": [-1, 6.5, 6.5], + "to": [17, 9.5, 9.5], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "east": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "south": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "west": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#0"} + } + }, + { + "name": "Gear3", + "from": [-1, 6.5, 6.5], + "to": [17, 9.5, 9.5], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "east": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "south": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "west": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#0"} + } + }, + { + "name": "Gear4", + "from": [6.5, 6.5, -1], + "to": [9.5, 9.5, 17], + "faces": { + "north": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "east": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "south": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "west": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "GearCaseInner", + "from": [2, 6.55, 2], + "to": [14, 9.45, 14], + "faces": { + "north": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "east": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "south": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "west": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "up": {"uv": [4, 0, 10, 6], "texture": "#0"}, + "down": {"uv": [4, 0, 10, 6], "texture": "#0"} + } + }, + { + "from": [12, 6, 4], + "to": [12, 10, 12], + "faces": { + "north": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "east": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "south": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "west": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 4], "texture": "#0"} + } + }, + { + "from": [4, 6, 4], + "to": [4, 10, 12], + "faces": { + "north": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "east": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "south": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "west": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 4], "texture": "#0"} + } + }, + { + "from": [4, 6, 12], + "to": [12, 10, 12], + "faces": { + "north": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "east": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "south": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "west": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "from": [4, 6, 4], + "to": [12, 10, 4], + "faces": { + "north": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "east": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "south": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "west": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "from": [4, 8, 4], + "to": [12, 8, 12], + "faces": { + "north": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#0"} + } + }, + { + "name": "Axis", + "from": [6, 0, 6], + "to": [10, 16, 10], + "faces": { + "north": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "east": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "south": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "west": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "up": {"uv": [6, 6, 10, 10], "texture": "#1"}, + "down": {"uv": [6, 6, 10, 10], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom.json b/build/resources/main/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom.json new file mode 100644 index 00000000..6ebdd5ea --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom.json @@ -0,0 +1,74 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom_window_ne.json b/build/resources/main/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom_window_ne.json new file mode 100644 index 00000000..106c591f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom_window_ne.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "3": "tfmg:block/aluminum_fluid_tank_window", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 5, 12], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 4, 0.95], + "to": [4, 16, 0.95], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "south": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 12], + "to": [15.05, 16, 16], + "faces": { + "east": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [4, 4, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "west": {"uv": [11, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_fluid_tank/block_single.json b/build/resources/main/assets/tfmg/models/block/aluminum_fluid_tank/block_single.json new file mode 100644 index 00000000..73d61704 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_fluid_tank/block_single.json @@ -0,0 +1,127 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [] + }, + { + "name": "block_middle", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [] + } + ] + }, + { + "name": "block_bottom", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] + }, + { + "name": "block_top", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [4, 5] + } + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_fluid_tank/block_top.json b/build/resources/main/assets/tfmg/models/block/aluminum_fluid_tank/block_top.json new file mode 100644 index 00000000..a401f01a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_fluid_tank/block_top.json @@ -0,0 +1,71 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 16], + "faces": { + "east": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [1, 12, 16], + "faces": { + "east": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_fluid_tank/block_top_window.json b/build/resources/main/assets/tfmg/models/block/aluminum_fluid_tank/block_top_window.json new file mode 100644 index 00000000..8da50fdf --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_fluid_tank/block_top_window.json @@ -0,0 +1,154 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "3": "tfmg:block/aluminum_fluid_tank_window", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [4, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 4, 1, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 4, 1, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 0, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 4, 1, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 12], + "to": [1, 12, 16], + "faces": { + "north": {"uv": [0, 4, 1, 16], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 0, 0.95], + "to": [12, 12, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "north"}, + "south": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 4], + "to": [15.05, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "east"}, + "west": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 0, 15.05], + "to": [12, 12, 15.05], + "faces": { + "north": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "south"}, + "south": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [0.95, 0, 4], + "to": [0.95, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "west"}, + "west": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "west": {"uv": [15, 4, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 12], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [15, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [4, 12, 16], + "faces": { + "north": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "east": {"uv": [15, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "south": {"uv": [15, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_fluid_valve/block_horizontal_open.json b/build/resources/main/assets/tfmg/models/block/aluminum_fluid_valve/block_horizontal_open.json new file mode 100644 index 00000000..04a08969 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_fluid_valve/block_horizontal_open.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/aluminum_fluid_valve", + "3": "tfmg:block/aluminum_valve_open", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "down": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1.5, 9.5, 6.5, 14.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7, 9, 1, 15], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_fluid_valve/block_vertical_open.json b/build/resources/main/assets/tfmg/models/block/aluminum_fluid_valve/block_vertical_open.json new file mode 100644 index 00000000..c6f999f2 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_fluid_valve/block_vertical_open.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/aluminum_fluid_valve", + "4": "tfmg:block/aluminum_valve_open", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "east": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "west": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "up": {"uv": [9, 1, 15, 7], "texture": "#2"}, + "down": {"uv": [9, 1, 15, 7], "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "west": {"uv": [1.5, 9.5, 6.5, 14.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + }, + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "east": {"uv": [6.5, 9.5, 1.5, 14.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_flywheel/flywheel.json b/build/resources/main/assets/tfmg/models/block/aluminum_flywheel/flywheel.json new file mode 100644 index 00000000..3620d459 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_flywheel/flywheel.json @@ -0,0 +1,10 @@ +{ + "parent": "block/block", + "ambientocclusion": false, + "textures": { + "0": "tfmg:block/aluminum_flywheel", + "1": "create:block/axis", + "2": "create:block/axis_top", + "particle": "tfmg:block/aluminum_flywheel" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_frame/block.json b/build/resources/main/assets/tfmg/models/block/aluminum_frame/block.json new file mode 100644 index 00000000..406c0829 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_frame/block.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_frame_2", + "particle": "tfmg:block/aluminum_frame_2" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_lamp/light.json b/build/resources/main/assets/tfmg/models/block/aluminum_lamp/light.json new file mode 100644 index 00000000..7ffd10eb --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_lamp/light.json @@ -0,0 +1,33 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/light", + "particle": "tfmg:block/light" + }, + "elements": [ + { + "from": [3.75, 3.75, 2], + "to": [12.25, 12.25, 3.25], + "rotation": {"angle": 0, "axis": "x", "origin": [2, 8, 8]}, + "faces": { + "east": {"uv": [4, 10, 12, 11], "rotation": 270, "texture": "#0"}, + "south": {"uv": [4, 8, 12, 16], "texture": "#0"}, + "west": {"uv": [4, 10, 12, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 10, 12, 11], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4, 10, 12, 11], "texture": "#0"} + } + }, + { + "from": [3.5, 3.5, 2], + "to": [12.5, 12.5, 3.5], + "rotation": {"angle": 0, "axis": "x", "origin": [2, 8, 8]}, + "faces": { + "east": {"uv": [4, 3, 12, 4], "rotation": 270, "texture": "#0"}, + "south": {"uv": [4, 0, 12, 8], "texture": "#0"}, + "west": {"uv": [4, 3, 12, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 3, 12, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4, 3, 12, 4], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_pipe/connection/east.json b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/connection/east.json new file mode 100644 index 00000000..47c98c3c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/connection/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "connection_east", + "from": [12, 4, 4], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 6, 4, 8], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_pipe/connection/south.json b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/connection/south.json new file mode 100644 index 00000000..af618a30 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/connection/south.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "connection_south", + "from": [4, 4, 12], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 4, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 6, 4, 8], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_pipe/core_y.json b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/core_y.json new file mode 100644 index 00000000..589ac645 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/core_y.json @@ -0,0 +1,18 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/aluminum_pipes_connected", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "core_y", + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "up": {"uv": [12, 12, 16, 8], "rotation": 180, "texture": "#0"}, + "down": {"uv": [12, 8, 16, 12], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_pipe/d_z.json b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/d_z.json new file mode 100644 index 00000000..092f0f55 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/d_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 0.0, + 0.0, + 4.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 0.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_pipe/drain/down.json b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/drain/down.json new file mode 100644 index 00000000..394aa43d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/drain/down.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [4.95, -3.95, 4.95], + "to": [11.05, -0.95, 11.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "down": {"uv": [13, 8, 16, 11], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2.95, -1.1, 2.95], + "to": [13.05, 2, 13.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_pipe/drain/west.json b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/drain/west.json new file mode 100644 index 00000000..b9218875 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/drain/west.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [-1.1, 2.95, 2.95], + "to": [2, 13.05, 13.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10.5, 16, 9, 11], "texture": "#0"}, + "east": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "south": {"uv": [9, 11, 10.5, 16], "texture": "#0"}, + "west": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "up": {"uv": [9, 11, 10.5, 16], "texture": "#0"}, + "down": {"uv": [9, 16, 10.5, 11], "texture": "#0"} + } + }, + { + "from": [-3.95, 4.95, 4.95], + "to": [-0.95, 11.05, 11.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.5, 8, 12, 11], "rotation": 180, "texture": "#0"}, + "south": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "west": {"uv": [16, 8, 13, 11], "texture": "#0"}, + "up": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "down": {"uv": [13.5, 8, 12, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_pipe/lr_x.json b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/lr_x.json new file mode 100644 index 00000000..f900d932 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/lr_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 8.0, + 12.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_pipe/rim/east.json b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/rim/east.json new file mode 100644 index 00000000..71e308e5 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/rim/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "faces": { + "north": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "east"}, + "south": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "west": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "up": {"uv": [9.5, 16, 10.5, 11], "rotation": 180, "texture": "#0"}, + "down": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_pipe/rim/north.json b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/rim/north.json new file mode 100644 index 00000000..f3cffc47 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/rim/north.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "north"}, + "east": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "west": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 270, "texture": "#0"}, + "down": {"uv": [9.5, 16, 10.5, 11], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_pipe/rim_connector/east.json b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/rim_connector/east.json new file mode 100644 index 00000000..39c323e2 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/rim_connector/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "rim_east", + "from": [12, 4, 4], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 6, 8, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [4, 8, 8, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 8, 8, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 6, 8, 8], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_pipe/u_y.json b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/u_y.json new file mode 100644 index 00000000..02033113 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/u_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_pipe/ud_x.json b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/ud_x.json new file mode 100644 index 00000000..63399c32 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/ud_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 0.0, + 8.0, + 4.0, + 12.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_pipe/ud_y.json b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/ud_y.json new file mode 100644 index 00000000..41c9b119 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/ud_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 4.0, + 12.0, + 0.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_pipe/ud_z.json b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/ud_z.json new file mode 100644 index 00000000..d6c36eba --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_pipe/ud_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 0.0, + 8.0, + 4.0, + 12.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_post.json b/build/resources/main/assets/tfmg/models/block/aluminum_post.json new file mode 100644 index 00000000..3205721e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_post.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/post", + "textures": { + "bars": "tfmg:block/bars/aluminum_bars", + "edge": "tfmg:block/bars/aluminum_bars_edge", + "particle": "tfmg:block/bars/aluminum_bars" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_post_ends.json b/build/resources/main/assets/tfmg/models/block/aluminum_post_ends.json new file mode 100644 index 00000000..0a78d522 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_post_ends.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/post_ends", + "textures": { + "bars": "tfmg:block/bars/aluminum_bars", + "edge": "tfmg:block/bars/aluminum_bars_edge", + "particle": "tfmg:block/bars/aluminum_bars" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_scaffolding_horizontal.json b/build/resources/main/assets/tfmg/models/block/aluminum_scaffolding_horizontal.json new file mode 100644 index 00000000..0731b3da --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_scaffolding_horizontal.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/scaffold/block_horizontal", + "textures": { + "casing": "tfmg:block/aluminum_casing", + "inside": "tfmg:block/scaffold/aluminum_scaffold_inside", + "particle": "tfmg:block/scaffold/aluminum_scaffold", + "side": "tfmg:block/scaffold/aluminum_scaffold", + "top": "tfmg:block/funnel/aluminum_funnel_frame" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_side_alt.json b/build/resources/main/assets/tfmg/models/block/aluminum_side_alt.json new file mode 100644 index 00000000..1b7fc892 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_side_alt.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/side_alt", + "textures": { + "bars": "tfmg:block/bars/aluminum_bars", + "edge": "tfmg:block/bars/aluminum_bars_edge", + "particle": "tfmg:block/bars/aluminum_bars" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_smart_fluid_pipe/block.json b/build/resources/main/assets/tfmg/models/block/aluminum_smart_fluid_pipe/block.json new file mode 100644 index 00000000..cefef9b5 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_smart_fluid_pipe/block.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "2": "tfmg:block/aluminum_smart_pipe_1", + "3": "tfmg:block/aluminum_smart_pipe_2", + "4": "tfmg:block/aluminum_pipes", + "5": "tfmg:block/aluminum_smart_pipe_3", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [3, 3, 13, 13], "texture": "#5"}, + "east": {"uv": [13, 3, 3, 13], "texture": "#2"}, + "south": {"uv": [3, 3, 13, 13], "texture": "#5"}, + "west": {"uv": [3, 3, 13, 13], "texture": "#2"}, + "up": {"uv": [13, 3, 3, 13], "rotation": 270, "texture": "#2"}, + "down": {"uv": [3, 3, 13, 13], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [4.5, 5, 7.15], + "to": [11.5, 12, 13.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [1, 9, 7, 15], "texture": "#3"}, + "east": {"uv": [0, 0, 6, 7], "texture": "#3"}, + "west": {"uv": [0, 0, 6, 7], "rotation": 180, "texture": "#3"}, + "up": {"uv": [0, 0, 6, 7], "rotation": 270, "texture": "#3"}, + "down": {"uv": [0, 0, 6, 7], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [3.9, 4.4, 4.15], + "to": [12.1, 12.6, 7.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [8, 8, 16, 16], "texture": "#3"}, + "east": {"uv": [13, 0, 16, 8], "texture": "#3"}, + "south": {"uv": [0, 8, 8, 16], "texture": "#3"}, + "west": {"uv": [13, 8, 16, 0], "rotation": 180, "texture": "#3"}, + "up": {"uv": [13, 8, 16, 0], "rotation": 270, "texture": "#3"}, + "down": {"uv": [13, 0, 16, 8], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [4, 4, 0], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 4, 0]}, + "faces": { + "east": {"uv": [4, 8, 8, 0], "rotation": 90, "texture": "#4"}, + "west": {"uv": [4, 0, 8, 8], "rotation": 90, "texture": "#4"}, + "up": {"uv": [4, 8, 8, 0], "texture": "#4"}, + "down": {"uv": [4, 0, 8, 8], "texture": "#4"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/aluminum_truss.json b/build/resources/main/assets/tfmg/models/block/aluminum_truss.json new file mode 100644 index 00000000..30fa70ff --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/aluminum_truss.json @@ -0,0 +1,106 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/aluminum_truss", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [2, 0, 15], + "to": [14, 16, 15], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + }, + { + "from": [15, 0, 2], + "to": [15, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 0, 2], + "to": [1, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 0, 1], + "to": [14, 16, 1], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/asphalt.json b/build/resources/main/assets/tfmg/models/block/asphalt.json new file mode 100644 index 00000000..bf4febec --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/asphalt.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/asphalt" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/asphalt_stairs.json b/build/resources/main/assets/tfmg/models/block/asphalt_stairs.json new file mode 100644 index 00000000..5e5e419f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/asphalt_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/asphalt", + "side": "tfmg:block/asphalt", + "top": "tfmg:block/asphalt" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/asphalt_wall_side_tall.json b/build/resources/main/assets/tfmg/models/block/asphalt_wall_side_tall.json new file mode 100644 index 00000000..947428e2 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/asphalt_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/asphalt" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/bars/post_ends.json b/build/resources/main/assets/tfmg/models/block/bars/post_ends.json new file mode 100644 index 00000000..3bab62d7 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/bars/post_ends.json @@ -0,0 +1,8 @@ +{ + "parent": "create:block/bars/post_ends", + "textures": { + "bars": "tfmg:block/bars/steel_bars", + "edge": "tfmg:block/bars/steel_bars_edge", + "particle": "tfmg:block/bars/steel_bars" + } +} diff --git a/build/resources/main/assets/tfmg/models/block/bars/side.json b/build/resources/main/assets/tfmg/models/block/bars/side.json new file mode 100644 index 00000000..dceeeb8d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/bars/side.json @@ -0,0 +1,8 @@ +{ + "parent": "create:block/bars/side", + "textures": { + "bars": "tfmg:block/bars/aluminum_bars", + "edge": "tfmg:block/bars/aluminum_bars_edge", + "particle": "tfmg:block/bars/aluminum_bars" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/bars/side_alt.json b/build/resources/main/assets/tfmg/models/block/bars/side_alt.json new file mode 100644 index 00000000..7a383cc5 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/bars/side_alt.json @@ -0,0 +1,8 @@ +{ + "parent": "create:block/bars/side_alt", + "textures": { + "bars": "tfmg:block/bars/aluminum_bars", + "edge": "tfmg:block/bars/aluminum_bars_edge", + "particle": "tfmg:block/bars/aluminum_bars" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/battery/block.json b/build/resources/main/assets/tfmg/models/block/battery/block.json new file mode 100644 index 00000000..8acbb406 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/battery/block.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/blast_furnace_output", + "1": "tfmg:block/fireproof_bricks", + "particle": "tfmg:block/blast_furnace_output" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "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], "rotation": 180, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/battery/item.json b/build/resources/main/assets/tfmg/models/block/battery/item.json new file mode 100644 index 00000000..d8c59aae --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/battery/item.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/blast_furnace_output", + "1": "tfmg:block/fireproof_bricks", + "particle": "tfmg:block/blast_furnace_output" + }, + "elements": [ + { + "from": [0, 0, -1], + "to": [16, 16, 15], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "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], "rotation": 180, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/bauxite_natural_0.json b/build/resources/main/assets/tfmg/models/block/bauxite_natural_0.json new file mode 100644 index 00000000..0240f3ba --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/bauxite_natural_0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/palettes/stone_types/natural/bauxite_0" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/bauxite_pillar.json b/build/resources/main/assets/tfmg/models/block/bauxite_pillar.json new file mode 100644 index 00000000..603ce302 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/bauxite_pillar.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "tfmg:block/palettes/stone_types/cap/bauxite_cut_cap", + "side": "tfmg:block/palettes/stone_types/pillar/bauxite_cut_pillar" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/black_concrete_bottom.json b/build/resources/main/assets/tfmg/models/block/black_concrete_bottom.json new file mode 100644 index 00000000..037961fa --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/black_concrete_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/black_concrete", + "side": "tfmg:block/black_concrete", + "top": "tfmg:block/black_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/black_concrete_top.json b/build/resources/main/assets/tfmg/models/block/black_concrete_top.json new file mode 100644 index 00000000..cc4f567b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/black_concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/black_concrete", + "side": "tfmg:block/black_concrete", + "top": "tfmg:block/black_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/black_concrete_wall_side_tall.json b/build/resources/main/assets/tfmg/models/block/black_concrete_wall_side_tall.json new file mode 100644 index 00000000..21510a06 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/black_concrete_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/black_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/blast_furnace_output/blast_furnace_output.json b/build/resources/main/assets/tfmg/models/block/blast_furnace_output/blast_furnace_output.json new file mode 100644 index 00000000..f5171ff3 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/blast_furnace_output/blast_furnace_output.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/blast_furnace_output", + "1": "tfmg:block/fireproof_bricks", + "particle": "tfmg:block/blast_furnace_output" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/blast_furnace_output/block.json b/build/resources/main/assets/tfmg/models/block/blast_furnace_output/block.json new file mode 100644 index 00000000..8acbb406 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/blast_furnace_output/block.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/blast_furnace_output", + "1": "tfmg:block/fireproof_bricks", + "particle": "tfmg:block/blast_furnace_output" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "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], "rotation": 180, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/blast_furnace_reinforcement_wall.json b/build/resources/main/assets/tfmg/models/block/blast_furnace_reinforcement_wall.json new file mode 100644 index 00000000..282b30e2 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/blast_furnace_reinforcement_wall.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/blast_furnace_reinforcement", + "particle": "tfmg:block/blast_furnace_reinforcement" + }, + "elements": [ + { + "from": [0, 0, 10], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 14]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 6], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 6], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/blue_concrete_top.json b/build/resources/main/assets/tfmg/models/block/blue_concrete_top.json new file mode 100644 index 00000000..13be15e3 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/blue_concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/blue_concrete", + "side": "tfmg:block/blue_concrete", + "top": "tfmg:block/blue_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brass_mechanical_pump/cog.json b/build/resources/main/assets/tfmg/models/block/brass_mechanical_pump/cog.json new file mode 100644 index 00000000..63bfb4bc --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brass_mechanical_pump/cog.json @@ -0,0 +1,162 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "2": "tfmg:block/brass_pump" + }, + "elements": [ + { + "from": [6.5, -1, 3], + "to": [9.5, 17, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "east": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#2"}, + "up": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [-1, 6.5, 3], + "to": [17, 9.5, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#2"}, + "east": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "texture": "#2"}, + "west": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "up": {"uv": [0, 9, 9, 14], "rotation": 180, "texture": "#2"}, + "down": {"uv": [0, 9, 9, 14], "texture": "#2"} + } + }, + { + "from": [6.5, -1, 3], + "to": [9.5, 17, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "east": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#2"}, + "up": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [-1, 6.5, 3], + "to": [17, 9.5, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#2"}, + "east": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "texture": "#2"}, + "west": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "up": {"uv": [0, 9, 9, 14], "rotation": 180, "texture": "#2"}, + "down": {"uv": [0, 9, 9, 14], "texture": "#2"} + } + }, + { + "from": [5.5, 0.9, 3.05], + "to": [10.5, 15.1, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "up": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [0.9, 5.5, 3.05], + "to": [15.1, 10.5, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [10, 9, 15, 11.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#2"}, + "west": {"uv": [10, 9, 15, 11.5], "texture": "#2"} + } + }, + { + "from": [0.9, 5.5, 3.05], + "to": [15.1, 10.5, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [10, 9, 15, 11.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#2"}, + "west": {"uv": [10, 9, 15, 11.5], "texture": "#2"} + } + }, + { + "from": [5.5, 0.9, 3.05], + "to": [10.5, 15.1, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "up": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, -149, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, -149, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, -55, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, -55, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 1, 1.25], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 45, 0], + "translation": [2.5, -0.5, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [0, 180, 0], + "translation": [0, 1.75, -4.5], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "cogwheel", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3] + }, + { + "name": "group", + "origin": [8, 8, 8], + "color": 0, + "children": [4, 5, 6, 7] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brass_pipe/casing.json b/build/resources/main/assets/tfmg/models/block/brass_pipe/casing.json new file mode 100644 index 00000000..8e90dee6 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brass_pipe/casing.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "create:block/brass_block" + }, + "elements": [ + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "east": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "south": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "west": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "up": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "down": {"uv": [1, 11, 6, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brass_pipe/connection/east.json b/build/resources/main/assets/tfmg/models/block/brass_pipe/connection/east.json new file mode 100644 index 00000000..2826c5cb --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brass_pipe/connection/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "name": "connection_east", + "from": [12, 4, 4], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 6, 4, 8], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brass_pipe/connection/south.json b/build/resources/main/assets/tfmg/models/block/brass_pipe/connection/south.json new file mode 100644 index 00000000..f9e3410d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brass_pipe/connection/south.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "name": "connection_south", + "from": [4, 4, 12], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 4, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 6, 4, 8], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brass_pipe/connection/west.json b/build/resources/main/assets/tfmg/models/block/brass_pipe/connection/west.json new file mode 100644 index 00000000..f2b5ac44 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brass_pipe/connection/west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "name": "connection_west", + "from": [0, 4, 4], + "to": [4, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 2], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brass_pipe/d_z.json b/build/resources/main/assets/tfmg/models/block/brass_pipe/d_z.json new file mode 100644 index 00000000..62eb4716 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brass_pipe/d_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 0.0, + 0.0, + 4.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 0.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brass_pipe/drain/north.json b/build/resources/main/assets/tfmg/models/block/brass_pipe/drain/north.json new file mode 100644 index 00000000..7a42ba6d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brass_pipe/drain/north.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [2.95, 2.95, -1.1], + "to": [13.05, 13.05, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "east": {"uv": [10.5, 11, 9, 16], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "west": {"uv": [9, 16, 10.5, 11], "texture": "#0"}, + "up": {"uv": [9, 11, 10.5, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4.95, 4.95, -3.95], + "to": [11.05, 11.05, -0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [13, 8, 16, 11], "texture": "#0"}, + "east": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "west": {"uv": [12, 8, 13.5, 11], "rotation": 180, "texture": "#0"}, + "up": {"uv": [12, 8, 13.5, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brass_pipe/drain/west.json b/build/resources/main/assets/tfmg/models/block/brass_pipe/drain/west.json new file mode 100644 index 00000000..89d9bafe --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brass_pipe/drain/west.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [-1.1, 2.95, 2.95], + "to": [2, 13.05, 13.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10.5, 16, 9, 11], "texture": "#0"}, + "east": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "south": {"uv": [9, 11, 10.5, 16], "texture": "#0"}, + "west": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "up": {"uv": [9, 11, 10.5, 16], "texture": "#0"}, + "down": {"uv": [9, 16, 10.5, 11], "texture": "#0"} + } + }, + { + "from": [-3.95, 4.95, 4.95], + "to": [-0.95, 11.05, 11.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.5, 8, 12, 11], "rotation": 180, "texture": "#0"}, + "south": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "west": {"uv": [16, 8, 13, 11], "texture": "#0"}, + "up": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "down": {"uv": [13.5, 8, 12, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brass_pipe/l_x.json b/build/resources/main/assets/tfmg/models/block/brass_pipe/l_x.json new file mode 100644 index 00000000..46aa8f1b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brass_pipe/l_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 8.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 4.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brass_pipe/lu_z.json b/build/resources/main/assets/tfmg/models/block/brass_pipe/lu_z.json new file mode 100644 index 00000000..167138a9 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brass_pipe/lu_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 16.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 16.0, + 4.0, + 12.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brass_pipe/r_z.json b/build/resources/main/assets/tfmg/models/block/brass_pipe/r_z.json new file mode 100644 index 00000000..287f315f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brass_pipe/r_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 0.0, + 4.0, + 4.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brass_pipe/rim/south.json b/build/resources/main/assets/tfmg/models/block/brass_pipe/rim/south.json new file mode 100644 index 00000000..7a957ad8 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brass_pipe/rim/south.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "east": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "south"}, + "west": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "up": {"uv": [9.5, 16, 10.5, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [10.5, 11, 9.5, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brass_pipe/rim/up.json b/build/resources/main/assets/tfmg/models/block/brass_pipe/rim/up.json new file mode 100644 index 00000000..237afd92 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brass_pipe/rim/up.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "faces": { + "north": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0", "cullface": "up"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brass_pipe/rim_connector/west.json b/build/resources/main/assets/tfmg/models/block/brass_pipe/rim_connector/west.json new file mode 100644 index 00000000..15b7ac7c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brass_pipe/rim_connector/west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "name": "rim_west", + "from": [0, 4, 4], + "to": [4, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 0, 8, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [4, 2, 8, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 2, 8, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 8, 2], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brass_pipe/u_y.json b/build/resources/main/assets/tfmg/models/block/brass_pipe/u_y.json new file mode 100644 index 00000000..89aa5feb --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brass_pipe/u_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brass_pipe/u_z.json b/build/resources/main/assets/tfmg/models/block/brass_pipe/u_z.json new file mode 100644 index 00000000..2df158ad --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brass_pipe/u_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 8.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brass_pipe/ud_x.json b/build/resources/main/assets/tfmg/models/block/brass_pipe/ud_x.json new file mode 100644 index 00000000..32ff4bc0 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brass_pipe/ud_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 0.0, + 8.0, + 4.0, + 12.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brass_truss.json b/build/resources/main/assets/tfmg/models/block/brass_truss.json new file mode 100644 index 00000000..34a424c9 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brass_truss.json @@ -0,0 +1,106 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/brass_truss", + "particle": "tfmg:block/brass_truss" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [2, 0, 15], + "to": [14, 16, 15], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + }, + { + "from": [15, 0, 2], + "to": [15, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 0, 2], + "to": [1, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 0, 1], + "to": [14, 16, 1], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brick_smokestack/block.json b/build/resources/main/assets/tfmg/models/block/brick_smokestack/block.json new file mode 100644 index 00000000..4dd25494 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brick_smokestack/block.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/smokestack/smokestack", + "textures": { + "0": "tfmg:block/brick_smokestack", + "particle": "tfmg:block/brick_smokestack" + } + +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brick_smokestack/block_top.json b/build/resources/main/assets/tfmg/models/block/brick_smokestack/block_top.json new file mode 100644 index 00000000..a5c161f4 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brick_smokestack/block_top.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/smokestack/smokestack_top", + "textures": { + "0": "tfmg:block/brick_smokestack", + "particle": "tfmg:block/brick_smokestack" + } + +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brick_smokestack/item.json b/build/resources/main/assets/tfmg/models/block/brick_smokestack/item.json new file mode 100644 index 00000000..a5c161f4 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brick_smokestack/item.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/smokestack/smokestack_top", + "textures": { + "0": "tfmg:block/brick_smokestack", + "particle": "tfmg:block/brick_smokestack" + } + +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brown_caution_block.json b/build/resources/main/assets/tfmg/models/block/brown_caution_block.json new file mode 100644 index 00000000..4f0c105d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brown_caution_block.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/caution_block", + "textures": { + "0": "tfmg:block/caution_block/brown", + "particle": "tfmg:block/caution_block/brown" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brown_concrete_stairs_inner.json b/build/resources/main/assets/tfmg/models/block/brown_concrete_stairs_inner.json new file mode 100644 index 00000000..7c6ee9a5 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brown_concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/brown_concrete", + "side": "tfmg:block/brown_concrete", + "top": "tfmg:block/brown_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/brown_concrete_wall_side.json b/build/resources/main/assets/tfmg/models/block/brown_concrete_wall_side.json new file mode 100644 index 00000000..f6e57d7c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/brown_concrete_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/brown_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cable_connector/block.json b/build/resources/main/assets/tfmg/models/block/cable_connector/block.json new file mode 100644 index 00000000..1cf6c8b3 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cable_connector/block.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/regular_insulator", + "particle": "tfmg:block/regular_insulator" + }, + "elements": [ + { + "from": [6, 0, 6], + "to": [10, 9, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [7, 0, 11, 9], "texture": "#0"}, + "east": {"uv": [7, 0, 11, 9], "texture": "#0"}, + "south": {"uv": [7, 0, 11, 9], "texture": "#0"}, + "west": {"uv": [7, 0, 11, 9], "texture": "#0"}, + "up": {"uv": [1, 11, 5, 15], "texture": "#0"}, + "down": {"uv": [1, 11, 5, 15], "texture": "#0"} + } + }, + { + "from": [5, 1, 5], + "to": [11, 2, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [5, 3, 5], + "to": [11, 4, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 3, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [5, 5, 5], + "to": [11, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 5, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [5, 7, 5], + "to": [11, 8, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cable_tube.json b/build/resources/main/assets/tfmg/models/block/cable_tube.json new file mode 100644 index 00000000..f19ca505 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cable_tube.json @@ -0,0 +1,47 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [24, 24], + "textures": { + "0": "tfmg:block/cable_tube", + "particle": "tfmg:block/cable_tube" + }, + "elements": [ + { + "from": [5, 0, 5], + "to": [11, 2, 11], + "faces": { + "north": {"uv": [0, 9.33333, 4, 10.66667], "texture": "#0"}, + "east": {"uv": [0, 9.33333, 4, 10.66667], "texture": "#0"}, + "south": {"uv": [0, 9.33333, 4, 10.66667], "texture": "#0"}, + "west": {"uv": [0, 9.33333, 4, 10.66667], "texture": "#0"}, + "up": {"uv": [6.66667, 8, 2.66667, 4], "texture": "#0"}, + "down": {"uv": [6.66667, 0, 2.66667, 4], "texture": "#0"} + } + }, + { + "from": [5, 14, 5], + "to": [11, 16, 11], + "faces": { + "north": {"uv": [0, 8, 4, 9.33333], "texture": "#0"}, + "east": {"uv": [0, 8, 4, 9.33333], "texture": "#0"}, + "south": {"uv": [0, 8, 4, 9.33333], "texture": "#0"}, + "west": {"uv": [0, 8, 4, 9.33333], "texture": "#0"}, + "up": {"uv": [6.66667, 4, 2.66667, 0], "texture": "#0"}, + "down": {"uv": [6.66667, 4, 2.66667, 8], "texture": "#0"} + } + }, + { + "from": [6, 2, 6], + "to": [10, 14, 10], + "faces": { + "north": {"uv": [0, 0, 2.66667, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 2.66667, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 2.66667, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 2.66667, 8], "texture": "#0"}, + "up": {"uv": [13.33333, 10.66667, 10.66667, 8], "texture": "#0"}, + "down": {"uv": [13.33333, 10.66667, 10.66667, 13.33333], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/capacitor/block_horizontal.json b/build/resources/main/assets/tfmg/models/block/capacitor/block_horizontal.json new file mode 100644 index 00000000..15956882 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/capacitor/block_horizontal.json @@ -0,0 +1,25 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/capacitor", + "1": "tfmg:block/capacitor_side", + "particle": "tfmg:block/capacitor" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 0, 16]}, + "faces": { + "north": {"uv": [8, 8, 16, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#1"}, + "south": {"uv": [8, 8, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_air_intake/block_medium.json b/build/resources/main/assets/tfmg/models/block/cast_iron_air_intake/block_medium.json new file mode 100644 index 00000000..e1beaa3d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_air_intake/block_medium.json @@ -0,0 +1,84 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/air_intake/air_intake_medium", + "1": "tfmg:block/air_intake/inputs", + "2": "tfmg:block/air_intake/inside_medium", + "particle": "tfmg:block/air_intake/air_intake_medium" + }, + "elements": [ + { + "from": [-16, 0, 1], + "to": [16, 32, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.33333, 5.33333, 16, 16], "texture": "#1"}, + "east": {"uv": [8, 4, 16, 7.75], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 8, 8, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [8, 4, 16, 7.75], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8, 4, 16, 7.75], "rotation": 180, "texture": "#0"}, + "down": {"uv": [8, 4, 16, 7.75], "texture": "#0"} + } + }, + { + "from": [-16, 0, 8.5], + "to": [16, 32, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 0], "rotation": 270, "texture": "#2"}, + "south": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#2"}, + "west": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#2"}, + "down": {"uv": [0, 0, 16, 0], "texture": "#2"} + } + }, + { + "from": [-13.99, 0, 2], + "to": [-13.99, 32, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8, 4, 16, 7.75], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 14], "texture": "#0"} + } + }, + { + "from": [13.99, 0, 2], + "to": [13.99, 32, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 4, 16, 7.75], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 14], "texture": "#0"} + } + }, + { + "from": [-16, 29.999, 2], + "to": [16, 29.999, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8, 4, 16, 7.75], "texture": "#0"} + } + }, + { + "from": [-16, 2.001, 2], + "to": [16, 2.001, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8, 4, 16, 7.75], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_air_intake/fan.json b/build/resources/main/assets/tfmg/models/block/cast_iron_air_intake/fan.json new file mode 100644 index 00000000..b50ef7ca --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_air_intake/fan.json @@ -0,0 +1,32 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "axis_top": "create:block/axis_top", + "fan_blades": "create:block/fan_blades", + "axis": "create:block/axis" + }, + "elements": [ + { + "name": "Shaft", + "from": [6, 6, 1.2], + "to": [10, 10, 8], + "faces": { + "north": {"uv": [6, 6, 10, 10], "texture": "#axis_top"}, + "east": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#axis_top"}, + "west": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"}, + "up": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"}, + "down": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"} + } + }, + { + "name": "Fan", + "from": [1, 1, 4], + "to": [15, 15, 12], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#fan_blades"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_air_intake/item.json b/build/resources/main/assets/tfmg/models/block/cast_iron_air_intake/item.json new file mode 100644 index 00000000..3a977db3 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_air_intake/item.json @@ -0,0 +1,81 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/air_intake/air_intake_small", + "particle": "tfmg:block/air_intake/air_intake_small" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "south": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [8, 0, 9, 8], "texture": "#0"}, + "up": {"uv": [0, 8, 8, 9], "texture": "#0"}, + "down": {"uv": [0, 7, 8, 8], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [8, 0, 9, 8], "texture": "#0"}, + "south": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "up": {"uv": [0, 8, 8, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 7, 8, 8], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [9, 0, 15, 8], "texture": "#0"}, + "south": {"uv": [8, 0, 9, 8], "texture": "#0"}, + "west": {"uv": [9, 0, 15, 8], "texture": "#0"}, + "up": {"uv": [1, 8, 7, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [1, 7, 7, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [8, 0, 9, 8], "texture": "#0"}, + "east": {"uv": [9, 0, 15, 8], "texture": "#0"}, + "south": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [9, 0, 15, 8], "texture": "#0"}, + "up": {"uv": [1, 8, 7, 9], "rotation": 90, "texture": "#0"}, + "down": {"uv": [1, 7, 7, 8], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 1, 2], + "to": [14, 3, 14], + "faces": { + "north": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "up": {"uv": [1, 1, 7, 7], "texture": "#0"}, + "down": {"uv": [1, 1, 7, 7], "texture": "#0"} + } + }, + { + "from": [2, 16, 2], + "to": [14, 16, 14], + "faces": { + "north": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "up": {"uv": [1, 9, 7, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom.json b/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom.json new file mode 100644 index 00000000..0153afa1 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_vat_top", + "1": "tfmg:block/cast_iron_vat", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom_window.json b/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom_window.json new file mode 100644 index 00000000..e7f86832 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom_window.json @@ -0,0 +1,153 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "3": "tfmg:block/cast_iron_vat_window", + "4": "tfmg:block/cast_iron_vat_top", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [3, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [13, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 3], + "faces": { + "east": {"uv": [13, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [13, 4, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [13, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 13], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [13, 0, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [3, 4, 1], + "to": [13, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "north"}, + "south": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15, 4, 3], + "to": [15, 16, 13], + "faces": { + "east": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "east"}, + "west": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [3, 4, 15], + "to": [13, 16, 15], + "faces": { + "north": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "south"}, + "south": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [1, 4, 3], + "to": [1, 16, 13], + "faces": { + "east": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "west"}, + "west": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [13, 4, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 3, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 13], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 0, 3, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 3, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 16, 3], + "faces": { + "east": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 3, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom_window_ne.json b/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom_window_ne.json new file mode 100644 index 00000000..935e716b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom_window_ne.json @@ -0,0 +1,72 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "3": "tfmg:block/cast_iron_vat_window", + "4": "tfmg:block/cast_iron_vat_top", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 11], + "faces": { + "east": {"uv": [5, 0, 16, 12], "texture": "#1"}, + "south": {"uv": [12, 0, 13, 12], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 4, 1], + "to": [5, 16, 1], + "faces": { + "north": {"uv": [0, 2, 2.5, 8], "texture": "#3"}, + "south": {"uv": [2.5, 2, 5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15, 4, 11], + "to": [15, 16, 16], + "faces": { + "east": {"uv": [2.5, 2, 5, 8], "texture": "#3"}, + "west": {"uv": [0, 2, 2.5, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [5, 4, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 11, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "west": {"uv": [3, 0, 4, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_single.json b/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_single.json new file mode 100644 index 00000000..0e2a5546 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_single.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "4": "tfmg:block/cast_iron_vat_top", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [] + }, + { + "name": "block_middle", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [] + } + ] + }, + { + "name": "block_bottom", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] + }, + { + "name": "block_top", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [4, 5] + } + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_single_window_ne.json b/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_single_window_ne.json new file mode 100644 index 00000000..2a7596eb --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_single_window_ne.json @@ -0,0 +1,111 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_vat_top", + "1": "tfmg:block/cast_iron_vat", + "2": "tfmg:block/cast_iron_vat_window_single", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [5, 4, 16, 12], "texture": "#1"}, + "south": {"uv": [12, 4, 13, 12], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 4, 1], + "to": [5, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 5, 8], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "south": {"uv": [5, 0, 10, 8], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#2"} + } + }, + { + "name": "Window", + "from": [15, 4, 11], + "to": [15, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "east": {"uv": [5, 0, 10, 8], "texture": "#2"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "west": {"uv": [0, 0, 5, 8], "texture": "#2"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#2"} + } + }, + { + "name": "SideLeft", + "from": [5, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 11, 12], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "west": {"uv": [3, 4, 4, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_single_window_nw.json b/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_single_window_nw.json new file mode 100644 index 00000000..958eaaae --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_single_window_nw.json @@ -0,0 +1,103 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "2": "tfmg:block/cast_iron_vat_window_single", + "4": "tfmg:block/cast_iron_vat_top", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [11, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [5, 4, 16, 12], "texture": "#1"}, + "east": {"uv": [12, 4, 13, 12], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 4, 11], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [5, 0, 10, 8], "texture": "#2"}, + "west": {"uv": [0, 0, 5, 8], "texture": "#2"} + } + }, + { + "name": "Window", + "from": [11, 4, 1], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [5, 0, 10, 8], "texture": "#2"}, + "south": {"uv": [0, 0, 5, 8], "texture": "#2"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "south": {"uv": [3, 4, 4, 12], "texture": "#1"}, + "west": {"uv": [0, 4, 11, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_top.json b/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_top.json new file mode 100644 index 00000000..d8ea317b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_top.json @@ -0,0 +1,70 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "4": "tfmg:block/cast_iron_vat_top", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 16], + "faces": { + "east": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [1, 12, 16], + "faces": { + "east": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_top_window_ne.json b/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_top_window_ne.json new file mode 100644 index 00000000..29bca126 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_top_window_ne.json @@ -0,0 +1,76 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "3": "tfmg:block/cast_iron_vat_window", + "4": "tfmg:block/cast_iron_vat_top", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [5, 4, 16, 16], "texture": "#1"}, + "south": {"uv": [12, 4, 13, 16], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 0, 1], + "to": [5, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 2.5, 6], "texture": "#3"}, + "south": {"uv": [2.5, 0, 5, 6], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15, 0, 11], + "to": [15, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [2.5, 0, 5, 6], "texture": "#3"}, + "west": {"uv": [0, 0, 2.5, 6], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [5, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 11, 16], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "west": {"uv": [3, 4, 4, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_top_window_sw.json b/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_top_window_sw.json new file mode 100644 index 00000000..2fb1304e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_chemical_vat/block_top_window_sw.json @@ -0,0 +1,76 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "3": "tfmg:block/cast_iron_vat_window", + "4": "tfmg:block/cast_iron_vat_top", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 5], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [12, 4, 13, 16], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "west": {"uv": [5, 4, 16, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [11, 0, 15], + "to": [16, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 0, 5, 6], "texture": "#3"}, + "south": {"uv": [0, 0, 2.5, 6], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [1, 0, 0], + "to": [1, 12, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 9]}, + "faces": { + "east": {"uv": [0, 0, 2.5, 6], "texture": "#3"}, + "west": {"uv": [2.5, 0, 5, 6], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [11, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "east": {"uv": [3, 4, 4, 16], "texture": "#1"}, + "south": {"uv": [0, 4, 11, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_distillation_controller/block.json b/build/resources/main/assets/tfmg/models/block/cast_iron_distillation_controller/block.json new file mode 100644 index 00000000..42735e66 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_distillation_controller/block.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "top": "tfmg:block/cast_iron_distillation_controller_top", + "bottom": "tfmg:block/cast_iron_distillation_controller_top", + "side": "tfmg:block/cast_iron_distillation_controller_side" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_distillation_output/block.json b/build/resources/main/assets/tfmg/models/block/cast_iron_distillation_output/block.json new file mode 100644 index 00000000..9e5da67a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_distillation_output/block.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "top": "tfmg:block/cast_iron_distillation_controller_top", + "bottom": "tfmg:block/cast_iron_distillation_controller_top", + "side": "tfmg:block/distiller_side" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_distillation_output/item.json b/build/resources/main/assets/tfmg/models/block/cast_iron_distillation_output/item.json new file mode 100644 index 00000000..9e5da67a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_distillation_output/item.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "top": "tfmg:block/cast_iron_distillation_controller_top", + "bottom": "tfmg:block/cast_iron_distillation_controller_top", + "side": "tfmg:block/distiller_side" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom_window_se.json b/build/resources/main/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom_window_se.json new file mode 100644 index 00000000..40dee23f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom_window_se.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "3": "tfmg:block/cast_iron_fluid_tank_window", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 4, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "west": {"uv": [4, 0, 5, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 0], + "to": [15.05, 16, 4], + "faces": { + "east": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "west": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 4, 15.05], + "to": [4, 16, 15.05], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "south": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 4], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [11, 0, 12, 12], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom_window_sw.json b/build/resources/main/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom_window_sw.json new file mode 100644 index 00000000..01887e74 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom_window_sw.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "3": "tfmg:block/cast_iron_fluid_tank_window", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 4], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [4, 0, 5, 12], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 4, 15.05], + "to": [16, 16, 15.05], + "faces": { + "north": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 0], + "to": [0.95, 16, 4], + "faces": { + "east": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "west": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [12, 16, 16], + "faces": { + "north": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "east": {"uv": [11, 0, 12, 12], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle.json b/build/resources/main/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle.json new file mode 100644 index 00000000..31f00e7b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_fluid_tank", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 15], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [1, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle_window_ne.json b/build/resources/main/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle_window_ne.json new file mode 100644 index 00000000..5683be99 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle_window_ne.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_fluid_tank", + "3": "tfmg:block/cast_iron_fluid_tank_window", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [4, 0, 5, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 0, 0.95], + "to": [4, 16, 0.95], + "faces": { + "north": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 12], + "to": [15.05, 16, 16], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [4, 0, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [11, 0, 12, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_fluid_tank/block_single_window.json b/build/resources/main/assets/tfmg/models/block/cast_iron_fluid_tank/block_single_window.json new file mode 100644 index 00000000..8d9d29e9 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_fluid_tank/block_single_window.json @@ -0,0 +1,168 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "5": "tfmg:block/cast_iron_fluid_tank_window_single", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [4, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "east": {"uv": [8, 4, 9, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "south": {"uv": [8, 4, 9, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 4, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "west": {"uv": [8, 4, 9, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 12], + "to": [1, 12, 16], + "faces": { + "north": {"uv": [8, 4, 9, 12], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 4, 0.95], + "to": [12, 12, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "north"}, + "south": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 4], + "to": [15.05, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "east"}, + "west": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 4, 15.05], + "to": [12, 12, 15.05], + "faces": { + "north": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "south"}, + "south": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 4], + "to": [0.95, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "west"}, + "west": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "west": {"uv": [7, 4, 8, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 12], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [7, 4, 8, 12], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [4, 12, 16], + "faces": { + "north": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "east": {"uv": [7, 4, 8, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "south": {"uv": [7, 4, 8, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_fluid_tank/block_single_window_nw.json b/build/resources/main/assets/tfmg/models/block/cast_iron_fluid_tank/block_single_window_nw.json new file mode 100644 index 00000000..212e6905 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_fluid_tank/block_single_window_nw.json @@ -0,0 +1,104 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "5": "tfmg:block/cast_iron_fluid_tank_window_single", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [12, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "east": {"uv": [4, 4, 5, 12], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 12], + "to": [0.95, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 0, 8, 8], "texture": "#5"}, + "west": {"uv": [0, 0, 4, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [12, 4, 0.95], + "to": [16, 12, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 0, 8, 8], "texture": "#5"}, + "south": {"uv": [0, 0, 4, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "south": {"uv": [11, 4, 12, 12], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_fluid_tank/block_top_window_se.json b/build/resources/main/assets/tfmg/models/block/cast_iron_fluid_tank/block_top_window_se.json new file mode 100644 index 00000000..41ca0750 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_fluid_tank/block_top_window_se.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "3": "tfmg:block/cast_iron_fluid_tank_window", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 0, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "west": {"uv": [4, 4, 5, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 0], + "to": [15.05, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "west": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 0, 15.05], + "to": [4, 12, 15.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "south": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 4], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [11, 4, 12, 16], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_flywheel/item.json b/build/resources/main/assets/tfmg/models/block/cast_iron_flywheel/item.json new file mode 100644 index 00000000..84fe214c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_flywheel/item.json @@ -0,0 +1,18 @@ +{ + "parent": "tfmg:block/cast_iron_flywheel/flywheel", + "loader": "neoforge:obj", + "flip-v": true, + "model": "create:models/block/flywheel/flywheel.obj", + "display": { + "gui": { + "rotation": [ 30, 225, 0 ], + "translation": [ 0, 0, 0], + "scale":[ 0.4, 0.4, 0.4 ] + }, + "fixed": { + "rotation": [ 90, 0, 0 ], + "translation": [ 0, 0, 0], + "scale":[ 0.4, 0.4, 0.4 ] + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_frame/item.json b/build/resources/main/assets/tfmg/models/block/cast_iron_frame/item.json new file mode 100644 index 00000000..9be70b28 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_frame/item.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_frame_2", + "particle": "tfmg:block/cast_iron_frame_2" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/casing.json b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/casing.json new file mode 100644 index 00000000..0a7a7fb8 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/casing.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_block" + }, + "elements": [ + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "east": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "south": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "west": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "up": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "down": {"uv": [1, 11, 6, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/connection/east.json b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/connection/east.json new file mode 100644 index 00000000..c576cf6c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/connection/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "name": "connection_east", + "from": [12, 4, 4], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 6, 4, 8], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/drain/down.json b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/drain/down.json new file mode 100644 index 00000000..adcdc9b4 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/drain/down.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "from": [4.95, -3.95, 4.95], + "to": [11.05, -0.95, 11.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "down": {"uv": [13, 8, 16, 11], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2.95, -1.1, 2.95], + "to": [13.05, 2, 13.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/drain/up.json b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/drain/up.json new file mode 100644 index 00000000..788a4704 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/drain/up.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "from": [2.95, 14, 2.95], + "to": [13.05, 17.1, 13.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 11, 11, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16, 11, 11, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4.95, 16.95, 4.95], + "to": [11.05, 19.95, 11.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [13, 11, 16, 8], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/lu_z.json b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/lu_z.json new file mode 100644 index 00000000..3f43cb48 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/lu_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 16.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 16.0, + 4.0, + 12.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/r_x.json b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/r_x.json new file mode 100644 index 00000000..067f036d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/r_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 0.0, + 4.0, + 4.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/rim/down.json b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/rim/down.json new file mode 100644 index 00000000..9207a981 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/rim/down.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "faces": { + "north": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 270, "texture": "#0", "cullface": "down"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/rim/up.json b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/rim/up.json new file mode 100644 index 00000000..a39efc8e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/rim/up.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "faces": { + "north": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0", "cullface": "up"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/rim_connector/down.json b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/rim_connector/down.json new file mode 100644 index 00000000..fe2d287e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/rim_connector/down.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "name": "rim_down", + "from": [4, 0, 4], + "to": [12, 4, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 6, 8, 8], "texture": "#0"}, + "east": {"uv": [4, 6, 8, 8], "texture": "#0"}, + "south": {"uv": [8, 6, 4, 8], "texture": "#0"}, + "west": {"uv": [8, 6, 4, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/ru_x.json b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/ru_x.json new file mode 100644 index 00000000..e23da80f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/ru_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 12.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/ud_x.json b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/ud_x.json new file mode 100644 index 00000000..bde56147 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/ud_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 0.0, + 8.0, + 4.0, + 12.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/ud_z.json b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/ud_z.json new file mode 100644 index 00000000..f2ead13f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_pipe/ud_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 0.0, + 8.0, + 4.0, + 12.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_post_ends.json b/build/resources/main/assets/tfmg/models/block/cast_iron_post_ends.json new file mode 100644 index 00000000..efb20373 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_post_ends.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/post_ends", + "textures": { + "bars": "tfmg:block/bars/cast_iron_bars", + "edge": "tfmg:block/bars/cast_iron_bars_edge", + "particle": "tfmg:block/bars/cast_iron_bars" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cast_iron_truss.json b/build/resources/main/assets/tfmg/models/block/cast_iron_truss.json new file mode 100644 index 00000000..23faa73b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cast_iron_truss.json @@ -0,0 +1,106 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/cast_iron_truss", + "particle": "tfmg:block/cast_iron_block" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [2, 0, 15], + "to": [14, 16, 15], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + }, + { + "from": [15, 0, 2], + "to": [15, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 0, 2], + "to": [1, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 0, 1], + "to": [14, 16, 1], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/casting_basin/item.json b/build/resources/main/assets/tfmg/models/block/casting_basin/item.json new file mode 100644 index 00000000..dd41bb0b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/casting_basin/item.json @@ -0,0 +1,135 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/casting_basin", + "1": "tfmg:block/fireproof_bricks", + "particle": "tfmg:block/casting_basin" + }, + "elements": [ + { + "from": [1, 0, 1], + "to": [15, 1, 15], + "faces": { + "north": {"uv": [0.5, 3.5, 7.5, 4], "texture": "#0"}, + "east": {"uv": [0.5, 3.5, 7.5, 4], "texture": "#0"}, + "south": {"uv": [0.5, 3.5, 7.5, 4], "texture": "#0"}, + "west": {"uv": [0.5, 3.5, 7.5, 4], "texture": "#0"}, + "up": {"uv": [8.5, 9, 15.5, 16], "texture": "#0"}, + "down": {"uv": [8.5, 9, 15.5, 16], "texture": "#0"} + } + }, + { + "from": [4, 8, 14], + "to": [12, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 14]}, + "faces": { + "north": {"uv": [10, 3, 14, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 2], "texture": "#0"}, + "south": {"uv": [10, 3, 14, 5.5], "texture": "#0"}, + "west": {"uv": [7, 0, 8, 2], "texture": "#0"}, + "up": {"uv": [2, 1, 6, 0], "texture": "#0"} + } + }, + { + "from": [6, 7, 10], + "to": [10, 8, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 12]}, + "faces": { + "north": {"uv": [0, 0, 4, 1], "texture": "#1"}, + "east": {"uv": [0, 0, 4, 1], "texture": "#1"}, + "west": {"uv": [0, 0, 4, 1], "texture": "#1"}, + "up": {"uv": [7, 8, 11, 12], "texture": "#1"}, + "down": {"uv": [10, 8, 14, 12], "texture": "#1"} + } + }, + { + "from": [9, 8, 10], + "to": [10, 10, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 12]}, + "faces": { + "north": {"uv": [11, 7, 12, 9], "texture": "#1"}, + "east": {"uv": [11, 3, 15, 5], "texture": "#1"}, + "west": {"uv": [9, 2, 13, 4], "texture": "#1"}, + "up": {"uv": [10, 1, 14, 2], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [6, 8, 10], + "to": [7, 10, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 8, 12]}, + "faces": { + "north": {"uv": [9, 0, 10, 2], "texture": "#1"}, + "east": {"uv": [5, 0, 9, 2], "texture": "#1"}, + "west": {"uv": [0, 0, 4, 2], "texture": "#1"}, + "up": {"uv": [10, 8.5, 10.5, 10.5], "texture": "#1"} + } + }, + { + "from": [14, 1, 0], + "to": [16, 8, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 0, 0]}, + "faces": { + "north": {"uv": [0, 0, 1, 3.5], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 3.5], "texture": "#0"}, + "south": {"uv": [7, 0, 8, 3.5], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 3.5], "texture": "#0"}, + "up": {"uv": [1, 8, 0, 16], "texture": "#0"}, + "down": {"uv": [0, 8, 1, 16], "texture": "#0"} + } + }, + { + "from": [2, 1, 14], + "to": [14, 8, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 0, 14]}, + "faces": { + "north": {"uv": [9, 5.5, 15, 9], "texture": "#0"}, + "south": {"uv": [9, 5.5, 15, 9], "texture": "#0"}, + "up": {"uv": [1, 8, 7, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [1, 15, 7, 16], "texture": "#0"} + } + }, + { + "from": [2, 1, 0], + "to": [14, 8, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 0, 0]}, + "faces": { + "north": {"uv": [1, 0, 7, 3.5], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 3.5], "texture": "#0"}, + "up": {"uv": [1, 15, 7, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [1, 8, 7, 9], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [0, 1, 0], + "to": [2, 8, 16], + "faces": { + "north": {"uv": [7, 0, 8, 3.5], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 3.5], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 3.5], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 3.5], "texture": "#0"}, + "up": {"uv": [8, 8, 7, 16], "texture": "#0"}, + "down": {"uv": [7, 8, 8, 16], "texture": "#0"} + } + }, + { + "from": [2, 1, 2], + "to": [5, 6, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 1, 2]}, + "faces": { + "east": {"uv": [1, 0, 7, 2.5], "texture": "#0"}, + "up": {"uv": [9, 0, 15, 1.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [11, 1, 2], + "to": [14, 6, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 1, 2]}, + "faces": { + "west": {"uv": [1, 0, 7, 2.5], "texture": "#0"}, + "up": {"uv": [9, 1.5, 15, 0], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/casting_spout/connector.json b/build/resources/main/assets/tfmg/models/block/casting_spout/connector.json new file mode 100644 index 00000000..5622f050 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/casting_spout/connector.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "1": "tfmg:block/casting_spout" + }, + "elements": [ + + { + "from": [4, -2, 4], + "to": [12, 0, 12], + "faces": { + "north": {"uv": [11.5, 6, 15.5, 7], "texture": "#1"}, + "east": {"uv": [11.5, 6, 15.5, 7], "texture": "#1"}, + "south": {"uv": [11.5, 6, 15.5, 7], "texture": "#1"}, + "west": {"uv": [11.5, 6, 15.5, 7], "texture": "#1"}, + "up": {"uv": [9.5, 10, 13.5, 14], "texture": "#1"}, + "down": {"uv": [11.5, 2, 15.5, 6], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/caution_block.json b/build/resources/main/assets/tfmg/models/block/caution_block.json new file mode 100644 index 00000000..22b080c1 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/caution_block.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/caution_block/red", + "particle": "tfmg:block/caution_block/red" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cinderflour_block/block.json b/build/resources/main/assets/tfmg/models/block/cinderflour_block/block.json new file mode 100644 index 00000000..734b3d51 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cinderflour_block/block.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "top": "tfmg:block/cinderflourblock_top", + "bottom": "tfmg:block/cinderflourblock_top", + "side": "tfmg:block/cinderflourblock" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cinderflour_block/item.json b/build/resources/main/assets/tfmg/models/block/cinderflour_block/item.json new file mode 100644 index 00000000..734b3d51 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cinderflour_block/item.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "top": "tfmg:block/cinderflourblock_top", + "bottom": "tfmg:block/cinderflourblock_top", + "side": "tfmg:block/cinderflourblock" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/circular_light/block.json b/build/resources/main/assets/tfmg/models/block/circular_light/block.json new file mode 100644 index 00000000..25144581 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/circular_light/block.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/circular_lamp_off_outlet", + "1": "tfmg:block/circular_lamp_off", + "particle": "tfmg:block/circular_lamp_off" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 10, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [3, 3, 13, 13], "texture": "#1"}, + "east": {"uv": [3, 3, 13, 13], "texture": "#1"}, + "south": {"uv": [3, 3, 13, 13], "texture": "#1"}, + "west": {"uv": [3, 3, 13, 13], "texture": "#1"}, + "up": {"uv": [3, 3, 13, 13], "texture": "#1"}, + "down": {"uv": [3, 3, 13, 13], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/circular_light/block_powered.json b/build/resources/main/assets/tfmg/models/block/circular_light/block_powered.json new file mode 100644 index 00000000..db20c28c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/circular_light/block_powered.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "2": "tfmg:block/circular_lamp_on_outlet", + "3": "tfmg:block/circular_lamp_on", + "particle": "tfmg:block/circular_lamp_on" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 10, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [3, 3, 13, 13], "texture": "#3"}, + "east": {"uv": [3, 3, 13, 13], "texture": "#3"}, + "south": {"uv": [3, 3, 13, 13], "texture": "#3"}, + "west": {"uv": [3, 3, 13, 13], "texture": "#3"}, + "up": {"uv": [3, 3, 13, 13], "texture": "#3"}, + "down": {"uv": [3, 3, 13, 13], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/circular_light/light.json b/build/resources/main/assets/tfmg/models/block/circular_light/light.json new file mode 100644 index 00000000..22bad623 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/circular_light/light.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/light", + "particle": "tfmg:block/light" + }, + "elements": [ + { + "from": [2.75, 2.75, -0.25], + "to": [13.25, 13.25, 10.25], + "rotation": {"angle": 0, "axis": "x", "origin": [7, 8, 8]}, + "faces": { + "north": {"uv": [3, 8, 13, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [3, 8, 13, 16], "rotation": 270, "texture": "#0"}, + "south": {"uv": [3, 8, 13, 16], "texture": "#0"}, + "west": {"uv": [3, 8, 13, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [3, 8, 13, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [3, 8, 13, 16], "texture": "#0"} + } + }, + { + "from": [2.5, 2.5, -0.5], + "to": [13.5, 13.5, 10.5], + "rotation": {"angle": 0, "axis": "x", "origin": [7, 8, 8]}, + "faces": { + "north": {"uv": [3, 0, 13, 8], "rotation": 180, "texture": "#0"}, + "east": {"uv": [3, 0, 13, 8], "rotation": 270, "texture": "#0"}, + "south": {"uv": [3, 0, 13, 8], "texture": "#0"}, + "west": {"uv": [3, 0, 13, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [3, 0, 13, 8], "rotation": 180, "texture": "#0"}, + "down": {"uv": [3, 0, 13, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/coal_coke_block.json b/build/resources/main/assets/tfmg/models/block/coal_coke_block.json new file mode 100644 index 00000000..9ac3c665 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/coal_coke_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/coal_coke_block" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/coke_oven/block_casual.json b/build/resources/main/assets/tfmg/models/block/coke_oven/block_casual.json new file mode 100644 index 00000000..85551f81 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/coke_oven/block_casual.json @@ -0,0 +1,6 @@ +{ + "parent": "tfmg:block/coke_oven/controller", + "textures": { + "front": "tfmg:block/coke_oven/side" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/coke_oven/door_right_bottom.json b/build/resources/main/assets/tfmg/models/block/coke_oven/door_right_bottom.json new file mode 100644 index 00000000..d386b62d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/coke_oven/door_right_bottom.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/coke_oven/door_right", + "textures": { + "0": "tfmg:block/coke_oven/coke_oven_door_bottom", + "particle": "tfmg:block/coke_oven/coke_oven_door" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/coke_oven/door_right_middle.json b/build/resources/main/assets/tfmg/models/block/coke_oven/door_right_middle.json new file mode 100644 index 00000000..fd9ecbc8 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/coke_oven/door_right_middle.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/coke_oven/door_right", + "textures": { + "0": "tfmg:block/coke_oven/coke_oven_door_middle", + "particle": "tfmg:block/coke_oven/coke_oven_door" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/coke_oven/item.json b/build/resources/main/assets/tfmg/models/block/coke_oven/item.json new file mode 100644 index 00000000..2e904da8 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/coke_oven/item.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/coke_oven/coke_oven_door", + "1": "tfmg:block/coke_oven/side", + "3": "tfmg:block/coke_oven/top", + "particle": "tfmg:block/coke_oven/coke_oven_door" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "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": "#3"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#3"} + } + }, + { + "from": [0, 0, -1], + "to": [16, 16, 0], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -16]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 1], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/concrete_encased_industrial_pipe/block.json b/build/resources/main/assets/tfmg/models/block/concrete_encased_industrial_pipe/block.json new file mode 100644 index 00000000..64759511 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/concrete_encased_industrial_pipe/block.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/concrete_encased_industrial_pipe", + "1": "tfmg:block/concrete", + "particle": "tfmg:block/concrete_encased_industrial_pipe" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "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": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/concrete_smokestack/block.json b/build/resources/main/assets/tfmg/models/block/concrete_smokestack/block.json new file mode 100644 index 00000000..12615c8f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/concrete_smokestack/block.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/smokestack/smokestack", + "textures": { + "0": "tfmg:block/concrete_smokestack", + "particle": "tfmg:block/concrete_smokestack" + } + +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/concrete_smokestack/item.json b/build/resources/main/assets/tfmg/models/block/concrete_smokestack/item.json new file mode 100644 index 00000000..c33a1e40 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/concrete_smokestack/item.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/smokestack/smokestack_top", + "textures": { + "0": "tfmg:block/concrete_smokestack", + "particle": "tfmg:block/concrete_smokestack" + } + +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/concrete_top.json b/build/resources/main/assets/tfmg/models/block/concrete_top.json new file mode 100644 index 00000000..9225802b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/concrete", + "side": "tfmg:block/concrete", + "top": "tfmg:block/concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/constantan_block.json b/build/resources/main/assets/tfmg/models/block/constantan_block.json new file mode 100644 index 00000000..bd1e16c4 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/constantan_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/constantan_block" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/copper_encased_cast_iron_pipe/block_flat.json b/build/resources/main/assets/tfmg/models/block/copper_encased_cast_iron_pipe/block_flat.json new file mode 100644 index 00000000..1e58d7dc --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/copper_encased_cast_iron_pipe/block_flat.json @@ -0,0 +1,16 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/copper_encased_cast_iron_pipe_side", + "particle": "tfmg:block/copper_encased_cast_iron_pipe_side" + }, + "elements": [ + { + "from": [0, 0, 15], + "to": [16, 16, 16], + "faces": { + "south": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/copper_encased_steel_pipe/block_open.json b/build/resources/main/assets/tfmg/models/block/copper_encased_steel_pipe/block_open.json new file mode 100644 index 00000000..dba7e96d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/copper_encased_steel_pipe/block_open.json @@ -0,0 +1,16 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/copper_encased_steel_pipe", + "particle": "tfmg:block/copper_encased_steel_pipe" + }, + "elements": [ + { + "from": [0, 0, 15], + "to": [16, 16, 16], + "faces": { + "south": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/copper_frame/block.json b/build/resources/main/assets/tfmg/models/block/copper_frame/block.json new file mode 100644 index 00000000..fa822299 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/copper_frame/block.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/copper_frame", + "particle": "tfmg:block/copper_frame" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/copycat_cable_base/block.json b/build/resources/main/assets/tfmg/models/block/copycat_cable_base/block.json new file mode 100644 index 00000000..93511244 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/copycat_cable_base/block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "tfmg:block/copycat_cable_block" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/copycat_cable_block/block.json b/build/resources/main/assets/tfmg/models/block/copycat_cable_block/block.json new file mode 100644 index 00000000..93511244 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/copycat_cable_block/block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "tfmg:block/copycat_cable_block" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/copycat_cable_block/item.json b/build/resources/main/assets/tfmg/models/block/copycat_cable_block/item.json new file mode 100644 index 00000000..93511244 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/copycat_cable_block/item.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "tfmg:block/copycat_cable_block" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cut_bauxite.json b/build/resources/main/assets/tfmg/models/block/cut_bauxite.json new file mode 100644 index 00000000..f57341a8 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cut_bauxite.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/palettes/stone_types/cut/bauxite_cut" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cut_bauxite_wall_side_tall.json b/build/resources/main/assets/tfmg/models/block/cut_bauxite_wall_side_tall.json new file mode 100644 index 00000000..5ffb4a8b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cut_bauxite_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/palettes/stone_types/cut/bauxite_cut" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cut_galena_brick_stairs.json b/build/resources/main/assets/tfmg/models/block/cut_galena_brick_stairs.json new file mode 100644 index 00000000..90ac2cf1 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cut_galena_brick_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/brick/galena_cut_brick", + "side": "tfmg:block/palettes/stone_types/brick/galena_cut_brick", + "top": "tfmg:block/palettes/stone_types/brick/galena_cut_brick" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cut_galena_bricks_wall_post.json b/build/resources/main/assets/tfmg/models/block/cut_galena_bricks_wall_post.json new file mode 100644 index 00000000..e97999f8 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cut_galena_bricks_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/palettes/stone_types/brick/galena_cut_brick" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cut_galena_stairs_inner.json b/build/resources/main/assets/tfmg/models/block/cut_galena_stairs_inner.json new file mode 100644 index 00000000..e1a67104 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cut_galena_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/cut/galena_cut", + "side": "tfmg:block/palettes/stone_types/cut/galena_cut", + "top": "tfmg:block/palettes/stone_types/cut/galena_cut" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cyan_concrete_wall_post.json b/build/resources/main/assets/tfmg/models/block/cyan_concrete_wall_post.json new file mode 100644 index 00000000..beeb7d50 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cyan_concrete_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/cyan_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/cyan_rebar_concrete.json b/build/resources/main/assets/tfmg/models/block/cyan_rebar_concrete.json new file mode 100644 index 00000000..c54a5e41 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/cyan_rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/cyan_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/deepslate_lead_ore.json b/build/resources/main/assets/tfmg/models/block/deepslate_lead_ore.json new file mode 100644 index 00000000..0c1c0de2 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/deepslate_lead_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/deepslate_lead_ore" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/deepslate_nickel_ore.json b/build/resources/main/assets/tfmg/models/block/deepslate_nickel_ore.json new file mode 100644 index 00000000..fe6a3da2 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/deepslate_nickel_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/deepslate_nickel_ore" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/diagonal_cable_block/block.json b/build/resources/main/assets/tfmg/models/block/diagonal_cable_block/block.json new file mode 100644 index 00000000..2d342b26 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/diagonal_cable_block/block.json @@ -0,0 +1,49 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [24, 24], + "textures": { + "0": "tfmg:block/diagonal_cable_block", + "particle": "tfmg:block/diagonal_cable_block" + }, + "elements": [ + { + "from": [4, 0, 4], + "to": [12, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 14.66667, 5.33333, 16], "texture": "#0"}, + "east": {"uv": [0, 14.66667, 5.33333, 16], "texture": "#0"}, + "south": {"uv": [0, 14.66667, 5.33333, 16], "texture": "#0"}, + "west": {"uv": [0, 14.66667, 5.33333, 16], "texture": "#0"}, + "up": {"uv": [5.33333, 8, 0, 2.66667], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.33333, 8, 0, 13.33333], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [14, 4, 4], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 13.33333, 5.33333, 14.66667], "rotation": 270, "texture": "#0"}, + "east": {"uv": [5.33333, 13.33333, 0, 8], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 13.33333, 5.33333, 14.66667], "rotation": 90, "texture": "#0"}, + "west": {"uv": [5.33333, 2.66667, 0, 8], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 13.33333, 5.33333, 14.66667], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 13.33333, 5.33333, 14.66667], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6.65685, -0.58579, 6], + "to": [20.65685, 3.41421, 10], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [9.33333, 6.66667, 12, 16], "rotation": 270, "texture": "#0"}, + "east": {"uv": [16, 2.66667, 13.33333, 0], "rotation": 270, "texture": "#0"}, + "south": {"uv": [13.33333, 6.66667, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [16, 2, 13.33333, 4.66667], "rotation": 270, "texture": "#0"}, + "up": {"uv": [11.33333, 6.66667, 14, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.66667, 6.66667, 9.33333, 16], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/diagonal_cable_block/block_up.json b/build/resources/main/assets/tfmg/models/block/diagonal_cable_block/block_up.json new file mode 100644 index 00000000..8b30eb66 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/diagonal_cable_block/block_up.json @@ -0,0 +1,49 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [24, 24], + "textures": { + "1": "tfmg:block/diagonal_cable_block", + "particle": "tfmg:block/diagonal_cable_block" + }, + "elements": [ + { + "from": [4, 14, 4], + "to": [12, 16, 12], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 14.66667, 5.33333, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [0, 14.66667, 5.33333, 16], "rotation": 180, "texture": "#1"}, + "south": {"uv": [0, 14.66667, 5.33333, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [0, 14.66667, 5.33333, 16], "rotation": 180, "texture": "#1"}, + "up": {"uv": [5.33333, 8, 0, 13.33333], "rotation": 180, "texture": "#1"}, + "down": {"uv": [5.33333, 8, 0, 2.66667], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [14, 4, 4], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13.33333, 5.33333, 14.66667], "rotation": 270, "texture": "#1"}, + "east": {"uv": [5.33333, 13.33333, 0, 8], "rotation": 90, "texture": "#1"}, + "south": {"uv": [0, 13.33333, 5.33333, 14.66667], "rotation": 90, "texture": "#1"}, + "west": {"uv": [5.33333, 2.66667, 0, 8], "rotation": 90, "texture": "#1"}, + "up": {"uv": [0, 13.33333, 5.33333, 14.66667], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 13.33333, 5.33333, 14.66667], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [1, 10.24264, 6], + "to": [15, 14.24264, 10], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.33333, 6.66667, 16, 16], "rotation": 270, "texture": "#1"}, + "east": {"uv": [16, 2.66667, 13.33333, 0], "rotation": 90, "texture": "#1"}, + "south": {"uv": [9.33333, 6.66667, 12, 16], "rotation": 90, "texture": "#1"}, + "west": {"uv": [16, 2, 13.33333, 4.66667], "rotation": 90, "texture": "#1"}, + "up": {"uv": [6.66667, 6.66667, 9.33333, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [11.33333, 6.66667, 14, 16], "rotation": 90, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/electric_diode/block_vertical.json b/build/resources/main/assets/tfmg/models/block/electric_diode/block_vertical.json new file mode 100644 index 00000000..d616f008 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/electric_diode/block_vertical.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "1": "tfmg:block/diode", + "particle": "tfmg:block/diode" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [8, 0, 0, 5], "rotation": 90, "texture": "#1"}, + "east": {"uv": [0, 0, 8, 5], "rotation": 270, "texture": "#1"}, + "south": {"uv": [8, 0, 0, 5], "rotation": 90, "texture": "#1"}, + "west": {"uv": [8, 0, 0, 5], "rotation": 90, "texture": "#1"}, + "up": {"uv": [9, 0, 14, 5], "rotation": 180, "texture": "#1"}, + "down": {"uv": [9, 6, 14, 11], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/electric_motor/block_vertical.json b/build/resources/main/assets/tfmg/models/block/electric_motor/block_vertical.json new file mode 100644 index 00000000..06ba28b2 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/electric_motor/block_vertical.json @@ -0,0 +1,102 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [64, 64], + "textures": { + "0": "tfmg:block/electric_motor", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [3, 5, 3], + "to": [13, 14, 13], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [1.25, 5.5, 3.5, 8], "rotation": 270, "texture": "#0"}, + "east": {"uv": [1.25, 5.5, 3.5, 8], "rotation": 270, "texture": "#0"}, + "south": {"uv": [3.5, 8, 1.25, 5.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [3.5, 5.5, 1.25, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [3.75, 0, 6.25, 2.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [3.75, 2.75, 6.25, 5.25], "texture": "#0"} + } + }, + { + "from": [3, 2, 12], + "to": [4, 5, 13], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [12, 2, 12], + "to": [13, 5, 13], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [3, 2, 3], + "to": [4, 5, 4], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [12, 2, 3], + "to": [13, 5, 4], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [0, 0, 0.5, 2.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 0.5, 2.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0.5, 0, 0, 2.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.5, 0, 0, 2.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [3.75, 2.75, 6.25, 5.25], "rotation": 180, "texture": "#0"}, + "down": {"uv": [3.75, 2.75, 6.25, 5.25], "texture": "#0"} + } + }, + { + "from": [4, 2, 4], + "to": [12, 5, 12], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [0.5, 0.25, 1.25, 2.25], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0.5, 0.25, 1.25, 2.25], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0.5, 0.25, 1.25, 2.25], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.5, 0.25, 1.25, 2.25], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/electric_motor/item.json b/build/resources/main/assets/tfmg/models/block/electric_motor/item.json new file mode 100644 index 00000000..f0eb8012 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/electric_motor/item.json @@ -0,0 +1,120 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [64, 64], + "textures": { + "1": "tfmg:block/electric_motor", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [3, 3, 2], + "to": [13, 13, 11], + "faces": { + "north": {"uv": [3.75, 0, 6.25, 2.5], "texture": "#1"}, + "east": {"uv": [1.25, 0, 3.5, 2.5], "texture": "#1"}, + "south": {"uv": [3.75, 2.75, 6.25, 5.25], "texture": "#1"}, + "west": {"uv": [3.5, 0, 1.25, 2.5], "texture": "#1"}, + "up": {"uv": [3.5, 8, 1.25, 5.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [1.25, 5.5, 11.25, 14.5], "texture": "#1"} + } + }, + { + "from": [3, 12, 11], + "to": [4, 13, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "up": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [12, 12, 11], + "to": [13, 13, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "up": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 11], + "to": [4, 4, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "up": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [12, 3, 11], + "to": [13, 4, 14], + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#1"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#1"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "up": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "faces": { + "north": {"uv": [3.75, 2.75, 6.25, 5.25], "texture": "#1"}, + "east": {"uv": [0, 0, 0.5, 2.5], "texture": "#1"}, + "south": {"uv": [3.75, 2.75, 6.25, 5.25], "texture": "#1"}, + "west": {"uv": [0.5, 0, 0, 2.5], "texture": "#1"}, + "up": {"uv": [0.5, 0, 0, 2.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 0.5, 2.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [4, 4, 11], + "to": [12, 12, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "east": {"uv": [0.5, 0.25, 1.25, 2.25], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [0.5, 0.25, 1.25, 2.25], "texture": "#1"}, + "up": {"uv": [0.5, 0.25, 1.25, 2.25], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0.5, 0.25, 1.25, 2.25], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [1, 0, 3], + "to": [15, 3, 13], + "faces": { + "north": {"uv": [6.5, 2.75, 10, 3.5], "texture": "#1"}, + "east": {"uv": [6.5, 3.75, 9, 4.5], "texture": "#1"}, + "south": {"uv": [6.5, 2.75, 10, 3.5], "texture": "#1"}, + "west": {"uv": [6.5, 3.75, 9, 4.5], "texture": "#1"}, + "up": {"uv": [6.5, 0, 10, 2.5], "texture": "#1"}, + "down": {"uv": [6.5, 0, 10, 2.5], "texture": "#1"} + } + }, + { + "from": [6, 6, 0], + "to": [10, 10, 2], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [10.5, 5, 11.5, 6], "texture": "#1"}, + "east": {"uv": [6.5, 4.75, 7.5, 5.25], "rotation": 90, "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [6.5, 4.75, 7.5, 5.25], "rotation": 90, "texture": "#1"}, + "up": {"uv": [6.5, 4.75, 7.5, 5.25], "texture": "#1"}, + "down": {"uv": [6.5, 4.75, 7.5, 5.25], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/encased_cogwheel/block.json b/build/resources/main/assets/tfmg/models/block/encased_cogwheel/block.json new file mode 100644 index 00000000..559f7ebf --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/encased_cogwheel/block.json @@ -0,0 +1,55 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "block/stripped_spruce_log_top", + "particle": "create:block/andesite_casing", + "casing": "create:block/andesite_casing", + "side": "create:block/andesite_encased_cogwheel_side" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "east": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "south": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "west": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#casing"} + } + }, + { + "from": [0, 6, 0], + "to": [16, 10, 16], + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"}, + "east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"} + } + }, + { + "from": [15.95, 6, 0.05], + "to": [0.05, 10, 15.95], + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"}, + "east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"} + } + }, + { + "from": [0, 10, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "east": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "west": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#casing"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/encased_diode.json b/build/resources/main/assets/tfmg/models/block/encased_diode.json new file mode 100644 index 00000000..a0bc816c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/encased_diode.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/heavy_machinery_casing", + "1": "tfmg:block/encased_diode_back", + "2": "tfmg:block/encased_diode_front", + "particle": "tfmg:block/heavy_machinery_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/encased_large_cogwheel/block_top_bottom.json b/build/resources/main/assets/tfmg/models/block/encased_large_cogwheel/block_top_bottom.json new file mode 100644 index 00000000..1ce76bad --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/encased_large_cogwheel/block_top_bottom.json @@ -0,0 +1,124 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "block/stripped_spruce_log_top", + "4": "create:block/gearbox", + "particle": "create:block/andesite_casing", + "casing": "create:block/andesite_casing", + "side": "create:block/andesite_encased_cogwheel_side_connected" + }, + "elements": [ + { + "from": [0, 1, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "east": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "south": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "west": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "from": [0, 10, 0], + "to": [16, 15, 16], + "faces": { + "north": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "east": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "south": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "west": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [14, 15, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "up": {"uv": [14, 2, 16, 14], "texture": "#casing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#casing"} + } + }, + { + "from": [0, 15, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [14, 0, 16, 1], "texture": "#casing"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#casing"}, + "up": {"uv": [0, 0, 16, 2], "texture": "#casing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#casing"} + } + }, + { + "from": [0, 15, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "up": {"uv": [0, 2, 2, 14], "texture": "#casing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#casing"} + } + }, + { + "from": [0, 15, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#casing"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [14, 0, 16, 1], "texture": "#casing"}, + "up": {"uv": [0, 14, 16, 16], "texture": "#casing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#casing"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 1, 2], + "faces": { + "north": {"uv": [0, 15, 16, 16], "texture": "#casing"}, + "east": {"uv": [14, 15, 16, 16], "texture": "#casing"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [0, 15, 2, 16], "texture": "#casing"}, + "down": {"uv": [0, 14, 16, 16], "texture": "#casing"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 1, 14], + "faces": { + "east": {"uv": [2, 15, 14, 16], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#casing"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 1, 14], + "faces": { + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "west": {"uv": [2, 15, 14, 16], "texture": "#casing"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#casing"} + } + }, + { + "from": [0, 0, 14], + "to": [16, 1, 16], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [0, 15, 2, 16], "texture": "#casing"}, + "south": {"uv": [0, 15, 16, 16], "texture": "#casing"}, + "west": {"uv": [14, 15, 16, 16], "texture": "#casing"}, + "down": {"uv": [0, 0, 16, 2], "texture": "#casing"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/encased_shaft/block.json b/build/resources/main/assets/tfmg/models/block/encased_shaft/block.json new file mode 100644 index 00000000..e69de29b diff --git a/build/resources/main/assets/tfmg/models/block/encased_shaft/block_steel.json b/build/resources/main/assets/tfmg/models/block/encased_shaft/block_steel.json new file mode 100644 index 00000000..2cded803 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/encased_shaft/block_steel.json @@ -0,0 +1,7 @@ +{ + "parent": "create:block/encased_shaft/block", + "textures": { + "casing": "tfmg:block/steel_casing", + "opening": "tfmg:block/steel_gearbox" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/engine_block.json b/build/resources/main/assets/tfmg/models/block/engine_block.json new file mode 100644 index 00000000..e69de29b diff --git a/build/resources/main/assets/tfmg/models/block/engine_gearbox/block.json b/build/resources/main/assets/tfmg/models/block/engine_gearbox/block.json new file mode 100644 index 00000000..319a32a6 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/engine_gearbox/block.json @@ -0,0 +1,191 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/engines/engine_bottom", + "2": "tfmg:block/engines/engine_front", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "6": "tfmg:block/shaft", + "7": "tfmg:block/engines/engine_gearbox", + "8": "tfmg:block/engines/engine_gearbox_front", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [3, 0, -1], + "to": [13, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, -1]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#2"}, + "east": {"uv": [12, 3, 0, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#4"}, + "west": {"uv": [0, 3, 12, 15], "texture": "#3"}, + "up": {"uv": [3, 0, 13, 12], "texture": "#4"}, + "down": {"uv": [3, 4, 13, 16], "texture": "#1"} + } + }, + { + "from": [0, 5, 11], + "to": [3, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 4, 13]}, + "faces": { + "north": {"uv": [0, 8, 3, 16], "texture": "#4"}, + "east": {"uv": [0, 0, 2, 8], "texture": "#4"}, + "south": {"uv": [13, 5, 16, 13], "texture": "#4"}, + "west": {"uv": [8, 6, 10, 14], "texture": "#7"}, + "up": {"uv": [8, 5, 10, 8], "rotation": 90, "texture": "#7"}, + "down": {"uv": [0, 0, 3, 2], "texture": "#4"} + } + }, + { + "from": [3, 0, 11], + "to": [13, 11, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 3]}, + "faces": { + "east": {"uv": [5, 4, 16, 0], "rotation": 90, "texture": "#4"}, + "south": {"uv": [3, 5, 13, 16], "texture": "#8"}, + "west": {"uv": [5, 0, 16, 4], "rotation": 90, "texture": "#4"}, + "up": {"uv": [3, 12, 13, 16], "texture": "#4"}, + "down": {"uv": [3, 0, 13, 4], "texture": "#1"} + } + }, + { + "from": [13, 0, -1], + "to": [16, 5, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 5]}, + "faces": { + "north": {"uv": [0, 11, 3, 16], "texture": "#2"}, + "east": {"uv": [0, 11, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 11, 16, 16], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "up": {"uv": [13, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [13, 0, 16, 16], "texture": "#2"} + } + }, + { + "from": [0, 11, 5], + "to": [3, 13, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 4, 13]}, + "faces": { + "east": {"uv": [5, 0, 11, 2], "texture": "#4"}, + "west": {"uv": [2, 6, 8, 8], "texture": "#7"}, + "up": {"uv": [2, 5, 8, 8], "rotation": 90, "texture": "#7"}, + "down": {"uv": [13, 5, 16, 11], "texture": "#4"} + } + }, + { + "from": [0, 5, -1], + "to": [3, 7, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 2, 5]}, + "faces": { + "north": {"uv": [3, 9, 0, 11], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "south": {"uv": [13, 11, 16, 13], "texture": "#2"}, + "west": {"uv": [14, 14, 8, 16], "texture": "#7"}, + "up": {"uv": [0, 0, 3, 6], "texture": "#4"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#2"} + } + }, + { + "from": [0, 7, 3], + "to": [3, 13, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 4, 5]}, + "faces": { + "north": {"uv": [13, 5, 16, 11], "texture": "#4"}, + "east": {"uv": [0, 0, 2, 6], "texture": "#4"}, + "south": {"uv": [13, 9, 16, 15], "texture": "#4"}, + "west": {"uv": [0, 6, 2, 12], "texture": "#7"}, + "up": {"uv": [0, 5, 2, 8], "rotation": 90, "texture": "#7"}, + "down": {"uv": [0, 0, 3, 2], "texture": "#4"} + } + }, + { + "from": [0, 0, -1], + "to": [3, 5, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 5]}, + "faces": { + "north": {"uv": [13, 11, 16, 16], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "south": {"uv": [0, 9, 3, 14], "texture": "#4"}, + "west": {"uv": [0, 11, 16, 16], "texture": "#3"}, + "up": {"uv": [0, 0, 3, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 3, 16], "texture": "#2"} + } + }, + { + "from": [13, 5, -1], + "to": [16, 7, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 2, 5]}, + "faces": { + "north": {"uv": [0, 9, 3, 11], "texture": "#2"}, + "east": {"uv": [8, 14, 14, 16], "texture": "#7"}, + "south": {"uv": [13, 10, 16, 12], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "up": {"uv": [0, 0, 3, 6], "texture": "#4"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#2"} + } + }, + { + "from": [13, 7, 3], + "to": [16, 13, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 4, 5]}, + "faces": { + "north": {"uv": [0, 5, 3, 11], "texture": "#4"}, + "east": {"uv": [8, 6, 10, 12], "texture": "#7"}, + "south": {"uv": [13, 9, 16, 15], "texture": "#4"}, + "west": {"uv": [0, 0, 2, 6], "texture": "#4"}, + "up": {"uv": [0, 5, 2, 8], "rotation": 90, "texture": "#7"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#4"} + } + }, + { + "from": [13, 5, 11], + "to": [16, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 4, 13]}, + "faces": { + "north": {"uv": [0, 8, 3, 16], "texture": "#4"}, + "east": {"uv": [0, 6, 2, 14], "texture": "#7"}, + "south": {"uv": [0, 5, 3, 13], "texture": "#4"}, + "west": {"uv": [0, 0, 2, 8], "texture": "#4"}, + "up": {"uv": [8, 5, 10, 8], "rotation": 90, "texture": "#7"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#4"} + } + }, + { + "from": [13, 11, 5], + "to": [16, 13, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 4, 13]}, + "faces": { + "east": {"uv": [2, 6, 8, 8], "texture": "#7"}, + "west": {"uv": [5, 0, 11, 2], "texture": "#4"}, + "up": {"uv": [2, 5, 8, 8], "rotation": 90, "texture": "#7"}, + "down": {"uv": [13, 5, 16, 11], "texture": "#4"} + } + }, + { + "from": [1, 5, 5], + "to": [1, 11, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 6, 8]}, + "faces": { + "north": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#6"}, + "south": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#6"}, + "west": {"uv": [2, 8, 8, 14], "texture": "#7"}, + "up": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#6"}, + "down": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#6"} + } + }, + { + "from": [15, 5, 5], + "to": [15, 11, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 6, 8]}, + "faces": { + "north": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#6"}, + "east": {"uv": [2, 8, 8, 14], "texture": "#7"}, + "south": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#6"}, + "up": {"uv": [6, 0, 10, 16], "rotation": 270, "texture": "#6"}, + "down": {"uv": [6, 0, 10, 16], "rotation": 270, "texture": "#6"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/engine_upgrades/exhaust_alone.json b/build/resources/main/assets/tfmg/models/block/engine_upgrades/exhaust_alone.json new file mode 100644 index 00000000..263920e7 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/engine_upgrades/exhaust_alone.json @@ -0,0 +1,42 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/compact_exhaust", + "particle": "tfmg:block/compact_exhaust" + }, + "elements": [ + { + "from": [6, 6, 0], + "to": [9, 9, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 0]}, + "faces": { + "east": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 16, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [9, 6, 2], + "to": [11, 9, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 6, 2]}, + "faces": { + "north": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 3], "texture": "#0"} + } + }, + { + "from": [9, 6, 11], + "to": [11, 9, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 6, 11]}, + "faces": { + "north": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 3], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/engine_upgrades/turbo_propeller.json b/build/resources/main/assets/tfmg/models/block/engine_upgrades/turbo_propeller.json new file mode 100644 index 00000000..5a609fce --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/engine_upgrades/turbo_propeller.json @@ -0,0 +1,74 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/turbo", + "particle": "tfmg:block/turbo" + }, + "elements": [ + { + "from": [7.5, 12, 7.5], + "to": [8.5, 15, 8.5], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 3], "texture": "#0"}, + "east": {"uv": [10, 0, 11, 3], "texture": "#0"}, + "south": {"uv": [10, 0, 11, 3], "texture": "#0"}, + "west": {"uv": [10, 0, 11, 3], "texture": "#0"}, + "up": {"uv": [10, 1, 11, 2], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 14, 8], + "to": [11, 15, 8], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 13, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "south": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 14, 8], + "to": [11, 15, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 13, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "south": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [8, 14, 5], + "to": [8, 15, 11], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 13, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "east": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "west": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [8, 14, 5], + "to": [8, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 13, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "east": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "west": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/exhaust/block.json b/build/resources/main/assets/tfmg/models/block/exhaust/block.json new file mode 100644 index 00000000..3601cc2c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/exhaust/block.json @@ -0,0 +1,86 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/exhaust", + "particle": "tfmg:block/exhaust" + }, + "elements": [ + { + "from": [6, 2, 6], + "to": [10, 16, 10], + "faces": { + "north": {"uv": [4, 0, 6, 7], "texture": "#0"}, + "east": {"uv": [4, 0, 6, 7], "texture": "#0"}, + "south": {"uv": [4, 0, 6, 7], "texture": "#0"}, + "west": {"uv": [4, 0, 6, 7], "texture": "#0"}, + "up": {"uv": [0.5, 6.5, 2.5, 8.5], "texture": "#0"}, + "down": {"uv": [6, 0, 6, 0], "texture": "#0"} + } + }, + { + "from": [4, 0, 4], + "to": [12, 2, 12], + "faces": { + "north": {"uv": [3.5, 7.5, 7.5, 8.5], "texture": "#0"}, + "east": {"uv": [3.5, 7.5, 7.5, 8.5], "texture": "#0"}, + "south": {"uv": [3.5, 7.5, 7.5, 8.5], "texture": "#0"}, + "west": {"uv": [3.5, 7.5, 7.5, 8.5], "texture": "#0"}, + "up": {"uv": [6, 10, 10, 14], "texture": "#0"}, + "down": {"uv": [0.5, 10, 4.5, 14], "texture": "#0"} + } + }, + { + "from": [5, 3, 5], + "to": [11, 15, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "texture": "#0"} + } + }, + { + "from": [11, 3, 5], + "to": [11, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 12], "texture": "#0"}, + "east": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 12], "texture": "#0"}, + "west": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 3, 11], + "to": [11, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 3, 5], + "to": [5, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/fire/blue_fire_floor0.json b/build/resources/main/assets/tfmg/models/block/fire/blue_fire_floor0.json new file mode 100644 index 00000000..1e8295f5 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/fire/blue_fire_floor0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_floor", + "textures": { + "fire": "tfmg:block/blue_fire_0" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/fire/blue_fire_floor1.json b/build/resources/main/assets/tfmg/models/block/fire/blue_fire_floor1.json new file mode 100644 index 00000000..6285f8da --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/fire/blue_fire_floor1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_floor", + "textures": { + "fire": "tfmg:block/blue_fire_1" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/fire/blue_fire_side_alt0.json b/build/resources/main/assets/tfmg/models/block/fire/blue_fire_side_alt0.json new file mode 100644 index 00000000..a4f0b1a8 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/fire/blue_fire_side_alt0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_side_alt", + "textures": { + "fire": "tfmg:block/blue_fire_0" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/fire/blue_fire_side_alt1.json b/build/resources/main/assets/tfmg/models/block/fire/blue_fire_side_alt1.json new file mode 100644 index 00000000..5f3ceb62 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/fire/blue_fire_side_alt1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_side_alt", + "textures": { + "fire": "tfmg:block/blue_fire_1" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/fire/blue_fire_up0.json b/build/resources/main/assets/tfmg/models/block/fire/blue_fire_up0.json new file mode 100644 index 00000000..9beeea9a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/fire/blue_fire_up0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_up", + "textures": { + "fire": "tfmg:block/blue_fire_0" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/fire/blue_fire_up1.json b/build/resources/main/assets/tfmg/models/block/fire/blue_fire_up1.json new file mode 100644 index 00000000..c270199e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/fire/blue_fire_up1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_up", + "textures": { + "fire": "tfmg:block/blue_fire_1" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/fire/green_fire_side_alt1.json b/build/resources/main/assets/tfmg/models/block/fire/green_fire_side_alt1.json new file mode 100644 index 00000000..aa0910bf --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/fire/green_fire_side_alt1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_side_alt", + "textures": { + "fire": "tfmg:block/green_fire_1" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/fire/green_fire_up_alt1.json b/build/resources/main/assets/tfmg/models/block/fire/green_fire_up_alt1.json new file mode 100644 index 00000000..2677bee3 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/fire/green_fire_up_alt1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_up_alt", + "textures": { + "fire": "tfmg:block/green_fire_1" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/fire/lithium_fire_side1.json b/build/resources/main/assets/tfmg/models/block/fire/lithium_fire_side1.json new file mode 100644 index 00000000..edcbdcd5 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/fire/lithium_fire_side1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_side", + "textures": { + "fire": "tfmg:block/lithium_fire_1" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/fire/lithium_fire_side_alt0.json b/build/resources/main/assets/tfmg/models/block/fire/lithium_fire_side_alt0.json new file mode 100644 index 00000000..38249766 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/fire/lithium_fire_side_alt0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_side_alt", + "textures": { + "fire": "tfmg:block/lithium_fire_0" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/fire/lithium_fire_up1.json b/build/resources/main/assets/tfmg/models/block/fire/lithium_fire_up1.json new file mode 100644 index 00000000..5a5ba1dd --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/fire/lithium_fire_up1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_up", + "textures": { + "fire": "tfmg:block/lithium_fire_1" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/fire/lithium_fire_up_alt1.json b/build/resources/main/assets/tfmg/models/block/fire/lithium_fire_up_alt1.json new file mode 100644 index 00000000..3d0097e7 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/fire/lithium_fire_up_alt1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_up_alt", + "textures": { + "fire": "tfmg:block/lithium_fire_1" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/fireproof_brick_reinforcement.json b/build/resources/main/assets/tfmg/models/block/fireproof_brick_reinforcement.json new file mode 100644 index 00000000..e69de29b diff --git a/build/resources/main/assets/tfmg/models/block/fireproof_chemical_vat/block_bottom_window_se.json b/build/resources/main/assets/tfmg/models/block/fireproof_chemical_vat/block_bottom_window_se.json new file mode 100644 index 00000000..b0e4e14d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/fireproof_chemical_vat/block_bottom_window_se.json @@ -0,0 +1,72 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_vat_top", + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [5, 4, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "south": {"uv": [5, 0, 16, 12], "texture": "#1"}, + "west": {"uv": [12, 0, 13, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 4, 0], + "to": [15, 16, 5], + "faces": { + "east": {"uv": [0, 2, 2.5, 8], "texture": "#3"}, + "west": {"uv": [2, 2, 4.5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 4, 15], + "to": [5, 16, 15], + "faces": { + "north": {"uv": [0, 2, 2.5, 8], "texture": "#3"}, + "south": {"uv": [2.5, 2, 5, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 5], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [3, 0, 4, 12], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [5, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/fireproof_chemical_vat/block_middle_window_sw.json b/build/resources/main/assets/tfmg/models/block/fireproof_chemical_vat/block_middle_window_sw.json new file mode 100644 index 00000000..2af8678f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/fireproof_chemical_vat/block_middle_window_sw.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 5], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "west": {"uv": [5, 0, 16, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [11, 0, 15], + "to": [16, 16, 15], + "faces": { + "north": {"uv": [7.5, 0, 10, 8], "texture": "#3"}, + "south": {"uv": [5, 0, 7.5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [1, 0, 0], + "to": [1, 16, 5], + "faces": { + "east": {"uv": [5, 0, 7.5, 8], "texture": "#3"}, + "west": {"uv": [7.5, 0, 10, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [11, 16, 16], + "faces": { + "north": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [3, 0, 4, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 11, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window.json b/build/resources/main/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window.json new file mode 100644 index 00000000..870e68ec --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window.json @@ -0,0 +1,167 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "4": "tfmg:block/steel_vat_top", + "5": "tfmg:block/steel_vat_window_single", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [3, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [13, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 3], + "faces": { + "east": {"uv": [13, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [13, 4, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [13, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 13], + "to": [1, 12, 16], + "faces": { + "north": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [13, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [3, 4, 1], + "to": [13, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "north"}, + "south": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15, 4, 3], + "to": [15, 12, 13], + "faces": { + "east": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "east"}, + "west": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [3, 4, 15], + "to": [13, 12, 15], + "faces": { + "north": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "south"}, + "south": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [1, 4, 3], + "to": [1, 12, 13], + "faces": { + "east": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "west"}, + "west": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [13, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 3, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 13], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 4, 3, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [3, 12, 16], + "faces": { + "north": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 3, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 12, 3], + "faces": { + "east": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 3, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window_ne.json b/build/resources/main/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window_ne.json new file mode 100644 index 00000000..d1181599 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window_ne.json @@ -0,0 +1,103 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_vat_top", + "1": "tfmg:block/steel_vat", + "5": "tfmg:block/steel_vat_window_single", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [5, 4, 16, 12], "texture": "#1"}, + "south": {"uv": [12, 4, 13, 12], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 4, 1], + "to": [5, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 5, 8], "texture": "#5"}, + "south": {"uv": [5, 0, 10, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [15, 4, 11], + "to": [15, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [5, 0, 10, 8], "texture": "#5"}, + "west": {"uv": [0, 0, 5, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [5, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 11, 12], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "west": {"uv": [3, 4, 4, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window_sw.json b/build/resources/main/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window_sw.json new file mode 100644 index 00000000..ff8b4308 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window_sw.json @@ -0,0 +1,103 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "4": "tfmg:block/steel_vat_top", + "5": "tfmg:block/steel_vat_window_single", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 5], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [12, 4, 13, 12], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "west": {"uv": [5, 4, 16, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [11, 4, 15], + "to": [16, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [5, 0, 10, 8], "texture": "#5"}, + "south": {"uv": [0, 0, 5, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [1, 4, 0], + "to": [1, 12, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 5, 8], "texture": "#5"}, + "west": {"uv": [5, 0, 10, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [11, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "east": {"uv": [3, 4, 4, 12], "texture": "#1"}, + "south": {"uv": [0, 4, 11, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/fireproof_chemical_vat/block_top_window_se.json b/build/resources/main/assets/tfmg/models/block/fireproof_chemical_vat/block_top_window_se.json new file mode 100644 index 00000000..3e51b035 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/fireproof_chemical_vat/block_top_window_se.json @@ -0,0 +1,76 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "4": "tfmg:block/steel_vat_top", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [5, 0, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "south": {"uv": [5, 4, 16, 16], "texture": "#1"}, + "west": {"uv": [12, 4, 13, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 0, 0], + "to": [15, 12, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 2.5, 6], "texture": "#3"}, + "west": {"uv": [1.5, 0, 4, 6], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 0, 15], + "to": [5, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 2.5, 6], "texture": "#3"}, + "south": {"uv": [1.5, 0, 4, 6], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 5], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [3, 4, 4, 16], "texture": "#1"}, + "east": {"uv": [0, 4, 11, 16], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/formwork_block/block_base.json b/build/resources/main/assets/tfmg/models/block/formwork_block/block_base.json new file mode 100644 index 00000000..e69de29b diff --git a/build/resources/main/assets/tfmg/models/block/formwork_block/block_bottom.json b/build/resources/main/assets/tfmg/models/block/formwork_block/block_bottom.json new file mode 100644 index 00000000..c798dee0 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/formwork_block/block_bottom.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/formwork_bottom", + "particle": "tfmg:block/formwork_bottom" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 1, 16], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/fuse_block/block.json b/build/resources/main/assets/tfmg/models/block/fuse_block/block.json new file mode 100644 index 00000000..f357b355 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/fuse_block/block.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/fuse_block", + "2": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/fuse_block" + }, + "elements": [ + { + "from": [0, 0, 8], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [2.5, 8, 10.5, 16], "texture": "#0"}, + "east": {"uv": [16, 0, 12, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "west": {"uv": [12, 0, 8, 8], "texture": "#0"}, + "up": {"uv": [8, 4, 0, 0], "texture": "#0"}, + "down": {"uv": [8, 0, 0, 4], "texture": "#0"} + } + }, + { + "from": [0, 13, 0], + "to": [16, 16, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 13, 0]}, + "faces": { + "north": {"uv": [0, 0, 8, 1.5], "texture": "#0"}, + "east": {"uv": [4, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1.5], "texture": "#0"}, + "west": {"uv": [8, 0, 12, 1.5], "texture": "#0"}, + "up": {"uv": [8, 0, 0, 4], "texture": "#0"}, + "down": {"uv": [8, 14.5, 16, 10.5], "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 3, 8], + "faces": { + "north": {"uv": [0, 6.5, 8, 8], "texture": "#0"}, + "east": {"uv": [4, 1.5, 0, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1.5], "texture": "#0"}, + "west": {"uv": [0, 1.5, 4, 0], "texture": "#0"}, + "up": {"uv": [8, 10.5, 16, 14.5], "texture": "#0"}, + "down": {"uv": [8, 4, 0, 8], "texture": "#0"} + } + }, + { + "from": [0, 3, 0], + "to": [3, 13, 8], + "rotation": {"angle": 0, "axis": "z", "origin": [3, 3, 0]}, + "faces": { + "north": {"uv": [1.5, 0, 6.5, 1.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 9.5, 4, 14.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 0, 5, 1.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [9.5, 0, 14.5, 4], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 1.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13, 3, 0], + "to": [16, 13, 8], + "rotation": {"angle": 0, "axis": "z", "origin": [3, 3, 0]}, + "faces": { + "north": {"uv": [1.5, 1.5, 6.5, 0], "rotation": 90, "texture": "#0"}, + "east": {"uv": [9.5, 4, 14.5, 0], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 5, 1.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 9.5, 4, 14.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 1.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 1.5], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/fuse_block/item.json b/build/resources/main/assets/tfmg/models/block/fuse_block/item.json new file mode 100644 index 00000000..cf31bb51 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/fuse_block/item.json @@ -0,0 +1,113 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/fuse_block", + "1": "tfmg:block/fuse", + "particle": "tfmg:block/fuse_block" + }, + "elements": [ + { + "from": [0, 0, 8], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [2.5, 8, 10.5, 16], "texture": "#0"}, + "east": {"uv": [8, 0, 12, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "west": {"uv": [12, 0, 8, 8], "texture": "#0"}, + "up": {"uv": [0, 4, 8, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 4], "texture": "#0"} + } + }, + { + "from": [0, 13, 0], + "to": [16, 16, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 13, 0]}, + "faces": { + "north": {"uv": [0, 0, 8, 1.5], "texture": "#0"}, + "east": {"uv": [4, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1.5], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 4], "texture": "#0"}, + "down": {"uv": [8, 14.5, 16, 10.5], "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 3, 8], + "faces": { + "north": {"uv": [0, 6.5, 8, 8], "texture": "#0"}, + "east": {"uv": [4, 1.5, 0, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1.5], "texture": "#0"}, + "west": {"uv": [0, 1.5, 4, 0], "texture": "#0"}, + "up": {"uv": [8, 10.5, 16, 14.5], "texture": "#0"}, + "down": {"uv": [0, 4, 8, 8], "texture": "#0"} + } + }, + { + "from": [0, 3, 0], + "to": [3, 13, 8], + "rotation": {"angle": 0, "axis": "z", "origin": [3, 3, 0]}, + "faces": { + "north": {"uv": [1.5, 0, 6.5, 1.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 9.5, 4, 14.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 0, 5, 1.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [9.5, 0, 14.5, 4], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 1.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13, 3, 0], + "to": [16, 13, 8], + "rotation": {"angle": 0, "axis": "z", "origin": [3, 3, 0]}, + "faces": { + "north": {"uv": [1.5, 1.5, 6.5, 0], "rotation": 90, "texture": "#0"}, + "east": {"uv": [9.5, 4, 14.5, 0], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 5, 1.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 9.5, 4, 14.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 1.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 5, 1], + "to": [13, 11, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 7, 2]}, + "faces": { + "north": {"uv": [0, 6, 6, 16], "rotation": 90, "texture": "#1"}, + "south": {"uv": [0, 6, 6, 16], "rotation": 90, "texture": "#1"}, + "west": {"uv": [0, 0, 3, 3], "texture": "#1"}, + "up": {"uv": [0, 6, 6, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 6, 6, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 7.50268, 3.99989], + "to": [13, 8.50268, 3.99989], + "rotation": {"angle": -45, "axis": "x", "origin": [2, 8, 4]}, + "faces": { + "north": {"uv": [7, 6, 8, 16], "rotation": 90, "texture": "#1"}, + "east": {"uv": [0, 0, 0, 0.5], "texture": "#1"}, + "south": {"uv": [7, 6, 8, 16], "rotation": 90, "texture": "#1"}, + "west": {"uv": [0, 0, 0, 0.5], "texture": "#1"}, + "up": {"uv": [0, 0, 5, 0], "texture": "#1"}, + "down": {"uv": [0, 0, 5, 0], "texture": "#1"} + } + }, + { + "from": [3, 7.99989, 3.49732], + "to": [13, 7.99989, 4.49732], + "rotation": {"angle": -45, "axis": "x", "origin": [2, 8, 4]}, + "faces": { + "north": {"uv": [0, 0, 5, 0], "rotation": 180, "texture": "#1"}, + "east": {"uv": [0, 0, 0, 0.5], "rotation": 90, "texture": "#1"}, + "south": {"uv": [0, 0, 5, 0], "texture": "#1"}, + "west": {"uv": [0, 0, 0, 0.5], "rotation": 270, "texture": "#1"}, + "up": {"uv": [7, 6, 8, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [7, 6, 8, 16], "rotation": 90, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/gray_concrete_top.json b/build/resources/main/assets/tfmg/models/block/gray_concrete_top.json new file mode 100644 index 00000000..27bb1d56 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/gray_concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/gray_concrete", + "side": "tfmg:block/gray_concrete", + "top": "tfmg:block/gray_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/green_concrete.json b/build/resources/main/assets/tfmg/models/block/green_concrete.json new file mode 100644 index 00000000..008c7fd9 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/green_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/green_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/green_rebar_concrete.json b/build/resources/main/assets/tfmg/models/block/green_rebar_concrete.json new file mode 100644 index 00000000..008c7fd9 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/green_rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/green_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/hardened_planks.json b/build/resources/main/assets/tfmg/models/block/hardened_planks.json new file mode 100644 index 00000000..6494d3f4 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/hardened_planks.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/hardened_planks" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/heavy_casing_door/block_top.json b/build/resources/main/assets/tfmg/models/block/heavy_casing_door/block_top.json new file mode 100644 index 00000000..ae10a877 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/heavy_casing_door/block_top.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/heavy_casing_side", + "2": "tfmg:block/heavy_casing_top", + "particle": "tfmg:block/heavy_machinery_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 3], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/heavy_casing_encased_aluminum_cogwheel_bottom.json b/build/resources/main/assets/tfmg/models/block/heavy_casing_encased_aluminum_cogwheel_bottom.json new file mode 100644 index 00000000..01b360d3 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/heavy_casing_encased_aluminum_cogwheel_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_cogwheel/block_bottom", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "4": "tfmg:block/heavy_gearbox", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/heavy_casing_encased_large_aluminum_cogwheel.json b/build/resources/main/assets/tfmg/models/block/heavy_casing_encased_large_aluminum_cogwheel.json new file mode 100644 index 00000000..925398d2 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/heavy_casing_encased_large_aluminum_cogwheel.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/block", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "4": "tfmg:block/heavy_gearbox", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/heavy_machinery_casing.json b/build/resources/main/assets/tfmg/models/block/heavy_machinery_casing.json new file mode 100644 index 00000000..10f4f1c2 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/heavy_machinery_casing.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/heavy_machinery_casing" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/heavy_plated_door/block_top.json b/build/resources/main/assets/tfmg/models/block/heavy_plated_door/block_top.json new file mode 100644 index 00000000..8da8233e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/heavy_plated_door/block_top.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/heavy_plated_door_side", + "2": "tfmg:block/heavy_plated_door_top", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 3], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/industrial_aluminum_casing.json b/build/resources/main/assets/tfmg/models/block/industrial_aluminum_casing.json new file mode 100644 index 00000000..323683fc --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/industrial_aluminum_casing.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/industrial_aluminum_casing" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/industrial_light/item.json b/build/resources/main/assets/tfmg/models/block/industrial_light/item.json new file mode 100644 index 00000000..def7b9c1 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/industrial_light/item.json @@ -0,0 +1,52 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/light_bulb", + "particle": "tfmg:block/light_bulb" + }, + "elements": [ + { + "from": [6, 2, 6], + "to": [10, 3, 10], + "faces": { + "north": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "east": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "south": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 0, 6], + "to": [10, 2, 10], + "faces": { + "north": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "east": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "south": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "west": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 6, 4, 10], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 4, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [8, 2, 6], + "to": [8, 7, 10], + "faces": { + "east": {"uv": [7, 1, 11, 6], "rotation": 180, "texture": "#0"}, + "west": {"uv": [7, 1, 11, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 3, 5], + "to": [11, 9, 11], + "faces": { + "north": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/industrial_mixer/large_centrifuge_middle.json b/build/resources/main/assets/tfmg/models/block/industrial_mixer/large_centrifuge_middle.json new file mode 100644 index 00000000..78abd010 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/industrial_mixer/large_centrifuge_middle.json @@ -0,0 +1,20 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "particle": "tfmg:block/centrifuge" + }, + "elements": [ + { + "from": [-2, 0, -2], + "to": [18, 16, 18], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 10, 8], "texture": "#particle"}, + "east": {"uv": [0, 0, 10, 8], "texture": "#particle"}, + "south": {"uv": [0, 0, 10, 8], "texture": "#particle"}, + "west": {"uv": [0, 0, 10, 8], "texture": "#particle"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/industrial_mixer/small_centrifuge_alone.json b/build/resources/main/assets/tfmg/models/block/industrial_mixer/small_centrifuge_alone.json new file mode 100644 index 00000000..3a281fe8 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/industrial_mixer/small_centrifuge_alone.json @@ -0,0 +1,48 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/centrifuge", + "1": "tfmg:block/centrifuge_top", + "particle": "tfmg:block/centrifuge" + }, + "elements": [ + { + "from": [3, 4, 3], + "to": [13, 12, 13], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 2, 8]}, + "faces": { + "north": {"uv": [10.5, 0, 15.5, 4], "texture": "#0"}, + "east": {"uv": [10.5, 0, 15.5, 4], "texture": "#0"}, + "south": {"uv": [10.5, 0, 15.5, 4], "texture": "#0"}, + "west": {"uv": [10.5, 0, 15.5, 4], "texture": "#0"}, + "up": {"uv": [10.5, 0, 15.5, 5], "texture": "#1"}, + "down": {"uv": [10.5, 0, 15.5, 5], "texture": "#1"} + } + }, + { + "from": [5, 12, 5], + "to": [11, 14, 11], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "east": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "south": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "west": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "up": {"uv": [3.5, 3.5, 6.5, 6.5], "texture": "#1"} + } + }, + { + "from": [5, 2, 5], + "to": [11, 4, 11], + "rotation": {"angle": -45, "axis": "y", "origin": [8, -6, 8]}, + "faces": { + "north": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "east": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "south": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "west": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "down": {"uv": [3.5, 3.5, 6.5, 6.5], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/large_aluminum_cogwheel_shaftless.json b/build/resources/main/assets/tfmg/models/block/large_aluminum_cogwheel_shaftless.json new file mode 100644 index 00000000..1b281ff8 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/large_aluminum_cogwheel_shaftless.json @@ -0,0 +1,191 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "render_type": "minecraft:cutout", + "textures": { + "0": "tfmg:block/large_aluminum_coghweel", + "particle": "tfmg:block/large_aluminum_coghweel" + }, + "elements": [ + { + "name": "Gear2", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear3", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear4", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "GearCaseInner", + "from": [-2, 7.6, -2], + "to": [18, 8.4, 18], + "faces": { + "north": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "east": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "south": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "west": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 10], "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [-1, 5.975, 1], + "to": [1, 10.025, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#0"}, + "east": {"uv": [13.975, 0, 16, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [12, 0, 13, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [13, 0, 14, 7], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [1, 5.975, -1], + "to": [15, 10.025, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#0"}, + "south": {"uv": [13.975, 0, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [13, 0, 14, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12, 0, 13, 7], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [15, 5.975, 1], + "to": [17, 10.025, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#0"}, + "west": {"uv": [13.975, 0, 16, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15, 0, 16, 7], "texture": "#0"}, + "down": {"uv": [14, 0, 15, 7], "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [1, 5.975, 15], + "to": [15, 10.025, 17], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.975, 0, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 0, 15, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 0, 16, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "Gear", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Gear5", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear6", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Gear7", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear8", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/large_engine/block.json b/build/resources/main/assets/tfmg/models/block/large_engine/block.json new file mode 100644 index 00000000..177ec86d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/large_engine/block.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/diesel_engine_back", + "1": "tfmg:block/diesel_engine_front", + "2": "tfmg:block/diesel_engine_side", + "particle": "tfmg:block/diesel_engine_back" + }, + "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": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/large_engine/linkage.json b/build/resources/main/assets/tfmg/models/block/large_engine/linkage.json new file mode 100644 index 00000000..f925092f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/large_engine/linkage.json @@ -0,0 +1,51 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/diesel_engine_linkage" + }, + "elements": [ + { + "from": [6, 1, 4], + "to": [10, 7, 12], + "faces": { + "north": {"uv": [8.5, 11, 10.5, 14], "texture": "#0"}, + "east": {"uv": [10.5, 11, 14.5, 14], "texture": "#0"}, + "south": {"uv": [8.5, 11, 10.5, 14], "texture": "#0"}, + "west": {"uv": [10.5, 11, 14.5, 14], "texture": "#0"}, + "up": {"uv": [10.5, 9, 14.5, 11], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 14, 14.5, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 15, 4], + "to": [10, 21, 12], + "faces": { + "north": {"uv": [8.5, 11, 10.5, 14], "texture": "#0"}, + "east": {"uv": [10.5, 11, 14.5, 14], "texture": "#0"}, + "south": {"uv": [8.5, 11, 10.5, 14], "texture": "#0"}, + "west": {"uv": [10.5, 11, 14.5, 14], "texture": "#0"}, + "up": {"uv": [10.5, 9, 14.5, 11], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 14, 14.5, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 7, 6], + "to": [10, 15, 10], + "faces": { + "north": {"uv": [1.5, 1, 3.5, 6], "texture": "#0"}, + "east": {"uv": [1.5, 1, 3.5, 6], "texture": "#0"}, + "south": {"uv": [1.5, 1, 3.5, 6], "texture": "#0"}, + "west": {"uv": [1.5, 1, 3.5, 6], "texture": "#0"} + } + } + ], + "display": {}, + "groups": [ + { + "name": "Linkage", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/large_engine/piston.json b/build/resources/main/assets/tfmg/models/block/large_engine/piston.json new file mode 100644 index 00000000..33ca3939 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/large_engine/piston.json @@ -0,0 +1,28 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/diesel_engine_linkage" + }, + "elements": [ + { + "from": [5, 3, 5], + "to": [11, 22, 11], + "faces": { + "north": {"uv": [4, 6.5, 7, 16], "texture": "#0"}, + "east": {"uv": [1, 6.5, 4, 16], "texture": "#0"}, + "south": {"uv": [4, 6.5, 7, 16], "texture": "#0"}, + "west": {"uv": [1, 6.5, 4, 16], "texture": "#0"}, + "up": {"uv": [4, 3.5, 7, 6.5], "texture": "#0"} + } + } + ], + "display": {}, + "groups": [ + { + "name": "Piston", + "origin": [0, 0, 0], + "color": 0, + "children": [0] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/large_steel_cogwheel.json b/build/resources/main/assets/tfmg/models/block/large_steel_cogwheel.json new file mode 100644 index 00000000..3d7423e9 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/large_steel_cogwheel.json @@ -0,0 +1,176 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/large_wheels", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/large_steel_cogwheel", + "1": "create:block/axis_top", + "2": "create:block/axis", + "particle": "tfmg:block/large_steel_cogwheel" + }, + "elements": [ + { + "name": "GearCaseInnerRotated", + "from": [-2, 6.625, -2], + "to": [18, 9.375, 18], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "east": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "south": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "west": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 10], "texture": "#0"} + } + }, + { + "name": "Gear2", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear3", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear4", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "GearCaseInner", + "from": [-2, 6.6, -2], + "to": [18, 9.4, 18], + "faces": { + "north": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "east": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "south": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "west": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 10], "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [0, 4.975, 0], + "to": [16, 11.025, 16], + "faces": { + "north": {"uv": [10, 0, 12.5, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 0, 12.5, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10, 0, 12.5, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 0, 12.5, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [1, 1, 9, 9], "texture": "#0"}, + "down": {"uv": [1, 1, 9, 9], "texture": "#0"} + } + }, + { + "name": "Gear", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Gear5", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear6", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Gear7", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear8", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Axis", + "from": [6, 0, 6], + "to": [10, 16, 10], + "faces": { + "north": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "east": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "south": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "west": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "up": {"uv": [6, 6, 10, 10], "texture": "#1"}, + "down": {"uv": [6, 6, 10, 10], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/large_steel_cogwheel_shaftless.json b/build/resources/main/assets/tfmg/models/block/large_steel_cogwheel_shaftless.json new file mode 100644 index 00000000..acd85bf6 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/large_steel_cogwheel_shaftless.json @@ -0,0 +1,161 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/large_wheels", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/large_steel_cogwheel", + "particle": "tfmg:block/large_steel_cogwheel" + }, + "elements": [ + { + "name": "GearCaseInnerRotated", + "from": [-2, 6.625, -2], + "to": [18, 9.375, 18], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "east": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "south": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "west": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 10], "texture": "#0"} + } + }, + { + "name": "Gear2", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear3", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear4", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "GearCaseInner", + "from": [-2, 6.6, -2], + "to": [18, 9.4, 18], + "faces": { + "north": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "east": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "south": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "west": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 10], "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [0, 4.975, 0], + "to": [16, 11.025, 16], + "faces": { + "north": {"uv": [10, 0, 12.5, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 0, 12.5, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10, 0, 12.5, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 0, 12.5, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [1, 1, 9, 9], "texture": "#0"}, + "down": {"uv": [1, 1, 9, 9], "texture": "#0"} + } + }, + { + "name": "Gear", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Gear5", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear6", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Gear7", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear8", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/lead_block.json b/build/resources/main/assets/tfmg/models/block/lead_block.json new file mode 100644 index 00000000..f2df53ed --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/lead_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/lead_block" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/lead_cap_alt.json b/build/resources/main/assets/tfmg/models/block/lead_cap_alt.json new file mode 100644 index 00000000..08da5a83 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/lead_cap_alt.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/cap_alt", + "textures": { + "bars": "tfmg:block/bars/lead_bars", + "edge": "tfmg:block/bars/lead_bars_edge", + "particle": "tfmg:block/bars/lead_bars" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/lead_flywheel/block.json b/build/resources/main/assets/tfmg/models/block/lead_flywheel/block.json new file mode 100644 index 00000000..cbca5aea --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/lead_flywheel/block.json @@ -0,0 +1,6 @@ +{ + "parent": "tfmg:block/lead_flywheel/flywheel", + "loader": "neoforge:obj", + "flip-v": true, + "model": "create:models/block/flywheel/flywheel_shaftless.obj" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/lead_flywheel/flywheel.json b/build/resources/main/assets/tfmg/models/block/lead_flywheel/flywheel.json new file mode 100644 index 00000000..1c2fb2b9 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/lead_flywheel/flywheel.json @@ -0,0 +1,10 @@ +{ + "parent": "block/block", + "ambientocclusion": false, + "textures": { + "0": "tfmg:block/lead_flywheel", + "1": "create:block/axis", + "2": "create:block/axis_top", + "particle": "tfmg:block/lead_flywheel" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/lead_frame/block.json b/build/resources/main/assets/tfmg/models/block/lead_frame/block.json new file mode 100644 index 00000000..0a9d9a08 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/lead_frame/block.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/lead_frame_2", + "particle": "tfmg:block/lead_frame_2" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/lead_ladder.json b/build/resources/main/assets/tfmg/models/block/lead_ladder.json new file mode 100644 index 00000000..f35975c3 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/lead_ladder.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/ladder", + "textures": { + "0": "tfmg:block/ladder_lead_hoop", + "1": "tfmg:block/ladder_lead", + "particle": "tfmg:block/ladder_lead" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/lead_ore.json b/build/resources/main/assets/tfmg/models/block/lead_ore.json new file mode 100644 index 00000000..8d3cd02a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/lead_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/lead_ore" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/lead_post_ends.json b/build/resources/main/assets/tfmg/models/block/lead_post_ends.json new file mode 100644 index 00000000..9d912885 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/lead_post_ends.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/post_ends", + "textures": { + "bars": "tfmg:block/bars/lead_bars", + "edge": "tfmg:block/bars/lead_bars_edge", + "particle": "tfmg:block/bars/lead_bars" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/light_blue_concrete_wall_side.json b/build/resources/main/assets/tfmg/models/block/light_blue_concrete_wall_side.json new file mode 100644 index 00000000..3782371b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/light_blue_concrete_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/light_blue_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/light_blue_concrete_wall_side_tall.json b/build/resources/main/assets/tfmg/models/block/light_blue_concrete_wall_side_tall.json new file mode 100644 index 00000000..ed9699b1 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/light_blue_concrete_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/light_blue_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/light_blue_rebar_concrete.json b/build/resources/main/assets/tfmg/models/block/light_blue_rebar_concrete.json new file mode 100644 index 00000000..3ca27528 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/light_blue_rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/light_blue_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/light_gray_concrete_stairs_inner.json b/build/resources/main/assets/tfmg/models/block/light_gray_concrete_stairs_inner.json new file mode 100644 index 00000000..4692976c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/light_gray_concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/light_gray_concrete", + "side": "tfmg:block/light_gray_concrete", + "top": "tfmg:block/light_gray_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/light_gray_concrete_wall_post.json b/build/resources/main/assets/tfmg/models/block/light_gray_concrete_wall_post.json new file mode 100644 index 00000000..aa83a54b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/light_gray_concrete_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/light_gray_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/light_gray_rebar_concrete.json b/build/resources/main/assets/tfmg/models/block/light_gray_rebar_concrete.json new file mode 100644 index 00000000..bc81b5c6 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/light_gray_rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/light_gray_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/lime_concrete_stairs.json b/build/resources/main/assets/tfmg/models/block/lime_concrete_stairs.json new file mode 100644 index 00000000..111207ba --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/lime_concrete_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/lime_concrete", + "side": "tfmg:block/lime_concrete", + "top": "tfmg:block/lime_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/lime_rebar_concrete.json b/build/resources/main/assets/tfmg/models/block/lime_rebar_concrete.json new file mode 100644 index 00000000..c9ab73fa --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/lime_rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/lime_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/lithium_ore.json b/build/resources/main/assets/tfmg/models/block/lithium_ore.json new file mode 100644 index 00000000..02f3406f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/lithium_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/lithium_ore" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/casing.json b/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/casing.json new file mode 100644 index 00000000..9040c0c9 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/casing.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "east": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "south": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "west": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "up": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "down": {"uv": [1, 11, 6, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/connection/south.json b/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/connection/south.json new file mode 100644 index 00000000..93c6a13f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/connection/south.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [4, 4, 12], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 2], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 6, 4, 8], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/drain/down.json b/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/drain/down.json new file mode 100644 index 00000000..df04fe0a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/drain/down.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [4.95, -3.95, 4.95], + "to": [11.05, -0.95, 11.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "down": {"uv": [13, 8, 16, 11], "rotation": 90, "texture": "#0", "cullface": "down"} + } + }, + { + "from": [2.95, -0.95, 2.95], + "to": [13.05, 2, 13.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 9.5, 4, 8], "texture": "#0"}, + "east": {"uv": [4, 8, 9, 9.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [4, 8, 9, 9.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [9, 9.5, 4, 8], "texture": "#0"}, + "up": {"uv": [6, 11, 11, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0", "cullface": "down"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/drain/up.json b/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/drain/up.json new file mode 100644 index 00000000..a20bf380 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/drain/up.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [2.95, 14, 2.95], + "to": [13.05, 16.95, 13.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 8, 4, 9.5], "texture": "#0"}, + "east": {"uv": [4, 9.5, 9, 8], "rotation": 180, "texture": "#0"}, + "south": {"uv": [4, 9.5, 9, 8], "rotation": 180, "texture": "#0"}, + "west": {"uv": [9, 8, 4, 9.5], "texture": "#0"}, + "up": {"uv": [16, 11, 11, 16], "rotation": 90, "texture": "#0", "cullface": "up"}, + "down": {"uv": [11, 11, 6, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4.95, 16.95, 4.95], + "to": [11.05, 19.95, 11.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 8, 13, 11], "rotation": 90, "texture": "#0", "cullface": "up"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/rim/down.json b/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/rim/down.json new file mode 100644 index 00000000..00338adb --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/rim/down.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "faces": { + "north": {"uv": [10.5, 11, 11.5, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10.5, 11, 11.5, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10.5, 11, 11.5, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10.5, 11, 11.5, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [6, 11, 11, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 270, "texture": "#0", "cullface": "down"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/rim/east.json b/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/rim/east.json new file mode 100644 index 00000000..c0bced68 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/rim/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "faces": { + "north": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "east"}, + "south": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"}, + "west": {"uv": [6, 11, 11, 16], "texture": "#0"}, + "up": {"uv": [11.5, 16, 10.5, 11], "rotation": 180, "texture": "#0"}, + "down": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/rim/west.json b/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/rim/west.json new file mode 100644 index 00000000..a28ca332 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/rim/west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "faces": { + "north": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"}, + "east": {"uv": [6, 11, 11, 16], "texture": "#0"}, + "south": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"}, + "west": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "west"}, + "up": {"uv": [10.5, 11, 11.5, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/window_alt.json b/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/window_alt.json new file mode 100644 index 00000000..952e4968 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/lo/brass_pipe/window_alt.json @@ -0,0 +1,58 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/glass_brass_pipe", + "particle": "#0" + }, + "elements": [ + { + "name": "Outer", + "from": [4, 0, 4], + "to": [12, 16, 12], + "shade": false, + "faces": { + "north": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [4, 0, 11.5], + "to": [12, 16, 11.5], + "shade": false, + "faces": { + "north": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [4, 0, 4.5], + "to": [12, 16, 4.5], + "shade": false, + "faces": { + "south": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [4.5, 0, 4], + "to": [4.5, 16, 12], + "shade": false, + "faces": { + "east": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [11.5, 0, 4], + "to": [11.5, 16, 12], + "shade": false, + "faces": { + "west": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/locked_steel_pipe/casing.json b/build/resources/main/assets/tfmg/models/block/locked_steel_pipe/casing.json new file mode 100644 index 00000000..7fd2878d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/locked_steel_pipe/casing.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "east": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "south": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "west": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "up": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "down": {"uv": [1, 11, 6, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/locked_steel_pipe/drain/down.json b/build/resources/main/assets/tfmg/models/block/locked_steel_pipe/drain/down.json new file mode 100644 index 00000000..df6a9b7d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/locked_steel_pipe/drain/down.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [4.95, -3.95, 4.95], + "to": [11.05, -0.95, 11.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "down": {"uv": [13, 8, 16, 11], "rotation": 90, "texture": "#0", "cullface": "down"} + } + }, + { + "from": [2.95, -0.95, 2.95], + "to": [13.05, 2, 13.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 9.5, 4, 8], "texture": "#0"}, + "east": {"uv": [4, 8, 9, 9.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [4, 8, 9, 9.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [9, 9.5, 4, 8], "texture": "#0"}, + "up": {"uv": [6, 11, 11, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0", "cullface": "down"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/locked_steel_pipe/rim/east.json b/build/resources/main/assets/tfmg/models/block/locked_steel_pipe/rim/east.json new file mode 100644 index 00000000..e25a9ad5 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/locked_steel_pipe/rim/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "faces": { + "north": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "east"}, + "south": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"}, + "west": {"uv": [6, 11, 11, 16], "texture": "#0"}, + "up": {"uv": [11.5, 16, 10.5, 11], "rotation": 180, "texture": "#0"}, + "down": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/locked_steel_pipe/rim/north.json b/build/resources/main/assets/tfmg/models/block/locked_steel_pipe/rim/north.json new file mode 100644 index 00000000..a5ee4d2c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/locked_steel_pipe/rim/north.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "north"}, + "east": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"}, + "south": {"uv": [6, 11, 11, 16], "texture": "#0"}, + "west": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"}, + "up": {"uv": [10.5, 11, 11.5, 16], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11.5, 16, 10.5, 11], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/locked_steel_pipe/rim/up.json b/build/resources/main/assets/tfmg/models/block/locked_steel_pipe/rim/up.json new file mode 100644 index 00000000..78da141b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/locked_steel_pipe/rim/up.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "faces": { + "north": {"uv": [11.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [11.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [11.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0", "cullface": "up"}, + "down": {"uv": [6, 11, 11, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/locked_steel_pipe/rim_connector/north.json b/build/resources/main/assets/tfmg/models/block/locked_steel_pipe/rim_connector/north.json new file mode 100644 index 00000000..116041fe --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/locked_steel_pipe/rim_connector/north.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [4, 4, 2], + "to": [12, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/locked_steel_pipe/rim_connector/up.json b/build/resources/main/assets/tfmg/models/block/locked_steel_pipe/rim_connector/up.json new file mode 100644 index 00000000..b61c46df --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/locked_steel_pipe/rim_connector/up.json @@ -0,0 +1,20 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [4, 12, 4], + "to": [12, 14, 12], + "faces": { + "north": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "east": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "south": {"uv": [4, 8, 0, 9], "texture": "#0"}, + "west": {"uv": [4, 8, 0, 9], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/low_grade_fuel_engine/item.json b/build/resources/main/assets/tfmg/models/block/low_grade_fuel_engine/item.json new file mode 100644 index 00000000..6d91a6a4 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/low_grade_fuel_engine/item.json @@ -0,0 +1,108 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/low_grade_fuel_engine", + "1_0": "create:block/axis", + "particle": "tfmg:block/low_grade_fuel_engine" + }, + "elements": [ + { + "name": "Axis", + "from": [6, 6, 0], + "to": [10, 10, 10], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [6, 6, 10, 10], "rotation": 180, "texture": "#1_0"}, + "east": {"uv": [6, 0, 10, 10], "rotation": 270, "texture": "#1_0"}, + "west": {"uv": [6, 0, 10, 10], "rotation": 90, "texture": "#1_0"}, + "up": {"uv": [6, 0, 10, 10], "rotation": 180, "texture": "#1_0"}, + "down": {"uv": [6, 0, 10, 10], "texture": "#1_0"} + } + }, + { + "from": [0, 6, 3], + "to": [16, 10, 7], + "faces": { + "north": {"uv": [0, 7.5, 4, 8.5], "texture": "#1"}, + "east": {"uv": [1, 10.5, 2, 11.5], "texture": "#1"}, + "south": {"uv": [0, 7.5, 4, 8.5], "texture": "#1"}, + "west": {"uv": [2, 10.5, 3, 11.5], "texture": "#1"}, + "up": {"uv": [4, 8.5, 0, 7.5], "texture": "#1"}, + "down": {"uv": [4, 7.5, 0, 8.5], "texture": "#1"} + } + }, + { + "from": [0, 6, 9], + "to": [16, 10, 13], + "faces": { + "north": {"uv": [0, 7.5, 4, 8.5], "texture": "#1"}, + "east": {"uv": [10, 8.25, 11, 9.25], "texture": "#1"}, + "south": {"uv": [0, 7.5, 4, 8.5], "texture": "#1"}, + "west": {"uv": [9.5, 10.25, 10.5, 11.25], "texture": "#1"}, + "up": {"uv": [4, 8.5, 0, 7.5], "texture": "#1"}, + "down": {"uv": [4, 7.5, 0, 8.5], "texture": "#1"} + } + }, + { + "from": [5, 0, 4], + "to": [11, 3, 12], + "faces": { + "north": {"uv": [10, 0.75, 11.5, 1.5], "texture": "#1"}, + "east": {"uv": [9.5, 9.5, 11.5, 10.25], "texture": "#1"}, + "south": {"uv": [10, 0.75, 11.5, 1.5], "texture": "#1"}, + "west": {"uv": [10, 0, 12, 0.75], "texture": "#1"}, + "up": {"uv": [7, 11.5, 5.5, 9.5], "texture": "#1"}, + "down": {"uv": [9.5, 9.5, 8, 11.5], "texture": "#1"} + } + }, + { + "from": [1, 0, 1], + "to": [5, 3, 15], + "faces": { + "north": {"uv": [10.5, 4.25, 11.5, 5], "texture": "#1"}, + "east": {"uv": [1, 9.75, 4.5, 10.5], "texture": "#1"}, + "south": {"uv": [10.5, 4.25, 11.5, 5], "texture": "#1"}, + "west": {"uv": [1, 9.75, 4.5, 10.5], "texture": "#1"}, + "up": {"uv": [8, 12, 7, 8.5], "texture": "#1"}, + "down": {"uv": [1, 9.5, 0, 13], "texture": "#1"} + } + }, + { + "from": [11, 0, 1], + "to": [15, 3, 15], + "faces": { + "north": {"uv": [10.5, 4.25, 11.5, 5], "texture": "#1"}, + "east": {"uv": [1, 9.75, 4.5, 10.5], "texture": "#1"}, + "south": {"uv": [10.5, 4.25, 11.5, 5], "texture": "#1"}, + "west": {"uv": [1, 9.75, 4.5, 10.5], "texture": "#1"}, + "up": {"uv": [8, 15.5, 7, 12], "texture": "#1"}, + "down": {"uv": [5.5, 9.5, 4.5, 13], "texture": "#1"} + } + }, + { + "from": [3, 3, 2], + "to": [13, 13, 14], + "faces": { + "north": {"uv": [0, 5, 2.5, 7.5], "texture": "#1"}, + "east": {"uv": [0, 0, 3, 2.5], "texture": "#1"}, + "south": {"uv": [0, 5, 2.5, 7.5], "texture": "#1"}, + "west": {"uv": [0, 2.5, 3, 5], "texture": "#1"}, + "up": {"uv": [5.5, 3, 3, 0], "texture": "#1"}, + "down": {"uv": [5.5, 0, 3, 3], "texture": "#1"} + } + }, + { + "from": [4, 4, 14], + "to": [12, 12, 15], + "faces": { + "north": {"uv": [8, 0, 10, 2], "texture": "#1"}, + "east": {"uv": [12.75, 13, 13, 15], "texture": "#1"}, + "south": {"uv": [8, 7.5, 10, 9.5], "texture": "#1"}, + "west": {"uv": [10, 13, 10.25, 15], "texture": "#1"}, + "up": {"uv": [12.5, 13, 10.5, 12.75], "texture": "#1"}, + "down": {"uv": [12.5, 15, 10.5, 15.25], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/lubrication_oil.json b/build/resources/main/assets/tfmg/models/block/lubrication_oil.json new file mode 100644 index 00000000..57ed031a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/lubrication_oil.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "tfmg:fluid/lubrication_oil_still" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/magenta_concrete_bottom.json b/build/resources/main/assets/tfmg/models/block/magenta_concrete_bottom.json new file mode 100644 index 00000000..23d9d71c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/magenta_concrete_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/magenta_concrete", + "side": "tfmg:block/magenta_concrete", + "top": "tfmg:block/magenta_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/magenta_concrete_stairs_inner.json b/build/resources/main/assets/tfmg/models/block/magenta_concrete_stairs_inner.json new file mode 100644 index 00000000..d3942e73 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/magenta_concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/magenta_concrete", + "side": "tfmg:block/magenta_concrete", + "top": "tfmg:block/magenta_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/magenta_concrete_stairs_outer.json b/build/resources/main/assets/tfmg/models/block/magenta_concrete_stairs_outer.json new file mode 100644 index 00000000..2bf07e07 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/magenta_concrete_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/magenta_concrete", + "side": "tfmg:block/magenta_concrete", + "top": "tfmg:block/magenta_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/magenta_concrete_wall_side.json b/build/resources/main/assets/tfmg/models/block/magenta_concrete_wall_side.json new file mode 100644 index 00000000..7a9ad35e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/magenta_concrete_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/magenta_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/magenta_rebar_concrete.json b/build/resources/main/assets/tfmg/models/block/magenta_rebar_concrete.json new file mode 100644 index 00000000..e305735c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/magenta_rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/magenta_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/metal_smokestack/block.json b/build/resources/main/assets/tfmg/models/block/metal_smokestack/block.json new file mode 100644 index 00000000..a8f5bb3d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/metal_smokestack/block.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/smokestack/smokestack", + "textures": { + "0": "tfmg:block/metal_smokestack", + "particle": "tfmg:block/metal_smokestack" + } + +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/metal_smokestack/block_top.json b/build/resources/main/assets/tfmg/models/block/metal_smokestack/block_top.json new file mode 100644 index 00000000..818f95aa --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/metal_smokestack/block_top.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/smokestack/smokestack_top", + "textures": { + "0": "tfmg:block/metal_smokestack", + "particle": "tfmg:block/metal_smokestack" + } + +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/metal_smokestack/item.json b/build/resources/main/assets/tfmg/models/block/metal_smokestack/item.json new file mode 100644 index 00000000..818f95aa --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/metal_smokestack/item.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/smokestack/smokestack_top", + "textures": { + "0": "tfmg:block/metal_smokestack", + "particle": "tfmg:block/metal_smokestack" + } + +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/modern_light/block_powered.json b/build/resources/main/assets/tfmg/models/block/modern_light/block_powered.json new file mode 100644 index 00000000..ea0f887d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/modern_light/block_powered.json @@ -0,0 +1,25 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/industrial_aluminum_casing", + "2": "tfmg:block/aluminum_inlet", + "3": "tfmg:block/modern_light_on", + "particle": "tfmg:block/modern_light_on" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 3, 16], + "rotation": {"angle": 0, "axis": "z", "origin": [16, 2, 0]}, + "faces": { + "north": {"uv": [0, 13, 16, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [0, 13, 16, 16], "rotation": 180, "texture": "#1"}, + "south": {"uv": [0, 13, 16, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [0, 13, 16, 16], "rotation": 180, "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#3"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/modern_light/item.json b/build/resources/main/assets/tfmg/models/block/modern_light/item.json new file mode 100644 index 00000000..3e2a37ef --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/modern_light/item.json @@ -0,0 +1,25 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/modern_light_off", + "1": "tfmg:block/industrial_aluminum_casing", + "2": "tfmg:block/aluminum_inlet", + "particle": "tfmg:block/modern_light_off" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 3, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 2, 16]}, + "faces": { + "north": {"uv": [0, 13, 16, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [0, 13, 16, 16], "rotation": 180, "texture": "#1"}, + "south": {"uv": [0, 13, 16, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [0, 13, 16, 16], "rotation": 180, "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/modern_light/light.json b/build/resources/main/assets/tfmg/models/block/modern_light/light.json new file mode 100644 index 00000000..aa2f687a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/modern_light/light.json @@ -0,0 +1,33 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "tfmg:block/light", + "particle": "tfmg:block/light" + }, + "elements": [ + { + "from": [2, 2, 2.2], + "to": [14, 14, 3.2], + "rotation": {"angle": 0, "axis": "x", "origin": [1, 8, 8]}, + "faces": { + "east": {"uv": [0, 9, 10, 10], "rotation": 270, "texture": "#1"}, + "south": {"uv": [0, 8, 12, 16], "texture": "#1"}, + "west": {"uv": [1, 15, 11, 16], "rotation": 90, "texture": "#1"}, + "up": {"uv": [0, 9, 12, 10], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 9, 12, 10], "texture": "#1"} + } + }, + { + "from": [1.5, 1.5, 2.2], + "to": [14.5, 14.5, 3.7], + "rotation": {"angle": 0, "axis": "x", "origin": [1, 8, 8]}, + "faces": { + "east": {"uv": [0, 9, 10, 10], "rotation": 270, "texture": "#1"}, + "south": {"uv": [0, 8, 12, 16], "texture": "#1"}, + "west": {"uv": [1, 15, 11, 16], "rotation": 90, "texture": "#1"}, + "up": {"uv": [0, 9, 12, 10], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 9, 12, 10], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/molten_plastic.json b/build/resources/main/assets/tfmg/models/block/molten_plastic.json new file mode 100644 index 00000000..b409ece2 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/molten_plastic.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "tfmg:fluid/molten_plastic_still" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/napalm.json b/build/resources/main/assets/tfmg/models/block/napalm.json new file mode 100644 index 00000000..7bef9534 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/napalm.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "tfmg:fluid/napalm_still" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/napalm_bomb/block.json b/build/resources/main/assets/tfmg/models/block/napalm_bomb/block.json new file mode 100644 index 00000000..953c5d88 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/napalm_bomb/block.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "top": "tfmg:block/napalm_bomb_top", + "bottom": "tfmg:block/napalm_bomb_bottom", + "side": "tfmg:block/napalm_bomb_side" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/naphtha.json b/build/resources/main/assets/tfmg/models/block/naphtha.json new file mode 100644 index 00000000..0751af99 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/naphtha.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "tfmg:fluid/naphtha_still" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/neon_tube/block_north.json b/build/resources/main/assets/tfmg/models/block/neon_tube/block_north.json new file mode 100644 index 00000000..4b2c09fa --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/neon_tube/block_north.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/neon_tube", + "particle": "tfmg:block/neon_tube" + }, + "elements": [ + { + "from": [6, 6, 0], + "to": [10, 10, 6], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [5, 0, 9, 4], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 4, 6], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5, 0, 9, 4], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 6], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 6], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 6], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/neon_tube/block_top.json b/build/resources/main/assets/tfmg/models/block/neon_tube/block_top.json new file mode 100644 index 00000000..770046fe --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/neon_tube/block_top.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/neon_tube", + "particle": "tfmg:block/neon_tube" + }, + "elements": [ + { + "from": [6, 10, 6], + "to": [10, 16, 10], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 6], "texture": "#0"}, + "up": {"uv": [5, 0, 9, 4], "texture": "#0"}, + "down": {"uv": [5, 0, 9, 4], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/neon_tube/extension_bottom.json b/build/resources/main/assets/tfmg/models/block/neon_tube/extension_bottom.json new file mode 100644 index 00000000..8a1bf616 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/neon_tube/extension_bottom.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/neon_tube", + "particle": "tfmg:block/neon_tube" + }, + "elements": [ + { + "from": [6, 0, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 6], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 4, 6], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 0, 4, 6], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 4, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5, 0, 9, 4], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/neon_tube/extension_east.json b/build/resources/main/assets/tfmg/models/block/neon_tube/extension_east.json new file mode 100644 index 00000000..db68d559 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/neon_tube/extension_east.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/neon_tube", + "particle": "tfmg:block/neon_tube" + }, + "elements": [ + { + "from": [10, 6, 6], + "to": [16, 10, 10], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 6], "rotation": 270, "texture": "#0"}, + "east": {"uv": [5, 0, 9, 4], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 4, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 6], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/neon_tube/extension_north.json b/build/resources/main/assets/tfmg/models/block/neon_tube/extension_north.json new file mode 100644 index 00000000..352cebed --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/neon_tube/extension_north.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/neon_tube", + "particle": "tfmg:block/neon_tube" + }, + "elements": [ + { + "from": [6, 6, 0], + "to": [10, 10, 6], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [5, 0, 9, 4], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 4, 6], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 4, 6], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 6], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 6], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/nickel_flywheel/flywheel.json b/build/resources/main/assets/tfmg/models/block/nickel_flywheel/flywheel.json new file mode 100644 index 00000000..d78d0b77 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/nickel_flywheel/flywheel.json @@ -0,0 +1,10 @@ +{ + "parent": "block/block", + "ambientocclusion": false, + "textures": { + "0": "tfmg:block/nickel_flywheel", + "1": "create:block/axis", + "2": "create:block/axis_top", + "particle": "tfmg:block/nickel_flywheel" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/nickel_frame/item.json b/build/resources/main/assets/tfmg/models/block/nickel_frame/item.json new file mode 100644 index 00000000..364cd724 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/nickel_frame/item.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/nickel_frame", + "particle": "tfmg:block/nickel_frame" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/nickel_side.json b/build/resources/main/assets/tfmg/models/block/nickel_side.json new file mode 100644 index 00000000..e1afc23a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/nickel_side.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/side", + "textures": { + "bars": "tfmg:block/bars/nickel_bars", + "edge": "tfmg:block/bars/nickel_bars_edge", + "particle": "tfmg:block/bars/nickel_bars" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/orange_concrete_top.json b/build/resources/main/assets/tfmg/models/block/orange_concrete_top.json new file mode 100644 index 00000000..9d2555a3 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/orange_concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/orange_concrete", + "side": "tfmg:block/orange_concrete", + "top": "tfmg:block/orange_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/orange_concrete_wall_side.json b/build/resources/main/assets/tfmg/models/block/orange_concrete_wall_side.json new file mode 100644 index 00000000..8a8f8920 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/orange_concrete_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/orange_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/pink_concrete.json b/build/resources/main/assets/tfmg/models/block/pink_concrete.json new file mode 100644 index 00000000..1de71f57 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/pink_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/pink_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/pink_concrete_bottom.json b/build/resources/main/assets/tfmg/models/block/pink_concrete_bottom.json new file mode 100644 index 00000000..aa4921d9 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/pink_concrete_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/pink_concrete", + "side": "tfmg:block/pink_concrete", + "top": "tfmg:block/pink_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/pink_concrete_stairs_inner.json b/build/resources/main/assets/tfmg/models/block/pink_concrete_stairs_inner.json new file mode 100644 index 00000000..0adbeaa9 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/pink_concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/pink_concrete", + "side": "tfmg:block/pink_concrete", + "top": "tfmg:block/pink_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/pink_concrete_wall_side_tall.json b/build/resources/main/assets/tfmg/models/block/pink_concrete_wall_side_tall.json new file mode 100644 index 00000000..029ab817 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/pink_concrete_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/pink_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_block.json b/build/resources/main/assets/tfmg/models/block/plastic_block.json new file mode 100644 index 00000000..6ddcec3e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/plastic_block" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window.json b/build/resources/main/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window.json new file mode 100644 index 00000000..e7c4ffc4 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window.json @@ -0,0 +1,154 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "3": "tfmg:block/plastic_fluid_tank_window", + "4": "tfmg:block/plastic_fluid_tank_inner", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [4, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 1, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 4], + "faces": { + "east": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 1, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 4, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 1, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 12], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [0, 0, 1, 12], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 4, 0.95], + "to": [12, 16, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "north"}, + "south": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 4], + "to": [15.05, 16, 12], + "faces": { + "east": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "east"}, + "west": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 4, 15.05], + "to": [12, 16, 15.05], + "faces": { + "north": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "south"}, + "south": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 4], + "to": [0.95, 16, 12], + "faces": { + "east": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "west"}, + "west": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 4, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "west": {"uv": [15, 0, 16, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 12], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [15, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [4, 16, 16], + "faces": { + "north": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "east": {"uv": [15, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 16, 4], + "faces": { + "east": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "south": {"uv": [15, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window_ne.json b/build/resources/main/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window_ne.json new file mode 100644 index 00000000..76c723a3 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window_ne.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "3": "tfmg:block/plastic_fluid_tank_window", + "4": "tfmg:block/plastic_fluid_tank_inner", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 5, 12], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 4, 0.95], + "to": [4, 16, 0.95], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "south": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 12], + "to": [15.05, 16, 16], + "faces": { + "east": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [4, 4, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "west": {"uv": [11, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window_nw.json b/build/resources/main/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window_nw.json new file mode 100644 index 00000000..8dce39ce --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window_nw.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "3": "tfmg:block/plastic_fluid_tank_window", + "4": "tfmg:block/plastic_fluid_tank_inner", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [12, 16, 1], + "faces": { + "north": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "east": {"uv": [4, 0, 5, 12], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 12], + "to": [0.95, 16, 16], + "faces": { + "east": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [12, 4, 0.95], + "to": [16, 16, 0.95], + "faces": { + "north": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "south": {"uv": [11, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_fluid_tank/block_middle_window_se.json b/build/resources/main/assets/tfmg/models/block/plastic_fluid_tank/block_middle_window_se.json new file mode 100644 index 00000000..51faca72 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_fluid_tank/block_middle_window_se.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/plastic_fluid_tank", + "3": "tfmg:block/plastic_fluid_tank_window", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 0, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [4, 0, 5, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 0], + "to": [15.05, 16, 4], + "faces": { + "east": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 0, 15.05], + "to": [4, 16, 15.05], + "faces": { + "north": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 4], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [11, 0, 12, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_fluid_tank/block_single_window_se.json b/build/resources/main/assets/tfmg/models/block/plastic_fluid_tank/block_single_window_se.json new file mode 100644 index 00000000..e1300fa2 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_fluid_tank/block_single_window_se.json @@ -0,0 +1,104 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "4": "tfmg:block/plastic_fluid_tank_inner", + "5": "tfmg:block/plastic_fluid_tank_window_single", + "particle": "tfmg:block/fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 4, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "west": {"uv": [4, 4, 5, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 0], + "to": [15.05, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 8], "texture": "#5"}, + "west": {"uv": [4, 0, 8, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [0, 4, 15.05], + "to": [4, 12, 15.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 8], "texture": "#5"}, + "south": {"uv": [4, 0, 8, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 4], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [11, 4, 12, 12], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_fluid_tank/block_top_window_ne.json b/build/resources/main/assets/tfmg/models/block/plastic_fluid_tank/block_top_window_ne.json new file mode 100644 index 00000000..07162d28 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_fluid_tank/block_top_window_ne.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "3": "tfmg:block/plastic_fluid_tank_window", + "4": "tfmg:block/plastic_fluid_tank_inner", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "south": {"uv": [4, 4, 5, 16], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 0, 0.95], + "to": [4, 12, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "south": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 12], + "to": [15.05, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 0, 8, 12], "texture": "#3"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [4, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "west": {"uv": [11, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_fluid_tank/block_top_window_sw.json b/build/resources/main/assets/tfmg/models/block/plastic_fluid_tank/block_top_window_sw.json new file mode 100644 index 00000000..a74e0646 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_fluid_tank/block_top_window_sw.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "3": "tfmg:block/plastic_fluid_tank_window", + "4": "tfmg:block/plastic_fluid_tank_inner", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 4], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 5, 16], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 0, 15.05], + "to": [16, 12, 15.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 0, 8, 12], "texture": "#3"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0.95, 0, 0], + "to": [0.95, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "west": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "east": {"uv": [11, 4, 12, 16], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_fluid_valve/block_horizontal_closed.json b/build/resources/main/assets/tfmg/models/block/plastic_fluid_valve/block_horizontal_closed.json new file mode 100644 index 00000000..cab0b69f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_fluid_valve/block_horizontal_closed.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/plastic_fluid_valve", + "3": "tfmg:block/plastic_valve_closed", + "particle": "tfmg:block/plastic_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "down": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1.5, 9.5, 6.5, 14.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7, 9, 1, 15], "rotation": 90, "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_mechanical_pump/block.json b/build/resources/main/assets/tfmg/models/block/plastic_mechanical_pump/block.json new file mode 100644 index 00000000..65d6edc2 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_mechanical_pump/block.json @@ -0,0 +1,67 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/block", + "textures": { + "4": "tfmg:block/plastic_pump", + "particle": "tfmg:block/plastic_pump" + }, + "elements": [ + { + "from": [2, 13, 2], + "to": [14, 16, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 14.5, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "east": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "west": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "up": {"uv": [0, 0, 6, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#4"} + } + }, + { + "from": [2, 0, 2], + "to": [14, 3, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 1.5, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "east": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "west": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "up": {"uv": [0, 0, 6, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#4"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_pipe/connection/east.json b/build/resources/main/assets/tfmg/models/block/plastic_pipe/connection/east.json new file mode 100644 index 00000000..5d4cc134 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_pipe/connection/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "name": "connection_east", + "from": [12, 4, 4], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 6, 4, 8], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_pipe/connection/north.json b/build/resources/main/assets/tfmg/models/block/plastic_pipe/connection/north.json new file mode 100644 index 00000000..a83723d5 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_pipe/connection/north.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "name": "connection_north", + "from": [4, 4, 0], + "to": [12, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 4, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 2], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_pipe/connection/west.json b/build/resources/main/assets/tfmg/models/block/plastic_pipe/connection/west.json new file mode 100644 index 00000000..8438999d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_pipe/connection/west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "name": "connection_west", + "from": [0, 4, 4], + "to": [4, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 2], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_pipe/core_y.json b/build/resources/main/assets/tfmg/models/block/plastic_pipe/core_y.json new file mode 100644 index 00000000..fb79c2a2 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_pipe/core_y.json @@ -0,0 +1,18 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/plastic_pipes_connected", + "particle": "tfmg:block/plastic_block" + }, + "elements": [ + { + "name": "core_y", + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "up": {"uv": [12, 12, 16, 8], "rotation": 180, "texture": "#0"}, + "down": {"uv": [12, 8, 16, 12], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_pipe/core_z.json b/build/resources/main/assets/tfmg/models/block/plastic_pipe/core_z.json new file mode 100644 index 00000000..2981730e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_pipe/core_z.json @@ -0,0 +1,18 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/plastic_pipes_connected", + "particle": "tfmg:block/plastic_block" + }, + "elements": [ + { + "name": "core_z", + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "north": {"uv": [12, 8, 16, 12], "texture": "#0"}, + "south": {"uv": [16, 8, 12, 12], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_pipe/drain/east.json b/build/resources/main/assets/tfmg/models/block/plastic_pipe/drain/east.json new file mode 100644 index 00000000..88e2220a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_pipe/drain/east.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "from": [16.95, 4.95, 4.95], + "to": [19.95, 11.05, 11.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 8, 13.5, 11], "rotation": 180, "texture": "#0"}, + "east": {"uv": [13, 8, 16, 11], "texture": "#0"}, + "south": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "up": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "down": {"uv": [12, 8, 13.5, 11], "texture": "#0"} + } + }, + { + "from": [14, 2.95, 2.95], + "to": [17.1, 13.05, 13.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 16, 10.5, 11], "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "south": {"uv": [10.5, 11, 9, 16], "texture": "#0"}, + "west": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "up": {"uv": [10.5, 11, 9, 16], "texture": "#0"}, + "down": {"uv": [10.5, 16, 9, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_pipe/drain/north.json b/build/resources/main/assets/tfmg/models/block/plastic_pipe/drain/north.json new file mode 100644 index 00000000..3562ebbe --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_pipe/drain/north.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "from": [2.95, 2.95, -1.1], + "to": [13.05, 13.05, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "east": {"uv": [10.5, 11, 9, 16], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "west": {"uv": [9, 16, 10.5, 11], "texture": "#0"}, + "up": {"uv": [9, 11, 10.5, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4.95, 4.95, -3.95], + "to": [11.05, 11.05, -0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [13, 8, 16, 11], "texture": "#0"}, + "east": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "west": {"uv": [12, 8, 13.5, 11], "rotation": 180, "texture": "#0"}, + "up": {"uv": [12, 8, 13.5, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_pipe/drain/up.json b/build/resources/main/assets/tfmg/models/block/plastic_pipe/drain/up.json new file mode 100644 index 00000000..2b1372fa --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_pipe/drain/up.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "from": [2.95, 14, 2.95], + "to": [13.05, 17.1, 13.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 11, 11, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16, 11, 11, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4.95, 16.95, 4.95], + "to": [11.05, 19.95, 11.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [13, 11, 16, 8], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_pipe/l_y.json b/build/resources/main/assets/tfmg/models/block/plastic_pipe/l_y.json new file mode 100644 index 00000000..c9a31701 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_pipe/l_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 4.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_pipe/l_z.json b/build/resources/main/assets/tfmg/models/block/plastic_pipe/l_z.json new file mode 100644 index 00000000..8876320e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_pipe/l_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 8.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 4.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_pipe/rd_x.json b/build/resources/main/assets/tfmg/models/block/plastic_pipe/rd_x.json new file mode 100644 index 00000000..e72925d5 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_pipe/rd_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 12.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 8.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_pipe/rim/down.json b/build/resources/main/assets/tfmg/models/block/plastic_pipe/rim/down.json new file mode 100644 index 00000000..baf7457f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_pipe/rim/down.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "faces": { + "north": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 270, "texture": "#0", "cullface": "down"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_pipe/rim/south.json b/build/resources/main/assets/tfmg/models/block/plastic_pipe/rim/south.json new file mode 100644 index 00000000..5f6e7096 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_pipe/rim/south.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "east": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "south"}, + "west": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "up": {"uv": [9.5, 16, 10.5, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [10.5, 11, 9.5, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_pipe/rim_connector/down.json b/build/resources/main/assets/tfmg/models/block/plastic_pipe/rim_connector/down.json new file mode 100644 index 00000000..f052e8e8 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_pipe/rim_connector/down.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "name": "rim_down", + "from": [4, 0, 4], + "to": [12, 4, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 6, 8, 8], "texture": "#0"}, + "east": {"uv": [4, 6, 8, 8], "texture": "#0"}, + "south": {"uv": [8, 6, 4, 8], "texture": "#0"}, + "west": {"uv": [8, 6, 4, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_pipe/rim_connector/north.json b/build/resources/main/assets/tfmg/models/block/plastic_pipe/rim_connector/north.json new file mode 100644 index 00000000..f8e01271 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_pipe/rim_connector/north.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "name": "rim_north", + "from": [4, 4, 0], + "to": [12, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [4, 0, 8, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [4, 2, 8, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 2, 8, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4, 0, 8, 2], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_pipe/ud_x.json b/build/resources/main/assets/tfmg/models/block/plastic_pipe/ud_x.json new file mode 100644 index 00000000..16d6b3d6 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_pipe/ud_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 0.0, + 8.0, + 4.0, + 12.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_pipe/ud_y.json b/build/resources/main/assets/tfmg/models/block/plastic_pipe/ud_y.json new file mode 100644 index 00000000..c55f857c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_pipe/ud_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 4.0, + 12.0, + 0.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_pipe/window.json b/build/resources/main/assets/tfmg/models/block/plastic_pipe/window.json new file mode 100644 index 00000000..9f799834 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_pipe/window.json @@ -0,0 +1,51 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_glass_fluid_pipe", + "particle": "tfmg:block/plastic_block" + }, + "elements": [ + { + "name": "Outer", + "from": [4, 0, 4], + "to": [12, 16, 12], + "faces": { + "north": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [4.1, 0, 11.9], + "to": [11.9, 16, 4.1], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 8]}, + "faces": { + "north": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [10, 0, 4], + "to": [6, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 0, 10], + "to": [12, 16, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 0, 10]}, + "faces": { + "north": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_smart_fluid_pipe/block.json b/build/resources/main/assets/tfmg/models/block/plastic_smart_fluid_pipe/block.json new file mode 100644 index 00000000..4c559ed9 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_smart_fluid_pipe/block.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "2": "tfmg:block/plastic_smart_pipe_1", + "3": "tfmg:block/plastic_smart_pipe_2", + "4": "tfmg:block/plastic_pipes", + "5": "tfmg:block/plastic_smart_pipe_3", + "particle": "tfmg:block/plastic_block" + }, + "elements": [ + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [3, 3, 13, 13], "texture": "#5"}, + "east": {"uv": [13, 3, 3, 13], "texture": "#2"}, + "south": {"uv": [3, 3, 13, 13], "texture": "#5"}, + "west": {"uv": [3, 3, 13, 13], "texture": "#2"}, + "up": {"uv": [13, 3, 3, 13], "rotation": 270, "texture": "#2"}, + "down": {"uv": [3, 3, 13, 13], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [4.5, 5, 7.15], + "to": [11.5, 12, 13.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [1, 9, 7, 15], "texture": "#3"}, + "east": {"uv": [0, 0, 6, 7], "texture": "#3"}, + "west": {"uv": [0, 0, 6, 7], "rotation": 180, "texture": "#3"}, + "up": {"uv": [0, 0, 6, 7], "rotation": 270, "texture": "#3"}, + "down": {"uv": [0, 0, 6, 7], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [3.9, 4.4, 4.15], + "to": [12.1, 12.6, 7.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [8, 8, 16, 16], "texture": "#3"}, + "east": {"uv": [13, 0, 16, 8], "texture": "#3"}, + "south": {"uv": [0, 8, 8, 16], "texture": "#3"}, + "west": {"uv": [13, 8, 16, 0], "rotation": 180, "texture": "#3"}, + "up": {"uv": [13, 8, 16, 0], "rotation": 270, "texture": "#3"}, + "down": {"uv": [13, 0, 16, 8], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [4, 4, 0], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 4, 0]}, + "faces": { + "east": {"uv": [4, 8, 8, 0], "rotation": 90, "texture": "#4"}, + "west": {"uv": [4, 0, 8, 8], "rotation": 90, "texture": "#4"}, + "up": {"uv": [4, 8, 8, 0], "texture": "#4"}, + "down": {"uv": [4, 0, 8, 8], "texture": "#4"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/plastic_smart_fluid_pipe/item.json b/build/resources/main/assets/tfmg/models/block/plastic_smart_fluid_pipe/item.json new file mode 100644 index 00000000..6400cd39 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/plastic_smart_fluid_pipe/item.json @@ -0,0 +1,119 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/plastic_pipes", + "2": "tfmg:block/plastic_smart_pipe_1", + "3": "tfmg:block/plastic_smart_pipe_2", + "4": "tfmg:block/plastic_smart_pipe_3", + "particle": "tfmg:block/plastic_smart_pipe_3" + }, + "elements": [ + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [10.5, 11, 9.5, 16], "texture": "#1"}, + "south": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [9.5, 11, 10.5, 16], "texture": "#1"}, + "up": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 16]}, + "faces": { + "north": {"uv": [16, 11, 11, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [9.5, 11, 10.5, 16], "texture": "#1"}, + "south": {"uv": [16, 11, 11, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [10.5, 11, 9.5, 16], "texture": "#1"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [3, 3, 13, 13], "texture": "#4"}, + "east": {"uv": [13, 3, 3, 13], "texture": "#2"}, + "south": {"uv": [3, 3, 13, 13], "texture": "#4"}, + "west": {"uv": [3, 3, 13, 13], "texture": "#2"}, + "up": {"uv": [13, 3, 3, 13], "rotation": 270, "texture": "#2"}, + "down": {"uv": [3, 3, 13, 13], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [4.5, 5, 7.15], + "to": [11.5, 12, 13.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [1, 9, 7, 15], "texture": "#3"}, + "east": {"uv": [0, 0, 6, 7], "texture": "#3"}, + "west": {"uv": [0, 0, 6, 7], "rotation": 180, "texture": "#3"}, + "up": {"uv": [0, 0, 6, 7], "rotation": 270, "texture": "#3"}, + "down": {"uv": [0, 0, 6, 7], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [3.9, 4.4, 4.15], + "to": [12.1, 12.6, 7.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [8, 8, 16, 16], "texture": "#3"}, + "east": {"uv": [13, 0, 16, 8], "texture": "#3"}, + "south": {"uv": [0, 8, 8, 16], "texture": "#3"}, + "west": {"uv": [13, 8, 16, 0], "rotation": 180, "texture": "#3"}, + "up": {"uv": [13, 8, 16, 0], "rotation": 270, "texture": "#3"}, + "down": {"uv": [13, 0, 16, 8], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [4, 4, 0], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 4, 0]}, + "faces": { + "east": {"uv": [4, 8, 8, 0], "rotation": 90, "texture": "#1"}, + "west": {"uv": [4, 0, 8, 8], "rotation": 90, "texture": "#1"}, + "up": {"uv": [4, 8, 8, 0], "texture": "#1"}, + "down": {"uv": [4, 0, 8, 8], "texture": "#1"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [0, 90, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/polarizer/block.json b/build/resources/main/assets/tfmg/models/block/polarizer/block.json new file mode 100644 index 00000000..ae3f94e2 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/polarizer/block.json @@ -0,0 +1,257 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_casing", + "1": "tfmg:block/steel_casing_slab", + "2": "tfmg:block/polarizer_back", + "3": "tfmg:block/polarizer_top", + "4": "tfmg:block/polarizer_front", + "particle": "tfmg:block/steel_casing" + }, + "elements": [ + { + "from": [0, 0, 1], + "to": [16, 8, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 2, 0]}, + "faces": { + "north": {"uv": [0, 8, 16, 16], "texture": "#4"}, + "east": {"uv": [0, 8, 15, 16], "texture": "#1"}, + "south": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "west": {"uv": [1, 8, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 1, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 15], "texture": "#0"} + } + }, + { + "from": [4, 8, 1], + "to": [12, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 0]}, + "faces": { + "north": {"uv": [4, 4, 12, 8], "texture": "#4"}, + "east": {"uv": [1, 8, 2, 12], "texture": "#4"}, + "south": {"uv": [4, 0, 12, 4], "texture": "#4"}, + "west": {"uv": [14, 8, 15, 12], "texture": "#4"}, + "up": {"uv": [4, 0, 12, 1], "texture": "#4"} + } + }, + { + "from": [4, 11, 0], + "to": [12, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 10, 0]}, + "faces": { + "north": {"uv": [4, 4, 12, 5], "texture": "#4"}, + "east": {"uv": [4, 4, 5, 5], "texture": "#4"}, + "west": {"uv": [11, 4, 12, 5], "texture": "#4"}, + "up": {"uv": [4, 15, 12, 16], "texture": "#4"}, + "down": {"uv": [4, 4, 12, 5], "texture": "#4"} + } + }, + { + "from": [11, 8, 0], + "to": [12, 11, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 9, 0]}, + "faces": { + "north": {"uv": [4, 5, 5, 8], "texture": "#4"}, + "east": {"uv": [4, 5, 5, 8], "texture": "#4"}, + "west": {"uv": [4, 5, 5, 8], "texture": "#4"} + } + }, + { + "from": [4, 8, 0], + "to": [5, 11, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 9, 0]}, + "faces": { + "north": {"uv": [11, 5, 12, 8], "texture": "#4"}, + "east": {"uv": [11, 5, 12, 8], "texture": "#4"}, + "west": {"uv": [11, 5, 12, 8], "texture": "#4"} + } + }, + { + "from": [0, 0, 0], + "to": [5, 8, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 2, 0]}, + "faces": { + "north": {"uv": [11, 8, 16, 16], "texture": "#4"}, + "east": {"uv": [15, 8, 16, 16], "texture": "#4"}, + "west": {"uv": [0, 8, 1, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 5, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 5, 1], "texture": "#0"} + } + }, + { + "from": [11, 0, 0], + "to": [16, 8, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [11, 2, 0]}, + "faces": { + "north": {"uv": [0, 8, 5, 16], "texture": "#4"}, + "east": {"uv": [15, 8, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 8, 1, 16], "texture": "#4"}, + "up": {"uv": [11, 0, 16, 1], "texture": "#0"}, + "down": {"uv": [11, 0, 16, 1], "texture": "#0"} + } + }, + { + "from": [5, 0, 0], + "to": [11, 7, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 2, 0]}, + "faces": { + "north": {"uv": [5, 9, 11, 16], "texture": "#4"}, + "up": {"uv": [5, 9, 11, 10], "texture": "#4"}, + "down": {"uv": [5, 0, 11, 1], "texture": "#0"} + } + }, + { + "from": [5, 8, 14], + "to": [11, 11, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 14]}, + "faces": { + "north": {"uv": [0, 0, 6, 4], "texture": "#2"}, + "east": {"uv": [0, 4, 2, 7], "texture": "#0"}, + "south": {"uv": [5, 5, 11, 8], "texture": "#2"}, + "west": {"uv": [14, 5, 16, 8], "texture": "#0"}, + "up": {"uv": [5, 14, 11, 16], "texture": "#2"} + } + }, + { + "from": [6, 8, 7], + "to": [6, 14, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 8, 7]}, + "faces": { + "north": {"uv": [0, 0, 0, 6], "texture": "#3"}, + "east": {"uv": [0, 0, 2, 6], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 6], "texture": "#3"}, + "west": {"uv": [0, 0, 2, 6], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#3"} + } + }, + { + "from": [5, 14, 5], + "to": [7, 14, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 14, 7]}, + "faces": { + "north": {"uv": [0, 0, 2, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 6, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 2, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 6, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 2, 6], "texture": "#3"}, + "down": {"uv": [0, 0, 2, 6], "texture": "#3"} + } + }, + { + "from": [10, 8, 7], + "to": [10, 14, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [0, 0, 0, 6], "texture": "#3"}, + "east": {"uv": [0, 0, 2, 6], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 6], "texture": "#3"}, + "west": {"uv": [0, 0, 2, 6], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#3"} + } + }, + { + "from": [9, 14, 5], + "to": [11, 14, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 14, 7]}, + "faces": { + "north": {"uv": [0, 0, 2, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 6, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 2, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 6, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 2, 6], "texture": "#3"}, + "down": {"uv": [0, 0, 2, 6], "texture": "#3"} + } + }, + { + "from": [1, 8, 4], + "to": [5, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 8, 5]}, + "faces": { + "north": {"uv": [12, 0, 16, 4], "texture": "#3"}, + "east": {"uv": [12, 4, 8, 11], "rotation": 90, "texture": "#3"}, + "south": {"uv": [12, 0, 16, 4], "texture": "#3"}, + "west": {"uv": [12, 11, 8, 4], "rotation": 90, "texture": "#3"}, + "up": {"uv": [12, 4, 16, 11], "texture": "#3"} + } + }, + { + "from": [11, 8, 4], + "to": [15, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 8, 5]}, + "faces": { + "north": {"uv": [12, 0, 16, 4], "texture": "#3"}, + "east": {"uv": [12, 4, 8, 11], "rotation": 90, "texture": "#3"}, + "south": {"uv": [12, 0, 16, 4], "texture": "#3"}, + "west": {"uv": [12, 11, 8, 4], "rotation": 90, "texture": "#3"}, + "up": {"uv": [12, 4, 16, 11], "texture": "#3"} + } + }, + { + "from": [4, 8, 11], + "to": [4, 10, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 8, 11]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "east": {"uv": [16, 11, 13, 13], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "west": {"uv": [13, 11, 16, 13], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 3], "texture": "#3"}, + "down": {"uv": [0, 0, 0, 3], "texture": "#3"} + } + }, + { + "from": [12, 8, 11], + "to": [12, 10, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 8, 11]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "east": {"uv": [16, 11, 13, 13], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "west": {"uv": [13, 11, 16, 13], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 3], "texture": "#3"}, + "down": {"uv": [0, 0, 0, 3], "texture": "#3"} + } + }, + { + "from": [14, 8, 11], + "to": [14, 10, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 8, 11]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "east": {"uv": [16, 11, 13, 13], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "west": {"uv": [13, 11, 16, 13], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 3], "texture": "#3"}, + "down": {"uv": [0, 0, 0, 3], "texture": "#3"} + } + }, + { + "from": [2, 8, 11], + "to": [2, 10, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 11]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "east": {"uv": [16, 11, 13, 13], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "west": {"uv": [13, 11, 16, 13], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 3], "texture": "#3"}, + "down": {"uv": [0, 0, 0, 3], "texture": "#3"} + } + }, + { + "from": [7, 7, 0.9], + "to": [9, 8, 0.9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 1]}, + "faces": { + "north": {"uv": [7, 8, 9, 9], "texture": "#4"}, + "east": {"uv": [0, 0, 0, 1], "texture": "#missing"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#missing"}, + "up": {"uv": [0, 0, 2, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 2, 0], "texture": "#missing"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/polarizer/block_old.json b/build/resources/main/assets/tfmg/models/block/polarizer/block_old.json new file mode 100644 index 00000000..d87e2cec --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/polarizer/block_old.json @@ -0,0 +1,119 @@ +{ + "credit": "Made with Blockbench", + "parent":"block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/polarizer", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 8, 16], + "faces": { + "north": {"uv": [8, 0, 16, 4.5], "texture": "#0"}, + "east": {"uv": [8, 0, 16, 4.5], "texture": "#0"}, + "south": {"uv": [8, 0, 16, 4.5], "texture": "#0"}, + "west": {"uv": [8, 7.5, 16, 12], "texture": "#0"}, + "up": {"uv": [0, 8, 8, 16], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#0"} + } + }, + { + "from": [0, 8, 5], + "to": [5, 11, 11], + "faces": { + "north": {"uv": [8.5, 12.5, 10, 15], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8.5, 4.5, 10, 7.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [8.5, 12.5, 10, 15], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10.5, 6, 13.5, 7.5], "texture": "#0"}, + "up": {"uv": [10.5, 12.5, 13.5, 15], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [9, 8, 1], + "to": [14, 10, 4], + "faces": { + "north": {"uv": [1, 12.5, 2, 15], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0.5, 12.5, 2, 13.5], "texture": "#0"}, + "south": {"uv": [1, 12.5, 2, 15], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.5, 12.5, 2, 13.5], "texture": "#0"}, + "up": {"uv": [2, 15, 0.5, 12.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [9, 8, 12], + "to": [14, 10, 15], + "faces": { + "north": {"uv": [1, 12.5, 2, 15], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0.5, 12.5, 2, 13.5], "texture": "#0"}, + "south": {"uv": [1, 12.5, 2, 15], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.5, 12.5, 2, 13.5], "texture": "#0"}, + "up": {"uv": [2, 15, 0.5, 12.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [5, 11, 7], + "to": [5, 14, 9], + "faces": { + "north": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "east": {"uv": [15, 13.5, 16, 15], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "west": {"uv": [14, 13.5, 15, 15], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#0"} + } + }, + { + "from": [11, 8, 7], + "to": [11, 14, 9], + "faces": { + "north": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "east": {"uv": [14, 12.5, 15, 15.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "west": {"uv": [16, 12.5, 15, 15.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#0"} + } + }, + { + "from": [5, 12, 7], + "to": [11, 12, 9], + "faces": { + "north": {"uv": [0, 0, 0, 6], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 6], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 12.5, 15, 15.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 12.5, 15, 15.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 14, 5], + "to": [6, 14, 11], + "faces": { + "north": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "up": {"uv": [14, 4.5, 15, 7.5], "texture": "#0"}, + "down": {"uv": [15, 4.5, 16, 7.5], "texture": "#0"} + } + }, + { + "from": [10, 14, 5], + "to": [12, 14, 11], + "faces": { + "north": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "up": {"uv": [14, 4.5, 15, 7.5], "texture": "#0"}, + "down": {"uv": [15, 4.5, 16, 7.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/polarizer/item_old.json b/build/resources/main/assets/tfmg/models/block/polarizer/item_old.json new file mode 100644 index 00000000..d87e2cec --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/polarizer/item_old.json @@ -0,0 +1,119 @@ +{ + "credit": "Made with Blockbench", + "parent":"block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/polarizer", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 8, 16], + "faces": { + "north": {"uv": [8, 0, 16, 4.5], "texture": "#0"}, + "east": {"uv": [8, 0, 16, 4.5], "texture": "#0"}, + "south": {"uv": [8, 0, 16, 4.5], "texture": "#0"}, + "west": {"uv": [8, 7.5, 16, 12], "texture": "#0"}, + "up": {"uv": [0, 8, 8, 16], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#0"} + } + }, + { + "from": [0, 8, 5], + "to": [5, 11, 11], + "faces": { + "north": {"uv": [8.5, 12.5, 10, 15], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8.5, 4.5, 10, 7.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [8.5, 12.5, 10, 15], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10.5, 6, 13.5, 7.5], "texture": "#0"}, + "up": {"uv": [10.5, 12.5, 13.5, 15], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [9, 8, 1], + "to": [14, 10, 4], + "faces": { + "north": {"uv": [1, 12.5, 2, 15], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0.5, 12.5, 2, 13.5], "texture": "#0"}, + "south": {"uv": [1, 12.5, 2, 15], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.5, 12.5, 2, 13.5], "texture": "#0"}, + "up": {"uv": [2, 15, 0.5, 12.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [9, 8, 12], + "to": [14, 10, 15], + "faces": { + "north": {"uv": [1, 12.5, 2, 15], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0.5, 12.5, 2, 13.5], "texture": "#0"}, + "south": {"uv": [1, 12.5, 2, 15], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.5, 12.5, 2, 13.5], "texture": "#0"}, + "up": {"uv": [2, 15, 0.5, 12.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [5, 11, 7], + "to": [5, 14, 9], + "faces": { + "north": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "east": {"uv": [15, 13.5, 16, 15], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "west": {"uv": [14, 13.5, 15, 15], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#0"} + } + }, + { + "from": [11, 8, 7], + "to": [11, 14, 9], + "faces": { + "north": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "east": {"uv": [14, 12.5, 15, 15.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "west": {"uv": [16, 12.5, 15, 15.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#0"} + } + }, + { + "from": [5, 12, 7], + "to": [11, 12, 9], + "faces": { + "north": {"uv": [0, 0, 0, 6], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 6], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 12.5, 15, 15.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 12.5, 15, 15.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 14, 5], + "to": [6, 14, 11], + "faces": { + "north": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "up": {"uv": [14, 4.5, 15, 7.5], "texture": "#0"}, + "down": {"uv": [15, 4.5, 16, 7.5], "texture": "#0"} + } + }, + { + "from": [10, 14, 5], + "to": [12, 14, 11], + "faces": { + "north": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "up": {"uv": [14, 4.5, 15, 7.5], "texture": "#0"}, + "down": {"uv": [15, 4.5, 16, 7.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/polished_cut_bauxite_slab.json b/build/resources/main/assets/tfmg/models/block/polished_cut_bauxite_slab.json new file mode 100644 index 00000000..f4a54ec1 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/polished_cut_bauxite_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished", + "side": "tfmg:block/palettes/stone_types/slab/bauxite_cut_slab", + "top": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/polished_cut_bauxite_stairs.json b/build/resources/main/assets/tfmg/models/block/polished_cut_bauxite_stairs.json new file mode 100644 index 00000000..617300f9 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/polished_cut_bauxite_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished", + "side": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished", + "top": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/polished_cut_bauxite_stairs_outer.json b/build/resources/main/assets/tfmg/models/block/polished_cut_bauxite_stairs_outer.json new file mode 100644 index 00000000..6f505abb --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/polished_cut_bauxite_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished", + "side": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished", + "top": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/polished_cut_galena_slab_double.json b/build/resources/main/assets/tfmg/models/block/polished_cut_galena_slab_double.json new file mode 100644 index 00000000..5cdac9ac --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/polished_cut_galena_slab_double.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "tfmg:block/palettes/stone_types/polished/galena_cut_polished", + "side": "tfmg:block/palettes/stone_types/slab/galena_cut_slab" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/polished_cut_galena_slab_top.json b/build/resources/main/assets/tfmg/models/block/polished_cut_galena_slab_top.json new file mode 100644 index 00000000..fb776dc4 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/polished_cut_galena_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/polished/galena_cut_polished", + "side": "tfmg:block/palettes/stone_types/slab/galena_cut_slab", + "top": "tfmg:block/palettes/stone_types/polished/galena_cut_polished" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/polished_cut_galena_wall_post.json b/build/resources/main/assets/tfmg/models/block/polished_cut_galena_wall_post.json new file mode 100644 index 00000000..e65ad9f0 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/polished_cut_galena_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/palettes/stone_types/polished/galena_cut_polished" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/polished_cut_galena_wall_side_tall.json b/build/resources/main/assets/tfmg/models/block/polished_cut_galena_wall_side_tall.json new file mode 100644 index 00000000..1058c981 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/polished_cut_galena_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/palettes/stone_types/polished/galena_cut_polished" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/pumpjack/hammer.json b/build/resources/main/assets/tfmg/models/block/pumpjack/hammer.json new file mode 100644 index 00000000..55cd84b1 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/pumpjack/hammer.json @@ -0,0 +1,8 @@ +{ + "parent": "block/block", + "ambientocclusion": false, + "textures": { + "0": "tfmg:block/pumpjack_hammer", + "particle": "tfmg:block/steel_block" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/pumpjack/pumpjack_crank_block.json b/build/resources/main/assets/tfmg/models/block/pumpjack/pumpjack_crank_block.json new file mode 100644 index 00000000..acf57ca7 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/pumpjack/pumpjack_crank_block.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/pumpjack_crank", + "1": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/pumpjack_crank" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 8, 16], + "faces": { + "north": {"uv": [0, 4, 8, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 4], "texture": "#0"}, + "south": {"uv": [0, 4, 8, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 4], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [7, 8.01, 1], + "to": [9, 8.01, 2], + "faces": { + "north": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 2, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 0], "texture": "#missing"}, + "up": {"uv": [9.5, 3, 10.5, 3.5], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 2], "texture": "#missing"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/pumpjack/pumpjack_hammer.mtl b/build/resources/main/assets/tfmg/models/block/pumpjack/pumpjack_hammer.mtl new file mode 100644 index 00000000..e69de29b diff --git a/build/resources/main/assets/tfmg/models/block/pumpjack_crank.json b/build/resources/main/assets/tfmg/models/block/pumpjack_crank.json new file mode 100644 index 00000000..cabf8d13 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/pumpjack_crank.json @@ -0,0 +1,109 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/pumpjack_crank", + "1": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/pumpjack_crank" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 14, 16], + "faces": { + "north": {"uv": [0, 9, 8, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 7], "texture": "#0"}, + "south": {"uv": [0, 9, 8, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 7], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [0, 6, 6], + "to": [16, 10, 10], + "rotation": {"angle": 45, "axis": "x", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [8.5, 3.5, 10.5, 11.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [8.5, 4.5, 10.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8.5, 4.5, 10.5, 10.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8.5, 4.5, 10.5, 10.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-2, 0, 6], + "to": [0, 17, 10], + "rotation": {"angle": 45, "axis": "x", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [12, 2.5, 13, 11], "texture": "#0"}, + "east": {"uv": [11.5, 2.5, 13.5, 11], "texture": "#0"}, + "south": {"uv": [12, 2.5, 13, 11], "texture": "#0"}, + "west": {"uv": [11.5, 2.5, 13.5, 11], "texture": "#0"}, + "down": {"uv": [12, 3, 13, 5], "texture": "#0"} + } + }, + { + "from": [-3, 17, 1], + "to": [0, 21, 15], + "rotation": {"angle": 45, "axis": "x", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [14, 6, 15.5, 8], "texture": "#0"}, + "east": {"uv": [9, 0.5, 16, 2.5], "texture": "#0"}, + "south": {"uv": [14, 6, 15.5, 8], "texture": "#0"}, + "west": {"uv": [9, 0.5, 16, 2.5], "texture": "#0"}, + "up": {"uv": [14, 2.5, 15.5, 9.5], "texture": "#0"}, + "down": {"uv": [14, 2.5, 15.5, 9.5], "texture": "#0"} + } + }, + { + "from": [16, 0, 6], + "to": [18, 17, 10], + "rotation": {"angle": 45, "axis": "x", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [12, 2.5, 13, 11], "texture": "#0"}, + "east": {"uv": [11.5, 2.5, 13.5, 11], "texture": "#0"}, + "south": {"uv": [12, 2.5, 13, 11], "texture": "#0"}, + "west": {"uv": [11.5, 2.5, 13.5, 11], "texture": "#0"}, + "down": {"uv": [12, 3, 13, 5], "texture": "#0"} + } + }, + { + "from": [16, 17, 1], + "to": [19, 21, 15], + "rotation": {"angle": 45, "axis": "x", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [14, 6, 15.5, 8], "texture": "#0"}, + "east": {"uv": [9, 0.5, 16, 2.5], "texture": "#0"}, + "south": {"uv": [14, 6, 15.5, 8], "texture": "#0"}, + "west": {"uv": [9, 0.5, 16, 2.5], "texture": "#0"}, + "up": {"uv": [14, 2.5, 15.5, 9.5], "texture": "#0"}, + "down": {"uv": [14, 2.5, 15.5, 9.5], "texture": "#0"} + } + }, + { + "from": [16, 21, 2], + "to": [19, 22, 14], + "rotation": {"angle": 45, "axis": "x", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [14, 5.5, 14.5, 7], "texture": "#0"}, + "east": {"uv": [9.5, 0, 15.5, 0.5], "texture": "#0"}, + "south": {"uv": [14, 5.5, 14.5, 7], "texture": "#0"}, + "west": {"uv": [9.5, 0, 15.5, 0.5], "texture": "#0"}, + "up": {"uv": [14, 3, 15.5, 9], "texture": "#0"} + } + }, + { + "from": [-3, 21, 2], + "to": [0, 22, 14], + "rotation": {"angle": 45, "axis": "x", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [14, 4.5, 14.5, 6], "texture": "#0"}, + "east": {"uv": [9.5, 0, 15.5, 0.5], "texture": "#0"}, + "south": {"uv": [14, 4.5, 14.5, 6], "texture": "#0"}, + "west": {"uv": [9.5, 0, 15.5, 0.5], "texture": "#0"}, + "up": {"uv": [14, 3, 15.5, 9], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/pumpjack_hammer_holder.json b/build/resources/main/assets/tfmg/models/block/pumpjack_hammer_holder.json new file mode 100644 index 00000000..e0767f6f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/pumpjack_hammer_holder.json @@ -0,0 +1,112 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_post", + "1": "tfmg:block/steel_truss", + "particle": "tfmg:block/aluminum_post" + }, + "elements": [ + { + "from": [0, 6, 6], + "to": [16, 10, 10], + "faces": { + "north": {"uv": [0, 0, 2, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8, 0, 10, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 0, 10, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 8], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 0, 2], + "to": [1, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 8], "texture": "#1"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 8], "texture": "#1"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#1"} + } + }, + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 3, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#1"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#1"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#1"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#1"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#1"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#1"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 1, 8], "texture": "#1"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#1"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#1"} + } + }, + { + "from": [15, 0, 2], + "to": [15, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 8], "texture": "#1"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 8], "texture": "#1"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "bone", + "origin": [0, 0, 0], + "color": 0, + "nbt": "{}", + "children": [] + }, + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/purple_concrete_bottom.json b/build/resources/main/assets/tfmg/models/block/purple_concrete_bottom.json new file mode 100644 index 00000000..78842bb9 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/purple_concrete_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/purple_concrete", + "side": "tfmg:block/purple_concrete", + "top": "tfmg:block/purple_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/purple_concrete_top.json b/build/resources/main/assets/tfmg/models/block/purple_concrete_top.json new file mode 100644 index 00000000..50012898 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/purple_concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/purple_concrete", + "side": "tfmg:block/purple_concrete", + "top": "tfmg:block/purple_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/purple_concrete_wall_post.json b/build/resources/main/assets/tfmg/models/block/purple_concrete_wall_post.json new file mode 100644 index 00000000..ef2707e7 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/purple_concrete_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/purple_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/purple_concrete_wall_side.json b/build/resources/main/assets/tfmg/models/block/purple_concrete_wall_side.json new file mode 100644 index 00000000..891921c2 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/purple_concrete_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/purple_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/radial_engine/block.json b/build/resources/main/assets/tfmg/models/block/radial_engine/block.json new file mode 100644 index 00000000..f407e154 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/radial_engine/block.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/large_radial_engine", + "particle": "tfmg:block/large_radial_engine" + }, + "elements": [ + { + "from": [-3, -3, 3], + "to": [19, 19, 13], + "faces": { + "north": {"uv": [0, 0, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [7, 4, 9.5, 9.5], "texture": "#0"}, + "south": {"uv": [0, 0, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [7, 4, 9.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 4, 9.5, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 4, 9.5, 9.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 5.5, 4, 9.5], "texture": "#0"}, + "east": {"uv": [4, 5.5, 7, 9.5], "texture": "#0"}, + "south": {"uv": [0, 5.5, 4, 9.5], "texture": "#0"}, + "west": {"uv": [4, 5.5, 7, 9.5], "texture": "#0"}, + "up": {"uv": [4, 5.5, 7, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 5.5, 7, 9.5], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/radial_engine/block_single.json b/build/resources/main/assets/tfmg/models/block/radial_engine/block_single.json new file mode 100644 index 00000000..f407e154 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/radial_engine/block_single.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/large_radial_engine", + "particle": "tfmg:block/large_radial_engine" + }, + "elements": [ + { + "from": [-3, -3, 3], + "to": [19, 19, 13], + "faces": { + "north": {"uv": [0, 0, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [7, 4, 9.5, 9.5], "texture": "#0"}, + "south": {"uv": [0, 0, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [7, 4, 9.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 4, 9.5, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 4, 9.5, 9.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 5.5, 4, 9.5], "texture": "#0"}, + "east": {"uv": [4, 5.5, 7, 9.5], "texture": "#0"}, + "south": {"uv": [0, 5.5, 4, 9.5], "texture": "#0"}, + "west": {"uv": [4, 5.5, 7, 9.5], "texture": "#0"}, + "up": {"uv": [4, 5.5, 7, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 5.5, 7, 9.5], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/radial_engine_input.json b/build/resources/main/assets/tfmg/models/block/radial_engine_input.json new file mode 100644 index 00000000..ec3ad772 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/radial_engine_input.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/radial_engine", + "particle": "tfmg:block/radial_engine" + }, + "elements": [ + { + "from": [6, 5.01, 6], + "to": [10, 16.01, 10], + "faces": { + "north": {"uv": [6.125, 4.25, 6.625, 5.625], "texture": "#0"}, + "east": {"uv": [6.125, 4.25, 6.625, 5.625], "texture": "#0"}, + "south": {"uv": [6.125, 4.25, 6.625, 5.625], "texture": "#0"}, + "west": {"uv": [6.125, 4.25, 6.625, 5.625], "texture": "#0"}, + "up": {"uv": [6.75, 4.25, 7.25, 4.75], "texture": "#0"}, + "down": {"uv": [6.75, 4.25, 7.25, 4.75], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/raw_lithium_block.json b/build/resources/main/assets/tfmg/models/block/raw_lithium_block.json new file mode 100644 index 00000000..452c2538 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/raw_lithium_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/raw_lithium_block" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/rebar_block/block.json b/build/resources/main/assets/tfmg/models/block/rebar_block/block.json new file mode 100644 index 00000000..fb727573 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/rebar_block/block.json @@ -0,0 +1,88 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/rebar_cage", + "particle": "tfmg:block/rebar_cage" + }, + "elements": [ + { + "from": [3, 0, 0], + "to": [3, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 13], + "to": [16, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [0, 0, 3], + "to": [16, 16, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [0, 13, 0], + "to": [16, 13, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [0, 3, 0], + "to": [16, 3, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [13, 0, 0], + "to": [13, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/rebar_floor/block.json b/build/resources/main/assets/tfmg/models/block/rebar_floor/block.json new file mode 100644 index 00000000..ea1fa073 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/rebar_floor/block.json @@ -0,0 +1,103 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/rebar_connecting_rods", + "1": "tfmg:block/rebar_floor", + "particle": "tfmg:block/rebar_connecting_rods" + }, + "elements": [ + { + "from": [0, 4, 6], + "to": [16, 12, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 6]}, + "faces": { + "north": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "south": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 0], "texture": "#0"} + } + }, + { + "from": [0, 4, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 4, 0]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [0, 12, 0], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 12, 0]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [0, 4, 10], + "to": [16, 12, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 10]}, + "faces": { + "north": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "south": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 0], "texture": "#0"} + } + }, + { + "from": [6, 4, 0], + "to": [6, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 4, 9]}, + "faces": { + "north": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "east": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "west": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 0], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [10, 4, 0], + "to": [10, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 4, 9]}, + "faces": { + "north": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "east": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "west": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 0], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"} + } + } + ], + "groups": [ + 0, + 1, + 2, + 3, + 4, + 5, + { + "name": "VoxelShapes", + "origin": [0, 0, 0], + "color": 0, + "children": [] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/rebar_stairs/block_upside_down.json b/build/resources/main/assets/tfmg/models/block/rebar_stairs/block_upside_down.json new file mode 100644 index 00000000..09515742 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/rebar_stairs/block_upside_down.json @@ -0,0 +1,103 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/rebar_connecting_rods", + "1": "tfmg:block/rebar_floor", + "2": "tfmg:block/rebar_stairs", + "particle": "tfmg:block/rebar_connecting_rods" + }, + "elements": [ + { + "from": [0, 12, 0], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#1"}, + "east": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#1"}, + "south": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#1"}, + "west": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [10, 4, 0], + "to": [10, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 8], "rotation": 180, "texture": "#missing"}, + "east": {"uv": [0, 8, 16, 16], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 8], "rotation": 180, "texture": "#missing"}, + "west": {"uv": [0, 8, 16, 16], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#missing"}, + "down": {"uv": [0, 0, 16, 0], "rotation": 270, "texture": "#missing"} + } + }, + { + "from": [8, 4, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 8, 0], "rotation": 180, "texture": "#1"}, + "east": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#1"}, + "south": {"uv": [0, 0, 8, 0], "rotation": 180, "texture": "#1"}, + "west": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#1"}, + "up": {"uv": [8, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [8, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [0, 4, 10], + "to": [16, 12, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 8, 16, 16], "rotation": 180, "texture": "#2"}, + "east": {"uv": [0, 0, 0, 8], "rotation": 180, "texture": "#2"}, + "south": {"uv": [16, 8, 0, 16], "rotation": 180, "texture": "#2"}, + "west": {"uv": [0, 0, 0, 8], "rotation": 180, "texture": "#2"}, + "up": {"uv": [0, 0, 16, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 16, 0], "texture": "#2"} + } + }, + { + "from": [0, 4, 6], + "to": [16, 12, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 8, 16, 16], "rotation": 180, "texture": "#2"}, + "east": {"uv": [0, 0, 0, 8], "rotation": 180, "texture": "#2"}, + "south": {"uv": [16, 8, 0, 16], "rotation": 180, "texture": "#2"}, + "west": {"uv": [0, 0, 0, 8], "rotation": 180, "texture": "#2"}, + "up": {"uv": [0, 0, 16, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 16, 0], "texture": "#2"} + } + }, + { + "from": [0, 9, 0], + "to": [8, 9, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 8, 0], "rotation": 180, "texture": "#1"}, + "east": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#1"}, + "south": {"uv": [0, 0, 8, 0], "rotation": 180, "texture": "#1"}, + "west": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#1"}, + "up": {"uv": [0, 0, 8, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 8, 16], "texture": "#1"} + } + }, + { + "from": [6, 9, 0], + "to": [6, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 8], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 8, 16, 16], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 8], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 13, 16, 16], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 16, 0], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/rebar_wall/item.json b/build/resources/main/assets/tfmg/models/block/rebar_wall/item.json new file mode 100644 index 00000000..d94fcfa2 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/rebar_wall/item.json @@ -0,0 +1,58 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/rebar_wall", + "particle": "tfmg:block/rebar_wall" + }, + "elements": [ + { + "from": [4.5, 0, 3.5], + "to": [4.5, 16, 12.5], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 9], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 9], "texture": "#0"} + } + }, + { + "from": [3.5, 0, 4.5], + "to": [12.5, 16, 4.5], + "faces": { + "north": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 9], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3.5, 0, 11.5], + "to": [12.5, 16, 11.5], + "faces": { + "north": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 9], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [11.5, 0, 3.5], + "to": [11.5, 16, 12.5], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 9], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 9], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/red_concrete_wall_post.json b/build/resources/main/assets/tfmg/models/block/red_concrete_wall_post.json new file mode 100644 index 00000000..6965aa4c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/red_concrete_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/red_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/regular_engine/block_back_extended.json b/build/resources/main/assets/tfmg/models/block/regular_engine/block_back_extended.json new file mode 100644 index 00000000..a4968bca --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/regular_engine/block_back_extended.json @@ -0,0 +1,122 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "tfmg:block/engines/engine_bottom", + "2": "tfmg:block/engines/engine_front", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "5": "tfmg:block/engines/engine_back", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [13, 0, 1], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 9, 3, 16], "texture": "#2"}, + "east": {"uv": [1, 9, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 9, 16, 16], "texture": "#5"}, + "up": {"uv": [0, 0, 3, 14], "texture": "#4"}, + "down": {"uv": [13, 1, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 2], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#2"}, + "east": {"uv": [1, 3, 15, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#5"}, + "west": {"uv": [1, 3, 15, 15], "texture": "#3"}, + "up": {"uv": [3, 1, 13, 15], "texture": "#4"}, + "down": {"uv": [3, 1, 13, 15], "texture": "#1"} + } + }, + { + "from": [0, 0, 1], + "to": [3, 7, 16], + "faces": { + "north": {"uv": [13, 9, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 9, 3, 16], "texture": "#5"}, + "west": {"uv": [0, 9, 15, 16], "texture": "#3"}, + "up": {"uv": [13, 0, 16, 14], "texture": "#4"}, + "down": {"uv": [0, 1, 3, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 1], + "to": [13, 5, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 0, 0]}, + "faces": { + "north": {"uv": [3, 11, 13, 16], "texture": "#2"}, + "east": {"uv": [0, 0, 1, 5], "texture": "#missing"}, + "west": {"uv": [0, 0, 1, 5], "texture": "#missing"}, + "up": {"uv": [3, 11, 13, 12], "texture": "#2"}, + "down": {"uv": [3, 0, 13, 1], "texture": "#1"} + } + }, + { + "from": [11, 5, 1], + "to": [13, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 5, 0]}, + "faces": { + "north": {"uv": [3, 4, 5, 11], "texture": "#2"}, + "east": {"uv": [0, 3, 1, 10], "texture": "#3"}, + "west": {"uv": [4, 4, 5, 11], "texture": "#2"}, + "up": {"uv": [11, 0, 13, 1], "texture": "#4"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#missing"} + } + }, + { + "from": [3, 5, 1], + "to": [5, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [-5, 5, 0]}, + "faces": { + "north": {"uv": [11, 4, 13, 11], "texture": "#2"}, + "east": {"uv": [11, 4, 12, 11], "texture": "#2"}, + "west": {"uv": [0, 3, 1, 10], "texture": "#3"}, + "up": {"uv": [3, 0, 5, 1], "texture": "#4"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#missing"} + } + }, + { + "from": [5, 11, 1], + "to": [11, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [-1, 5, 0]}, + "faces": { + "north": {"uv": [5, 4, 11, 5], "texture": "#2"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#missing"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#missing"}, + "up": {"uv": [5, 0, 11, 1], "texture": "#4"}, + "down": {"uv": [4.7, 4.2, 10.7, 5.2], "texture": "#2"} + } + }, + { + "from": [13, 7, 1], + "to": [16, 11, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [16, 4, 13, 8], "texture": "#3"}, + "east": {"uv": [1, 9, 16, 13], "texture": "#3"}, + "south": {"uv": [3, 5, 0, 9], "texture": "#5"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "up": {"uv": [0, 12, 15, 9], "rotation": 90, "texture": "#3"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#3"} + } + }, + { + "from": [0, 7, 1], + "to": [3, 11, 16], + "faces": { + "north": {"uv": [13, 4, 16, 8], "texture": "#3"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "south": {"uv": [0, 5, 3, 9], "texture": "#5"}, + "west": {"uv": [16, 9, 1, 13], "texture": "#3"}, + "up": {"uv": [0, 9, 15, 12], "rotation": 90, "texture": "#3"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#3"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/regular_engine/block_front_extended.json b/build/resources/main/assets/tfmg/models/block/regular_engine/block_front_extended.json new file mode 100644 index 00000000..4b093630 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/regular_engine/block_front_extended.json @@ -0,0 +1,98 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "tfmg:block/engines/engine_bottom", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "5": "tfmg:block/engines/engine_back", + "6": "tfmg:block/engines/engine_front_tall", + "7": "tfmg:block/engines/engine_side_tall", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [13, 0, 1], + "to": [16, 11, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 5, 3, 16], "texture": "#6"}, + "east": {"uv": [1, 5, 16, 16], "texture": "#7"}, + "south": {"uv": [13, 5, 16, 16], "texture": "#5"}, + "up": {"uv": [0, 0, 3, 14], "texture": "#4"}, + "down": {"uv": [13, 1, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 2], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#6"}, + "east": {"uv": [1, 3, 15, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#5"}, + "west": {"uv": [1, 3, 15, 15], "texture": "#3"}, + "up": {"uv": [3, 1, 13, 15], "texture": "#4"}, + "down": {"uv": [3, 1, 13, 15], "texture": "#1"} + } + }, + { + "from": [0, 0, 1], + "to": [3, 11, 16], + "faces": { + "north": {"uv": [13, 5, 16, 16], "texture": "#6"}, + "south": {"uv": [0, 5, 3, 16], "texture": "#5"}, + "west": {"uv": [0, 5, 15, 16], "texture": "#7"}, + "up": {"uv": [13, 0, 16, 14], "texture": "#4"}, + "down": {"uv": [0, 1, 3, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 1], + "to": [13, 5, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 0, 0]}, + "faces": { + "north": {"uv": [3, 11, 13, 16], "texture": "#6"}, + "east": {"uv": [0, 0, 1, 5], "texture": "#6"}, + "west": {"uv": [0, 0, 1, 5], "texture": "#6"}, + "up": {"uv": [3, 11, 13, 12], "texture": "#6"}, + "down": {"uv": [3, 0, 13, 1], "texture": "#1"} + } + }, + { + "from": [11, 5, 1], + "to": [13, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 5, 0]}, + "faces": { + "north": {"uv": [3, 4, 5, 11], "texture": "#6"}, + "east": {"uv": [0, 3, 1, 10], "texture": "#3"}, + "west": {"uv": [4, 4, 5, 11], "texture": "#6"}, + "up": {"uv": [11, 0, 13, 1], "texture": "#4"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#6"} + } + }, + { + "from": [3, 5, 1], + "to": [5, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [-5, 5, 0]}, + "faces": { + "north": {"uv": [11, 4, 13, 11], "texture": "#6"}, + "east": {"uv": [11, 4, 12, 11], "texture": "#6"}, + "west": {"uv": [0, 3, 1, 10], "texture": "#3"}, + "up": {"uv": [3, 0, 5, 1], "texture": "#4"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#6"} + } + }, + { + "from": [5, 11, 1], + "to": [11, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [-1, 5, 0]}, + "faces": { + "north": {"uv": [5, 4, 11, 5], "texture": "#6"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#6"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#6"}, + "up": {"uv": [5, 0, 11, 1], "texture": "#4"}, + "down": {"uv": [4.7, 4.2, 10.7, 5.2], "texture": "#6"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/regular_engine/cylinder.json b/build/resources/main/assets/tfmg/models/block/regular_engine/cylinder.json new file mode 100644 index 00000000..6d5aad7b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/regular_engine/cylinder.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engines/aluminum_cylinder", + "particle": "tfmg:block/engines/aluminum_cylinder" + }, + "elements": [ + { + "from": [6.02, 3, 2.02], + "to": [9.98, 12, 5.98], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 3, 2]}, + "faces": { + "north": {"uv": [12, 0, 16, 9], "texture": "#0"}, + "east": {"uv": [12, 0, 16, 9], "texture": "#0"}, + "south": {"uv": [12, 0, 16, 9], "texture": "#0"}, + "west": {"uv": [12, 0, 16, 9], "texture": "#0"}, + "up": {"uv": [12, 9, 16, 13], "texture": "#0"}, + "down": {"uv": [12, 9, 16, 13], "texture": "#0"} + } + }, + { + "from": [5.5, 7.5, 1.5], + "to": [10.5, 12.5, 6.5], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 11, 1]}, + "faces": { + "north": {"uv": [6, 3, 11, 8], "texture": "#0"}, + "east": {"uv": [6, 3, 11, 8], "texture": "#0"}, + "south": {"uv": [6, 3, 11, 8], "texture": "#0"}, + "west": {"uv": [6, 3, 11, 8], "texture": "#0"}, + "up": {"uv": [6, 8, 11, 13], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/regular_engine/cylinder_small.json b/build/resources/main/assets/tfmg/models/block/regular_engine/cylinder_small.json new file mode 100644 index 00000000..4b1697d8 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/regular_engine/cylinder_small.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engines/aluminum_cylinder", + "particle": "tfmg:block/engines/aluminum_cylinder" + }, + "elements": [ + { + "from": [6, 8, 2.01], + "to": [10, 12, 6.01], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 3, 2]}, + "faces": { + "north": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "east": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "south": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "west": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "up": {"uv": [12, 9, 16, 13], "texture": "#0"}, + "down": {"uv": [12, 9, 16, 13], "texture": "#0"} + } + }, + { + "from": [5.5, 9.5, 1.51], + "to": [10.5, 12.5, 6.51], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 11, 1]}, + "faces": { + "north": {"uv": [6, 3, 11, 6], "texture": "#0"}, + "east": {"uv": [6, 3, 11, 6], "texture": "#0"}, + "south": {"uv": [6, 3, 11, 6], "texture": "#0"}, + "west": {"uv": [6, 3, 11, 6], "texture": "#0"}, + "up": {"uv": [6, 8, 11, 13], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/rgb_light_bulb/block.json b/build/resources/main/assets/tfmg/models/block/rgb_light_bulb/block.json new file mode 100644 index 00000000..def7b9c1 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/rgb_light_bulb/block.json @@ -0,0 +1,52 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/light_bulb", + "particle": "tfmg:block/light_bulb" + }, + "elements": [ + { + "from": [6, 2, 6], + "to": [10, 3, 10], + "faces": { + "north": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "east": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "south": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 0, 6], + "to": [10, 2, 10], + "faces": { + "north": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "east": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "south": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "west": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 6, 4, 10], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 4, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [8, 2, 6], + "to": [8, 7, 10], + "faces": { + "east": {"uv": [7, 1, 11, 6], "rotation": 180, "texture": "#0"}, + "west": {"uv": [7, 1, 11, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 3, 5], + "to": [11, 9, 11], + "faces": { + "north": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/rotary_engine/block__.json b/build/resources/main/assets/tfmg/models/block/rotary_engine/block__.json new file mode 100644 index 00000000..f03e09a5 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/rotary_engine/block__.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engines/engine_bottom", + "1": "tfmg:block/engines/engine_side", + "2": "tfmg:block/engines/engine_top", + "3": "tfmg:block/engines/engine_front", + "particle": "tfmg:block/engines/engine_bottom" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/rotary_engine/block_back_extended.json b/build/resources/main/assets/tfmg/models/block/rotary_engine/block_back_extended.json new file mode 100644 index 00000000..a4968bca --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/rotary_engine/block_back_extended.json @@ -0,0 +1,122 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "tfmg:block/engines/engine_bottom", + "2": "tfmg:block/engines/engine_front", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "5": "tfmg:block/engines/engine_back", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [13, 0, 1], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 9, 3, 16], "texture": "#2"}, + "east": {"uv": [1, 9, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 9, 16, 16], "texture": "#5"}, + "up": {"uv": [0, 0, 3, 14], "texture": "#4"}, + "down": {"uv": [13, 1, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 2], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#2"}, + "east": {"uv": [1, 3, 15, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#5"}, + "west": {"uv": [1, 3, 15, 15], "texture": "#3"}, + "up": {"uv": [3, 1, 13, 15], "texture": "#4"}, + "down": {"uv": [3, 1, 13, 15], "texture": "#1"} + } + }, + { + "from": [0, 0, 1], + "to": [3, 7, 16], + "faces": { + "north": {"uv": [13, 9, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 9, 3, 16], "texture": "#5"}, + "west": {"uv": [0, 9, 15, 16], "texture": "#3"}, + "up": {"uv": [13, 0, 16, 14], "texture": "#4"}, + "down": {"uv": [0, 1, 3, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 1], + "to": [13, 5, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 0, 0]}, + "faces": { + "north": {"uv": [3, 11, 13, 16], "texture": "#2"}, + "east": {"uv": [0, 0, 1, 5], "texture": "#missing"}, + "west": {"uv": [0, 0, 1, 5], "texture": "#missing"}, + "up": {"uv": [3, 11, 13, 12], "texture": "#2"}, + "down": {"uv": [3, 0, 13, 1], "texture": "#1"} + } + }, + { + "from": [11, 5, 1], + "to": [13, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 5, 0]}, + "faces": { + "north": {"uv": [3, 4, 5, 11], "texture": "#2"}, + "east": {"uv": [0, 3, 1, 10], "texture": "#3"}, + "west": {"uv": [4, 4, 5, 11], "texture": "#2"}, + "up": {"uv": [11, 0, 13, 1], "texture": "#4"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#missing"} + } + }, + { + "from": [3, 5, 1], + "to": [5, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [-5, 5, 0]}, + "faces": { + "north": {"uv": [11, 4, 13, 11], "texture": "#2"}, + "east": {"uv": [11, 4, 12, 11], "texture": "#2"}, + "west": {"uv": [0, 3, 1, 10], "texture": "#3"}, + "up": {"uv": [3, 0, 5, 1], "texture": "#4"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#missing"} + } + }, + { + "from": [5, 11, 1], + "to": [11, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [-1, 5, 0]}, + "faces": { + "north": {"uv": [5, 4, 11, 5], "texture": "#2"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#missing"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#missing"}, + "up": {"uv": [5, 0, 11, 1], "texture": "#4"}, + "down": {"uv": [4.7, 4.2, 10.7, 5.2], "texture": "#2"} + } + }, + { + "from": [13, 7, 1], + "to": [16, 11, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [16, 4, 13, 8], "texture": "#3"}, + "east": {"uv": [1, 9, 16, 13], "texture": "#3"}, + "south": {"uv": [3, 5, 0, 9], "texture": "#5"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "up": {"uv": [0, 12, 15, 9], "rotation": 90, "texture": "#3"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#3"} + } + }, + { + "from": [0, 7, 1], + "to": [3, 11, 16], + "faces": { + "north": {"uv": [13, 4, 16, 8], "texture": "#3"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "south": {"uv": [0, 5, 3, 9], "texture": "#5"}, + "west": {"uv": [16, 9, 1, 13], "texture": "#3"}, + "up": {"uv": [0, 9, 15, 12], "rotation": 90, "texture": "#3"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#3"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/rotary_engine/block_front.json b/build/resources/main/assets/tfmg/models/block/rotary_engine/block_front.json new file mode 100644 index 00000000..adf1d244 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/rotary_engine/block_front.json @@ -0,0 +1,97 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "tfmg:block/engines/engine_bottom", + "2": "tfmg:block/engines/engine_front", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "5": "tfmg:block/engines/engine_back", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [13, 0, 1], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 9, 3, 16], "texture": "#2"}, + "east": {"uv": [1, 9, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 9, 16, 16], "texture": "#5"}, + "up": {"uv": [0, 0, 3, 14], "texture": "#4"}, + "down": {"uv": [13, 1, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 2], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#2"}, + "east": {"uv": [1, 3, 15, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#5"}, + "west": {"uv": [1, 3, 15, 15], "texture": "#3"}, + "up": {"uv": [3, 1, 13, 15], "texture": "#4"}, + "down": {"uv": [3, 1, 13, 15], "texture": "#1"} + } + }, + { + "from": [0, 0, 1], + "to": [3, 7, 16], + "faces": { + "north": {"uv": [13, 9, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 9, 3, 16], "texture": "#5"}, + "west": {"uv": [0, 9, 15, 16], "texture": "#3"}, + "up": {"uv": [13, 0, 16, 14], "texture": "#4"}, + "down": {"uv": [0, 1, 3, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 1], + "to": [13, 5, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 0, 0]}, + "faces": { + "north": {"uv": [3, 11, 13, 16], "texture": "#2"}, + "east": {"uv": [0, 0, 1, 5], "texture": "#missing"}, + "west": {"uv": [0, 0, 1, 5], "texture": "#missing"}, + "up": {"uv": [3, 11, 13, 12], "texture": "#2"}, + "down": {"uv": [3, 0, 13, 1], "texture": "#1"} + } + }, + { + "from": [11, 5, 1], + "to": [13, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 5, 0]}, + "faces": { + "north": {"uv": [3, 4, 5, 11], "texture": "#2"}, + "east": {"uv": [0, 3, 1, 10], "texture": "#3"}, + "west": {"uv": [4, 4, 5, 11], "texture": "#2"}, + "up": {"uv": [11, 0, 13, 1], "texture": "#4"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#missing"} + } + }, + { + "from": [3, 5, 1], + "to": [5, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [-5, 5, 0]}, + "faces": { + "north": {"uv": [11, 4, 13, 11], "texture": "#2"}, + "east": {"uv": [11, 4, 12, 11], "texture": "#2"}, + "west": {"uv": [0, 3, 1, 10], "texture": "#3"}, + "up": {"uv": [3, 0, 5, 1], "texture": "#4"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#missing"} + } + }, + { + "from": [5, 11, 1], + "to": [11, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [-1, 5, 0]}, + "faces": { + "north": {"uv": [5, 4, 11, 5], "texture": "#2"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#missing"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#missing"}, + "up": {"uv": [5, 0, 11, 1], "texture": "#4"}, + "down": {"uv": [4.7, 4.2, 10.7, 5.2], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/rotary_engine/block_normal.json b/build/resources/main/assets/tfmg/models/block/rotary_engine/block_normal.json new file mode 100644 index 00000000..6321b38c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/rotary_engine/block_normal.json @@ -0,0 +1,49 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/engines/engine_back", + "1": "tfmg:block/engines/engine_bottom", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 7, 16], + "faces": { + "north": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "west": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "up": {"uv": [13, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 3, 16], "texture": "#1"} + } + }, + { + "from": [13, 0, 0], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "east": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 3, 16], "texture": "#4"}, + "down": {"uv": [13, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 0], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "east": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "west": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "up": {"uv": [3, 0, 13, 16], "texture": "#4"}, + "down": {"uv": [3, 0, 13, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/rotary_engine/extension.json b/build/resources/main/assets/tfmg/models/block/rotary_engine/extension.json new file mode 100644 index 00000000..391b623d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/rotary_engine/extension.json @@ -0,0 +1,31 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engines/engine_side", + "1": "tfmg:block/engines/engine_back", + "particle": "tfmg:block/engines/engine_side" + }, + "elements": [ + { + "from": [0, 7, 0], + "to": [3, 11, 16], + "faces": { + "north": {"uv": [13, 5, 16, 9], "texture": "#1"}, + "south": {"uv": [0, 5, 3, 9], "texture": "#1"}, + "west": {"uv": [16, 9, 0, 13], "texture": "#0"}, + "up": {"uv": [0, 9, 16, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13, 7, 0], + "to": [16, 11, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [16, 5, 13, 9], "texture": "#1"}, + "east": {"uv": [0, 9, 16, 13], "texture": "#0"}, + "south": {"uv": [3, 5, 0, 9], "texture": "#1"}, + "up": {"uv": [0, 12, 16, 9], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/rotary_engine/item.json b/build/resources/main/assets/tfmg/models/block/rotary_engine/item.json new file mode 100644 index 00000000..6321b38c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/rotary_engine/item.json @@ -0,0 +1,49 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/engines/engine_back", + "1": "tfmg:block/engines/engine_bottom", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 7, 16], + "faces": { + "north": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "west": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "up": {"uv": [13, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 3, 16], "texture": "#1"} + } + }, + { + "from": [13, 0, 0], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "east": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 3, 16], "texture": "#4"}, + "down": {"uv": [13, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 0], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "east": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "west": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "up": {"uv": [3, 0, 13, 16], "texture": "#4"}, + "down": {"uv": [3, 0, 13, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/rotor/item.obj b/build/resources/main/assets/tfmg/models/block/rotor/item.obj new file mode 100644 index 00000000..d288df6d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/rotor/item.obj @@ -0,0 +1,647 @@ +# Made in Blockbench 4.9.3 +mtllib model.mtl + +o 1 +v 0.32804046965019484 0.811875000000001 1.2976606433522493 +v 0.3280404696501946 0.18812500000000076 1.2976606433522497 +v 0.06287542670523916 0.8118750000000015 1.562825686297204 +v 0.06287542670523882 0.1881250000000012 1.5628256862972045 +v -0.297307089961657 0.18812500000000054 0.6723130837403954 +v -0.29730708996165656 0.8118750000000008 0.672313083740395 +v -0.5624721329066127 0.18812500000000099 0.9374781266853502 +v -0.5624721329066122 0.8118750000000012 0.9374781266853498 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0.28125 0.7734375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.859375 +vn -5.887846720064176e-16 -1 9.813077866773583e-16 +vn 0.7071067811865461 2.3551386880256836e-16 0.707106781186549 +vn 5.887846720064176e-16 1 -9.813077866773583e-16 +vn -0.7071067811865461 -2.3551386880256836e-16 -0.707106781186549 +vn 0.707106781186549 -1.0205600981444534e-15 -0.707106781186546 +vn -0.707106781186549 1.0205600981444534e-15 0.707106781186546 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 4/4/1 7/3/1 5/2/1 2/1/1 +f 3/8/2 4/7/2 2/6/2 1/5/2 +f 8/12/3 3/11/3 1/10/3 6/9/3 +f 7/16/4 8/15/4 6/14/4 5/13/4 +f 6/20/5 1/19/5 2/18/5 5/17/5 +f 7/24/6 4/23/6 3/22/6 8/21/6 +o 2 +v -0.5625 0.8125000000000007 0.9374999999999996 +v -0.5625 0.18750000000000067 0.9375 +v -0.5625 0.8124999999999996 0.062499999999999445 +v -0.5625 0.18749999999999967 0.06250000000000011 +v -0.1875000000000001 0.18750000000000056 0.9375000000000002 +v -0.1875000000000001 0.8125000000000004 0.9374999999999996 +v -0.1874999999999999 0.18749999999999956 0.06250000000000022 +v -0.1874999999999999 0.8124999999999996 0.062499999999999556 +vt 0.28125 0.9921875 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.859375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.9453125 +vt 0.28125 0.9921875 +vt 0.390625 0.9921875 +vt 0.390625 0.9453125 +vt 0.28125 0.7734375 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vn -1.224646799147355e-16 -1 1.1102230246251565e-15 +vn -1 1.2246467991473532e-16 -1.8713654303833397e-16 +vn 1.224646799147355e-16 1 -1.1102230246251565e-15 +vn 1 -1.2246467991473532e-16 1.8713654303833397e-16 +vn -1.871365430383338e-16 1.1102230246251565e-15 1 +vn 1.871365430383338e-16 -1.1102230246251565e-15 -1 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 12/28/7 15/27/7 13/26/7 10/25/7 +f 11/32/8 12/31/8 10/30/8 9/29/8 +f 16/36/9 11/35/9 9/34/9 14/33/9 +f 15/40/10 16/39/10 14/38/10 13/37/10 +f 14/44/11 9/43/11 10/42/11 13/41/11 +f 15/48/12 12/47/12 11/46/12 16/45/12 +o 3 +v -0.29766064335224884 0.8118750000000019 0.3280404696501944 +v -0.29766064335224995 0.18812500000000154 0.3280404696501942 +v -0.5628256862972032 0.8118750000000023 0.06287542670523827 +v -0.5628256862972045 0.1881250000000022 0.06287542670523805 +v 0.3276869162596049 0.18812500000000065 -0.2973070899616571 +v 0.327686916259606 0.811875000000001 -0.2973070899616569 +v 0.06252187331465042 0.18812500000000132 -0.5624721329066131 +v 0.06252187331465164 0.8118750000000015 -0.5624721329066131 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0.28125 0.7734375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.859375 +vn -2.0018678848218116e-15 -1 -5.102800490722328e-16 +vn -0.7071067811865496 1.099064721078647e-15 0.7071067811865455 +vn 2.0018678848218116e-15 1 5.102800490722328e-16 +vn 0.7071067811865496 -1.099064721078647e-15 -0.7071067811865455 +vn 0.7071067811865455 -1.5700924586837718e-15 0.7071067811865496 +vn -0.7071067811865455 1.5700924586837718e-15 -0.7071067811865496 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 20/52/13 23/51/13 21/50/13 18/49/13 +f 19/56/14 20/55/14 18/54/14 17/53/14 +f 24/60/15 19/59/15 17/58/15 22/57/15 +f 23/64/16 24/63/16 22/62/16 21/61/16 +f 22/68/17 17/67/17 18/66/17 21/65/17 +f 23/72/18 20/71/18 19/70/18 24/69/18 +o 4 +v 0.06250000000000422 0.812500000000006 -0.5625 +v 0.06249999999999578 0.187500000000006 -0.5625 +v 0.9375000000000042 0.8124999999999942 -0.5625 +v 0.9374999999999958 0.18749999999999423 -0.5625 +v 0.06249999999999578 0.187500000000006 -0.1875 +v 0.06250000000000422 0.812500000000006 -0.1875 +v 0.9374999999999958 0.18749999999999423 -0.1875 +v 0.9375000000000042 0.8124999999999942 -0.1875 +vt 0.28125 0.9921875 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.859375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.9453125 +vt 0.28125 0.9921875 +vt 0.390625 0.9921875 +vt 0.390625 0.9453125 +vt 0.28125 0.7734375 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vn -1.3433698597964394e-14 -1 -5.551115123125783e-17 +vn -5.5511151231256336e-17 1.110223024625164e-16 -1 +vn 1.3433698597964394e-14 1 5.551115123125783e-17 +vn 5.5511151231256336e-17 -1.110223024625164e-16 1 +vn -1 1.3378187446733136e-14 7.4263858655571814e-31 +vn 1 -1.3378187446733136e-14 -7.4263858655571814e-31 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 28/76/19 31/75/19 29/74/19 26/73/19 +f 27/80/20 28/79/20 26/78/20 25/77/20 +f 32/84/21 27/83/21 25/82/21 30/81/21 +f 31/88/22 32/87/22 30/86/22 29/85/22 +f 30/92/23 25/91/23 26/90/23 29/89/23 +f 31/96/24 28/95/24 27/94/24 32/93/24 +o 5 +v 0.6719595303498007 0.811875000000001 -0.2976606433522503 +v 0.6719595303498016 0.18812500000000065 -0.2976606433522505 +v 0.9371245732947551 0.8118750000000015 -0.5628256862972063 +v 0.9371245732947562 0.18812500000000132 -0.5628256862972063 +v 1.2973070899616566 0.18812500000000154 0.3276869162596008 +v 1.2973070899616554 0.8118750000000019 0.327686916259601 +v 1.5624721329066111 0.1881250000000022 0.06252187331464465 +v 1.5624721329066098 0.8118750000000023 0.06252187331464487 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0.28125 0.7734375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.859375 +vn 2.0018678848218116e-15 -1 -5.102800490722328e-16 +vn -0.7071067811865496 -1.099064721078647e-15 -0.7071067811865455 +vn -2.0018678848218116e-15 1 5.102800490722328e-16 +vn 0.7071067811865496 1.099064721078647e-15 0.7071067811865455 +vn -0.7071067811865455 -1.5700924586837718e-15 0.7071067811865496 +vn 0.7071067811865455 1.5700924586837718e-15 -0.7071067811865496 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 36/100/25 39/99/25 37/98/25 34/97/25 +f 35/104/26 36/103/26 34/102/26 33/101/26 +f 40/108/27 35/107/27 33/106/27 38/105/27 +f 39/112/28 40/111/28 38/110/28 37/109/28 +f 38/116/29 33/115/29 34/114/29 37/113/29 +f 39/120/30 36/119/30 35/118/30 40/117/30 +o 6 +v 1.5625 0.8124999999999996 0.062499999999999556 +v 1.5625 0.18749999999999944 0.06250000000000044 +v 1.5625 0.8125000000000004 0.9374999999999996 +v 1.5625 0.18750000000000056 0.9375000000000004 +v 1.1875 0.18749999999999944 0.06250000000000044 +v 1.1875 0.8124999999999996 0.062499999999999556 +v 1.1875 0.18750000000000056 0.9375000000000004 +v 1.1875 0.8125000000000004 0.9374999999999996 +vt 0.28125 0.9921875 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.859375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.9453125 +vt 0.28125 0.9921875 +vt 0.390625 0.9921875 +vt 0.390625 0.9453125 +vt 0.28125 0.7734375 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vn 0 -1 1.3322676295501878e-15 +vn 1 0 0 +vn 0 1 -1.3322676295501878e-15 +vn -1 0 0 +vn 0 -1.3322676295501878e-15 -1 +vn 0 1.3322676295501878e-15 1 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 44/124/31 47/123/31 45/122/31 42/121/31 +f 43/128/32 44/127/32 42/126/32 41/125/32 +f 48/132/33 43/131/33 41/130/33 46/129/33 +f 47/136/34 48/135/34 46/134/34 45/133/34 +f 46/140/35 41/139/35 42/138/35 45/137/35 +f 47/144/36 44/143/36 43/142/36 48/141/36 +o 7 +v 1.29766064335225 0.8118750000000008 0.6719595303498016 +v 1.2976606433522504 0.18812500000000054 0.6719595303498023 +v 1.5628256862972059 0.8118750000000012 0.9371245732947564 +v 1.5628256862972059 0.18812500000000099 0.9371245732947568 +v 0.6723130837403988 0.18812500000000076 1.2973070899616563 +v 0.6723130837403986 0.811875000000001 1.297307089961656 +v 0.9374781266853545 0.1881250000000012 1.5624721329066111 +v 0.9374781266853542 0.8118750000000015 1.5624721329066107 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0.28125 0.7734375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.859375 +vn 5.887846720064176e-16 -1 9.813077866773583e-16 +vn 0.7071067811865461 -2.3551386880256836e-16 -0.707106781186549 +vn -5.887846720064176e-16 1 -9.813077866773583e-16 +vn -0.7071067811865461 2.3551386880256836e-16 0.707106781186549 +vn -0.707106781186549 -1.0205600981444534e-15 -0.707106781186546 +vn 0.707106781186549 1.0205600981444534e-15 0.707106781186546 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 52/148/37 55/147/37 53/146/37 50/145/37 +f 51/152/38 52/151/38 50/150/38 49/149/38 +f 56/156/39 51/155/39 49/154/39 54/153/39 +f 55/160/40 56/159/40 54/158/40 53/157/40 +f 54/164/41 49/163/41 50/162/41 53/161/41 +f 55/168/42 52/167/42 51/166/42 56/165/42 +o 8 +v 0.9374999999999958 0.8125000000000058 1.5625 +v 0.9375000000000042 0.18750000000000577 1.5625 +v 0.06249999999999578 0.812499999999994 1.5625 +v 0.06250000000000422 0.187499999999994 1.5625 +v 0.9375000000000042 0.18750000000000577 1.1875 +v 0.9374999999999958 0.8125000000000058 1.1875 +v 0.06250000000000422 0.187499999999994 1.1875 +v 0.06249999999999578 0.812499999999994 1.1875 +vt 0.28125 0.9921875 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.859375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.9453125 +vt 0.28125 0.9921875 +vt 0.390625 0.9921875 +vt 0.390625 0.9453125 +vt 0.28125 0.7734375 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vn 1.3433698597964394e-14 -1 -5.551115123125783e-17 +vn -5.5511151231256336e-17 -1.110223024625164e-16 1 +vn -1.3433698597964394e-14 1 5.551115123125783e-17 +vn 5.5511151231256336e-17 1.110223024625164e-16 -1 +vn 1 1.3378187446733136e-14 7.4263858655571814e-31 +vn -1 -1.3378187446733136e-14 -7.4263858655571814e-31 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 60/172/43 63/171/43 61/170/43 58/169/43 +f 59/176/44 60/175/44 58/174/44 57/173/44 +f 64/180/45 59/179/45 57/178/45 62/177/45 +f 63/184/46 64/183/46 62/182/46 61/181/46 +f 62/188/47 57/187/47 58/186/47 61/185/47 +f 63/192/48 60/191/48 59/190/48 64/189/48 +o 9 +v 0.5624999999999996 0.5625000000000002 1.1875 +v 0.5625000000000004 0.4375000000000002 1.1875 +v 0.44374999999999976 0.5624999999999996 1.1875 +v 0.4437500000000003 0.43749999999999967 1.1875 +v 0.5625000000000004 0.43750000000000033 -0.1875 +v 0.5624999999999996 0.5625000000000004 -0.1875 +v 0.4437500000000003 0.4374999999999998 -0.1875 +v 0.44374999999999976 0.5624999999999998 -0.1875 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vn 4.884981308350689e-15 -1 -5.551115123125783e-17 +vn -5.5511151231257285e-17 -1.1102230246251593e-16 1 +vn -4.884981308350689e-15 1 5.551115123125783e-17 +vn 5.5511151231257285e-17 1.1102230246251593e-16 -1 +vn 1 4.884981308350689e-15 2.711709361697228e-31 +vn -1 -4.884981308350689e-15 -2.711709361697228e-31 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 68/196/49 71/195/49 69/194/49 66/193/49 +f 67/200/50 68/199/50 66/198/50 65/197/50 +f 72/204/51 67/203/51 65/202/51 70/201/51 +f 71/208/52 72/207/52 70/206/52 69/205/52 +f 70/212/53 65/211/53 66/210/53 69/209/53 +f 71/216/54 68/215/54 67/214/54 72/213/54 +o 10 +v 0.05805826175840623 0.5625000000000007 1.0303300858899094 +v 0.058058261758406005 0.43750000000000067 1.0303300858899094 +v -0.03033008588991193 0.5625000000000009 0.9419417382415907 +v -0.03033008588991215 0.4375000000000009 0.9419417382415907 +v 1.0303300858899118 0.4374999999999991 0.058058261758409335 +v 1.0303300858899123 0.5624999999999991 0.058058261758409335 +v 0.9419417382415938 0.43749999999999933 -0.030330085889909375 +v 0.941941738241594 0.5624999999999993 -0.030330085889909375 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vn -2.0018678848218116e-15 -1 -5.102800490722328e-16 +vn -0.7071067811865496 1.099064721078647e-15 0.7071067811865455 +vn 2.0018678848218116e-15 1 5.102800490722328e-16 +vn 0.7071067811865496 -1.099064721078647e-15 -0.7071067811865455 +vn 0.7071067811865455 -1.5700924586837718e-15 0.7071067811865496 +vn -0.7071067811865455 1.5700924586837718e-15 -0.7071067811865496 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 76/220/55 79/219/55 77/218/55 74/217/55 +f 75/224/56 76/223/56 74/222/56 73/221/56 +f 80/228/57 75/227/57 73/226/57 78/225/57 +f 79/232/58 80/231/58 78/230/58 77/229/58 +f 78/236/59 73/235/59 74/234/59 77/233/59 +f 79/240/60 76/239/60 75/238/60 80/237/60 +o 11 +v 1.1875 0.5625 0.4374999999999999 +v 1.1875 0.4374999999999999 0.4375000000000001 +v 1.1875 0.5625 0.5562499999999999 +v 1.1875 0.4375 0.5562499999999999 +v -0.1875 0.4374999999999999 0.4375000000000001 +v -0.1875 0.5625 0.4374999999999999 +v -0.1875 0.4375 0.5562499999999999 +v -0.1875 0.5625 0.5562499999999999 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vn 0 -1 1.3322676295501878e-15 +vn 1 0 0 +vn 0 1 -1.3322676295501878e-15 +vn -1 0 0 +vn 0 -1.3322676295501878e-15 -1 +vn 0 1.3322676295501878e-15 1 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 84/244/61 87/243/61 85/242/61 82/241/61 +f 83/248/62 84/247/62 82/246/62 81/245/62 +f 88/252/63 83/251/63 81/250/63 86/249/63 +f 87/256/64 88/255/64 86/254/64 85/253/64 +f 86/260/65 81/259/65 82/258/65 85/257/65 +f 87/264/66 84/263/66 83/262/66 88/261/66 +o 12 +v 0.75 0.8749999999999996 0.24999999999999956 +v 0.75 0.12499999999999967 0.25000000000000044 +v 0.75 0.8750000000000004 0.7499999999999996 +v 0.75 0.12500000000000033 0.7500000000000004 +v 0.25 0.12499999999999967 0.25000000000000044 +v 0.25 0.8749999999999996 0.24999999999999956 +v 0.25 0.12500000000000033 0.7500000000000004 +v 0.25 0.8750000000000004 0.7499999999999996 +vt 0.609375 1 +vt 0.671875 1 +vt 0.671875 0.9375 +vt 0.609375 0.9375 +vt 0.53125 0.90625 +vt 0.53125 1 +vt 0.59375 1 +vt 0.59375 0.90625 +vt 0.609375 1 +vt 0.671875 1 +vt 0.671875 0.9375 +vt 0.609375 0.9375 +vt 0.53125 0.90625 +vt 0.53125 1 +vt 0.59375 1 +vt 0.59375 0.90625 +vt 0.53125 1 +vt 0.59375 1 +vt 0.59375 0.90625 +vt 0.53125 0.90625 +vt 0.53125 1 +vt 0.59375 1 +vt 0.59375 0.90625 +vt 0.53125 0.90625 +vn 0 -1 1.3322676295501878e-15 +vn 1 0 0 +vn 0 1 -1.3322676295501878e-15 +vn -1 0 0 +vn 0 -1.3322676295501878e-15 -1 +vn 0 1.3322676295501878e-15 1 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 92/268/67 95/267/67 93/266/67 90/265/67 +f 91/272/68 92/271/68 90/270/68 89/269/68 +f 96/276/69 91/275/69 89/274/69 94/273/69 +f 95/280/70 96/279/70 94/278/70 93/277/70 +f 94/284/71 89/283/71 90/282/71 93/281/71 +f 95/288/72 92/287/72 91/286/72 96/285/72 +o shaft +v 0.625 0.9999999999999998 0.37499999999999933 +v 0.625 -2.220446049250313e-16 0.37500000000000067 +v 0.625 1.0000000000000002 0.6249999999999993 +v 0.625 2.220446049250313e-16 0.6250000000000007 +v 0.375 -2.220446049250313e-16 0.37500000000000067 +v 0.375 0.9999999999999998 0.37499999999999933 +v 0.375 2.220446049250313e-16 0.6250000000000007 +v 0.375 1.0000000000000002 0.6249999999999993 +vt 0.1328125 0.125 +vt 0.1640625 0.125 +vt 0.1640625 0.09375 +vt 0.1328125 0.09375 +vt 0.0078125 0.0078125 +vt 0.0078125 0.1328125 +vt 0.0390625 0.1328125 +vt 0.0390625 0.0078125 +vt 0.1328125 0.125 +vt 0.1640625 0.125 +vt 0.1640625 0.09375 +vt 0.1328125 0.09375 +vt 0.0078125 0.0078125 +vt 0.0078125 0.1328125 +vt 0.0390625 0.1328125 +vt 0.0390625 0.0078125 +vt 0.0078125 0.1328125 +vt 0.0390625 0.1328125 +vt 0.0390625 0.0078125 +vt 0.0078125 0.0078125 +vt 0.0078125 0.1328125 +vt 0.0390625 0.1328125 +vt 0.0390625 0.0078125 +vt 0.0078125 0.0078125 +vn 0 -1 1.3322676295501878e-15 +vn 1 0 0 +vn 0 1 -1.3322676295501878e-15 +vn -1 0 0 +vn 0 -1.3322676295501878e-15 -1 +vn 0 1.3322676295501878e-15 1 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 100/292/73 103/291/73 101/290/73 98/289/73 +f 99/296/74 100/295/74 98/294/74 97/293/74 +f 104/300/75 99/299/75 97/298/75 102/297/75 +f 103/304/76 104/303/76 102/302/76 101/301/76 +f 102/308/77 97/307/77 98/306/77 101/305/77 +f 103/312/78 100/311/78 99/310/78 104/309/78 +o 13 +v 1.0303300858899105 0.5625 0.9419417382415927 +v 1.03033008588991 0.4375 0.9419417382415929 +v 0.9463611556240079 0.5625000000000004 1.025910668507495 +v 0.9463611556240075 0.43750000000000044 1.0259106685074952 +v 0.058058261758408114 0.43749999999999956 -0.03033008588991104 +v 0.058058261758408336 0.5624999999999996 -0.030330085889911262 +v -0.02591066850749446 0.4374999999999999 0.053638844375991535 +v -0.02591066850749424 0.5625 0.0536388443759912 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vn -1.6485970816179649e-15 -1 2.119624819223094e-15 +vn 0.707106781186547 5.495323605393231e-16 0.707106781186548 +vn 1.6485970816179649e-15 1 -2.119624819223094e-15 +vn -0.707106781186547 -5.495323605393231e-16 -0.707106781186548 +vn 0.7071067811865481 -2.5906525568282277e-15 -0.7071067811865468 +vn -0.7071067811865481 2.5906525568282277e-15 0.7071067811865468 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 108/316/79 111/315/79 109/314/79 106/313/79 +f 107/320/80 108/319/80 106/318/80 105/317/80 +f 112/324/81 107/323/81 105/322/81 110/321/81 +f 111/328/82 112/327/82 110/326/82 109/325/82 +f 110/332/83 105/331/83 106/330/83 109/329/83 +f 111/336/84 108/335/84 107/334/84 112/333/84 \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/rotor/model.mtl b/build/resources/main/assets/tfmg/models/block/rotor/model.mtl new file mode 100644 index 00000000..3b93079b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/rotor/model.mtl @@ -0,0 +1,3 @@ +# Made in Blockbench 4.8.3 +newmtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +map_Kd #0 \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/rotor/rotor.json b/build/resources/main/assets/tfmg/models/block/rotor/rotor.json new file mode 100644 index 00000000..63bb955e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/rotor/rotor.json @@ -0,0 +1,258 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "render_type": "minecraft:cutout", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/rotor", + "1": "tfmg:block/shaft_top", + "2": "tfmg:block/shaft", + "particle": "tfmg:block/rotor" + }, + "elements": [ + { + "from": [6, 6, 0], + "to": [10, 10, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 7, 0]}, + "faces": { + "north": {"uv": [6, 6, 10, 10], "texture": "#1"}, + "east": {"uv": [6, 0, 10, 19], "rotation": 90, "texture": "#2"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#1"}, + "west": {"uv": [6, 0, 10, 19], "rotation": 90, "texture": "#2"}, + "up": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "down": {"uv": [6, 0, 10, 16], "texture": "#2"} + } + }, + { + "from": [-2, -2, 8], + "to": [18, 18, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-1, -4, 6]}, + "faces": { + "north": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 10], "texture": "#0"}, + "south": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 10], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 0], "texture": "#0"} + } + }, + { + "from": [-2, -2, 8.1], + "to": [18, 18, 8.1], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 10], "texture": "#0"}, + "south": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 10], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 0], "texture": "#0"} + } + }, + { + "from": [5, 18, 5], + "to": [11, 26, 11], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "east": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "rotation": 180, "texture": "#0"}, + "west": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "up": {"uv": [10, 0, 13, 3], "texture": "#0"}, + "down": {"uv": [10, 3, 13, 6], "texture": "#0"} + } + }, + { + "from": [5, 18, 5], + "to": [11, 26, 11], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "east": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "rotation": 180, "texture": "#0"}, + "west": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "up": {"uv": [10, 0, 13, 3], "texture": "#0"}, + "down": {"uv": [10, 3, 13, 6], "texture": "#0"} + } + }, + { + "from": [-10, 5, 5], + "to": [-2, 11, 11], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 3, 13, 6], "rotation": 270, "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 0, 13, 3], "rotation": 270, "texture": "#0"}, + "up": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [-10, 5, 5], + "to": [-2, 11, 11], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 3, 13, 6], "rotation": 270, "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 0, 13, 3], "rotation": 270, "texture": "#0"}, + "up": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, -10, 5], + "to": [11, -2, 11], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "rotation": 180, "texture": "#0"}, + "east": {"uv": [13, 0, 16, 4], "rotation": 180, "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "texture": "#0"}, + "west": {"uv": [13, 0, 16, 4], "rotation": 180, "texture": "#0"}, + "up": {"uv": [10, 3, 13, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [10, 0, 13, 3], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, -10, 5], + "to": [11, -2, 11], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "rotation": 180, "texture": "#0"}, + "east": {"uv": [13, 0, 16, 4], "rotation": 180, "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "texture": "#0"}, + "west": {"uv": [13, 0, 16, 4], "rotation": 180, "texture": "#0"}, + "up": {"uv": [10, 3, 13, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [10, 0, 13, 3], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [18, 5, 5], + "to": [26, 11, 11], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"}, + "east": {"uv": [10, 0, 13, 3], "rotation": 90, "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "rotation": 270, "texture": "#0"}, + "west": {"uv": [10, 3, 13, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [13, 0, 16, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [13, 0, 16, 4], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 18, 5], + "to": [11, 26, 11], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "east": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "rotation": 180, "texture": "#0"}, + "west": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "up": {"uv": [10, 0, 13, 3], "texture": "#0"}, + "down": {"uv": [10, 3, 13, 6], "texture": "#0"} + } + }, + { + "from": [1, 19, 6], + "to": [15, 24, 10], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "texture": "#0"}, + "up": {"uv": [0, 13, 7, 15], "texture": "#0"}, + "down": {"uv": [7.5, 13, 14.5, 15], "texture": "#0"} + } + }, + { + "from": [1, 19, 6], + "to": [15, 24, 10], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "texture": "#0"}, + "up": {"uv": [0, 13, 7, 15], "texture": "#0"}, + "down": {"uv": [7.5, 13, 14.5, 15], "texture": "#0"} + } + }, + { + "from": [19, 1, 6], + "to": [24, 15, 10], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 13, 7, 15], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [7.5, 13, 14.5, 15], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-8, 1, 6], + "to": [-3, 15, 10], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [7.5, 13, 14.5, 15], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 13, 7, 15], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [-8, 1, 6], + "to": [-3, 15, 10], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [7.5, 13, 14.5, 15], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 13, 7, 15], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, -8, 6], + "to": [15, -3, 10], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [7.5, 13, 14.5, 15], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 13, 7, 15], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, -8, 6], + "to": [15, -3, 10], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [7.5, 13, 14.5, 15], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 13, 7, 15], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [19, 1, 6], + "to": [24, 15, 10], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 13, 7, 15], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [7.5, 13, 14.5, 15], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 5, 5], + "to": [11, 11, 11], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [9.5, 7, 12.5, 10], "rotation": 270, "texture": "#0"}, + "east": {"uv": [9.5, 10, 12.5, 13], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9.5, 7, 12.5, 10], "rotation": 90, "texture": "#0"}, + "west": {"uv": [9.5, 10, 12.5, 13], "rotation": 90, "texture": "#0"}, + "up": {"uv": [9.5, 10, 12.5, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [9.5, 10, 12.5, 13], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/segmented_display/item.json b/build/resources/main/assets/tfmg/models/block/segmented_display/item.json new file mode 100644 index 00000000..e20d8b87 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/segmented_display/item.json @@ -0,0 +1,25 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "1": "tfmg:block/digital_display", + "2": "tfmg:block/industrial_aluminum_casing", + "3": "tfmg:block/aluminum_inlet", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [8, 8, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/segmented_display/segments/0.json b/build/resources/main/assets/tfmg/models/block/segmented_display/segments/0.json new file mode 100644 index 00000000..58dcb6c7 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/segmented_display/segments/0.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [7.5, 3, -0.1], + "to": [8.5, 12, -0.1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 3, 0]}, + "faces": { + "north": {"uv": [2, 9.5, 2.5, 14], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "texture": "#missing"}, + "west": {"uv": [0, 0, 0, 4], "texture": "#missing"}, + "up": {"uv": [0, 0, 1, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 1, 0], "texture": "#missing"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/segmented_display/segments/17.json b/build/resources/main/assets/tfmg/models/block/segmented_display/segments/17.json new file mode 100644 index 00000000..50b5f410 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/segmented_display/segments/17.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [1, 3, -0.1], + "to": [2, 7, -0.1], + "rotation": {"angle": 0, "axis": "z", "origin": [4, 5, 0]}, + "faces": { + "north": {"uv": [5.5, 9.5, 6, 11.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 0, 1, 4], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/segmented_display/segments/18.json b/build/resources/main/assets/tfmg/models/block/segmented_display/segments/18.json new file mode 100644 index 00000000..bf65b5c6 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/segmented_display/segments/18.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [2, 8, -0.1], + "to": [6, 12, -0.1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 10, 0]}, + "faces": { + "north": {"uv": [0, 10.5, 2, 8.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/segmented_display/segments/19.json b/build/resources/main/assets/tfmg/models/block/segmented_display/segments/19.json new file mode 100644 index 00000000..27fdf3ec --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/segmented_display/segments/19.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [2, 8, -0.1], + "to": [6, 12, -0.1], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 10, 0]}, + "faces": { + "north": {"uv": [0, 14, 2, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/segmented_display/segments/8.json b/build/resources/main/assets/tfmg/models/block/segmented_display/segments/8.json new file mode 100644 index 00000000..4ba4ee16 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/segmented_display/segments/8.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [10, 8, -0.1], + "to": [14, 12, -0.1], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 10, 0]}, + "faces": { + "north": {"uv": [0, 10.5, 2, 8.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/segmented_display/segments/9.json b/build/resources/main/assets/tfmg/models/block/segmented_display/segments/9.json new file mode 100644 index 00000000..143f9859 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/segmented_display/segments/9.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [10, 8, -0.1], + "to": [14, 12, -0.1], + "rotation": {"angle": 0, "axis": "z", "origin": [16, 10, 0]}, + "faces": { + "north": {"uv": [0, 14, 2, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/small_bauxite_brick_stairs_inner.json b/build/resources/main/assets/tfmg/models/block/small_bauxite_brick_stairs_inner.json new file mode 100644 index 00000000..60244142 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/small_bauxite_brick_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick", + "side": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick", + "top": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/small_bauxite_brick_stairs_outer.json b/build/resources/main/assets/tfmg/models/block/small_bauxite_brick_stairs_outer.json new file mode 100644 index 00000000..a89d760b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/small_bauxite_brick_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick", + "side": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick", + "top": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/small_galena_brick_slab_top.json b/build/resources/main/assets/tfmg/models/block/small_galena_brick_slab_top.json new file mode 100644 index 00000000..0e366c44 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/small_galena_brick_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick", + "side": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick", + "top": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/small_galena_brick_stairs.json b/build/resources/main/assets/tfmg/models/block/small_galena_brick_stairs.json new file mode 100644 index 00000000..f6748ee4 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/small_galena_brick_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick", + "side": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick", + "top": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/small_galena_bricks.json b/build/resources/main/assets/tfmg/models/block/small_galena_bricks.json new file mode 100644 index 00000000..a05cb088 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/small_galena_bricks.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/small_galena_bricks_wall_post.json b/build/resources/main/assets/tfmg/models/block/small_galena_bricks_wall_post.json new file mode 100644 index 00000000..17127420 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/small_galena_bricks_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/smokestack/smokestack.json b/build/resources/main/assets/tfmg/models/block/smokestack/smokestack.json new file mode 100644 index 00000000..ce84d727 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/smokestack/smokestack.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brick_smokestack", + "particle": "tfmg:block/brick_smokestack" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 8, 8, 16], "texture": "#0"}, + "east": {"uv": [0, 8, 8, 16], "texture": "#0"}, + "south": {"uv": [0, 8, 8, 16], "texture": "#0"}, + "west": {"uv": [0, 8, 8, 16], "texture": "#0"}, + "up": {"uv": [8, 8, 16, 16], "texture": "#0"}, + "down": {"uv": [8, 8, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/smokestack/smokestack_top.json b/build/resources/main/assets/tfmg/models/block/smokestack/smokestack_top.json new file mode 100644 index 00000000..12f4ca49 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/smokestack/smokestack_top.json @@ -0,0 +1,37 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brick_smokestack", + "1": "tfmg:block/smokestack_top", + "particle": "tfmg:block/brick_smokestack" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 13, 16], + "faces": { + "north": {"uv": [0, 1.5, 8, 8], "texture": "#0"}, + "east": {"uv": [0, 1.5, 8, 8], "texture": "#0"}, + "south": {"uv": [0, 1.5, 8, 8], "texture": "#0"}, + "west": {"uv": [0, 1.5, 8, 8], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "down": {"uv": [8, 8, 16, 16], "texture": "#0"} + } + }, + { + "from": [-1, 13, -1], + "to": [17, 16, 17], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 13, 0]}, + "faces": { + "north": {"uv": [0, 0, 9, 1.5], "texture": "#0"}, + "east": {"uv": [0, 0, 9, 1.5], "texture": "#0"}, + "south": {"uv": [0, 0, 9, 1.5], "texture": "#0"}, + "west": {"uv": [0, 0, 9, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 9, 9], "texture": "#1"}, + "down": {"uv": [0, 0, 9, 9], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/stator/block_corner_horizontal_old.json b/build/resources/main/assets/tfmg/models/block/stator/block_corner_horizontal_old.json new file mode 100644 index 00000000..5cfb1d61 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/stator/block_corner_horizontal_old.json @@ -0,0 +1,45 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/large_generator", + "particle": "tfmg:block/large_generator" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [6, 16, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [0, 0.75, 2, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [2.125, 0, 4.125, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [7.125, 2, 7.875, 4], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 270, "texture": "#0"}, + "up": {"uv": [7.125, 0, 7.875, 2], "texture": "#0"}, + "down": {"uv": [7.875, 0, 7.125, 2], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 0, 0], + "to": [16, 16, 6], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [2, 0.75, 0, 2], "rotation": 90, "texture": "#0"}, + "east": {"uv": [7.125, 2, 7.875, 4], "rotation": 180, "texture": "#0"}, + "south": {"uv": [2.125, 0.75, 4.125, 2], "rotation": 270, "texture": "#0"}, + "up": {"uv": [7.125, 0.75, 7.875, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7.125, 0.75, 7.875, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [-1.65685, 1, 9.65685], + "to": [12.34315, 15, 16.65685], + "rotation": {"angle": 45, "axis": "y", "origin": [0, 8, 8]}, + "faces": { + "south": {"uv": [2.25, 6.25, 4, 8], "rotation": 270, "texture": "#0"}, + "up": {"uv": [4.5, 3.875, 6.5, 4.75], "texture": "#0"}, + "down": {"uv": [4.5, 3.875, 6.5, 4.75], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/stator/block_corner_up.json b/build/resources/main/assets/tfmg/models/block/stator/block_corner_up.json new file mode 100644 index 00000000..e43a5263 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/stator/block_corner_up.json @@ -0,0 +1,136 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/stator", + "particle": "tfmg:block/stator" + }, + "elements": [ + { + "from": [1, 0.37258, 1], + "to": [15, 5.37258, 4], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8.5, 0, 11, 7], "rotation": 270, "texture": "#0"}, + "east": {"uv": [11, 3, 12.5, 5.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [8.5, 0, 11, 7], "rotation": 270, "texture": "#0"}, + "west": {"uv": [11, 3, 12.5, 5.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [6, 0, 7.5, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 0, 7.5, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [0, 5.37258, 2], + "to": [16, 9.37258, 14], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 8, 2, 16], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 6, 2], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 8, 2, 16], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 6, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 6, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 9.37258, 2], + "to": [16, 9.37258, 14], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 0], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 0], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 8], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [11, 11, 0.8], + "to": [16, 16, 15], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [11, 0, 13.5, 2.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [6, 0, 8.5, 7], "rotation": 270, "texture": "#0"}, + "south": {"uv": [11, 0, 13.5, 2.5], "texture": "#0"}, + "west": {"uv": [6, 0, 8.5, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [6, 0, 8.5, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6, 0, 8.5, 7], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, 0.37258, 12], + "to": [15, 5.37258, 15], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8.5, 7, 11, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [12.5, 3, 11, 5.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [8.5, 7, 11, 0], "rotation": 270, "texture": "#0"}, + "west": {"uv": [12.5, 3, 11, 5.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [7.5, 0, 6, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7.5, 0, 6, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [9, 5.37258, 5], + "to": [15, 8.37258, 11], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [2, 11, 5, 12.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [2, 11, 5, 12.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [2, 11, 5, 12.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [2, 11, 5, 12.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [2, 8, 5, 11], "rotation": 180, "texture": "#0"}, + "down": {"uv": [2, 8, 5, 11], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, 5.37258, 5], + "to": [7, 8.37258, 11], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [2, 11, 5, 12.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [2, 11, 5, 12.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [2, 11, 5, 12.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [2, 11, 5, 12.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [2, 8, 5, 11], "rotation": 180, "texture": "#0"}, + "down": {"uv": [2, 8, 5, 11], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, 5.37258, 2], + "to": [15, 9.37258, 2], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [11, 3, 12.5, 5.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [6.5, 0, 8.5, 7], "rotation": 270, "texture": "#0"}, + "west": {"uv": [11, 3, 12.5, 5.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [6, 0, 7.5, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 0, 7.5, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 5.37258, 14], + "to": [15, 9.37258, 14], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [6.5, 7, 8.5, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [12.5, 3, 11, 5.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [12.5, 3, 11, 5.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [7.5, 0, 6, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7.5, 0, 6, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [0, 0, 0.8], + "to": [5, 5, 15], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [11, 0, 13.5, 2.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [6, 0, 8.5, 7], "rotation": 270, "texture": "#0"}, + "south": {"uv": [11, 0, 13.5, 2.5], "texture": "#0"}, + "west": {"uv": [6, 0, 8.5, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [6, 0, 8.5, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6, 0, 8.5, 7], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/stator/block_unused.json b/build/resources/main/assets/tfmg/models/block/stator/block_unused.json new file mode 100644 index 00000000..d9053cf5 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/stator/block_unused.json @@ -0,0 +1,43 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/large_generator", + "particle": "tfmg:block/large_generator" + }, + "elements": [ + { + "from": [10, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [7.125, 0, 7.875, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [7.125, 0, 7.875, 2], "texture": "#0"}, + "west": {"uv": [2.125, 0, 4.125, 2], "texture": "#0"}, + "up": {"uv": [0, 0.75, 2, 0], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7.125, 2, 7.875, 4], "texture": "#0"} + } + }, + { + "from": [0, 10, 0], + "to": [10, 16, 16], + "faces": { + "north": {"uv": [7.125, 0.75, 7.875, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [7.125, 0.75, 7.875, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [7.125, 2, 7.875, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [2, 0.75, 0, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [2.125, 0.75, 4.125, 2], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-7, 8, 1], + "to": [7, 15, 15], + "rotation": {"angle": -45, "axis": "z", "origin": [0, 0, 0]}, + "faces": { + "north": {"uv": [4.5, 3.875, 6.5, 4.75], "texture": "#0"}, + "south": {"uv": [4.5, 3.875, 6.5, 4.75], "texture": "#0"}, + "down": {"uv": [2.25, 6.25, 4, 8], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/stator/generataor.bbmodel b/build/resources/main/assets/tfmg/models/block/stator/generataor.bbmodel new file mode 100644 index 00000000..470744df --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/stator/generataor.bbmodel @@ -0,0 +1 @@ +{"meta":{"format_version":"4.10","model_format":"free","box_uv":false},"name":"generataor","model_identifier":"","visible_box":[1,1,0],"variable_placeholders":"","variable_placeholder_buttons":[],"timeline_setups":[],"unhandled_root_fields":{},"resolution":{"width":64,"height":64},"elements":[{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-2,6,-7],"to":[2,10,9],"autouv":0,"color":9,"rotation":[0,0,22.5],"origin":[0,8,-6],"faces":{"north":{"uv":[6,6,10,10],"texture":1},"east":{"uv":[6,0,10,16],"rotation":90,"texture":0},"south":{"uv":[6,6,10,10.000000000000002],"texture":1},"west":{"uv":[6,0,10,16],"rotation":90,"texture":0},"up":{"uv":[6,0,10,16],"texture":0},"down":{"uv":[6,0,10,16],"texture":0}},"type":"cube","uuid":"d2b5d6a2-c5ed-b631-6614-b9c077ff09dd"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-40,-16,-8],"to":[-24,0,8],"autouv":0,"color":8,"origin":[-39,-16,-7],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"4c73b6ac-53d7-4625-6cca-3ce775c60686"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-40,-16,-24],"to":[-24,0,-8],"autouv":0,"color":8,"origin":[-39,-16,-23],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"596848d6-42c7-c56b-4652-6f1204bb91c8"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-40,-16,8],"to":[-24,0,24],"autouv":0,"color":8,"origin":[-39,-16,9],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"e9f982dd-d366-309b-e043-a51613e82b7f"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,-16,8],"to":[40,0,24],"autouv":0,"color":8,"origin":[25,-16,9],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"58152160-bf35-5b64-d175-1e69c6a7d636"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,-16,-8],"to":[40,0,8],"autouv":0,"color":8,"origin":[25,-16,-7],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"44c0b025-b5f4-cac6-0e5f-e8e05fca81f2"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,-16,-24],"to":[40,0,-8],"autouv":0,"color":8,"origin":[25,-16,-23],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"74c183f4-6916-92cd-9b76-d813c4568438"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,0,-6],"to":[24,16,6],"autouv":1,"color":9,"rotation":[0,0,90],"origin":[0,8,0],"faces":{"north":{"uv":[0,0,0,16],"texture":2},"east":{"uv":[0,0,12,16],"texture":2},"south":{"uv":[0,0,0,16],"texture":2},"west":{"uv":[0,0,0,0],"texture":null},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"31d54a77-1cfd-69af-7d56-0ed449268dd9"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-40,-32,-24],"to":[-24,-16,-8],"autouv":0,"color":8,"origin":[-39,-32,-23],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"c8690f40-201e-27cb-fdef-fa1d8653ec86"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-40,-32,8],"to":[-24,-16,24],"autouv":0,"color":8,"origin":[-39,-32,9],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"8e5bdcdb-1369-b2fb-1d1c-3453e1df59f3"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,-32,-24],"to":[40,-16,-8],"autouv":0,"color":8,"origin":[25,-32,-23],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"f433da53-d6cf-376c-ac5f-f2efbc26627b"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,-32,-8],"to":[40,-16,8],"autouv":0,"color":8,"origin":[25,-32,-7],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"6cf40bcf-e4a5-5880-ea4e-6de7cf5c25cd"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,-32,8],"to":[40,-16,24],"autouv":0,"color":8,"origin":[25,-32,9],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"df6d42fb-8551-4d31-b8bf-21f82a93154b"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-40,-32,-8],"to":[-24,-16,8],"autouv":0,"color":8,"origin":[-39,-32,-7],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"db023b3e-88cd-0085-4297-f04777cf5cf5"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[8,-32,8],"to":[24,-16,24],"autouv":0,"color":8,"origin":[9,-32,9],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"889375e4-9ab9-7137-729e-4fe897b98c15"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[8,-32,-8],"to":[24,-16,8],"autouv":0,"color":8,"origin":[9,-32,-7],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"3862c279-9c8f-179c-cef1-57f4f9553da4"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[8,-32,-24],"to":[24,-16,-8],"autouv":0,"color":8,"origin":[9,-32,-23],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"9ade44d7-ae2e-995c-ce43-d4d86ab1273b"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-8,-32,8],"to":[8,-16,24],"autouv":0,"color":8,"origin":[-7,-32,9],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"b56a156d-1771-af36-c5db-fc45192c27ec"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-8,-32,-24],"to":[8,-16,-8],"autouv":0,"color":8,"origin":[-7,-32,-23],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"24d48a66-8f47-14d5-cdeb-19b09c1fa6a2"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-24,-32,8],"to":[-8,-16,24],"autouv":0,"color":8,"origin":[-23,-32,9],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"2e8f5b97-3123-70b0-164b-1039382d8535"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-24,-32,-8],"to":[-8,-16,8],"autouv":0,"color":8,"origin":[-23,-32,-7],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"a722ae44-39aa-cfcc-bd5d-ca04ebed66f8"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-24,-32,-24],"to":[-8,-16,-8],"autouv":0,"color":8,"origin":[-23,-32,-23],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"ad2f4113-182b-d009-812a-5cb710c52c8c"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,24.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,29.999999999999986],"autouv":0,"color":9,"rotation":[0,90,90.0000000000009],"origin":[0,8,6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[11,16,16,32],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"5d9d275b-4c1a-0fb8-1155-ecdb5278ee65"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-7,27,-3],"to":[-1,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"4c6b6b07-ca30-3e96-5444-bdc553e84d18"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1,27,-3],"to":[7,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"a1789f4a-e51a-0ce1-c26c-7b1bc9f95ef2"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,0,-6],"to":[24,16,6],"autouv":1,"color":9,"rotation":[0,0,90],"origin":[0,8,0],"faces":{"north":{"uv":[0,0,0,16],"texture":2},"east":{"uv":[0,0,12,16],"texture":2},"south":{"uv":[0,0,0,16],"texture":2},"west":{"uv":[0,0,0,0],"texture":null},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"519cd171-2611-e707-686f-9fb38d17f6bd"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-7,27,-3],"to":[-1,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"c7138253-93b4-aeb8-dac3-e4ba1f493175"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1,27,-3],"to":[7,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"eb883d96-4761-96a0-9065-19ee6436aa29"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,0,-6],"to":[24,16,6],"autouv":1,"color":9,"rotation":[0,0,90],"origin":[0,8,0],"faces":{"north":{"uv":[0,0,0,16],"texture":2},"east":{"uv":[0,0,12,16],"texture":2},"south":{"uv":[0,0,0,16],"texture":2},"west":{"uv":[0,0,0,0],"texture":null},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"2f051ff7-585a-9907-3496-4a5e1fc5e980"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-7,27,-3],"to":[-1,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"0a82e6b2-4d40-4407-a63e-429529f4f422"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1,27,-3],"to":[7,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"c01e8be6-7cf2-46f4-d7f3-beaa756eda7d"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,0,-6],"to":[24,16,6],"autouv":1,"color":9,"rotation":[0,0,90],"origin":[0,8,0],"faces":{"north":{"uv":[0,0,0,16],"texture":2},"east":{"uv":[0,0,12,16],"texture":2},"south":{"uv":[0,0,0,16],"texture":2},"west":{"uv":[0,0,0,0],"texture":null},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"41267697-ebf5-7211-1424-19efefc4ef9f"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-7,27,-3],"to":[-1,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"1d0d1194-a6ae-e85c-515c-bbccc6412468"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1,27,-3],"to":[7,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"2515c7a4-6d8e-cd5e-a4ba-af4e9cb52bda"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,0,-6],"to":[24,16,6],"autouv":1,"color":9,"rotation":[0,0,90],"origin":[0,8,0],"faces":{"north":{"uv":[0,0,0,16],"texture":2},"east":{"uv":[0,0,12,16],"texture":2},"south":{"uv":[0,0,0,16],"texture":2},"west":{"uv":[0,0,0,0],"texture":null},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"4cc1c0f2-1422-238d-1ca1-02c24b39c8ad"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-7,27,-3],"to":[-1,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"a0556f33-c2be-c5c4-a5dc-77fb3f5a76ab"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1,27,-3],"to":[7,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"d885aa5a-2ad6-f926-e481-66efad8bd469"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,0,-6],"to":[24,16,6],"autouv":1,"color":9,"rotation":[0,0,90],"origin":[0,8,0],"faces":{"north":{"uv":[0,0,0,16],"texture":2},"east":{"uv":[0,0,12,16],"texture":2},"south":{"uv":[0,0,0,16],"texture":2},"west":{"uv":[0,0,12,16],"texture":null},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"ba0d66ef-dc33-a50d-6190-7c26e7820c3f"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-7,27,-3],"to":[-1,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"af4d716d-c25d-112c-97b4-1e4198e17fba"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1,27,-3],"to":[7,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"75a2fa67-c43c-fc86-023e-d488e9e1c221"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,0,-6],"to":[24,16,6],"autouv":1,"color":9,"rotation":[0,0,90],"origin":[0,8,0],"faces":{"north":{"uv":[0,0,0,16],"texture":2},"east":{"uv":[0,0,12,16],"texture":2},"south":{"uv":[0,0,0,16],"texture":2},"west":{"uv":[0,0,0,0],"texture":null},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"e8a16d08-887d-29a7-42fa-64f488f28483"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-7,27,-3],"to":[-1,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"ab8c8d42-e547-d9db-7ad9-7993811280ee"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1,27,-3],"to":[7,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"cd722f6e-56c0-66e3-ca4c-13a86a6ff114"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,0,-6],"to":[24,16,6],"autouv":1,"color":9,"rotation":[0,0,90],"origin":[0,8,0],"faces":{"north":{"uv":[0,0,0,16],"texture":2},"east":{"uv":[0,0,12,16],"texture":2},"south":{"uv":[0,0,0,16],"texture":2},"west":{"uv":[0,0,0,0],"texture":null},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"9b558fed-ec90-cb58-50bd-914deddaa460"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[11.05232677723409,-1.0369483049998962e-13,17.132466487249776],"to":[11.05232677723409,15.9999999999999,22.132466487249776],"autouv":0,"color":9,"rotation":[5.877952974676964e-14,77.49999999999997,90.0000000000003],"origin":[0,8,0],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[0,0,0,0],"texture":null},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[0,0,0,0],"texture":null},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"6cc6d494-5c36-1c46-b90b-55f6e46cbea1"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-7,27,-3],"to":[-1,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"bd4f074b-af4c-af17-4e20-580a3d093467"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1,27,-3],"to":[7,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"795f977f-f697-13a9-88cc-06d069242698"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-13,27,-7],"to":[-8,32,7],"autouv":0,"color":5,"origin":[0,8,0],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"34ff1c47-bd69-8d29-2408-1fc4cadb0e3f"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-13,-16,-7],"to":[-8,-11,7],"autouv":0,"color":5,"origin":[0,8,0],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"rotation":270,"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"8b2c65db-8c6c-7919-e669-e94ff50b7a7f"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[8,-16,-7],"to":[13,-11,7],"autouv":0,"color":5,"origin":[0,8,0],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"rotation":180,"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"240dea27-1ebe-c23e-ddf7-ce95ffcf2997"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-13,-16,-7],"to":[-8,-11,7],"autouv":0,"color":5,"rotation":[0,0,-90],"origin":[0,8,0],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"rotation":270,"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"c65affc4-39bd-2047-8d03-22e3eb2a20cb"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[8,-16,-7],"to":[13,-11,7],"autouv":0,"color":5,"rotation":[0,0,-90],"origin":[0,8,0],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"rotation":180,"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"c17d7f0a-a62b-75f8-46c3-f681c49bb726"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[8,27,-7],"to":[13,32,7],"autouv":0,"color":5,"rotation":[0,0,-90],"origin":[0,8,0],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"rotation":90,"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"4469d003-8179-32f6-c177-5d724ff66550"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-13,27,-7],"to":[-8,32,7],"autouv":0,"color":5,"rotation":[0,0,-90],"origin":[0,8,0],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"d9899c5f-e85c-7914-80ea-cc72a63eafa1"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-8,-32,-8],"to":[8,-17,8],"autouv":0,"color":8,"origin":[-7,-32,-7],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"600434d9-a654-1c7e-3f48-567ca7c7413e"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,-3],"to":[-8,28,11],"autouv":0,"color":5,"rotation":[0,-90,0],"origin":[0,8,4],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[15,0,20,16],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"texture":2},"west":{"uv":[15,0,20,14],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"8a08db08-e1e6-6aa1-1229-cf861382a486"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,-3],"to":[-8,28,11],"autouv":0,"color":5,"rotation":[0,-89.99999758516346,-45.00000000000002],"origin":[0,8,4],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[15,0,20,16],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"texture":2},"west":{"uv":[15,0,20,14],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"20914bf8-2432-67c8-d78b-a42abe1d07d8"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,-3],"to":[-8,28,11],"autouv":0,"color":5,"rotation":[0,-89.99999879258174,44.99999999999996],"origin":[0,8,4],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[15,0,20,16],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"texture":2},"west":{"uv":[15,0,20,14],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"309d77fe-a341-d6c0-4751-ac30ec97c7ce"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,-3],"to":[-8,28,11],"autouv":0,"color":5,"rotation":[0,-89.99999790869022,90.00000000000001],"origin":[0,8,4],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[15,0,20,16],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"texture":2},"west":{"uv":[15,0,20,14],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"5377e1d3-086b-b995-e143-fc1425d0e08e"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,-3],"to":[-8,28,11],"autouv":0,"color":5,"rotation":[0,-89.9999982924527,135.00000000000028],"origin":[0,8,4],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[15,0,20,16],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"texture":2},"west":{"uv":[15,0,20,14],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"36f7d8fd-141e-9798-9360-92d45e1fa287"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,-3],"to":[-8,28,11],"autouv":0,"color":5,"rotation":[0,-89.99999914622636,179.99999999999991],"origin":[0,8,4],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[15,0,20,16],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"texture":2},"west":{"uv":[15,0,20,14],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"5c292161-7a7a-b57b-9d35-03c9b79eb457"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-7,23,-6.999999915706303],"to":[-4,28,7.000000084293697],"autouv":0,"color":5,"rotation":[0,-89.99999879258174,-134.99999999999994],"origin":[0,8,0],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[15,0,20,16],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"texture":2},"west":{"uv":[15,0,20,14],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"c0d6efda-9f54-6062-f3bd-5a18327311b8"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,-3],"to":[-8,28,11],"autouv":0,"color":5,"rotation":[0,-89.9999982924527,-90.00000000000009],"origin":[0,8,4],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[15,0,20,16],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"texture":2},"west":{"uv":[15,0,20,14],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,14,30],"texture":2}},"type":"cube","uuid":"8390d830-d313-0f45-4d28-b8ed1fdb2ca4"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,8],"to":[-8,28,22],"autouv":0,"color":5,"rotation":[0,-89.99999758516346,-45.00000000000002],"origin":[0,8,15],"faces":{"north":{"uv":[11,32,14,37],"texture":2},"east":{"uv":[15,1,20,15],"rotation":90,"texture":2},"south":{"uv":[11,32,14,37],"texture":2},"west":{"uv":[0,0,0,0],"rotation":90,"texture":null},"up":{"uv":[11,16,14,30],"texture":2},"down":{"uv":[11,16,14,30],"texture":2}},"type":"cube","uuid":"1d46ce7d-a372-0806-3800-3d29bd42509d"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,8],"to":[-8,28,22],"autouv":0,"color":5,"rotation":[0,-89.9999982924527,-90.00000000000009],"origin":[0,8,15],"faces":{"north":{"uv":[11,32,14,37],"texture":2},"east":{"uv":[15,1,20,15],"rotation":90,"texture":2},"south":{"uv":[11,32,14,37],"texture":2},"west":{"uv":[0,0,0,0],"rotation":90,"texture":null},"up":{"uv":[11,16,14,30],"texture":2},"down":{"uv":[11,16,14,30],"texture":2}},"type":"cube","uuid":"f7dc5767-8807-a7f3-5c91-3cbcaa4fab22"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[4,23,-6.999999683898633],"to":[7,28,7.000000316101367],"autouv":0,"color":5,"rotation":[0,-89.99999879258174,-134.99999999999994],"origin":[0,8,0],"faces":{"north":{"uv":[11,32,14,37],"texture":2},"east":{"uv":[15,1,20,15],"rotation":90,"texture":2},"south":{"uv":[11,32,14,37],"texture":2},"west":{"uv":[0,0,0,0],"rotation":90,"texture":null},"up":{"uv":[11,16,14,30],"texture":2},"down":{"uv":[11,16,14,30],"texture":2}},"type":"cube","uuid":"5bdec1af-788f-fcde-f64c-76206f7fee70"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,8],"to":[-8,28,22],"autouv":0,"color":5,"rotation":[0,-89.9999982924527,135.00000000000028],"origin":[0,8,15],"faces":{"north":{"uv":[11,32,14,37],"texture":2},"east":{"uv":[15,1,20,15],"rotation":90,"texture":2},"south":{"uv":[11,32,14,37],"texture":2},"west":{"uv":[0,0,0,0],"rotation":90,"texture":null},"up":{"uv":[11,16,14,30],"texture":2},"down":{"uv":[11,16,14,30],"texture":2}},"type":"cube","uuid":"3b1130a8-de9d-22d1-52ed-cb0a608fa0e9"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,8],"to":[-8,28,22],"autouv":0,"color":5,"rotation":[0,-89.99999914622636,179.99999999999991],"origin":[0,8,15],"faces":{"north":{"uv":[11,32,14,37],"texture":2},"east":{"uv":[15,1,20,15],"rotation":90,"texture":2},"south":{"uv":[11,32,14,37],"texture":2},"west":{"uv":[0,0,0,0],"rotation":90,"texture":null},"up":{"uv":[11,16,14,30],"texture":2},"down":{"uv":[11,16,14,30],"texture":2}},"type":"cube","uuid":"40288fd4-f4b7-2b84-0597-4024bd4ea029"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,8],"to":[-8,28,22],"autouv":0,"color":5,"rotation":[0,-89.99999790869022,90.00000000000001],"origin":[0,8,15],"faces":{"north":{"uv":[11,32,14,37],"texture":2},"east":{"uv":[15,1,20,15],"rotation":90,"texture":2},"south":{"uv":[11,32,14,37],"texture":2},"west":{"uv":[0,0,0,0],"rotation":90,"texture":null},"up":{"uv":[11,16,14,30],"texture":2},"down":{"uv":[11,16,14,30],"texture":2}},"type":"cube","uuid":"ce853d73-1b52-59c1-3fcc-b292883b2f41"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,8],"to":[-8,28,22],"autouv":0,"color":5,"rotation":[0,-89.99999879258174,44.99999999999996],"origin":[0,8,15],"faces":{"north":{"uv":[11,32,14,37],"texture":2},"east":{"uv":[15,1,20,15],"rotation":90,"texture":2},"south":{"uv":[11,32,14,37],"texture":2},"west":{"uv":[0,0,0,0],"rotation":90,"texture":null},"up":{"uv":[11,16,14,30],"texture":2},"down":{"uv":[11,16,14,30],"texture":2}},"type":"cube","uuid":"b9374ad3-51f9-b3b2-498e-b0994a890f82"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,8],"to":[-8,28,22],"autouv":0,"color":5,"rotation":[0,-90,0],"origin":[0,8,15],"faces":{"north":{"uv":[11,32,14,37],"texture":2},"east":{"uv":[15,1,20,15],"rotation":90,"texture":2},"south":{"uv":[11,32,14,37],"texture":2},"west":{"uv":[0,0,0,0],"rotation":90,"texture":null},"up":{"uv":[11,16,14,30],"texture":2},"down":{"uv":[11,16,14,30],"texture":2}},"type":"cube","uuid":"a2eb42d8-4206-1968-f880-aa000bfdf0d1"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[8,27,-7],"to":[13,32,7],"autouv":0,"color":5,"origin":[21,8,0],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"rotation":90,"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"c99d9e4e-9f4c-79ba-2e5c-e615a105e1fe"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,24.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,29.999999999999986],"autouv":0,"color":9,"rotation":[0,90,135.000000000001],"origin":[0,8,6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[11,16,16,32],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"e41fe602-69ba-d942-e4f7-0691232714e7"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,24.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,29.999999999999986],"autouv":0,"color":9,"rotation":[0,89.99999790869022,45.00000000000104],"origin":[0,8,6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[11,16,16,32],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"1e06cbd3-cc94-8e83-a26e-7038e7116bb6"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,24.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,29.999999999999986],"autouv":0,"color":9,"visibility":false,"rotation":[0,89.99999758516346,9.694588406501987e-13],"origin":[0,8,6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[11,16,16,32],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"dc770dcc-c2fb-12d2-976d-1afb2ecfeea9"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,24.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,29.999999999999986],"autouv":0,"color":9,"rotation":[0,89.9999982924527,-134.99999999999915],"origin":[0,8,6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[11,16,16,32],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"002d8714-ce3b-ad77-0ff1-121f4edc82d7"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,24.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,29.999999999999986],"autouv":0,"color":9,"rotation":[0,89.9999982924527,-134.99999999999915],"origin":[0,8,6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[15,0,20,16.000000000000004],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"366d029e-4de0-b6de-cf9b-6bf2aed96dc1"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,24.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,29.999999999999986],"autouv":0,"color":9,"rotation":[0,89.99999790869022,-179.99999999999926],"origin":[0,8,6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[11,16,16,32],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"84d50a84-2858-9763-5934-f231ed9809e5"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,24.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,29.999999999999986],"autouv":0,"color":9,"rotation":[0,89.99999790869022,-89.99999999999902],"origin":[0,8,6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[11,16,16,32],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"6caf25d0-eb39-fe13-5ffb-43e4f2ffc5eb"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-5.999999999999972,-3.8891112552619234e-13,19.00000037932163],"to":[-5.999999999999972,15.99999999999963,24.000000379321623],"autouv":0,"color":9,"rotation":[0,89.99999637774519,-44.99999999999897],"origin":[0,8,0],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[11,16,16,32],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"ba9eeca6-cd79-5a91-3506-c4c48c1f412c"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,12.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,17.999999999999986],"autouv":0,"color":9,"rotation":[0,89.9999982924527,-134.99999999999915],"origin":[0,8,-6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[15,0,20,16.000000000000004],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"b687339f-2891-9b78-3feb-04d86a470c79"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,12.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,17.999999999999986],"autouv":0,"color":9,"rotation":[0,89.99999790869022,-179.99999999999926],"origin":[0,8,-6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[15,0,20,16.000000000000004],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"7519d9e5-0e13-ee76-0405-0f33b83c3708"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,12.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,17.999999999999986],"autouv":0,"color":9,"rotation":[0,90,135.000000000001],"origin":[0,8,-6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[15,0,20,16.000000000000004],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"a9dfd4cb-d8f7-ef4a-d7a8-c2f2c7173471"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,12.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,17.999999999999986],"autouv":0,"color":9,"rotation":[0,90,90.0000000000009],"origin":[0,8,-6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[15,0,20,16.000000000000004],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"cd4ab269-90f2-17e4-2b95-5df95f74da22"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,12.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,17.999999999999986],"autouv":0,"color":9,"rotation":[0,89.99999790869022,45.00000000000104],"origin":[0,8,-6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[15,0,20,16.000000000000004],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"181b7b15-0986-aec0-3277-6bf1471f7d1e"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,12.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,17.999999999999986],"autouv":0,"color":9,"rotation":[0,89.99999758516346,9.694588406501987e-13],"origin":[0,8,-6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[15,0,20,16.000000000000004],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"13744a99-850a-23fe-9ebc-81a3ed73d656"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[6.0000000000000036,-3.8891112552619234e-13,18.99999962067836],"to":[6.0000000000000036,15.99999999999963,23.999999620678352],"autouv":0,"color":9,"rotation":[0,89.99999637774519,-44.99999999999897],"origin":[0,8,0],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[15,0,20,16.000000000000004],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"625a0ff9-29f7-b41c-245c-4b5c2bdbc068"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,12.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,17.999999999999986],"autouv":0,"color":9,"rotation":[0,89.99999790869022,-89.99999999999902],"origin":[0,8,-6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[15,0,20,16.000000000000004],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"b6c155ff-cc4e-e4c6-890e-3ba44fa4e245"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[6,25,-7.1],"to":[9,28,7.1],"autouv":0,"color":5,"origin":[-2,6,-2],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[13,34,16,37],"rotation":90,"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"226783cd-e30c-8075-fdce-6b6875040a45"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-9,25,-7.1],"to":[-6,28,7.1],"autouv":0,"color":5,"origin":[-17,6,-2],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[13,34,16,37],"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"1406327d-facc-5f9f-7616-695fa688fad4"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-9,-12,-7.1],"to":[-6,-9,7.1],"autouv":0,"color":5,"origin":[-17,-31,-2],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[13,34,16,37],"rotation":90,"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"9bb91f6b-7c8c-f417-373e-89f45e494049"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[6,-12,-7.1],"to":[9,-9,7.1],"autouv":0,"color":5,"origin":[0,8,0],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[13,34,16,37],"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"389a3547-d0bf-c35a-7739-f5400f87794d"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-9,-12,-7.1],"to":[-6,-9,7.1],"autouv":0,"color":5,"rotation":[0,0,-90],"origin":[0,8,-2],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[13,34,16,37],"rotation":90,"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"33703390-92b0-837d-e22a-bca98a26eb4e"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[6,-12,-7.1],"to":[9,-9,7.1],"autouv":0,"color":5,"rotation":[0,0,-90],"origin":[0,8,-2],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[13,34,16,37],"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"428c064a-4e7e-1171-7aaa-8691fdef2484"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-9,25,-7.1],"to":[-6,28,7.1],"autouv":0,"color":5,"rotation":[0,0,-90],"origin":[0,8,-2],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[13,34,16,37],"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"4d7e72a5-a440-bc9d-c3d3-00841497994b"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[6,25,-7.1],"to":[9,28,7.1],"autouv":0,"color":5,"rotation":[0,0,-90],"origin":[0,8,0],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[13,34,16,37],"rotation":90,"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"2d72cbf6-83d3-cf9a-420e-9588b137a92a"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3.000000000000006,-10,-2],"to":[3,-6,4],"autouv":0,"color":8,"rotation":[0,0,157.5000000000004],"origin":[0,8,1],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"f71e8533-aa0f-ea2a-be94-0d34748e08e1"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3.000000000000006,-10,-2],"to":[3,-6,4],"autouv":0,"color":8,"rotation":[0,0,-22.500000000000206],"origin":[0,8,1],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"8cfb86b8-cf8c-9429-6ce9-b5072469eb10"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3.000000000000006,-10,-2],"to":[3,-6,4],"autouv":0,"color":8,"rotation":[0,0,67.50000000000037],"origin":[0,8,1],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"18e880c7-5730-27ab-3266-f37c969aa90f"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3.000000000000006,-10,-2],"to":[3,-6,4],"autouv":0,"color":8,"rotation":[0,0,112.5000000000005],"origin":[0,8,1],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"e54b552c-63b2-2dd0-919a-6effd6f2f04a"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3.000000000000006,-10,-2],"to":[3,-6,4],"autouv":0,"color":8,"rotation":[0,0,22.50000000000046],"origin":[0,8,1],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"4ffa6b77-5716-c00b-c649-796c06653bec"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3.000000000000006,-10,-2],"to":[3,-6,4],"autouv":0,"color":8,"rotation":[0,0,-67.50000000000031],"origin":[0,8,1],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"5fdc7b3d-f8da-e3dd-16f1-5aa090e421b1"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[11,1,-1],"to":[16,15,3],"autouv":0,"color":0,"rotation":[0,0,90.00000000000018],"origin":[0,8,19],"faces":{"north":{"uv":[0,0,3,14],"texture":2},"east":{"uv":[0,0,4,14],"texture":2},"south":{"uv":[2,18,5,32],"texture":2},"west":{"uv":[0,0,4,14],"texture":2},"up":{"uv":[0,0,3,4],"texture":2},"down":{"uv":[0,0,3,4],"texture":2}},"type":"cube","uuid":"e2cb3112-68dc-771b-27c4-2611ecbee4f8"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3,5,-4],"to":[3,11,6],"autouv":0,"color":8,"rotation":[0,0,67.5],"origin":[0,8,1],"faces":{"north":{"uv":[0,19,6,25],"texture":2},"east":{"uv":[0,19,10,25],"texture":2},"south":{"uv":[0,19,6,25],"texture":2},"west":{"uv":[0,19,10,25],"texture":2},"up":{"uv":[0,19,6,29],"texture":2},"down":{"uv":[0,19,6,29],"texture":2}},"type":"cube","uuid":"718a479f-b3d8-98a5-8950-2c0b7ccd8203"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3.000000000000006,-10,-2],"to":[3,-6,4],"autouv":0,"color":8,"rotation":[0,0,-157.5000000000004],"origin":[0,8,1],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"0e2f9355-ba8f-4d8d-db23-a2203a53e049"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3.000000000000006,-10,-2],"to":[3,-6,4],"autouv":0,"color":8,"rotation":[0,0,-112.50000000000044],"origin":[0,8,1],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"2a494294-d0a6-5e21-5f24-e5a14a3110e6"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-4.148050297095269,18.228361402466142,-2],"to":[1.8519497029047312,22.228361402466142,4],"autouv":0,"color":1,"rotation":[0,0,22.5],"origin":[0,11,-1],"faces":{"north":{"uv":[24,19,30,23],"texture":2},"east":{"uv":[24,19,30,23],"texture":2},"south":{"uv":[24,19,30,23],"texture":2},"west":{"uv":[24,19,30,23],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,24,30,30],"texture":2}},"type":"cube","uuid":"5c11c883-2280-302c-563a-9871eafb039a"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3,18,-2],"to":[3,22,4],"autouv":0,"color":1,"rotation":[0,0,-22.5],"origin":[0,8,-1],"faces":{"north":{"uv":[24,19,30,23],"texture":2},"east":{"uv":[24,19,30,23],"texture":2},"south":{"uv":[24,19,30,23],"texture":2},"west":{"uv":[24,19,30,23],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,24,30,30],"texture":2}},"type":"cube","uuid":"bc3ae6ee-238b-1092-bd74-9158ffe8579f"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3,18,-2],"to":[3,22,4],"autouv":0,"color":1,"rotation":[0,0,-112.50000000000026],"origin":[0,8,-1],"faces":{"north":{"uv":[24,19,30,23],"texture":2},"east":{"uv":[24,19,30,23],"texture":2},"south":{"uv":[24,19,30,23],"texture":2},"west":{"uv":[24,19,30,23],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,24,30,30],"texture":2}},"type":"cube","uuid":"b1a76d0a-d666-563a-7b2f-543a2411fdde"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3,18,-2],"to":[3,22,4],"autouv":0,"color":1,"rotation":[0,0,-67.50000000000004],"origin":[0,8,-1],"faces":{"north":{"uv":[24,19,30,23],"texture":2},"east":{"uv":[24,19,30,23],"texture":2},"south":{"uv":[24,19,30,23],"texture":2},"west":{"uv":[24,19,30,23],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,24,30,30],"texture":2}},"type":"cube","uuid":"af04edce-cdb8-5bee-ba03-4a86d43d52d4"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3,18,-2],"to":[3,22,4],"autouv":0,"color":1,"rotation":[0,0,67.50000000000006],"origin":[0,8,-1],"faces":{"north":{"uv":[24,19,30,23],"texture":2},"east":{"uv":[24,19,30,23],"texture":2},"south":{"uv":[24,19,30,23],"texture":2},"west":{"uv":[24,19,30,23],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,24,30,30],"texture":2}},"type":"cube","uuid":"4eecc09c-9d25-a670-61e7-0c7abdba44a8"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3,18,-2],"to":[3,22,4],"autouv":0,"color":1,"rotation":[0,0,112.5000000000004],"origin":[0,8,-1],"faces":{"north":{"uv":[24,19,30,23],"texture":2},"east":{"uv":[24,19,30,23],"texture":2},"south":{"uv":[24,19,30,23],"texture":2},"west":{"uv":[24,19,30,23],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,24,30,30],"texture":2}},"type":"cube","uuid":"27ff9af0-acb2-855c-1326-a7697fe05001"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3,18,-2],"to":[3,22,4],"autouv":0,"color":1,"rotation":[0,0,157.49999999999997],"origin":[0,8,-1],"faces":{"north":{"uv":[24,19,30,23],"texture":2},"east":{"uv":[24,19,30,23],"texture":2},"south":{"uv":[24,19,30,23],"texture":2},"west":{"uv":[24,19,30,23],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,24,30,30],"texture":2}},"type":"cube","uuid":"a887f2e7-2266-c395-b402-6d456ce30be1"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3,18,-2],"to":[3,22,4],"autouv":0,"color":1,"rotation":[0,0,-157.49999999999997],"origin":[0,8,-1],"faces":{"north":{"uv":[24,19,30,23],"texture":2},"east":{"uv":[24,19,30,23],"texture":2},"south":{"uv":[24,19,30,23],"texture":2},"west":{"uv":[24,19,30,23],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,24,30,30],"texture":2}},"type":"cube","uuid":"b819abcb-dadc-e1d1-2512-bd23b9074e34"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,-3,1],"to":[11,19,1],"autouv":0,"color":7,"rotation":[0,0,22.5],"origin":[0,8,2],"faces":{"north":{"uv":[0,0,22,22],"texture":null},"east":{"uv":[0,0,0,22]},"south":{"uv":[36,7,58,29],"texture":2},"west":{"uv":[0,0,0,22]},"up":{"uv":[0,0,22,0]},"down":{"uv":[0,0,22,0]}},"type":"cube","uuid":"c0a9a659-cd72-0268-193f-3ee6f6ada571"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,-3,1.1000000000000014],"to":[11,19,1.1000000000000014],"autouv":0,"color":7,"rotation":[0,0,-22.5],"origin":[0,8,2],"faces":{"north":{"uv":[0,0,22,22],"texture":null},"east":{"uv":[0,0,0,22]},"south":{"uv":[36,7,58,29],"texture":2},"west":{"uv":[0,0,0,22]},"up":{"uv":[0,0,22,0]},"down":{"uv":[0,0,22,0]}},"type":"cube","uuid":"700e25bb-fb04-ed05-77e9-c8b4d6d66fc1"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[11,1,-1],"to":[16,15,3],"autouv":0,"color":0,"rotation":[0,0,135],"origin":[0,8,19],"faces":{"north":{"uv":[0,0,3,14],"texture":2},"east":{"uv":[0,0,4,14],"texture":2},"south":{"uv":[2,18,5,32],"texture":2},"west":{"uv":[0,0,4,14],"texture":2},"up":{"uv":[0,0,3,4],"texture":2},"down":{"uv":[0,0,3,4],"texture":2}},"type":"cube","uuid":"98b2861b-5874-f1bf-a742-28878804b732"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[11,1,-1],"to":[16,15,3],"autouv":0,"color":0,"rotation":[0,0,45.00000000000024],"origin":[0,8,19],"faces":{"north":{"uv":[0,0,3,14],"texture":2},"east":{"uv":[0,0,4,14],"texture":2},"south":{"uv":[2,18,5,32],"texture":2},"west":{"uv":[0,0,4,14],"texture":2},"up":{"uv":[0,0,3,4],"texture":2},"down":{"uv":[0,0,3,4],"texture":2}},"type":"cube","uuid":"8b1aac9f-2379-4de5-892d-52fb86cd712a"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[11,1,-1],"to":[16,15,3],"autouv":0,"color":0,"rotation":[0,0,2.2025341169134855e-13],"origin":[0,8,19],"faces":{"north":{"uv":[0,0,3,14],"texture":2},"east":{"uv":[0,0,4,14],"texture":2},"south":{"uv":[2,18,5,32],"texture":2},"west":{"uv":[0,0,4,14],"texture":2},"up":{"uv":[0,0,3,4],"texture":2},"down":{"uv":[0,0,3,4],"texture":2}},"type":"cube","uuid":"bd1f701c-e2ea-1984-0613-9bde959248ee"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[11,1,-1],"to":[16,15,3],"autouv":0,"color":0,"rotation":[0,0,-134.99999999999966],"origin":[0,8,19],"faces":{"north":{"uv":[0,0,3,14],"texture":2},"east":{"uv":[0,0,4,14],"texture":2},"south":{"uv":[2,18,5,32],"texture":2},"west":{"uv":[0,0,4,14],"texture":2},"up":{"uv":[0,0,3,4],"texture":2},"down":{"uv":[0,0,3,4],"texture":2}},"type":"cube","uuid":"bb980a7c-a96c-c664-e72d-7c59a14103ef"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[11,1,-1],"to":[16,15,3],"autouv":0,"color":0,"rotation":[0,0,-179.99999999999991],"origin":[0,8,19],"faces":{"north":{"uv":[0,0,3,14],"texture":2},"east":{"uv":[0,0,4,14],"texture":2},"south":{"uv":[2,18,5,32],"texture":2},"west":{"uv":[0,0,4,14],"texture":2},"up":{"uv":[0,0,3,4],"texture":2},"down":{"uv":[0,0,3,4],"texture":2}},"type":"cube","uuid":"8e001a80-94d6-cc21-8c83-aa8e7b8b1c61"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[11,1,-1],"to":[16,15,3],"autouv":0,"color":0,"rotation":[0,0,-89.9999999999999],"origin":[0,8,19],"faces":{"north":{"uv":[0,0,3,14],"texture":2},"east":{"uv":[0,0,4,14],"texture":2},"south":{"uv":[2,18,5,32],"texture":2},"west":{"uv":[0,0,4,14],"texture":2},"up":{"uv":[0,0,3,4],"texture":2},"down":{"uv":[0,0,3,4],"texture":2}},"type":"cube","uuid":"9bc5da18-d3bd-c4c9-35d8-26ab8da39266"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[11,1,-1],"to":[16,15,3],"autouv":0,"color":0,"rotation":[0,0,-44.999999999999986],"origin":[0,8,19],"faces":{"north":{"uv":[0,0,3,14],"texture":2},"east":{"uv":[0,0,4,14],"texture":2},"south":{"uv":[2,18,5,32],"texture":2},"west":{"uv":[0,0,4,14],"texture":2},"up":{"uv":[0,0,3,4],"texture":2},"down":{"uv":[0,0,3,4],"texture":2}},"type":"cube","uuid":"0e7db1f7-02bc-3972-06bc-35af6073b950"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,0,-5],"to":[35,2,5],"autouv":0,"color":9,"origin":[25,0,0],"faces":{"north":{"uv":[0,45,11,47],"texture":2},"east":{"uv":[0,0,10,2],"texture":2},"south":{"uv":[0,43,11,45],"texture":2},"west":{"uv":[0,0,10,2],"texture":2},"up":{"uv":[0,40,11,50],"texture":2},"down":{"uv":[0,0,11,10],"texture":2}},"type":"cube","uuid":"f7ee2c2b-0181-3ad6-ead9-c92be961a2c6"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[14,0,-3],"to":[35,5,3],"autouv":0,"color":9,"visibility":false,"rotation":[0,0,-45],"origin":[28,0,0],"faces":{"north":{"uv":[0,45,21,50],"texture":2},"east":{"uv":[0,0,6,5],"texture":2},"south":{"uv":[0,43,21,48],"texture":2},"west":{"uv":[0,0,6,5],"texture":2},"up":{"uv":[0,40,14,46],"texture":2},"down":{"uv":[0,0,21,6],"texture":2}},"type":"cube","uuid":"163f54d7-fe6a-591b-b37f-dec59edb3e77"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[5.798989873223341,19.798989873223327,-3],"to":[26.798989873223313,24.798989873223327,3],"autouv":0,"color":9,"rotation":[179.9999999999999,-2.240821715503627e-13,-135.00000000000009],"origin":[0,0,0],"faces":{"north":{"uv":[0,44,20.99999999999997,49],"texture":2},"east":{"uv":[0,0,6,5],"texture":2},"south":{"uv":[0,43,21,48],"texture":2},"west":{"uv":[0,0,6,5],"texture":2},"up":{"uv":[0,40,14,46],"texture":2},"down":{"uv":[0,0,21,6],"texture":2}},"type":"cube","uuid":"ad479b7b-41aa-65ab-0b7a-8585e5c000d4"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,0,-5],"to":[35,2,5],"autouv":0,"color":9,"rotation":[180,-9.422393243835668e-14,180],"origin":[0,0,0],"faces":{"north":{"uv":[0,45,11,47],"texture":2},"east":{"uv":[0,0,10,2],"texture":2},"south":{"uv":[0,43,11,45],"texture":2},"west":{"uv":[0,0,10,2],"texture":2},"up":{"uv":[0,40,11,50],"texture":2},"down":{"uv":[0,0,11,10],"texture":2}},"type":"cube","uuid":"cd88cd7b-3de7-e854-e315-2badf6797c4e"}],"outliner":[{"name":"part","origin":[0,8,-7],"color":0,"uuid":"f7a55769-40bc-e852-71af-5795a0b345bb","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["31d54a77-1cfd-69af-7d56-0ed449268dd9","5d9d275b-4c1a-0fb8-1155-ecdb5278ee65","e41fe602-69ba-d942-e4f7-0691232714e7","dc770dcc-c2fb-12d2-976d-1afb2ecfeea9","1e06cbd3-cc94-8e83-a26e-7038e7116bb6","ba9eeca6-cd79-5a91-3506-c4c48c1f412c","6caf25d0-eb39-fe13-5ffb-43e4f2ffc5eb","84d50a84-2858-9763-5934-f231ed9809e5","366d029e-4de0-b6de-cf9b-6bf2aed96dc1","002d8714-ce3b-ad77-0ff1-121f4edc82d7","b6c155ff-cc4e-e4c6-890e-3ba44fa4e245","625a0ff9-29f7-b41c-245c-4b5c2bdbc068","13744a99-850a-23fe-9ebc-81a3ed73d656","181b7b15-0986-aec0-3277-6bf1471f7d1e","cd4ab269-90f2-17e4-2b95-5df95f74da22","a9dfd4cb-d8f7-ef4a-d7a8-c2f2c7173471","7519d9e5-0e13-ee76-0405-0f33b83c3708","0a82e6b2-4d40-4407-a63e-429529f4f422","c01e8be6-7cf2-46f4-d7f3-beaa756eda7d","b687339f-2891-9b78-3feb-04d86a470c79","4c6b6b07-ca30-3e96-5444-bdc553e84d18","a1789f4a-e51a-0ce1-c26c-7b1bc9f95ef2",{"name":"part2","origin":[0,8,-7],"rotation":[0,0,45],"color":0,"uuid":"0dd9ec51-938d-7380-7b5a-c8d497b934ba","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["519cd171-2611-e707-686f-9fb38d17f6bd","c7138253-93b4-aeb8-dac3-e4ba1f493175","eb883d96-4761-96a0-9065-19ee6436aa29",{"name":"part3","origin":[0,8,-7],"rotation":[0,0,45],"color":0,"uuid":"c482dd87-1f34-b2f7-f745-202566e5dfb7","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["2f051ff7-585a-9907-3496-4a5e1fc5e980",{"name":"part4","origin":[0,8,-7],"rotation":[0,0,45],"color":0,"uuid":"13a30339-6182-ef4d-2173-12e93542073d","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["41267697-ebf5-7211-1424-19efefc4ef9f","1d0d1194-a6ae-e85c-515c-bbccc6412468","2515c7a4-6d8e-cd5e-a4ba-af4e9cb52bda",{"name":"part5","origin":[0,8,-7],"rotation":[0,0,45],"color":0,"uuid":"11d7341f-a1c0-8dc2-af95-f3790e5f8baf","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["4cc1c0f2-1422-238d-1ca1-02c24b39c8ad","a0556f33-c2be-c5c4-a5dc-77fb3f5a76ab","d885aa5a-2ad6-f926-e481-66efad8bd469",{"name":"part6","origin":[0,8,-7],"rotation":[0,0,45],"color":0,"uuid":"90c65ed6-1d0a-d9c1-1eab-83a12cd5123d","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["ba0d66ef-dc33-a50d-6190-7c26e7820c3f","af4d716d-c25d-112c-97b4-1e4198e17fba","75a2fa67-c43c-fc86-023e-d488e9e1c221",{"name":"part7","origin":[0,8,-7],"rotation":[0,0,45],"color":0,"uuid":"1ef04d6a-21c3-eb1a-564e-c886136830d3","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["e8a16d08-887d-29a7-42fa-64f488f28483","ab8c8d42-e547-d9db-7ad9-7993811280ee","cd722f6e-56c0-66e3-ca4c-13a86a6ff114",{"name":"part8","origin":[0,8,-7],"rotation":[0,0,45],"color":0,"uuid":"255d7d7a-6e46-e491-c5f2-631ce02ad3fd","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["9b558fed-ec90-cb58-50bd-914deddaa460","6cc6d494-5c36-1c46-b90b-55f6e46cbea1","bd4f074b-af4c-af17-4e20-580a3d093467","795f977f-f697-13a9-88cc-06d069242698"]}]}]}]}]}]}]}]},{"name":"konkret","origin":[-39,-16,-23],"color":0,"uuid":"a6095600-dde9-284d-af97-c98754a0eb69","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["4c73b6ac-53d7-4625-6cca-3ce775c60686","e9f982dd-d366-309b-e043-a51613e82b7f","74c183f4-6916-92cd-9b76-d813c4568438","44c0b025-b5f4-cac6-0e5f-e8e05fca81f2","58152160-bf35-5b64-d175-1e69c6a7d636","596848d6-42c7-c56b-4652-6f1204bb91c8","db023b3e-88cd-0085-4297-f04777cf5cf5","df6d42fb-8551-4d31-b8bf-21f82a93154b","9ade44d7-ae2e-995c-ce43-d4d86ab1273b","3862c279-9c8f-179c-cef1-57f4f9553da4","889375e4-9ab9-7137-729e-4fe897b98c15","24d48a66-8f47-14d5-cdeb-19b09c1fa6a2","600434d9-a654-1c7e-3f48-567ca7c7413e","b56a156d-1771-af36-c5db-fc45192c27ec","ad2f4113-182b-d009-812a-5cb710c52c8c","a722ae44-39aa-cfcc-bd5d-ca04ebed66f8","2e8f5b97-3123-70b0-164b-1039382d8535","6cf40bcf-e4a5-5880-ea4e-6de7cf5c25cd","f433da53-d6cf-376c-ac5f-f2efbc26627b","8e5bdcdb-1369-b2fb-1d1c-3453e1df59f3","c8690f40-201e-27cb-fdef-fa1d8653ec86"]},{"name":"bone","origin":[0,8,0],"color":0,"uuid":"8a4413b5-970b-1cff-0239-40869f1b1833","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["226783cd-e30c-8075-fdce-6b6875040a45","1406327d-facc-5f9f-7616-695fa688fad4","389a3547-d0bf-c35a-7739-f5400f87794d","9bb91f6b-7c8c-f417-373e-89f45e494049","2d72cbf6-83d3-cf9a-420e-9588b137a92a","4d7e72a5-a440-bc9d-c3d3-00841497994b","428c064a-4e7e-1171-7aaa-8691fdef2484","33703390-92b0-837d-e22a-bca98a26eb4e","34ff1c47-bd69-8d29-2408-1fc4cadb0e3f","c99d9e4e-9f4c-79ba-2e5c-e615a105e1fe","20914bf8-2432-67c8-d78b-a42abe1d07d8","a2eb42d8-4206-1968-f880-aa000bfdf0d1","b9374ad3-51f9-b3b2-498e-b0994a890f82","ce853d73-1b52-59c1-3fcc-b292883b2f41","40288fd4-f4b7-2b84-0597-4024bd4ea029","3b1130a8-de9d-22d1-52ed-cb0a608fa0e9","5bdec1af-788f-fcde-f64c-76206f7fee70","f7dc5767-8807-a7f3-5c91-3cbcaa4fab22","1d46ce7d-a372-0806-3800-3d29bd42509d","5377e1d3-086b-b995-e143-fc1425d0e08e","309d77fe-a341-d6c0-4751-ac30ec97c7ce","5c292161-7a7a-b57b-9d35-03c9b79eb457","36f7d8fd-141e-9798-9360-92d45e1fa287","8390d830-d313-0f45-4d28-b8ed1fdb2ca4","c0d6efda-9f54-6062-f3bd-5a18327311b8","8a08db08-e1e6-6aa1-1229-cf861382a486","240dea27-1ebe-c23e-ddf7-ce95ffcf2997","8b2c65db-8c6c-7919-e669-e94ff50b7a7f","d9899c5f-e85c-7914-80ea-cc72a63eafa1","4469d003-8179-32f6-c177-5d724ff66550","c17d7f0a-a62b-75f8-46c3-f681c49bb726","c65affc4-39bd-2047-8d03-22e3eb2a20cb"]},{"name":"rotor","origin":[0,8,24],"rotation":[0,0,-22.5],"color":0,"uuid":"9d77316a-094f-0610-95cd-91017bd5c350","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["d2b5d6a2-c5ed-b631-6614-b9c077ff09dd","718a479f-b3d8-98a5-8950-2c0b7ccd8203","e2cb3112-68dc-771b-27c4-2611ecbee4f8","98b2861b-5874-f1bf-a742-28878804b732","bd1f701c-e2ea-1984-0613-9bde959248ee","8b1aac9f-2379-4de5-892d-52fb86cd712a","0e7db1f7-02bc-3972-06bc-35af6073b950","9bc5da18-d3bd-c4c9-35d8-26ab8da39266","8e001a80-94d6-cc21-8c83-aa8e7b8b1c61","bb980a7c-a96c-c664-e72d-7c59a14103ef","f71e8533-aa0f-ea2a-be94-0d34748e08e1","8cfb86b8-cf8c-9429-6ce9-b5072469eb10","18e880c7-5730-27ab-3266-f37c969aa90f","2a494294-d0a6-5e21-5f24-e5a14a3110e6","5fdc7b3d-f8da-e3dd-16f1-5aa090e421b1","4ffa6b77-5716-c00b-c649-796c06653bec","e54b552c-63b2-2dd0-919a-6effd6f2f04a","0e2f9355-ba8f-4d8d-db23-a2203a53e049","5c11c883-2280-302c-563a-9871eafb039a","bc3ae6ee-238b-1092-bd74-9158ffe8579f","af04edce-cdb8-5bee-ba03-4a86d43d52d4","b1a76d0a-d666-563a-7b2f-543a2411fdde","b819abcb-dadc-e1d1-2512-bd23b9074e34","a887f2e7-2266-c395-b402-6d456ce30be1","27ff9af0-acb2-855c-1326-a7697fe05001","4eecc09c-9d25-a670-61e7-0c7abdba44a8","c0a9a659-cd72-0268-193f-3ee6f6ada571","700e25bb-fb04-ed05-77e9-c8b4d6d66fc1"]},"f7ee2c2b-0181-3ad6-ead9-c92be961a2c6","163f54d7-fe6a-591b-b37f-dec59edb3e77","cd88cd7b-3de7-e854-e315-2badf6797c4e","ad479b7b-41aa-65ab-0b7a-8585e5c000d4"],"textures":[{"path":"C:\\Users\\adamn\\Documents\\minecraft\\mods\\Create-The_Factory_Must_Grow\\src\\main\\resources\\assets\\tfmg\\textures\\block\\shaft.png","name":"shaft.png","folder":"","namespace":"","id":"0","group":"","width":16,"height":16,"uv_width":16,"uv_height":16,"particle":false,"use_as_default":false,"layers_enabled":false,"sync_to_project":"","render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"internal":true,"saved":true,"uuid":"ba9d27e5-ed45-99ec-76b7-f72431add4eb","relative_path":"../../../textures/block/shaft.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAALpJREFUOE9jZMABomKj/ssrKjJ8//6V4dWLVwzLFi9jxKYUqyBIYVJa0n8+fj4GTk5uhpcvnjPMmzWPdAPYOdgZJCWlGR7cv0e6AZl5mf9BLhEQEGJ4eP8+6V4AGcDOzs4gJCRCngtAYQDzwvPnTxmmT5pOWhgge+HDh3ekG4AcC2QZAEoHYhJi4DAgywuwhMTJyUl+IIpLSDKADLhx7Rrp0QgKA5gBZCckUCICAbKSMlUSEkWZidjsDACdInYRyxAALgAAAABJRU5ErkJggg=="},{"path":"C:\\Users\\adamn\\Documents\\minecraft\\mods\\Create-The_Factory_Must_Grow\\src\\main\\resources\\assets\\tfmg\\textures\\block\\shaft_top.png","name":"shaft_top.png","folder":"","namespace":"","id":"1","group":"","width":16,"height":16,"uv_width":16,"uv_height":16,"particle":false,"use_as_default":false,"layers_enabled":false,"sync_to_project":"","render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"internal":true,"saved":true,"uuid":"93917070-2c14-3813-e04f-a6194c0b5abd","relative_path":"../../../textures/block/shaft_top.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAGRJREFUOE9jZKAQMFKon2HUAAbcYZCUlvRfXEKS4fv3rwyfPn5imDdrHtbwwhmIlXXV/8UkxBg+f/zM8P37d4b2plbSDCgoLfgvJCQC1gxyxYTuCaQZQLEXiE1gowkJT0IiNhABDy8oEaP4AzUAAAAASUVORK5CYII="},{"path":"C:\\Users\\adamn\\Documents\\minecraft\\mods\\Create-The_Factory_Must_Grow\\src\\main\\resources\\assets\\tfmg\\textures\\block\\new_generator.png","name":"new_generator.png","folder":"","namespace":"","id":"2","group":"","width":64,"height":64,"uv_width":64,"uv_height":64,"particle":false,"use_as_default":false,"layers_enabled":false,"sync_to_project":"","render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"internal":true,"saved":true,"uuid":"4ea88bf0-809d-f0d9-3fee-ad53e14f919f","relative_path":"../../../textures/block/new_generator.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABoxJREFUeF7tWm9MW1UUP3VrsSXrGqnIn1VYYCvjX0gGuAlIh8wPJkYXTVSSsTFD/OBMtkCUGJcswRg0kC1xfjDEsbFk+sVs34cTA+oCLCH8tRtkMFaKWFwpK5Wy5Zlz8ZbXjr6++/pe/yS9X/revefc9+7vnvO755xX1f79Zdw2tQawaZKSwGhMJde0ORyL4F1bI7dP1r1w+/agyk8gxE3jvjIuZYcGjDo1kXSsrsPSihc6J9nmYXkmi6wKATBl5xAdtUYDmZkZYLPNk3t6ve71kvu5mWk/APjgBQOopbyCO16VBeZ3C2DRugAPh5fgUt8stA38xgQky6JYZH0A4OL4loCT8HceQdoKAOy//tOPqrfefo8LHMc52i0W7ugHRXDqhgs87jW49mkRdHxyA5p7e2MDgPIDFVzO3ly4Mz4R1Lxxp/cW5MP0nSkYuLW5c1T3h+7Lqvfrj3GB4xSApq8Pw5GvRkGbnATnD+vhyvejYQHQea6Ns1QdgrHJSXA4FqDxdItkMFVyAEBNbisAlHCBEw113Bs1r8GYdRTu2exwsetqeAC8XFkFfb/8LOgCVYdehd/7+5gtQAkS/OjDeq4kLx9mbffh4coj+Pa7bukAVFbXcKVl5TBzb4ZsZPbu7KDXQ4MD0P/rTd/DqO759jbVqeYWLnAc5+MDkGvUwZRjlZwE4ZBg88kGruKlamIBy85/oP1CV3gA1NbWgvWuFR6vc1CQnwfjE38SMOj1drUKzHvM0NPT8xQAqOtcdoFhp/6pcZzj+juvcwffzIFUcxqZk54EeR3SzRYBMOeYYWHp79gHQAkLaP28iSs0FxECRBDOfNERngWgCwSe/fw4gF5LcQElLCBuSVAuDpCVBJU+BpWwAFlJUA4AhAIhJThAVhKkuYBSofDZ1i+5HQY96JOTySngcrthxemCs2c+k0xcspIgPxkSigOkJkMd31zg+nr7SRiMDfOBKkslNH18UjIAspKg0ulw58Uu7mZvL7yQmk4A+GvRDjUWCzSeaJAMgKwkiADgiwllgjiOdQC+LNYGaL9Q+hkKgM5zbbY/RkYytJrtoFVvI1PtNDxHYnyhPpTBKJBY1foT8Hgfw+7MdFF9B4uL5xtPt2Siri8dRhPFXcKIDhtGd7hbaLI0zaXugrL8fiEAQrnAtSuXbGPW0Yy1fz2Q9KyWTJWW8jwJcIT6qAzKUzmxfYXmovkjR49vAEBPAQx1tyIrDJFplkdlESgEZ6vsLxCMUCR4d2jANjY5kYFRndGYRqI7/MUm1BdqXGiewn3583tKyyMHAFqTKWsXOQnGJ6zEyugpEHUXwIwO64BCLoB1QcwCqSzNGGm/kAtgoQQtBgEgJ8nsA2I9GDsI6QmNyUqCuChTlolke8FcYG52zgcAylIXoP2RBkDWYxBrebgAIQvAcVr3w2t+zQD7Iw2ArIEQAoCLF7IAZHwKAAWKnhChAEASRA4oyDeTKBBdgM8BUtxA1lA4EgDIHQrLmgwp7QKh4gApFhBXJBgqEpQCgKwkqPQxqAQAspKg0pGgEi4gKwkqDUCoUFiKC8hKgvwER4lkSMoCQ+nISoJKp8OhFiNlXFYSZHkBKfUAlvnFysr6cVTsQ1FOSj2AZf5oyDJlZHzCHB4e2cjuZqbJL+s/R6Kx2K2eyQQAv4BaUlJMvieKrQyJWTAHUyQxi2RjBgBfDv8VQhMofsUo3BdHAFSQy/ROWG/gP5e1zsD0MPogpbggrgBAMLCSLLY6LMY64gYAMYuRIhMVAMpKD3A6nY7pfR1LDtBpdSBFb3x8JKjbRQWA6ldqOJ1OAy+mp4PL44Fd6RtfcGhzOZ2gNxjggd0Oeq0W7tvt4HA4yeKl6A0O3Yo9ANSaZ8h6k5OTQafVkoX6APB4yOWqxwNut5tcLzsfEQCk6MUkALiTBoPBt3DccWx09/GX3Hs84HQ6/SyAVS8mAcCdpLtPd17ICvgWwKoXswDkmExkh3HhaAF096kl0LHpuTk/F2DVi0kA0AXwn+LYkAOwUQvAhVMOwF/8/zCfBFn1YhKAQBegVkB3n/o/JcJgLiBGL2YBoKcA3wooH+DCsdFTwG5fBGOK0e8UEKsXKg6oq2/dPINFXF3tvuwnVVd/TITWpogKAyEWjVXP6v+uwhY8Ub2YA4Bl8UrLYiQYcQtQelEs8ycAiJd6AMuusshGJRlieUGlZRMAJFwgTmqCSrlCwgUSLpBwgfj4LpDgAIUQSJBgFEjwPyhS9djEerUJAAAAAElFTkSuQmCC"},{"path":"C:\\Users\\adamn\\Documents\\minecraft\\mods\\Create-The_Factory_Must_Grow\\src\\main\\resources\\assets\\tfmg\\textures\\block\\concrete.png","name":"concrete.png","folder":"","namespace":"","id":"3","group":"","width":16,"height":16,"uv_width":16,"uv_height":16,"particle":false,"use_as_default":false,"layers_enabled":false,"sync_to_project":"","render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"internal":true,"saved":true,"uuid":"89706d09-7904-4d0e-658c-30d1a2823028","relative_path":"../../../textures/block/concrete.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAepJREFUOE9NU4tu4jAQnPUjgZNQP7wHpJyK4DuvXBPH661mHdBZoETOPmZnZuVymUwkotaCcRyhTRFDRlNFiIKUElpr/g8hQERQSoEAMAAyTScbhgFAwLqu+P88g0KAf2OymfmTBXnkdDrZswuf7MJgM/X3FLMHaquIMb8QABui6/Vq7MSTh4RSak+oFSlHmIknsZh33FAQieoK+fg4Gzty/j5fxW6384+11g7VDOPuF0QMdVXEFKBqjlLu97upqifzxMhuyWdlYRayxvuIEKOTylgWdz5ut5tRAV6wc0qDf+B5PP6+mCfJw0COuiqMeRXgxePxwNvbwRN7UMU8zy7rOOwdPu+JhDLye84Zcp6OxgCyylGeXLD6six+ZzAESZ7gBGuXO3Cc4/HdOBNJQfAfchogAVjKgpySF8l5cBlpMG30RMCyrJDPzz/Ehla7zoTIhK5M3gwTsN/vMX9/I+Xc5dvMJJfL2Vj96+sfDoeDk0YPNFNPZkHiSqnb+Gn7pyPlfP5t40jd1RGwM4OZTBI5N9/pSO5G4N6o9hjKfzy9mzVzCek6kslgJq21eOHuj/hyJFFSdkfEbaRRyjZzDyTsfkqZvUh3pzmpdAl5YBOZpqOR0e5xri8NM7xGUK1oim0vuEDZY/qCKX4AeNFgnuAyVMoAAAAASUVORK5CYII="}],"animations":[{"uuid":"a65e991e-04cc-14b4-6151-8a1665830373","name":"animation","loop":"loop","override":false,"length":0.5,"snapping":24,"selected":false,"anim_time_update":"","blend_weight":"","start_delay":"","loop_delay":"","animators":{"9d77316a-094f-0610-95cd-91017bd5c350":{"name":"rotor","type":"bone","keyframes":[{"channel":"rotation","data_points":[{"x":"0","y":"0","z":"0"}],"uuid":"7a30d2a2-2e45-2af2-b479-738c756659d5","time":0,"color":-1,"interpolation":"linear"},{"channel":"rotation","data_points":[{"x":0,"y":0,"z":"360"}],"uuid":"473e4d61-678f-911a-cf28-2222454e4496","time":0.5,"color":-1,"interpolation":"linear"}]}}}]} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_cable_hub.json b/build/resources/main/assets/tfmg/models/block/steel_cable_hub.json new file mode 100644 index 00000000..8eb0e830 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_cable_hub.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/steel_cable_hub" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_casing.json b/build/resources/main/assets/tfmg/models/block/steel_casing.json new file mode 100644 index 00000000..fd90632b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_casing.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/steel_casing" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_chemical_vat/block_bottom.json b/build/resources/main/assets/tfmg/models/block/steel_chemical_vat/block_bottom.json new file mode 100644 index 00000000..b069fd14 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_chemical_vat/block_bottom.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_vat_top", + "1": "tfmg:block/steel_vat", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_chemical_vat/block_bottom_window_sw.json b/build/resources/main/assets/tfmg/models/block/steel_chemical_vat/block_bottom_window_sw.json new file mode 100644 index 00000000..4abc2dd6 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_chemical_vat/block_bottom_window_sw.json @@ -0,0 +1,72 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_vat_top", + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 5], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 12], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [5, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [11, 4, 15], + "to": [16, 16, 15], + "faces": { + "north": {"uv": [2.5, 2, 5, 8], "texture": "#3"}, + "south": {"uv": [0, 2, 2.5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [1, 4, 0], + "to": [1, 16, 5], + "faces": { + "east": {"uv": [0, 2, 2.5, 8], "texture": "#3"}, + "west": {"uv": [2.5, 2, 5, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [11, 16, 16], + "faces": { + "north": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "east": {"uv": [3, 0, 4, 12], "texture": "#1"}, + "south": {"uv": [0, 0, 11, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_chemical_vat/block_middle_window_nw.json b/build/resources/main/assets/tfmg/models/block/steel_chemical_vat/block_middle_window_nw.json new file mode 100644 index 00000000..aff9ca04 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_chemical_vat/block_middle_window_nw.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [11, 16, 1], + "faces": { + "north": {"uv": [5, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [12, 0, 13, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 0, 11], + "to": [1, 16, 16], + "faces": { + "east": {"uv": [7.5, 0, 10, 8], "texture": "#3"}, + "west": {"uv": [5, 0, 7.5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [11, 0, 1], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [7.5, 0, 10, 8], "texture": "#3"}, + "south": {"uv": [5, 0, 7.5, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 16, 11], + "faces": { + "east": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [3, 0, 4, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 11, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_chemical_vat/block_single.json b/build/resources/main/assets/tfmg/models/block/steel_chemical_vat/block_single.json new file mode 100644 index 00000000..1cadf699 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_chemical_vat/block_single.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "4": "tfmg:block/steel_vat_top", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [] + }, + { + "name": "block_middle", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [] + } + ] + }, + { + "name": "block_bottom", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] + }, + { + "name": "block_top", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [4, 5] + } + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_chemical_vat/block_top_window_se.json b/build/resources/main/assets/tfmg/models/block/steel_chemical_vat/block_top_window_se.json new file mode 100644 index 00000000..9a91d2ea --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_chemical_vat/block_top_window_se.json @@ -0,0 +1,76 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "4": "tfmg:block/steel_vat_top", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [5, 0, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "south": {"uv": [5, 4, 16, 16], "texture": "#1"}, + "west": {"uv": [12, 4, 13, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 0, 0], + "to": [15, 12, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 2.5, 6], "texture": "#3"}, + "west": {"uv": [2.5, 0, 5, 6], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 0, 15], + "to": [5, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 2.5, 6], "texture": "#3"}, + "south": {"uv": [2.5, 0, 5, 6], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 5], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [3, 4, 4, 16], "texture": "#1"}, + "east": {"uv": [0, 4, 11, 16], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_distillation_output/block.json b/build/resources/main/assets/tfmg/models/block/steel_distillation_output/block.json new file mode 100644 index 00000000..05a2f904 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_distillation_output/block.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/distillation_controller_top", + "1": "tfmg:block/distillation_tower_output", + "particle": "tfmg:block/distillation_controller_top" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "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": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_distillation_output/item.json b/build/resources/main/assets/tfmg/models/block/steel_distillation_output/item.json new file mode 100644 index 00000000..05a2f904 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_distillation_output/item.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/distillation_controller_top", + "1": "tfmg:block/distillation_tower_output", + "particle": "tfmg:block/distillation_controller_top" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "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": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_door/block_top.json b/build/resources/main/assets/tfmg/models/block/steel_door/block_top.json new file mode 100644 index 00000000..e570ecb4 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_door/block_top.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_door_side", + "2": "tfmg:block/steel_door_top", + "particle": "tfmg:block/steel_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 3], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_door/fold_right.json b/build/resources/main/assets/tfmg/models/block/steel_door/fold_right.json new file mode 100644 index 00000000..7b7863a7 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_door/fold_right.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_door_side", + "2": "tfmg:block/steel_door_top", + "3": "tfmg:block/steel_door_bottom", + "particle": "tfmg:block/steel_casing" + }, + "elements": [ + { + "from": [0, 16, 0], + "to": [3, 32, 8], + "faces": { + "north": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 8, 16], "texture": "#2"}, + "south": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 0, 16, 16], "texture": "#2"}, + "up": {"uv": [8, 0, 16, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [3, 16, 8], + "faces": { + "north": {"uv": [16, 4, 0, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 8, 16], "texture": "#3"}, + "south": {"uv": [16, 4, 0, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 0, 16, 16], "texture": "#3"}, + "down": {"uv": [8, 8, 16, 11], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_encased_large_aluminum_cogwheel.json b/build/resources/main/assets/tfmg/models/block/steel_encased_large_aluminum_cogwheel.json new file mode 100644 index 00000000..fb5f7cb2 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_encased_large_aluminum_cogwheel.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/block", + "textures": { + "1": "tfmg:block/steel_casing", + "4": "tfmg:block/steel_gearbox", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_encased_large_steel_cogwheel_bottom.json b/build/resources/main/assets/tfmg/models/block/steel_encased_large_steel_cogwheel_bottom.json new file mode 100644 index 00000000..ca56f7a9 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_encased_large_steel_cogwheel_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/block_bottom", + "textures": { + "1": "tfmg:block/steel_casing", + "4": "tfmg:block/steel_gearbox", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_encased_steel_cogwheel.json b/build/resources/main/assets/tfmg/models/block/steel_encased_steel_cogwheel.json new file mode 100644 index 00000000..bd6c0ad0 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_encased_steel_cogwheel.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_cogwheel/block", + "textures": { + "1": "tfmg:block/steel_casing", + "4": "tfmg:block/steel_gearbox", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_encased_steel_cogwheel_bottom.json b/build/resources/main/assets/tfmg/models/block/steel_encased_steel_cogwheel_bottom.json new file mode 100644 index 00000000..01b81768 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_encased_steel_cogwheel_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_cogwheel/block_bottom", + "textures": { + "1": "tfmg:block/steel_casing", + "4": "tfmg:block/steel_gearbox", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_fluid_tank/block_bottom_window_ne.json b/build/resources/main/assets/tfmg/models/block/steel_fluid_tank/block_bottom_window_ne.json new file mode 100644 index 00000000..cdf22357 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_fluid_tank/block_bottom_window_ne.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "3": "tfmg:block/steel_fluid_tank_window", + "4": "tfmg:block/steel_fluid_tank_inner", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "south": {"uv": [12, 0, 13, 12], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 4, 1], + "to": [4, 16, 1], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "south": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15, 4, 12], + "to": [15, 16, 16], + "faces": { + "east": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [4, 4, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "west": {"uv": [3, 0, 4, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_fluid_tank/block_bottom_window_sw.json b/build/resources/main/assets/tfmg/models/block/steel_fluid_tank/block_bottom_window_sw.json new file mode 100644 index 00000000..82b80793 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_fluid_tank/block_bottom_window_sw.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "3": "tfmg:block/steel_fluid_tank_window", + "4": "tfmg:block/steel_fluid_tank_inner", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 4], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 12], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 4, 15], + "to": [16, 16, 15], + "faces": { + "north": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [1, 4, 0], + "to": [1, 16, 4], + "faces": { + "east": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "west": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [12, 16, 16], + "faces": { + "north": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "east": {"uv": [3, 0, 4, 12], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_fluid_tank/block_middle_window_nw.json b/build/resources/main/assets/tfmg/models/block/steel_fluid_tank/block_middle_window_nw.json new file mode 100644 index 00000000..f0a70435 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_fluid_tank/block_middle_window_nw.json @@ -0,0 +1,56 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_fluid_tank", + "3": "tfmg:block/steel_fluid_tank_window", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [12, 16, 1], + "faces": { + "north": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [12, 0, 13, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 0, 12], + "to": [1, 16, 16], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [12, 0, 1], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "south": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [3, 0, 4, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_fluid_tank/block_single.json b/build/resources/main/assets/tfmg/models/block/steel_fluid_tank/block_single.json new file mode 100644 index 00000000..e0454ab4 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_fluid_tank/block_single.json @@ -0,0 +1,127 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "4": "tfmg:block/steel_fluid_tank_inner", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [] + }, + { + "name": "block_middle", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [] + } + ] + }, + { + "name": "block_bottom", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] + }, + { + "name": "block_top", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [4, 5] + } + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_fluid_tank/block_single_window.json b/build/resources/main/assets/tfmg/models/block/steel_fluid_tank/block_single_window.json new file mode 100644 index 00000000..288c27a3 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_fluid_tank/block_single_window.json @@ -0,0 +1,168 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "4": "tfmg:block/steel_fluid_tank_inner", + "5": "tfmg:block/steel_fluid_tank_window_single", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [4, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 4, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 12], + "to": [1, 12, 16], + "faces": { + "north": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 4, 1], + "to": [12, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "north"}, + "south": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15, 4, 4], + "to": [15, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "east"}, + "west": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 4, 15], + "to": [12, 12, 15], + "faces": { + "north": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "south"}, + "south": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [1, 4, 4], + "to": [1, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "west"}, + "west": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 12], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [4, 12, 16], + "faces": { + "north": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_fluid_tank/block_single_window_se.json b/build/resources/main/assets/tfmg/models/block/steel_fluid_tank/block_single_window_se.json new file mode 100644 index 00000000..7b9860dc --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_fluid_tank/block_single_window_se.json @@ -0,0 +1,104 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "4": "tfmg:block/steel_fluid_tank_inner", + "5": "tfmg:block/steel_fluid_tank_window_single", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 4, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "west": {"uv": [12, 4, 13, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 4, 0], + "to": [15, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 8], "texture": "#5"}, + "west": {"uv": [4, 0, 8, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [0, 4, 15], + "to": [4, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 8], "texture": "#5"}, + "south": {"uv": [4, 0, 8, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 4], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [3, 4, 4, 12], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_fluid_tank/block_top.json b/build/resources/main/assets/tfmg/models/block/steel_fluid_tank/block_top.json new file mode 100644 index 00000000..95c767c1 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_fluid_tank/block_top.json @@ -0,0 +1,71 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "4": "tfmg:block/steel_fluid_tank_inner", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 16], + "faces": { + "east": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [1, 12, 16], + "faces": { + "east": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_fluid_valve/block_vertical_open.json b/build/resources/main/assets/tfmg/models/block/steel_fluid_valve/block_vertical_open.json new file mode 100644 index 00000000..173a4136 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_fluid_valve/block_vertical_open.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/steel_fluid_valve", + "4": "tfmg:block/steel_valve_open", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "east": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "west": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "up": {"uv": [9, 1, 15, 7], "texture": "#2"}, + "down": {"uv": [9, 1, 15, 7], "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "west": {"uv": [1.5, 9.5, 6.5, 14.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + }, + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "east": {"uv": [6.5, 9.5, 1.5, 14.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_flywheel/block.json b/build/resources/main/assets/tfmg/models/block/steel_flywheel/block.json new file mode 100644 index 00000000..cf36372c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_flywheel/block.json @@ -0,0 +1,6 @@ +{ + "parent": "tfmg:block/steel_flywheel/flywheel", + "loader": "neoforge:obj", + "flip-v": true, + "model": "create:models/block/flywheel/flywheel_shaftless.obj" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_mechanical_pump/block.json b/build/resources/main/assets/tfmg/models/block/steel_mechanical_pump/block.json new file mode 100644 index 00000000..5876a65e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_mechanical_pump/block.json @@ -0,0 +1,67 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/block", + "textures": { + "4": "tfmg:block/steel_pump", + "particle": "tfmg:block/steel_pump" + }, + "elements": [ + { + "from": [2, 13, 2], + "to": [14, 16, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 14.5, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "east": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "west": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "up": {"uv": [0, 0, 6, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#4"} + } + }, + { + "from": [2, 0, 2], + "to": [14, 3, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 1.5, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "east": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "west": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "up": {"uv": [0, 0, 6, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#4"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_pipe/connection/north.json b/build/resources/main/assets/tfmg/models/block/steel_pipe/connection/north.json new file mode 100644 index 00000000..23f2b4ff --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_pipe/connection/north.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "name": "connection_north", + "from": [4, 4, 0], + "to": [12, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 4, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 2], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_pipe/connection/up.json b/build/resources/main/assets/tfmg/models/block/steel_pipe/connection/up.json new file mode 100644 index 00000000..dd8ff667 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_pipe/connection/up.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "name": "connection_up", + "from": [4, 12, 4], + "to": [12, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [4, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [4, 0, 0, 2], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_pipe/d_y.json b/build/resources/main/assets/tfmg/models/block/steel_pipe/d_y.json new file mode 100644 index 00000000..79254d06 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_pipe/d_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 0.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_pipe/drain/down.json b/build/resources/main/assets/tfmg/models/block/steel_pipe/drain/down.json new file mode 100644 index 00000000..f89880ba --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_pipe/drain/down.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [4.95, -3.95, 4.95], + "to": [11.05, -0.95, 11.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "down": {"uv": [13, 8, 16, 11], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2.95, -1.1, 2.95], + "to": [13.05, 2, 13.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_pipe/r_x.json b/build/resources/main/assets/tfmg/models/block/steel_pipe/r_x.json new file mode 100644 index 00000000..c1c2541f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_pipe/r_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 0.0, + 4.0, + 4.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_pipe/r_y.json b/build/resources/main/assets/tfmg/models/block/steel_pipe/r_y.json new file mode 100644 index 00000000..c33f59e2 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_pipe/r_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_pipe/r_z.json b/build/resources/main/assets/tfmg/models/block/steel_pipe/r_z.json new file mode 100644 index 00000000..cd5f123a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_pipe/r_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 0.0, + 4.0, + 4.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_pipe/rd_x.json b/build/resources/main/assets/tfmg/models/block/steel_pipe/rd_x.json new file mode 100644 index 00000000..ec78102c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_pipe/rd_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 12.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 8.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_pipe/rd_y.json b/build/resources/main/assets/tfmg/models/block/steel_pipe/rd_y.json new file mode 100644 index 00000000..291bf140 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_pipe/rd_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 8.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_pipe/rim/south.json b/build/resources/main/assets/tfmg/models/block/steel_pipe/rim/south.json new file mode 100644 index 00000000..f426fd63 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_pipe/rim/south.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "east": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "south"}, + "west": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "up": {"uv": [9.5, 16, 10.5, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [10.5, 11, 9.5, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_pipe/rim/up.json b/build/resources/main/assets/tfmg/models/block/steel_pipe/rim/up.json new file mode 100644 index 00000000..46429902 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_pipe/rim/up.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "faces": { + "north": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0", "cullface": "up"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_pipe/rim_connector/east.json b/build/resources/main/assets/tfmg/models/block/steel_pipe/rim_connector/east.json new file mode 100644 index 00000000..47fb906a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_pipe/rim_connector/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "name": "rim_east", + "from": [12, 4, 4], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 6, 8, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [4, 8, 8, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 8, 8, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 6, 8, 8], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_pipe/rim_connector/north.json b/build/resources/main/assets/tfmg/models/block/steel_pipe/rim_connector/north.json new file mode 100644 index 00000000..7e5cf668 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_pipe/rim_connector/north.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "name": "rim_north", + "from": [4, 4, 0], + "to": [12, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [4, 0, 8, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [4, 2, 8, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 2, 8, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4, 0, 8, 2], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_pipe/rim_connector/west.json b/build/resources/main/assets/tfmg/models/block/steel_pipe/rim_connector/west.json new file mode 100644 index 00000000..1341fce0 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_pipe/rim_connector/west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "name": "rim_west", + "from": [0, 4, 4], + "to": [4, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 0, 8, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [4, 2, 8, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 2, 8, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 8, 2], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_pipe/ru_x.json b/build/resources/main/assets/tfmg/models/block/steel_pipe/ru_x.json new file mode 100644 index 00000000..24260f4a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_pipe/ru_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 12.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_pipe/ud_y.json b/build/resources/main/assets/tfmg/models/block/steel_pipe/ud_y.json new file mode 100644 index 00000000..531428d6 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_pipe/ud_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 4.0, + 12.0, + 0.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_pipe/ud_z.json b/build/resources/main/assets/tfmg/models/block/steel_pipe/ud_z.json new file mode 100644 index 00000000..7d922c4d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_pipe/ud_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 0.0, + 8.0, + 4.0, + 12.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_post.json b/build/resources/main/assets/tfmg/models/block/steel_post.json new file mode 100644 index 00000000..d8938b14 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_post.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/post", + "textures": { + "bars": "tfmg:block/bars/steel_bars", + "edge": "tfmg:block/bars/steel_bars_edge", + "particle": "tfmg:block/bars/steel_bars" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_smart_fluid_pipe/item.json b/build/resources/main/assets/tfmg/models/block/steel_smart_fluid_pipe/item.json new file mode 100644 index 00000000..30d8552f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_smart_fluid_pipe/item.json @@ -0,0 +1,119 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_pipes", + "2": "tfmg:block/steel_smart_pipe_1", + "3": "tfmg:block/steel_smart_pipe_2", + "4": "tfmg:block/steel_smart_pipe_3", + "particle": "tfmg:block/steel_smart_pipe_3" + }, + "elements": [ + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [10.5, 11, 9.5, 16], "texture": "#1"}, + "south": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [9.5, 11, 10.5, 16], "texture": "#1"}, + "up": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 16]}, + "faces": { + "north": {"uv": [16, 11, 11, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [9.5, 11, 10.5, 16], "texture": "#1"}, + "south": {"uv": [16, 11, 11, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [10.5, 11, 9.5, 16], "texture": "#1"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [3, 3, 13, 13], "texture": "#4"}, + "east": {"uv": [13, 3, 3, 13], "texture": "#2"}, + "south": {"uv": [3, 3, 13, 13], "texture": "#4"}, + "west": {"uv": [3, 3, 13, 13], "texture": "#2"}, + "up": {"uv": [13, 3, 3, 13], "rotation": 270, "texture": "#2"}, + "down": {"uv": [3, 3, 13, 13], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [4.5, 5, 7.15], + "to": [11.5, 12, 13.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [1, 9, 7, 15], "texture": "#3"}, + "east": {"uv": [0, 0, 6, 7], "texture": "#3"}, + "west": {"uv": [0, 0, 6, 7], "rotation": 180, "texture": "#3"}, + "up": {"uv": [0, 0, 6, 7], "rotation": 270, "texture": "#3"}, + "down": {"uv": [0, 0, 6, 7], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [3.9, 4.4, 4.15], + "to": [12.1, 12.6, 7.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [8, 8, 16, 16], "texture": "#3"}, + "east": {"uv": [13, 0, 16, 8], "texture": "#3"}, + "south": {"uv": [0, 8, 8, 16], "texture": "#3"}, + "west": {"uv": [13, 8, 16, 0], "rotation": 180, "texture": "#3"}, + "up": {"uv": [13, 8, 16, 0], "rotation": 270, "texture": "#3"}, + "down": {"uv": [13, 0, 16, 8], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [4, 4, 0], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 4, 0]}, + "faces": { + "east": {"uv": [4, 8, 8, 0], "rotation": 90, "texture": "#1"}, + "west": {"uv": [4, 0, 8, 8], "rotation": 90, "texture": "#1"}, + "up": {"uv": [4, 8, 8, 0], "texture": "#1"}, + "down": {"uv": [4, 0, 8, 8], "texture": "#1"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [0, 90, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/steel_trapdoor/block_open.json b/build/resources/main/assets/tfmg/models/block/steel_trapdoor/block_open.json new file mode 100644 index 00000000..ed258eb5 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/steel_trapdoor/block_open.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/heavy_plated_door_side", + "1": "tfmg:block/steel_trapdoor", + "particle": "tfmg:block/steel_trapdoor" + }, + "elements": [ + { + "from": [0, 0, 13], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [0, 0, 16, 3], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [0, 0, 16, 3], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 3], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/sulfur.json b/build/resources/main/assets/tfmg/models/block/sulfur.json new file mode 100644 index 00000000..4434d579 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/sulfur.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/sulfur" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/sulfuric_acid.json b/build/resources/main/assets/tfmg/models/block/sulfuric_acid.json new file mode 100644 index 00000000..1c9bdf6e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/sulfuric_acid.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "tfmg:fluid/sulfuric_acid_still" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/surface_scanner/block.json b/build/resources/main/assets/tfmg/models/block/surface_scanner/block.json new file mode 100644 index 00000000..55905513 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/surface_scanner/block.json @@ -0,0 +1,349 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "2": "tfmg:block/surface_scanner_electron_tube", + "3": "tfmg:block/steel_casing", + "particle": "tfmg:block/heavy_machinery_casing" + }, + "elements": [ + { + "from": [7, 8, 7], + "to": [9, 11, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 7]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [10, 8, 7], + "to": [12, 11, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 9, 7]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [13, 8, 7], + "to": [15, 11, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 9, 7]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [1, 8, 7], + "to": [3, 11, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 7]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [4, 8, 7], + "to": [6, 11, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 9, 7]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [7, 8, 10], + "to": [9, 11, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 10]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [10, 8, 10], + "to": [12, 11, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 9, 10]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [13, 8, 10], + "to": [15, 11, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 9, 10]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [1, 8, 10], + "to": [3, 11, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 10]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [4, 8, 10], + "to": [6, 11, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 9, 10]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [7, 8, 13], + "to": [9, 11, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 13]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [10, 8, 13], + "to": [12, 11, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 9, 13]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [13, 8, 13], + "to": [15, 11, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 9, 13]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [1, 8, 13], + "to": [3, 11, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 13]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [4, 8, 13], + "to": [6, 11, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 9, 13]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [13, 8, 1], + "to": [15, 11, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 9, 1]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [10, 8, 1], + "to": [12, 11, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 9, 1]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [7, 8, 1], + "to": [9, 11, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 1]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [4, 8, 1], + "to": [6, 11, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 9, 1]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [1, 8, 1], + "to": [3, 11, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 1]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [7, 8, 4], + "to": [9, 11, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 4]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [10, 8, 4], + "to": [12, 11, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 9, 4]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [13, 8, 4], + "to": [15, 11, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 9, 4]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [1, 8, 4], + "to": [3, 11, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 4]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [4, 8, 4], + "to": [6, 11, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 9, 4]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 8, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 6, 0]}, + "faces": { + "north": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "east": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "west": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#particle"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/surface_scanner/block_old.json b/build/resources/main/assets/tfmg/models/block/surface_scanner/block_old.json new file mode 100644 index 00000000..48e1d442 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/surface_scanner/block_old.json @@ -0,0 +1,95 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "texture_size": [48, 32], + "textures": { + "2": "tfmg:block/surface_scanner", + "particle": "tfmg:block/surface_scanner" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 2, 16], + "faces": { + "north": {"uv": [5.33333, 13, 10.66667, 14], "texture": "#2"}, + "east": {"uv": [5.33333, 13, 10.66667, 14], "texture": "#2"}, + "south": {"uv": [5.33333, 13, 10.66667, 14], "texture": "#2"}, + "west": {"uv": [5.33333, 13, 10.66667, 14], "texture": "#2"}, + "up": {"uv": [5.33333, 8, 0, 0], "texture": "#2"}, + "down": {"uv": [5.33333, 0, 0, 8], "texture": "#2"} + } + }, + { + "from": [1, 2, 2], + "to": [15, 14, 15], + "faces": { + "north": {"uv": [0.66667, 8, 5.33333, 14], "texture": "#2"}, + "east": {"uv": [5, 8, 0.66667, 14], "texture": "#2"}, + "south": {"uv": [10, 0, 14.66667, 6], "texture": "#2"}, + "west": {"uv": [0.66667, 8, 5, 14], "texture": "#2"}, + "up": {"uv": [10, 6.5, 5.33333, 0], "texture": "#2"}, + "down": {"uv": [13, 9.5, 8.33333, 16], "texture": "#2"} + } + }, + { + "from": [14, 2, 15], + "to": [15, 14, 16], + "faces": { + "north": {"uv": [5, 8, 5.33333, 14], "texture": "#2"}, + "east": {"uv": [5, 8, 5.33333, 14], "texture": "#2"}, + "south": {"uv": [5, 8, 5.33333, 14], "texture": "#2"}, + "west": {"uv": [5, 8, 5.33333, 14], "texture": "#2"}, + "up": {"uv": [1, 14, 0.66667, 13.5], "texture": "#2"}, + "down": {"uv": [1, 13.5, 0.66667, 14], "texture": "#2"} + } + }, + { + "from": [2, 13, 15], + "to": [14, 14, 16], + "faces": { + "north": {"uv": [1, 13.5, 5, 14], "texture": "#2"}, + "east": {"uv": [5, 13.5, 5.33333, 14], "texture": "#2"}, + "south": {"uv": [1, 13.5, 5, 14], "texture": "#2"}, + "west": {"uv": [5, 13.5, 5.33333, 14], "texture": "#2"}, + "up": {"uv": [5, 14, 1, 13.5], "texture": "#2"}, + "down": {"uv": [5, 13.5, 1, 14], "texture": "#2"} + } + }, + { + "from": [1, 2, 15], + "to": [2, 14, 16], + "faces": { + "north": {"uv": [5, 8, 5.33333, 14], "texture": "#2"}, + "east": {"uv": [5, 8, 5.33333, 14], "texture": "#2"}, + "south": {"uv": [5, 8, 5.33333, 14], "texture": "#2"}, + "west": {"uv": [5, 8, 5.33333, 14], "texture": "#2"}, + "up": {"uv": [5.33333, 14, 5, 13.5], "texture": "#2"}, + "down": {"uv": [14.66667, 7.5, 14.33333, 8], "texture": "#2"} + } + }, + { + "from": [4, 2, 0], + "to": [12, 13, 2], + "faces": { + "north": {"uv": [5.33333, 6.5, 8, 12], "texture": "#2"}, + "east": {"uv": [8, 6.5, 8.66667, 12], "texture": "#2"}, + "south": {"uv": [0, 16, 2.66667, 21.5], "texture": "#2"}, + "west": {"uv": [8.66667, 6.5, 8, 12], "texture": "#2"}, + "up": {"uv": [8, 13, 5.33333, 12], "texture": "#2"}, + "down": {"uv": [8, 21, 5.33333, 22], "texture": "#2"} + } + }, + { + "from": [7, 14, 8], + "to": [9, 15, 10], + "faces": { + "north": {"uv": [7.33333, 2.5, 8, 3], "texture": "#2"}, + "east": {"uv": [7.33333, 2.5, 8, 3], "texture": "#2"}, + "south": {"uv": [7.33333, 2.5, 8, 3], "texture": "#2"}, + "west": {"uv": [7.33333, 2.5, 8, 3], "texture": "#2"}, + "up": {"uv": [7.33333, 2.5, 8, 3.5], "texture": "#2"}, + "down": {"uv": [7.33333, 2.5, 8, 3.5], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/surface_scanner/flag.json b/build/resources/main/assets/tfmg/models/block/surface_scanner/flag.json new file mode 100644 index 00000000..8c18526e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/surface_scanner/flag.json @@ -0,0 +1,46 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/surface_scanner", + "1": "tfmg:block/surface_scanner_flags/flag1", + "particle": "tfmg:block/surface_scanner" + }, + "elements": [ + { + "from": [15, 7.5, 7.5], + "to": [16, 8.5, 8.5], + "faces": { + "north": {"uv": [12.25, 6.25, 12.5, 6.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [12.5, 6.25, 12.25, 6.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [12.25, 6.25, 12.5, 6.5], "texture": "#0"}, + "west": {"uv": [12.25, 6.25, 12.5, 6.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [12.25, 6.25, 12.5, 6.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [12.25, 6.25, 12.5, 6.5], "texture": "#0"} + } + }, + { + "from": [15.5, 7.5, 8.5], + "to": [15.5, 8.5, 14.5], + "faces": { + "north": {"uv": [0, 0, 0, 3], "rotation": 180, "texture": "#0"}, + "east": {"uv": [12.25, 6.5, 12.5, 5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "west": {"uv": [12.25, 5, 12.5, 6.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 6], "texture": "#0"} + } + }, + { + "from": [15.5, 3.5, 11.5], + "to": [15.5, 7.5, 14.5], + "faces": { + "north": {"uv": [0, 0, 0, 3], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"}, + "south": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#1"}, + "up": {"uv": [0, 0, 0, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 6], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/traffic_light/item.json b/build/resources/main/assets/tfmg/models/block/traffic_light/item.json new file mode 100644 index 00000000..c8b9fafb --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/traffic_light/item.json @@ -0,0 +1,141 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/traffic_light", + "particle": "tfmg:block/traffic_light" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [5, 0, 10, 8], "texture": "#0"}, + "east": {"uv": [10, 0, 15, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 5, 8], "texture": "#0"}, + "west": {"uv": [10, 0, 15, 8], "texture": "#0"}, + "up": {"uv": [0, 8, 5, 13], "texture": "#0"}, + "down": {"uv": [0, 8, 5, 13], "texture": "#0"} + } + }, + { + "from": [5, 15.5, 0], + "to": [11, 15.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 2]}, + "faces": { + "north": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "up": {"uv": [12, 10.5, 15, 9], "texture": "#0"}, + "down": {"uv": [12, 9, 15, 10.5], "texture": "#0"} + } + }, + { + "from": [11, 11.5, 0], + "to": [11, 15.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 11.5, 0], + "to": [5, 15.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 14, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 10.5, 0], + "to": [11, 10.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 2]}, + "faces": { + "north": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "up": {"uv": [12, 10.5, 15, 9], "texture": "#0"}, + "down": {"uv": [12, 9, 15, 10.5], "texture": "#0"} + } + }, + { + "from": [11, 6.5, 0], + "to": [11, 10.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 6.5, 0], + "to": [5, 10.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 5.5, 0], + "to": [11, 5.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 2]}, + "faces": { + "north": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "up": {"uv": [12, 10.5, 15, 9], "texture": "#0"}, + "down": {"uv": [12, 9, 15, 10.5], "texture": "#0"} + } + }, + { + "from": [11, 1.5, 0], + "to": [11, 5.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 1.5, 0], + "to": [5, 5.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 4, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/transformer/block.json b/build/resources/main/assets/tfmg/models/block/transformer/block.json new file mode 100644 index 00000000..675e94ba --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/transformer/block.json @@ -0,0 +1,132 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_casing", + "1": "tfmg:block/transformer", + "particle": "tfmg:block/steel_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "east": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "south": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "west": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "up": {"uv": [0, 8, 8, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "from": [3, 15, 7], + "to": [5, 18, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 14, 7]}, + "faces": { + "north": {"uv": [5, 6, 6, 7.5], "texture": "#1"}, + "east": {"uv": [5, 6, 6, 7.5], "texture": "#1"}, + "south": {"uv": [1, 6, 2, 7.5], "texture": "#1"}, + "west": {"uv": [5, 4, 6, 5.5], "texture": "#1"}, + "up": {"uv": [10.5, 6, 11.5, 7], "texture": "#1"} + } + }, + { + "from": [11, 15, 7], + "to": [13, 18, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [11, 14, 7]}, + "faces": { + "north": {"uv": [1, 6, 2, 7.5], "texture": "#1"}, + "east": {"uv": [1, 4, 2, 5.5], "texture": "#1"}, + "south": {"uv": [5, 6, 6, 7.5], "texture": "#1"}, + "west": {"uv": [5, 6, 6, 7.5], "texture": "#1"}, + "up": {"uv": [6.5, 6, 7.5, 7], "texture": "#1"} + } + }, + { + "from": [5, 16, 7], + "to": [11, 18, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 14, 7]}, + "faces": { + "north": {"uv": [2, 6, 5, 7], "texture": "#1"}, + "south": {"uv": [2, 6, 5, 7], "texture": "#1"}, + "up": {"uv": [7.5, 6, 10.5, 7], "texture": "#1"}, + "down": {"uv": [0, 0, 12, 4], "texture": "#1"} + } + }, + { + "from": [0.5, 14, 4.5], + "to": [7.5, 15, 11.5], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 14, 4]}, + "faces": { + "north": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "east": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "south": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "west": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "up": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"}, + "down": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"} + } + }, + { + "from": [8.5, 14, 4.5], + "to": [15.5, 15, 11.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 14, 4]}, + "faces": { + "north": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "east": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "south": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "west": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "up": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"}, + "down": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"} + } + }, + { + "from": [0, 6, 6], + "to": [1, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 7, 7]}, + "faces": { + "north": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "east": {"uv": [7, 3, 9, 5], "rotation": 90, "texture": "#1"}, + "south": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "west": {"uv": [3, 3, 5, 5], "rotation": 90, "texture": "#1"}, + "up": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [15, 6, 6], + "to": [16, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 7, 7]}, + "faces": { + "north": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "east": {"uv": [3, 3, 5, 5], "rotation": 90, "texture": "#1"}, + "south": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "west": {"uv": [7, 3, 9, 5], "rotation": 90, "texture": "#1"}, + "up": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [11, 6, 7], + "to": [13, 14, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [11, 6, 7]}, + "faces": { + "north": {"uv": [7, 6, 11, 7], "rotation": 90, "texture": "#1"}, + "east": {"uv": [7, 6, 11, 7], "rotation": 90, "texture": "#1"}, + "south": {"uv": [7, 6, 11, 7], "rotation": 90, "texture": "#1"}, + "west": {"uv": [7, 6, 11, 7], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 6, 7], + "to": [5, 14, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 6, 7]}, + "faces": { + "north": {"uv": [7, 6, 11, 7], "rotation": 90, "texture": "#1"}, + "east": {"uv": [7, 6, 11, 7], "rotation": 90, "texture": "#1"}, + "south": {"uv": [7, 6, 11, 7], "rotation": 90, "texture": "#1"}, + "west": {"uv": [7, 6, 11, 7], "rotation": 90, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/transformer/coil.json b/build/resources/main/assets/tfmg/models/block/transformer/coil.json new file mode 100644 index 00000000..a5aca95d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/transformer/coil.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/transformer", + "particle": "tfmg:block/transformer" + }, + "elements": [ + { + "from": [1, 6, 5], + "to": [7, 14, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 6, 7]}, + "faces": { + "north": {"uv": [13, 0.5, 16, 4.5], "texture": "#0"}, + "east": {"uv": [13, 0.5, 16, 4.5], "texture": "#0"}, + "south": {"uv": [13, 0.5, 16, 4.5], "texture": "#0"}, + "west": {"uv": [13, 0.5, 16, 4.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/turbine_engine/block_single.json b/build/resources/main/assets/tfmg/models/block/turbine_engine/block_single.json new file mode 100644 index 00000000..cadfc677 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/turbine_engine/block_single.json @@ -0,0 +1,46 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engines/turbine_engine", + "particle": "tfmg:block/engines/turbine_engine" + }, + "elements": [ + { + "from": [5.3, 0, 5], + "to": [11.3, 3, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [16.3, 10, 14]}, + "faces": { + "north": {"uv": [9.25, 0, 10, 1.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8.25, 0, 9, 2.25], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9.25, 0, 10, 1.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8.25, 0, 9, 2.25], "rotation": 90, "texture": "#0"}, + "down": {"uv": [12.25, 6.25, 13.75, 8.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [3, 3, 2], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 23, 16]}, + "faces": { + "north": {"uv": [0, 0, 2.5, 2.5], "texture": "#0"}, + "east": {"uv": [6.25, 0, 2.75, 2.5], "texture": "#0"}, + "south": {"uv": [0.5, 3.25, 3, 5.75], "texture": "#0"}, + "west": {"uv": [2.75, 0, 6.25, 2.5], "texture": "#0"}, + "up": {"uv": [6.25, 0, 2.75, 2.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [2.75, 0, 6.25, 2.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 13, 7], + "to": [11, 14, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 23, 16]}, + "faces": { + "north": {"uv": [9.75, 0, 10, 1.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [9, 2.25, 9.25, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9.75, 0, 10, 1.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [9, 0, 9.25, 2.25], "rotation": 90, "texture": "#0"}, + "up": {"uv": [6.5, 0, 8, 2.25], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/turbine_engine/item.json b/build/resources/main/assets/tfmg/models/block/turbine_engine/item.json new file mode 100644 index 00000000..fd71c756 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/turbine_engine/item.json @@ -0,0 +1,208 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/shaft_top", + "1": "tfmg:block/shaft", + "2": "tfmg:block/engines/turbine_engine", + "particle": "tfmg:block/shaft_top" + }, + "elements": [ + { + "from": [12, 2, -8], + "to": [14, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -8]}, + "faces": { + "north": {"uv": [0, 6.5, 0.5, 9.5], "texture": "#2"}, + "east": {"uv": [8, 2.75, 12, 5.75], "texture": "#2"}, + "south": {"uv": [8, 2.75, 8.5, 5.75], "texture": "#2"}, + "west": {"uv": [8, 5.75, 12, 8.75], "texture": "#2"}, + "up": {"uv": [12, 2.75, 8, 3.25], "rotation": 90, "texture": "#2"}, + "down": {"uv": [8, 5.75, 12, 5.25], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [2, 2, -8], + "to": [4, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-10, 0, -8]}, + "faces": { + "north": {"uv": [2.5, 6.5, 3, 9.5], "texture": "#2"}, + "east": {"uv": [8, 5.75, 12, 8.75], "texture": "#2"}, + "south": {"uv": [8.5, 2.75, 8, 5.75], "texture": "#2"}, + "west": {"uv": [12, 2.75, 8, 5.75], "texture": "#2"}, + "up": {"uv": [12, 5.25, 8, 5.75], "rotation": 90, "texture": "#2"}, + "down": {"uv": [8, 3.25, 12, 2.75], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [3, 3, 8], + "to": [13, 13, 22], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 8]}, + "faces": { + "north": {"uv": [0.5, 3.25, 3, 5.75], "texture": "#2"}, + "east": {"uv": [2.75, 0, 6.25, 2.5], "texture": "#2"}, + "south": {"uv": [0, 0, 2.5, 2.5], "texture": "#2"}, + "west": {"uv": [6.25, 0, 2.75, 2.5], "texture": "#2"}, + "up": {"uv": [6.25, 0, 2.75, 2.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [2.75, 0, 6.25, 2.5], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [5.3, 0, 10], + "to": [11.3, 3, 19], + "rotation": {"angle": 0, "axis": "y", "origin": [0.3, 10, 10]}, + "faces": { + "north": {"uv": [9.25, 0, 10, 1.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [8.25, 0, 9, 2.25], "rotation": 90, "texture": "#2"}, + "south": {"uv": [9.25, 0, 10, 1.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [8.25, 0, 9, 2.25], "rotation": 90, "texture": "#2"}, + "down": {"uv": [12.25, 6.25, 13.75, 8.5], "texture": "#2"} + } + }, + { + "from": [5, 13, 8], + "to": [11, 14, 17], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 23, 8]}, + "faces": { + "north": {"uv": [9.75, 0, 10, 1.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9, 0, 9.25, 2.25], "rotation": 90, "texture": "#2"}, + "south": {"uv": [9.75, 0, 10, 1.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9, 2.25, 9.25, 0], "rotation": 90, "texture": "#2"}, + "up": {"uv": [6.5, 0, 8, 2.25], "texture": "#2"} + } + }, + { + "from": [3, 0, 0], + "to": [13, 2, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-2, -2, -7]}, + "faces": { + "north": {"uv": [14.5, 2.75, 15, 5.25], "rotation": 90, "texture": "#2"}, + "east": {"uv": [12.25, 5.5, 14.25, 6], "texture": "#2"}, + "south": {"uv": [14.5, 2.75, 15, 5.25], "rotation": 90, "texture": "#2"}, + "west": {"uv": [12.25, 5.5, 14.25, 6], "texture": "#2"}, + "down": {"uv": [12.25, 2.75, 14.25, 5.25], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [1, 9, -4], + "to": [2, 11, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-1, 4, -6]}, + "faces": { + "north": {"uv": [12.25, 0.5, 12.5, 1], "texture": "#2"}, + "south": {"uv": [12.5, 0.5, 12.75, 1], "texture": "#2"}, + "west": {"uv": [12.25, 0.5, 15.25, 1], "texture": "#2"}, + "up": {"uv": [12.25, 0.5, 15.25, 0.75], "rotation": 90, "texture": "#2"}, + "down": {"uv": [15.25, 0.5, 12.25, 0.75], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [1, 6, -4], + "to": [2, 9, -2], + "rotation": {"angle": 0, "axis": "y", "origin": [-1, 2, -6]}, + "faces": { + "north": {"uv": [12.25, 1, 12.5, 1.75], "texture": "#2"}, + "south": {"uv": [12.5, 1, 12.75, 1.75], "texture": "#2"}, + "west": {"uv": [12.25, 1, 12.75, 1.75], "texture": "#2"}, + "down": {"uv": [12.25, 1.25, 12.75, 1.5], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [14, 9, -4], + "to": [15, 11, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 4, -6]}, + "faces": { + "north": {"uv": [12.25, 0.5, 12.5, 1], "texture": "#2"}, + "east": {"uv": [15.25, 0.5, 12.25, 1], "texture": "#2"}, + "south": {"uv": [12.5, 0.5, 12.75, 1], "texture": "#2"}, + "up": {"uv": [12.25, 0.5, 15.25, 0.75], "rotation": 90, "texture": "#2"}, + "down": {"uv": [15.25, 0.5, 12.25, 0.75], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [14, 6, -4], + "to": [15, 9, -2], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 2, -6]}, + "faces": { + "north": {"uv": [12.25, 1, 12.5, 1.75], "texture": "#2"}, + "east": {"uv": [12.25, 1, 12.75, 1.75], "texture": "#2"}, + "south": {"uv": [12.25, 1, 12.5, 1.75], "texture": "#2"}, + "down": {"uv": [12.25, 1.25, 12.75, 1.5], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [4, 4, -6], + "to": [12, 12, -6], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -6]}, + "faces": { + "north": {"uv": [0.75, 9.75, 2.75, 11.75], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 8], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 8], "texture": "#2"}, + "up": {"uv": [0, 0, 8, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 8, 0], "texture": "#2"} + } + }, + { + "from": [4, 12, -8], + "to": [12, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -8]}, + "faces": { + "north": {"uv": [0.5, 6.5, 2.5, 7], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "south": {"uv": [12.25, 2.75, 14.25, 3.25], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "up": {"uv": [12, 3.25, 8, 5.25], "rotation": 90, "texture": "#2"}, + "down": {"uv": [12, 6.25, 8, 8.25], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [4, 2, -8], + "to": [12, 4, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, -10, -8]}, + "faces": { + "north": {"uv": [0.5, 9, 2.5, 9.5], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "south": {"uv": [12.25, 2.75, 14.25, 3.25], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "up": {"uv": [8, 6.25, 12, 8.25], "rotation": 90, "texture": "#2"}, + "down": {"uv": [8, 3.25, 12, 5.25], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [4, 4, -7], + "to": [12, 12, -7], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -7]}, + "faces": { + "north": {"uv": [0.5, 7, 2.5, 9], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 8], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 8], "texture": "#2"}, + "up": {"uv": [0, 0, 8, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 8, 0], "texture": "#2"} + } + }, + { + "from": [6, 6, 21], + "to": [10, 10, 24], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 22]}, + "faces": { + "east": {"uv": [6, 0, 10, 3], "rotation": 90, "texture": "#1"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#0"}, + "west": {"uv": [6, 0, 10, 3], "rotation": 90, "texture": "#1"}, + "up": {"uv": [6, 0, 10, 3], "texture": "#1"}, + "down": {"uv": [6, 0, 10, 3], "texture": "#1"} + } + }, + { + "from": [7, 7, -8], + "to": [9, 9, -4], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 6]}, + "faces": { + "north": {"uv": [1.25, 7.75, 1.75, 8.25], "texture": "#2"}, + "east": {"uv": [0, 9.75, 0.5, 10.75], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 9.75, 0.5, 10.75], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 9.75, 0.5, 10.75], "texture": "#2"}, + "down": {"uv": [0, 9.75, 0.5, 10.75], "texture": "#2"} + } + } + ], + "display": {} +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/voltage_observer/block_on.json b/build/resources/main/assets/tfmg/models/block/voltage_observer/block_on.json new file mode 100644 index 00000000..d4af49b2 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/voltage_observer/block_on.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "tfmg:block/voltage_observer_on", + "particle": "tfmg:block/voltage_observer_on" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 8, 8, 16], "texture": "#0"}, + "east": {"uv": [0.00001, 8, 8, 16], "texture": "#0"}, + "south": {"uv": [0, 8, 7.99999, 16], "texture": "#0"}, + "west": {"uv": [0, 8, 7.99999, 16], "texture": "#0"}, + "up": {"uv": [8.00001, 8, 0, 0], "texture": "#0"}, + "down": {"uv": [16, 0, 7.99999, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/voltage_observer/item.json b/build/resources/main/assets/tfmg/models/block/voltage_observer/item.json new file mode 100644 index 00000000..49299f4c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/voltage_observer/item.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [64, 64], + "textures": { + "0": "tfmg:block/voltage_observer", + "particle": "tfmg:block/voltage_observer" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [8.00001, 0, 16, 8], "texture": "#0"}, + "south": {"uv": [8.00001, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [8.00001, 0, 16, 8], "texture": "#0"}, + "up": {"uv": [8.00001, 8, 0, 0], "texture": "#0"}, + "down": {"uv": [16, 0, 7.99999, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/winding_machine/connecting_wire.json b/build/resources/main/assets/tfmg/models/block/winding_machine/connecting_wire.json new file mode 100644 index 00000000..cc34f4a9 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/winding_machine/connecting_wire.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/winding_machine_wire", + "particle": "tfmg:block/winding_machine_wire" + }, + "elements": [ + { + "from": [9, 8, 0], + "to": [10, 8, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 14, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 14, 0], "texture": "#0"}, + "up": {"uv": [12, 0, 13, 13], "texture": "#0"}, + "down": {"uv": [12, 13, 13, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/winding_machine/constantan_spool.json b/build/resources/main/assets/tfmg/models/block/winding_machine/constantan_spool.json new file mode 100644 index 00000000..449eb288 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/winding_machine/constantan_spool.json @@ -0,0 +1,20 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/copper_spool", + "particle": "tfmg:block/copper_spool" + }, + "elements": [ + { + "from": [4, 6, 6], + "to": [11, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 7, 7]}, + "faces": { + "north": {"uv": [0, 8, 4, 15], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 4, 15], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 4, 15], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 8, 4, 15], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/winding_machine/copper_connecting_wire.json b/build/resources/main/assets/tfmg/models/block/winding_machine/copper_connecting_wire.json new file mode 100644 index 00000000..8c75d1cb --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/winding_machine/copper_connecting_wire.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "tfmg:block/winding_machine_wire" + }, + "elements": [ + { + "from": [9, 17, 1], + "to": [10, 17, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 17, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 0], "texture": "#1"}, + "east": {"uv": [0, 0, 14, 0], "texture": "#1"}, + "south": {"uv": [0, 0, 1, 0], "texture": "#1"}, + "west": {"uv": [0, 0, 14, 0], "texture": "#1"}, + "up": {"uv": [12, 0, 13, 14], "texture": "#1"}, + "down": {"uv": [12, 14, 13, 0], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/winding_machine/copper_spool.json b/build/resources/main/assets/tfmg/models/block/winding_machine/copper_spool.json new file mode 100644 index 00000000..b255b84a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/winding_machine/copper_spool.json @@ -0,0 +1,20 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/copper_spool", + "particle": "tfmg:block/copper_spool" + }, + "elements": [ + { + "from": [4, 6, 6], + "to": [11, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 7, 7]}, + "faces": { + "north": {"uv": [0, 0, 4, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 4, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 7], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/yellow_concrete_stairs_inner.json b/build/resources/main/assets/tfmg/models/block/yellow_concrete_stairs_inner.json new file mode 100644 index 00000000..38d8d8d7 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/yellow_concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/yellow_concrete", + "side": "tfmg:block/yellow_concrete", + "top": "tfmg:block/yellow_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/zinc_frame/block.json b/build/resources/main/assets/tfmg/models/block/zinc_frame/block.json new file mode 100644 index 00000000..3580a984 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/zinc_frame/block.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/zinc_frame", + "particle": "tfmg:block/zinc_frame" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/block/zinc_frame/item.json b/build/resources/main/assets/tfmg/models/block/zinc_frame/item.json new file mode 100644 index 00000000..3580a984 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/block/zinc_frame/item.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/zinc_frame", + "particle": "tfmg:block/zinc_frame" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/cable_insulator_small.json b/build/resources/main/assets/tfmg/models/cable_insulator_small.json new file mode 100644 index 00000000..79212604 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/cable_insulator_small.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench", + "elements": [ + { + "from": [7, 0, 7], + "to": [9, 9, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "color": 9, + "faces": { + "north": {"uv": [0, 0, 2, 9], "texture": "#missing"}, + "east": {"uv": [0, 0, 2, 9], "texture": "#missing"}, + "south": {"uv": [0, 0, 2, 9], "texture": "#missing"}, + "west": {"uv": [0, 0, 2, 9], "texture": "#missing"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#missing"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#missing"} + } + }, + { + "from": [6, 2, 6], + "to": [10, 2, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 7]}, + "color": 6, + "faces": { + "north": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#missing"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#missing"} + } + }, + { + "from": [6, 4, 6], + "to": [10, 4, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 7]}, + "color": 6, + "faces": { + "north": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#missing"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#missing"} + } + }, + { + "from": [6, 6, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "color": 6, + "faces": { + "north": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#missing"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#missing"} + } + }, + { + "from": [6, 8, 6], + "to": [10, 8, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 7]}, + "color": 6, + "faces": { + "north": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#missing"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#missing"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/advanced_potato_cannon.json b/build/resources/main/assets/tfmg/models/item/advanced_potato_cannon.json new file mode 100644 index 00000000..fcc3d81f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/advanced_potato_cannon.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:item/advanced_potato_cannon/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/aluminum_axe.json b/build/resources/main/assets/tfmg/models/item/aluminum_axe.json new file mode 100644 index 00000000..7d2d19e3 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/aluminum_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/aluminum_axe" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/aluminum_flywheel.json b/build/resources/main/assets/tfmg/models/item/aluminum_flywheel.json new file mode 100644 index 00000000..4d483989 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/aluminum_flywheel.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/aluminum_flywheel/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/aluminum_ladder.json b/build/resources/main/assets/tfmg/models/item/aluminum_ladder.json new file mode 100644 index 00000000..a3b61cf4 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/aluminum_ladder.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:block/ladder_aluminum" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/aluminum_mechanical_pump.json b/build/resources/main/assets/tfmg/models/item/aluminum_mechanical_pump.json new file mode 100644 index 00000000..d8633bd0 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/aluminum_mechanical_pump.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/aluminum_mechanical_pump/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/aluminum_pickaxe.json b/build/resources/main/assets/tfmg/models/item/aluminum_pickaxe.json new file mode 100644 index 00000000..18355649 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/aluminum_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/aluminum_pickaxe" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/aluminum_pipe.json b/build/resources/main/assets/tfmg/models/item/aluminum_pipe.json new file mode 100644 index 00000000..fc1258b4 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/aluminum_pipe.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/aluminum_pipe/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/aluminum_sheet.json b/build/resources/main/assets/tfmg/models/item/aluminum_sheet.json new file mode 100644 index 00000000..8f7bf606 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/aluminum_sheet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/aluminum_sheet" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/asphalt_mixture.json b/build/resources/main/assets/tfmg/models/item/asphalt_mixture.json new file mode 100644 index 00000000..38a5977c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/asphalt_mixture.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/asphalt_mixture" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/bars.json b/build/resources/main/assets/tfmg/models/item/bars.json new file mode 100644 index 00000000..397b8a6d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/bars.json @@ -0,0 +1,86 @@ +{ + "credit": "Made with Blockbench", + "ambientocclusion": false, + "textures": { + "bars": "block/iron_bars", + "edge": "block/iron_bars_edge" + }, + "elements": [ + { + "from": [0, 0, 8], + "to": [16, 16, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#bars"}, + "south": {"uv": [16, 0, 0, 16], "texture": "#bars"} + } + }, + { + "from": [15.95, 0, 7], + "to": [16, 16, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [7, 16, 9, 0], "rotation": 180, "texture": "#bars", "cullface": "east"}, + "west": {"uv": [9, 16, 7, 0], "rotation": 180, "texture": "#bars", "cullface": "east"} + } + }, + { + "from": [0, 0, 7], + "to": [0.05, 16, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [7, 16, 9, 0], "rotation": 180, "texture": "#bars", "cullface": "west"}, + "west": {"uv": [9, 16, 7, 0], "rotation": 180, "texture": "#bars", "cullface": "west"} + } + }, + { + "from": [0, 15.95, 7], + "to": [16, 16, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "up": {"uv": [9, 0, 7, 16], "rotation": 270, "texture": "#edge", "cullface": "up"}, + "down": {"uv": [9, 0, 7, 16], "rotation": 90, "texture": "#edge", "cullface": "up"} + } + }, + { + "from": [0, 0, 7], + "to": [16, 0.05, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "up": {"uv": [9, 0, 7, 16], "rotation": 270, "texture": "#edge", "cullface": "down"}, + "down": {"uv": [9, 0, 7, 16], "rotation": 90, "texture": "#edge", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/bauxite.json b/build/resources/main/assets/tfmg/models/item/bauxite.json new file mode 100644 index 00000000..07fd63cc --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/bauxite.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/palettes/stone_types/natural/bauxite_1" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/black_rebar_concrete.json b/build/resources/main/assets/tfmg/models/item/black_rebar_concrete.json new file mode 100644 index 00000000..01d08fa1 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/black_rebar_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/black_rebar_concrete" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/black_rebar_concrete_slab.json b/build/resources/main/assets/tfmg/models/item/black_rebar_concrete_slab.json new file mode 100644 index 00000000..60a74147 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/black_rebar_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/black_concrete_bottom" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/black_rebar_concrete_wall.json b/build/resources/main/assets/tfmg/models/item/black_rebar_concrete_wall.json new file mode 100644 index 00000000..7dbbd03f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/black_rebar_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/black_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/blast_stove.json b/build/resources/main/assets/tfmg/models/item/blast_stove.json new file mode 100644 index 00000000..3ddb73c7 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/blast_stove.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/blast_stove/block" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/blue_caution_block.json b/build/resources/main/assets/tfmg/models/item/blue_caution_block.json new file mode 100644 index 00000000..ded6c140 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/blue_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/blue_caution_block" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/blue_concrete.json b/build/resources/main/assets/tfmg/models/item/blue_concrete.json new file mode 100644 index 00000000..676104d6 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/blue_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/blue_concrete" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/blue_multimeter.json b/build/resources/main/assets/tfmg/models/item/blue_multimeter.json new file mode 100644 index 00000000..9b57e2c6 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/blue_multimeter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/blue_multimeter" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/blue_rebar_concrete.json b/build/resources/main/assets/tfmg/models/item/blue_rebar_concrete.json new file mode 100644 index 00000000..88abfb36 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/blue_rebar_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/blue_rebar_concrete" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/brass_cable_hub.json b/build/resources/main/assets/tfmg/models/item/brass_cable_hub.json new file mode 100644 index 00000000..0f2f8c70 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/brass_cable_hub.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/brass_cable_hub" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/brass_mechanical_pump.json b/build/resources/main/assets/tfmg/models/item/brass_mechanical_pump.json new file mode 100644 index 00000000..1e38af40 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/brass_mechanical_pump.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/brass_mechanical_pump/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/brick_smokestack.json b/build/resources/main/assets/tfmg/models/item/brick_smokestack.json new file mode 100644 index 00000000..84260804 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/brick_smokestack.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/brick_smokestack/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/brown_concrete.json b/build/resources/main/assets/tfmg/models/item/brown_concrete.json new file mode 100644 index 00000000..dfc2c988 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/brown_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/brown_concrete" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/brown_concrete_slab.json b/build/resources/main/assets/tfmg/models/item/brown_concrete_slab.json new file mode 100644 index 00000000..d6c4d75f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/brown_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/brown_concrete_bottom" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/brown_rebar_concrete_slab.json b/build/resources/main/assets/tfmg/models/item/brown_rebar_concrete_slab.json new file mode 100644 index 00000000..d6c4d75f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/brown_rebar_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/brown_concrete_bottom" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/brown_rebar_concrete_stairs.json b/build/resources/main/assets/tfmg/models/item/brown_rebar_concrete_stairs.json new file mode 100644 index 00000000..20074c95 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/brown_rebar_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/brown_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/cable_connector.json b/build/resources/main/assets/tfmg/models/item/cable_connector.json new file mode 100644 index 00000000..cef22b2b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/cable_connector.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cable_connector/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/carbon_dioxide_bucket.json b/build/resources/main/assets/tfmg/models/item/carbon_dioxide_bucket.json new file mode 100644 index 00000000..ac38873a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/carbon_dioxide_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/carbon_dioxide_bucket" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/cast_iron_fluid_tank.json b/build/resources/main/assets/tfmg/models/item/cast_iron_fluid_tank.json new file mode 100644 index 00000000..5ac00b96 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/cast_iron_fluid_tank.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cast_iron_fluid_tank/block_single_window" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/cast_iron_flywheel.json b/build/resources/main/assets/tfmg/models/item/cast_iron_flywheel.json new file mode 100644 index 00000000..26fafd1e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/cast_iron_flywheel.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cast_iron_flywheel/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/cast_iron_ladder.json b/build/resources/main/assets/tfmg/models/item/cast_iron_ladder.json new file mode 100644 index 00000000..dedf0e87 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/cast_iron_ladder.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:block/ladder_cast_iron" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/circular_light.json b/build/resources/main/assets/tfmg/models/item/circular_light.json new file mode 100644 index 00000000..b609b98d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/circular_light.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/circular_light/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/concrete_hose.json b/build/resources/main/assets/tfmg/models/item/concrete_hose.json new file mode 100644 index 00000000..715731fa --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/concrete_hose.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/concrete_hose/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/concrete_stairs.json b/build/resources/main/assets/tfmg/models/item/concrete_stairs.json new file mode 100644 index 00000000..dcef81f4 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/constantan_block.json b/build/resources/main/assets/tfmg/models/item/constantan_block.json new file mode 100644 index 00000000..626ff630 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/constantan_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/constantan_block" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/constantan_frame.json b/build/resources/main/assets/tfmg/models/item/constantan_frame.json new file mode 100644 index 00000000..83b70d9b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/constantan_frame.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/constantan_frame/block" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/constantan_wire.json b/build/resources/main/assets/tfmg/models/item/constantan_wire.json new file mode 100644 index 00000000..51f994fb --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/constantan_wire.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/constantan_wire" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/cooling_fluid_bottle.json b/build/resources/main/assets/tfmg/models/item/cooling_fluid_bottle.json new file mode 100644 index 00000000..14e94e59 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/cooling_fluid_bottle.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/cooling_fluid_bottle" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/copper_electrode.json b/build/resources/main/assets/tfmg/models/item/copper_electrode.json new file mode 100644 index 00000000..c2595098 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/copper_electrode.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:item/copper_electrode_model" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/copper_truss.json b/build/resources/main/assets/tfmg/models/item/copper_truss.json new file mode 100644 index 00000000..8f202289 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/copper_truss.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/copper_truss" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/copper_wire.json b/build/resources/main/assets/tfmg/models/item/copper_wire.json new file mode 100644 index 00000000..0a57d95a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/copper_wire.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/copper_wire" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/crankshaft_model.json b/build/resources/main/assets/tfmg/models/item/crankshaft_model.json new file mode 100644 index 00000000..a0cb6d47 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/crankshaft_model.json @@ -0,0 +1,179 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:item/crankshaft", + "particle": "tfmg:item/crankshaft" + }, + "elements": [ + { + "from": [7, 6, 0], + "to": [9, 8, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 0]}, + "faces": { + "north": {"uv": [6, 8, 4, 10], "texture": "#0"}, + "east": {"uv": [5, 8, 6, 10], "texture": "#0"}, + "south": {"uv": [4, 10, 6, 12], "texture": "#0"}, + "west": {"uv": [4, 8, 5, 10], "texture": "#0"}, + "up": {"uv": [6, 10, 4, 9], "texture": "#0"}, + "down": {"uv": [6, 8, 4, 9], "texture": "#0"} + } + }, + { + "from": [7, 6, 5], + "to": [9, 8, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 5]}, + "faces": { + "north": {"uv": [17, 23, 19, 25], "texture": "#0"}, + "east": {"uv": [5, 8, 6, 10], "texture": "#0"}, + "south": {"uv": [22, 24, 24, 26], "texture": "#0"}, + "west": {"uv": [4, 8, 5, 10], "texture": "#0"}, + "up": {"uv": [6, 10, 4, 9], "texture": "#0"}, + "down": {"uv": [6, 8, 4, 9], "texture": "#0"} + } + }, + { + "from": [7, 6, 10], + "to": [9, 8, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 10]}, + "faces": { + "north": {"uv": [24, 24, 26, 26], "texture": "#0"}, + "east": {"uv": [5, 8, 6, 10], "texture": "#0"}, + "south": {"uv": [25, 6, 27, 8], "texture": "#0"}, + "west": {"uv": [5, 8, 4, 10], "texture": "#0"}, + "up": {"uv": [6, 10, 4, 9], "texture": "#0"}, + "down": {"uv": [6, 8, 4, 9], "texture": "#0"} + } + }, + { + "from": [7, 6, 15], + "to": [9, 8, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 15]}, + "faces": { + "north": {"uv": [4, 10, 6, 12], "texture": "#0"}, + "east": {"uv": [5, 8, 6, 10], "texture": "#0"}, + "south": {"uv": [4, 8, 6, 10], "texture": "#0"}, + "west": {"uv": [4, 8, 5, 10], "texture": "#0"}, + "up": {"uv": [6, 10, 4, 9], "texture": "#0"}, + "down": {"uv": [6, 8, 4, 9], "texture": "#0"} + } + }, + { + "from": [6, 5, 14], + "to": [10, 11, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 5, 13]}, + "faces": { + "north": {"uv": [0, 8, 4, 14], "texture": "#0"}, + "east": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "south": {"uv": [0, 8, 4, 14], "texture": "#0"}, + "west": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "up": {"uv": [4, 9, 0, 8], "texture": "#0"}, + "down": {"uv": [4, 8, 0, 9], "texture": "#0"} + } + }, + { + "from": [5.6, 7.5, 2], + "to": [10.6, 12.5, 4], + "rotation": {"angle": 45, "axis": "z", "origin": [8.1, 10, 3]}, + "faces": { + "north": {"uv": [0, 0, 5, 5], "texture": "#0"}, + "east": {"uv": [9, 0, 11, 5], "texture": "#0"}, + "south": {"uv": [5, 0, 10, 5], "texture": "#0"}, + "west": {"uv": [11, 0, 9, 5], "texture": "#0"}, + "up": {"uv": [5, 6, 0, 8], "texture": "#0"}, + "down": {"uv": [5, 5, 0, 7], "texture": "#0"} + } + }, + { + "from": [5.6, 7.5, 12], + "to": [10.6, 12.5, 14], + "rotation": {"angle": 45, "axis": "z", "origin": [8.1, 10, 13]}, + "faces": { + "north": {"uv": [5, 0, 10, 5], "texture": "#0"}, + "east": {"uv": [11, 0, 9, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 5, 5], "texture": "#0"}, + "west": {"uv": [9, 0, 11, 5], "texture": "#0"}, + "up": {"uv": [5, 8, 0, 6], "texture": "#0"}, + "down": {"uv": [5, 6, 0, 8], "texture": "#0"} + } + }, + { + "from": [5.6, 0.5, 7], + "to": [10.6, 5.5, 9], + "rotation": {"angle": 45, "axis": "z", "origin": [8.1, 3, 8]}, + "faces": { + "north": {"uv": [0, 0, 5, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 5, 5], "texture": "#0"}, + "west": {"uv": [3, 0, 5, 5], "texture": "#0"}, + "up": {"uv": [5, 2, 0, 0], "texture": "#0"}, + "down": {"uv": [5, 0, 0, 2], "texture": "#0"} + } + }, + { + "from": [6, 5, 1], + "to": [10, 11, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 5, 0]}, + "faces": { + "north": {"uv": [0, 8, 4, 14], "texture": "#0"}, + "east": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "south": {"uv": [0, 8, 4, 14], "texture": "#0"}, + "west": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "up": {"uv": [4, 9, 0, 8], "texture": "#0"}, + "down": {"uv": [4, 8, 0, 9], "texture": "#0"} + } + }, + { + "from": [6, 5, 4], + "to": [10, 11, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 5, 3]}, + "faces": { + "north": {"uv": [0, 8, 4, 14], "texture": "#0"}, + "east": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "south": {"uv": [0, 8, 4, 14], "texture": "#0"}, + "west": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "up": {"uv": [4, 14, 0, 13], "texture": "#0"}, + "down": {"uv": [4, 13, 0, 14], "texture": "#0"} + } + }, + { + "from": [6, 5, 11], + "to": [10, 11, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 5, 10]}, + "faces": { + "north": {"uv": [0, 8, 4, 14], "texture": "#0"}, + "east": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "south": {"uv": [0, 8, 4, 14], "texture": "#0"}, + "west": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "up": {"uv": [4, 14, 0, 13], "texture": "#0"}, + "down": {"uv": [4, 13, 0, 14], "texture": "#0"} + } + }, + { + "from": [6, 2.5, 9], + "to": [10, 8.5, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5.25, 8]}, + "faces": { + "north": {"uv": [0, 14, 4, 8], "texture": "#0"}, + "east": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "south": {"uv": [0, 14, 4, 8], "texture": "#0"}, + "west": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "up": {"uv": [4, 9, 0, 8], "texture": "#0"}, + "down": {"uv": [4, 8, 0, 9], "texture": "#0"} + } + }, + { + "from": [6, 2.5, 6], + "to": [10, 8.5, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5.25, 8]}, + "faces": { + "north": {"uv": [0, 14, 4, 8], "texture": "#0"}, + "east": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "south": {"uv": [0, 14, 4, 8], "texture": "#0"}, + "west": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "up": {"uv": [4, 9, 0, 8], "texture": "#0"}, + "down": {"uv": [4, 8, 0, 9], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/creosote_bucket.json b/build/resources/main/assets/tfmg/models/item/creosote_bucket.json new file mode 100644 index 00000000..2ee4ed9e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/creosote_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/creosote_bucket" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/cut_bauxite_brick_slab.json b/build/resources/main/assets/tfmg/models/item/cut_bauxite_brick_slab.json new file mode 100644 index 00000000..ecf67152 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/cut_bauxite_brick_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cut_bauxite_brick_slab" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/cut_galena_bricks.json b/build/resources/main/assets/tfmg/models/item/cut_galena_bricks.json new file mode 100644 index 00000000..5ddd31f4 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/cut_galena_bricks.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cut_galena_bricks" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/cut_galena_slab.json b/build/resources/main/assets/tfmg/models/item/cut_galena_slab.json new file mode 100644 index 00000000..7267810b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/cut_galena_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cut_galena_slab" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/cyan_caution_block.json b/build/resources/main/assets/tfmg/models/item/cyan_caution_block.json new file mode 100644 index 00000000..1cdb61f5 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/cyan_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cyan_caution_block" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/cyan_concrete_slab.json b/build/resources/main/assets/tfmg/models/item/cyan_concrete_slab.json new file mode 100644 index 00000000..c72b90b4 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/cyan_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cyan_concrete_bottom" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/deepslate_lithium_ore.json b/build/resources/main/assets/tfmg/models/item/deepslate_lithium_ore.json new file mode 100644 index 00000000..ac3cec3e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/deepslate_lithium_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/deepslate_lithium_ore" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/diagonal_cable_block.json b/build/resources/main/assets/tfmg/models/item/diagonal_cable_block.json new file mode 100644 index 00000000..946e0766 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/diagonal_cable_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/diagonal_cable_block/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/electric_post.json b/build/resources/main/assets/tfmg/models/item/electric_post.json new file mode 100644 index 00000000..6d9ef26e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/electric_post.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/electric_post" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/engine_controller.json b/build/resources/main/assets/tfmg/models/item/engine_controller.json new file mode 100644 index 00000000..b043ad71 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/engine_controller.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/engine_controller/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/ethylene_bucket.json b/build/resources/main/assets/tfmg/models/item/ethylene_bucket.json new file mode 100644 index 00000000..9d69fc98 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/ethylene_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/ethylene_bucket" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/exhaust.json b/build/resources/main/assets/tfmg/models/item/exhaust.json new file mode 100644 index 00000000..551d4f89 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/exhaust.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/exhaust/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/firebox.json b/build/resources/main/assets/tfmg/models/item/firebox.json new file mode 100644 index 00000000..18d0c3ae --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/firebox.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/firebox/block" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/fireclay_ball.json b/build/resources/main/assets/tfmg/models/item/fireclay_ball.json new file mode 100644 index 00000000..6f57d312 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/fireclay_ball.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/fireclay_ball" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/fireproof_chemical_vat.json b/build/resources/main/assets/tfmg/models/item/fireproof_chemical_vat.json new file mode 100644 index 00000000..92fdd16e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/fireproof_chemical_vat.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/fireproof_chemical_vat/block_single_window" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/flarestack.json b/build/resources/main/assets/tfmg/models/item/flarestack.json new file mode 100644 index 00000000..0a488ad9 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/flarestack.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/flarestack/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/furnace_gas_bucket.json b/build/resources/main/assets/tfmg/models/item/furnace_gas_bucket.json new file mode 100644 index 00000000..589d4492 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/furnace_gas_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/furnace_gas_bucket" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/glass_insulator_segment.json b/build/resources/main/assets/tfmg/models/item/glass_insulator_segment.json new file mode 100644 index 00000000..ff08ed2f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/glass_insulator_segment.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:item/glass_insulator_segment_model" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/gray_concrete.json b/build/resources/main/assets/tfmg/models/item/gray_concrete.json new file mode 100644 index 00000000..7e2b1bf0 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/gray_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/gray_concrete" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/gray_rebar_concrete.json b/build/resources/main/assets/tfmg/models/item/gray_rebar_concrete.json new file mode 100644 index 00000000..cdbd84e0 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/gray_rebar_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/gray_rebar_concrete" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/green_concrete_stairs.json b/build/resources/main/assets/tfmg/models/item/green_concrete_stairs.json new file mode 100644 index 00000000..84c3bc09 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/green_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/green_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/heavy_casing_door.json b/build/resources/main/assets/tfmg/models/item/heavy_casing_door.json new file mode 100644 index 00000000..afd52409 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/heavy_casing_door.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/heavy_casing_door" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/heavy_casing_encased_large_steel_cogwheel.json b/build/resources/main/assets/tfmg/models/item/heavy_casing_encased_large_steel_cogwheel.json new file mode 100644 index 00000000..09e84f77 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/heavy_casing_encased_large_steel_cogwheel.json @@ -0,0 +1,9 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/item", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/heavy_casing_encased_shaft.json b/build/resources/main/assets/tfmg/models/item/heavy_casing_encased_shaft.json new file mode 100644 index 00000000..d22d6586 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/heavy_casing_encased_shaft.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/encased_shaft/item_heavy_casing" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/industrial_mixer.json b/build/resources/main/assets/tfmg/models/item/industrial_mixer.json new file mode 100644 index 00000000..fb1f5a1a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/industrial_mixer.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/industrial_mixer/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/layered_bauxite.json b/build/resources/main/assets/tfmg/models/item/layered_bauxite.json new file mode 100644 index 00000000..f318b5d9 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/layered_bauxite.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/layered_bauxite" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/layered_galena.json b/build/resources/main/assets/tfmg/models/item/layered_galena.json new file mode 100644 index 00000000..19d7d56a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/layered_galena.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/layered_galena" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/lead_axe.json b/build/resources/main/assets/tfmg/models/item/lead_axe.json new file mode 100644 index 00000000..7595a932 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/lead_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/lead_axe" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/lead_flywheel.json b/build/resources/main/assets/tfmg/models/item/lead_flywheel.json new file mode 100644 index 00000000..2c54fb84 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/lead_flywheel.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/lead_flywheel/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/lead_ingot.json b/build/resources/main/assets/tfmg/models/item/lead_ingot.json new file mode 100644 index 00000000..2d95461e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/lead_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/lead_ingot" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/lead_nugget.json b/build/resources/main/assets/tfmg/models/item/lead_nugget.json new file mode 100644 index 00000000..b2fc5ef9 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/lead_nugget.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/lead_nugget" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/light_blue_caution_block.json b/build/resources/main/assets/tfmg/models/item/light_blue_caution_block.json new file mode 100644 index 00000000..8831e995 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/light_blue_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/light_blue_caution_block" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/light_blue_concrete_slab.json b/build/resources/main/assets/tfmg/models/item/light_blue_concrete_slab.json new file mode 100644 index 00000000..76c8a2c9 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/light_blue_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/light_blue_concrete_bottom" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/light_blue_concrete_stairs.json b/build/resources/main/assets/tfmg/models/item/light_blue_concrete_stairs.json new file mode 100644 index 00000000..72c84d5c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/light_blue_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/light_blue_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/light_blue_rebar_concrete.json b/build/resources/main/assets/tfmg/models/item/light_blue_rebar_concrete.json new file mode 100644 index 00000000..6913632e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/light_blue_rebar_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/light_blue_rebar_concrete" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/light_blue_rebar_concrete_stairs.json b/build/resources/main/assets/tfmg/models/item/light_blue_rebar_concrete_stairs.json new file mode 100644 index 00000000..72c84d5c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/light_blue_rebar_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/light_blue_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/light_gray_concrete_stairs.json b/build/resources/main/assets/tfmg/models/item/light_gray_concrete_stairs.json new file mode 100644 index 00000000..f80acb8b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/light_gray_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/light_gray_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/lignite.json b/build/resources/main/assets/tfmg/models/item/lignite.json new file mode 100644 index 00000000..e56ce60c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/lignite.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/lignite" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/lime_caution_block.json b/build/resources/main/assets/tfmg/models/item/lime_caution_block.json new file mode 100644 index 00000000..c2227fc5 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/lime_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/lime_caution_block" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/lime_concrete.json b/build/resources/main/assets/tfmg/models/item/lime_concrete.json new file mode 100644 index 00000000..362f19bf --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/lime_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/lime_concrete" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/lime_concrete_slab.json b/build/resources/main/assets/tfmg/models/item/lime_concrete_slab.json new file mode 100644 index 00000000..89676987 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/lime_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/lime_concrete_bottom" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/lime_concrete_wall.json b/build/resources/main/assets/tfmg/models/item/lime_concrete_wall.json new file mode 100644 index 00000000..c5f73b6a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/lime_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/lime_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/limesand.json b/build/resources/main/assets/tfmg/models/item/limesand.json new file mode 100644 index 00000000..5ae1114d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/limesand.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/limesand" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/liquid_concrete_bucket.json b/build/resources/main/assets/tfmg/models/item/liquid_concrete_bucket.json new file mode 100644 index 00000000..20f4a7f9 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/liquid_concrete_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/liquid_concrete_bucket" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/lit_lithium_blade.json b/build/resources/main/assets/tfmg/models/item/lit_lithium_blade.json new file mode 100644 index 00000000..43b05de9 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/lit_lithium_blade.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/lithium_blade_lit" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/lithium_torch.json b/build/resources/main/assets/tfmg/models/item/lithium_torch.json new file mode 100644 index 00000000..771b74dd --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/lithium_torch.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/lithium_torch/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/lpg_bucket.json b/build/resources/main/assets/tfmg/models/item/lpg_bucket.json new file mode 100644 index 00000000..1ed8f047 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/lpg_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/lpg_bucket" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/magenta_concrete_wall.json b/build/resources/main/assets/tfmg/models/item/magenta_concrete_wall.json new file mode 100644 index 00000000..06b98997 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/magenta_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/magenta_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/magenta_rebar_concrete_slab.json b/build/resources/main/assets/tfmg/models/item/magenta_rebar_concrete_slab.json new file mode 100644 index 00000000..25a70835 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/magenta_rebar_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/magenta_concrete_bottom" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/magenta_rebar_concrete_wall.json b/build/resources/main/assets/tfmg/models/item/magenta_rebar_concrete_wall.json new file mode 100644 index 00000000..06b98997 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/magenta_rebar_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/magenta_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/mixer_blade.json b/build/resources/main/assets/tfmg/models/item/mixer_blade.json new file mode 100644 index 00000000..2d94a905 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/mixer_blade.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/mixer_blade" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/multimeter.json b/build/resources/main/assets/tfmg/models/item/multimeter.json new file mode 100644 index 00000000..f581824d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/multimeter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/multimeter" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/n_semiconductor.json b/build/resources/main/assets/tfmg/models/item/n_semiconductor.json new file mode 100644 index 00000000..8c793a85 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/n_semiconductor.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/n_semiconductor" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/napalm_bomb.json b/build/resources/main/assets/tfmg/models/item/napalm_bomb.json new file mode 100644 index 00000000..5bd89e0e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/napalm_bomb.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/napalm_bomb/block" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/napalm_bucket.json b/build/resources/main/assets/tfmg/models/item/napalm_bucket.json new file mode 100644 index 00000000..c58def53 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/napalm_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/napalm_bucket" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/neon_tube.json b/build/resources/main/assets/tfmg/models/item/neon_tube.json new file mode 100644 index 00000000..f95fc78e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/neon_tube.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/neon_tube/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/nickel_ingot.json b/build/resources/main/assets/tfmg/models/item/nickel_ingot.json new file mode 100644 index 00000000..23093593 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/nickel_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/nickel_ingot" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/nickel_ladder.json b/build/resources/main/assets/tfmg/models/item/nickel_ladder.json new file mode 100644 index 00000000..d9022993 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/nickel_ladder.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:block/ladder_nickel" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/nickel_truss.json b/build/resources/main/assets/tfmg/models/item/nickel_truss.json new file mode 100644 index 00000000..31d3e0cb --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/nickel_truss.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/nickel_truss" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/nitrate_dust.json b/build/resources/main/assets/tfmg/models/item/nitrate_dust.json new file mode 100644 index 00000000..d82be54b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/nitrate_dust.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/nitrate_dust" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/orange_caution_block.json b/build/resources/main/assets/tfmg/models/item/orange_caution_block.json new file mode 100644 index 00000000..094b5c1d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/orange_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/orange_caution_block" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/orange_concrete.json b/build/resources/main/assets/tfmg/models/item/orange_concrete.json new file mode 100644 index 00000000..dbdefe73 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/orange_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/orange_concrete" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/orange_concrete_wall.json b/build/resources/main/assets/tfmg/models/item/orange_concrete_wall.json new file mode 100644 index 00000000..a4663f08 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/orange_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/orange_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/p_semiconductor.json b/build/resources/main/assets/tfmg/models/item/p_semiconductor.json new file mode 100644 index 00000000..975671a6 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/p_semiconductor.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/p_semiconductor" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/pink_caution_block.json b/build/resources/main/assets/tfmg/models/item/pink_caution_block.json new file mode 100644 index 00000000..b38ce26e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/pink_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/pink_caution_block" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/pink_concrete_stairs.json b/build/resources/main/assets/tfmg/models/item/pink_concrete_stairs.json new file mode 100644 index 00000000..ddb88f29 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/pink_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/pink_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/pink_rebar_concrete_slab.json b/build/resources/main/assets/tfmg/models/item/pink_rebar_concrete_slab.json new file mode 100644 index 00000000..70dfab34 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/pink_rebar_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/pink_concrete_bottom" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/pink_rebar_concrete_stairs.json b/build/resources/main/assets/tfmg/models/item/pink_rebar_concrete_stairs.json new file mode 100644 index 00000000..ddb88f29 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/pink_rebar_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/pink_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/pink_rebar_concrete_wall.json b/build/resources/main/assets/tfmg/models/item/pink_rebar_concrete_wall.json new file mode 100644 index 00000000..8ec2d50c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/pink_rebar_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/pink_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/plastic_mechanical_pump.json b/build/resources/main/assets/tfmg/models/item/plastic_mechanical_pump.json new file mode 100644 index 00000000..099dda6d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/plastic_mechanical_pump.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/plastic_mechanical_pump/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/polished_cut_bauxite_wall.json b/build/resources/main/assets/tfmg/models/item/polished_cut_bauxite_wall.json new file mode 100644 index 00000000..627b6752 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/polished_cut_bauxite_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/polished_cut_galena_stairs.json b/build/resources/main/assets/tfmg/models/item/polished_cut_galena_stairs.json new file mode 100644 index 00000000..92b9083a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/polished_cut_galena_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/polished_cut_galena_stairs" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/propylene_bucket.json b/build/resources/main/assets/tfmg/models/item/propylene_bucket.json new file mode 100644 index 00000000..a5fb2a0c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/propylene_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/propylene_bucket" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/pumpjack_base.json b/build/resources/main/assets/tfmg/models/item/pumpjack_base.json new file mode 100644 index 00000000..1a527608 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/pumpjack_base.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/pumpjack_base/block" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/pumpjack_hammer_part.json b/build/resources/main/assets/tfmg/models/item/pumpjack_hammer_part.json new file mode 100644 index 00000000..1bf99df2 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/pumpjack_hammer_part.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/pumpjack_hammer_part" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/purple_caution_block.json b/build/resources/main/assets/tfmg/models/item/purple_caution_block.json new file mode 100644 index 00000000..d7cd43fa --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/purple_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/purple_caution_block" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/purple_concrete.json b/build/resources/main/assets/tfmg/models/item/purple_concrete.json new file mode 100644 index 00000000..635f4471 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/purple_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/purple_concrete" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/purple_concrete_stairs.json b/build/resources/main/assets/tfmg/models/item/purple_concrete_stairs.json new file mode 100644 index 00000000..96d3f159 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/purple_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/purple_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/purple_concrete_wall.json b/build/resources/main/assets/tfmg/models/item/purple_concrete_wall.json new file mode 100644 index 00000000..1f06160e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/purple_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/purple_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/purple_rebar_concrete.json b/build/resources/main/assets/tfmg/models/item/purple_rebar_concrete.json new file mode 100644 index 00000000..aba51f67 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/purple_rebar_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/purple_rebar_concrete" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/purple_rebar_concrete_slab.json b/build/resources/main/assets/tfmg/models/item/purple_rebar_concrete_slab.json new file mode 100644 index 00000000..c6cd8d39 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/purple_rebar_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/purple_concrete_bottom" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/radial_engine.json b/build/resources/main/assets/tfmg/models/item/radial_engine.json new file mode 100644 index 00000000..e8fe8713 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/radial_engine.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/radial_engine/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/raw_lithium_block.json b/build/resources/main/assets/tfmg/models/item/raw_lithium_block.json new file mode 100644 index 00000000..49d5cf92 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/raw_lithium_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/raw_lithium_block" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/raw_nickel.json b/build/resources/main/assets/tfmg/models/item/raw_nickel.json new file mode 100644 index 00000000..b500ea60 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/raw_nickel.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/raw_nickel" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/rebar_concrete_wall.json b/build/resources/main/assets/tfmg/models/item/rebar_concrete_wall.json new file mode 100644 index 00000000..778708ce --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/rebar_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/red_caution_block.json b/build/resources/main/assets/tfmg/models/item/red_caution_block.json new file mode 100644 index 00000000..21024859 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/red_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/red_caution_block" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/red_concrete.json b/build/resources/main/assets/tfmg/models/item/red_concrete.json new file mode 100644 index 00000000..657d6752 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/red_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/red_concrete" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/red_concrete_slab.json b/build/resources/main/assets/tfmg/models/item/red_concrete_slab.json new file mode 100644 index 00000000..32b2cbba --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/red_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/red_concrete_bottom" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/red_concrete_wall.json b/build/resources/main/assets/tfmg/models/item/red_concrete_wall.json new file mode 100644 index 00000000..83a6814e --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/red_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/red_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/red_multimeter.json b/build/resources/main/assets/tfmg/models/item/red_multimeter.json new file mode 100644 index 00000000..3d16e1a1 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/red_multimeter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/red_multimeter" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/regular_engine.json b/build/resources/main/assets/tfmg/models/item/regular_engine.json new file mode 100644 index 00000000..e81cfc18 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/regular_engine.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/regular_engine/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/rotor.json b/build/resources/main/assets/tfmg/models/item/rotor.json new file mode 100644 index 00000000..fe6bbb13 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/rotor.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/rotor/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/screw.json b/build/resources/main/assets/tfmg/models/item/screw.json new file mode 100644 index 00000000..654db24b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/screw.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/screw" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/screwdriver.json b/build/resources/main/assets/tfmg/models/item/screwdriver.json new file mode 100644 index 00000000..b7ec5704 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/screwdriver.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/screwdriver" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/segmented_display.json b/build/resources/main/assets/tfmg/models/item/segmented_display.json new file mode 100644 index 00000000..f73cd861 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/segmented_display.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/segmented_display/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/silicon_ingot.json b/build/resources/main/assets/tfmg/models/item/silicon_ingot.json new file mode 100644 index 00000000..6df081a6 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/silicon_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/silicon_ingot" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/small_bauxite_brick_slab.json b/build/resources/main/assets/tfmg/models/item/small_bauxite_brick_slab.json new file mode 100644 index 00000000..53e0492a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/small_bauxite_brick_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/small_bauxite_brick_slab" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/small_bauxite_brick_stairs.json b/build/resources/main/assets/tfmg/models/item/small_bauxite_brick_stairs.json new file mode 100644 index 00000000..b01f7981 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/small_bauxite_brick_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/small_bauxite_brick_stairs" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/small_bauxite_brick_wall.json b/build/resources/main/assets/tfmg/models/item/small_bauxite_brick_wall.json new file mode 100644 index 00000000..28241ead --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/small_bauxite_brick_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/steel_casing.json b/build/resources/main/assets/tfmg/models/item/steel_casing.json new file mode 100644 index 00000000..2368c472 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/steel_casing.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_casing" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/steel_door.json b/build/resources/main/assets/tfmg/models/item/steel_door.json new file mode 100644 index 00000000..7c2721eb --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/steel_door.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/steel_door" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/steel_encased_large_steel_cogwheel.json b/build/resources/main/assets/tfmg/models/item/steel_encased_large_steel_cogwheel.json new file mode 100644 index 00000000..c2a01eb6 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/steel_encased_large_steel_cogwheel.json @@ -0,0 +1,9 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/item", + "textures": { + "1": "tfmg:block/steel_casing", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/steel_flywheel.json b/build/resources/main/assets/tfmg/models/item/steel_flywheel.json new file mode 100644 index 00000000..992247c4 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/steel_flywheel.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_flywheel/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/steel_frame.json b/build/resources/main/assets/tfmg/models/item/steel_frame.json new file mode 100644 index 00000000..b0e141f8 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/steel_frame.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_frame/block" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/steel_shovel.json b/build/resources/main/assets/tfmg/models/item/steel_shovel.json new file mode 100644 index 00000000..a49074d7 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/steel_shovel.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/steel_shovel" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/steel_sword.json b/build/resources/main/assets/tfmg/models/item/steel_sword.json new file mode 100644 index 00000000..743d06f0 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/steel_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/steel_sword" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/steel_truss.json b/build/resources/main/assets/tfmg/models/item/steel_truss.json new file mode 100644 index 00000000..d1f0da0d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/steel_truss.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_truss" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/sulfur.json b/build/resources/main/assets/tfmg/models/item/sulfur.json new file mode 100644 index 00000000..f70095c3 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/sulfur.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/sulfur" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/sulfuric_acid_bucket.json b/build/resources/main/assets/tfmg/models/item/sulfuric_acid_bucket.json new file mode 100644 index 00000000..a6934d14 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/sulfuric_acid_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/sulfuric_acid_bucket" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/synthetic_string.json b/build/resources/main/assets/tfmg/models/item/synthetic_string.json new file mode 100644 index 00000000..58ca2037 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/synthetic_string.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/synthetic_string" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/transmission.json b/build/resources/main/assets/tfmg/models/item/transmission.json new file mode 100644 index 00000000..5c789f9f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/transmission.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:item/transmission_model" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/transmission_model.json b/build/resources/main/assets/tfmg/models/item/transmission_model.json new file mode 100644 index 00000000..d6026b8f --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/transmission_model.json @@ -0,0 +1,159 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "texture_size": [32, 32], + "textures": { + "2": "tfmg:block/transmission" + }, + "elements": [ + { + "from": [5, 11, 3], + "to": [11, 14, 12], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 4, 8]}, + "faces": { + "north": {"uv": [3, 3, 4.5, 6], "rotation": 270, "texture": "#2"}, + "east": {"uv": [1.5, 7.5, 0, 3], "rotation": 90, "texture": "#2"}, + "south": {"uv": [6.5, 0, 8, 3], "rotation": 90, "texture": "#2"}, + "west": {"uv": [3, 3, 1.5, 7.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 4.5, 3], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 0, 4.5, 3], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [5, 11, 2], + "to": [10, 14, 3], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 4, 8]}, + "faces": { + "north": {"uv": [7.5, 0, 9, 2.5], "rotation": 270, "texture": "#2"}, + "east": {"uv": [9, 2.5, 7.5, 2], "rotation": 90, "texture": "#2"}, + "south": {"uv": [4.5, 8, 6, 10.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9, 2, 7.5, 2.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [4, 3.5, 4.5, 6], "rotation": 90, "texture": "#2"}, + "down": {"uv": [3.5, 3.5, 4, 6], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [4, 11, 12], + "to": [12, 15, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 4, 8]}, + "faces": { + "north": {"uv": [4.5, 0, 6.5, 4], "rotation": 270, "texture": "#2"}, + "east": {"uv": [11, 2, 9, 1], "rotation": 90, "texture": "#2"}, + "south": {"uv": [4.5, 4, 6.5, 8], "rotation": 90, "texture": "#2"}, + "west": {"uv": [11, 1, 9, 2], "rotation": 90, "texture": "#2"}, + "up": {"uv": [6.5, 0, 7.5, 4], "rotation": 90, "texture": "#2"}, + "down": {"uv": [15, 0, 16, 4], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [4, 15, 7], + "to": [12, 15, 9], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 4], "rotation": 270, "texture": "#2"}, + "east": {"uv": [0, 1, 0, 0], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 0, 0, 4], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#2"}, + "up": {"uv": [2.5, 3.5, 3.5, 7.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [2, 3, 3, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [12, 11, 7], + "to": [12, 15, 9], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 0], "rotation": 270, "texture": "#2"}, + "east": {"uv": [11, 0, 9, 1], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 0, 2, 0], "rotation": 90, "texture": "#2"}, + "west": {"uv": [11, 1, 9, 0], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [4, 11, 7], + "to": [4, 15, 9], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 0], "rotation": 270, "texture": "#2"}, + "east": {"uv": [11, 0, 9, 1], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 0, 2, 0], "rotation": 90, "texture": "#2"}, + "west": {"uv": [11, 1, 9, 0], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [12, 11, 10], + "to": [12, 15, 11], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 0], "rotation": 270, "texture": "#2"}, + "east": {"uv": [11, 1, 9, 0.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 0, 2, 0], "rotation": 90, "texture": "#2"}, + "west": {"uv": [11, 0, 9, 0.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 0.5, 0], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 0, 0.5, 0], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [4, 15, 10], + "to": [12, 15, 11], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 4], "rotation": 270, "texture": "#2"}, + "east": {"uv": [0, 0.5, 0, 0], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 0, 0, 4], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 0, 0, 0.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [3, 3.5, 3.5, 7.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [1.5, 3, 2, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [4, 11, 10], + "to": [4, 15, 11], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 0], "rotation": 270, "texture": "#2"}, + "east": {"uv": [11.5, 0.5, 9.5, 0], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 0, 2, 0], "rotation": 90, "texture": "#2"}, + "west": {"uv": [11, 0.5, 9, 1], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 0.5, 0], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 0, 0.5, 0], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [11, 12, 3], + "to": [12, 13, 12], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 4, 8]}, + "faces": { + "north": {"uv": [1.5, 10.5, 2, 11], "rotation": 270, "texture": "#2"}, + "east": {"uv": [3.5, 7.5, 3, 3], "rotation": 90, "texture": "#2"}, + "south": {"uv": [2, 10.5, 2.5, 11], "rotation": 90, "texture": "#2"}, + "west": {"uv": [16, 0, 15.5, 4.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [12.5, 2.5, 8, 3], "rotation": 90, "texture": "#2"}, + "down": {"uv": [12.5, 2.5, 8, 3], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [10, 12, 2], + "to": [12, 13, 3], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 4, 8]}, + "faces": { + "north": {"uv": [3, 3.5, 3.5, 4.5], "rotation": 270, "texture": "#2"}, + "east": {"uv": [3.5, 6, 3, 5.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [6.5, 4, 7, 5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [7, 4, 6.5, 4.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [3, 6, 3.5, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [3, 4, 3.5, 5], "rotation": 90, "texture": "#2"} + } + } + ], + "display": { + "gui": { + "rotation": [37, -42, 0], + "translation": [0.75, -2.75, 0] + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/turbine_blade.json b/build/resources/main/assets/tfmg/models/item/turbine_blade.json new file mode 100644 index 00000000..82ced20d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/turbine_blade.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/turbine_blade" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/turbine_engine.json b/build/resources/main/assets/tfmg/models/item/turbine_engine.json new file mode 100644 index 00000000..1a7f9634 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/turbine_engine.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/turbine_engine/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/unfinished_circuit_board.json b/build/resources/main/assets/tfmg/models/item/unfinished_circuit_board.json new file mode 100644 index 00000000..1876fb7b --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/unfinished_circuit_board.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/unfinished_circuit_board" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/unfinished_engine.json b/build/resources/main/assets/tfmg/models/item/unfinished_engine.json new file mode 100644 index 00000000..b3fa1962 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/unfinished_engine.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:item/engine_base", + "particle": "tfmg:item/engine_base" + }, + "elements": [ + { + "from": [3, 0, 2], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [1, 0, 3.5, 3], "texture": "#0"}, + "east": {"uv": [3.5, 12.25, 0, 15.25], "texture": "#0"}, + "south": {"uv": [5.5, 0, 8, 3], "texture": "#0"}, + "west": {"uv": [0, 12.25, 3.5, 15.25], "texture": "#0"}, + "up": {"uv": [1, 7, 3.5, 10.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 3.5, 8, 7], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [3, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [3.5, 1.25, 4.25, 3], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "south": {"uv": [4.75, 1.25, 5.5, 3], "texture": "#0"}, + "west": {"uv": [0, 13.75, 3.5, 15.5], "texture": "#0"}, + "up": {"uv": [0, 7, 0.75, 10.5], "texture": "#0"}, + "down": {"uv": [8.625, 7, 8, 3.5], "texture": "#0"} + } + }, + { + "from": [13, 0, 2], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [0.25, 1.25, 1, 3], "texture": "#0"}, + "east": {"uv": [3.5, 13.75, 0, 15.5], "texture": "#0"}, + "south": {"uv": [8, 1.25, 8.75, 3], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "up": {"uv": [3.75, 7, 4.5, 10.5], "texture": "#0"}, + "down": {"uv": [5.5, 3.5, 4.75, 7], "texture": "#0"} + } + }, + { + "from": [2, 7, 2], + "to": [3, 10, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [14, 1, 14.25, 1.75], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "south": {"uv": [14, 1, 14.25, 1.75], "texture": "#0"}, + "west": {"uv": [14, 1, 14.5, 1.75], "texture": "#0"}, + "up": {"uv": [14, 1.25, 14.5, 1.5], "texture": "#0"}, + "down": {"uv": [14.25, 0, 15.25, 2], "texture": "#0"} + } + }, + { + "from": [13, 7, 2], + "to": [14, 10, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [14, 1, 14.25, 1.75], "texture": "#0"}, + "east": {"uv": [14, 1, 14.5, 1.75], "texture": "#0"}, + "south": {"uv": [14, 1, 14.25, 1.75], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "up": {"uv": [14, 1.25, 14.5, 1.5], "texture": "#0"}, + "down": {"uv": [14.25, 0.125, 15.25, 2.125], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/unfinished_insulator_model.json b/build/resources/main/assets/tfmg/models/item/unfinished_insulator_model.json new file mode 100644 index 00000000..891ccc8a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/unfinished_insulator_model.json @@ -0,0 +1,74 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/regular_insulator", + "particle": "tfmg:block/regular_insulator" + }, + "elements": [ + { + "from": [5, 1, 5], + "to": [11, 2, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [5, 3, 5], + "to": [11, 4, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 3, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [5, 5, 5], + "to": [11, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 5, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [6, 0, 6], + "to": [10, 8, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [12, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [12, 0, 16, 8], "texture": "#0"}, + "south": {"uv": [12, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [12, 0, 16, 8], "texture": "#0"}, + "down": {"uv": [1, 3, 5, 7], "texture": "#0"} + } + }, + { + "from": [5, 7, 5], + "to": [11, 8, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/voltage_observer.json b/build/resources/main/assets/tfmg/models/item/voltage_observer.json new file mode 100644 index 00000000..3afb3291 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/voltage_observer.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/voltage_observer/item" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/white_caution_block.json b/build/resources/main/assets/tfmg/models/item/white_caution_block.json new file mode 100644 index 00000000..c60b8579 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/white_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/white_caution_block" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/white_concrete.json b/build/resources/main/assets/tfmg/models/item/white_concrete.json new file mode 100644 index 00000000..0540b9d9 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/white_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/white_concrete" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/white_concrete_stairs.json b/build/resources/main/assets/tfmg/models/item/white_concrete_stairs.json new file mode 100644 index 00000000..b41709a2 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/white_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/white_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/yellow_concrete.json b/build/resources/main/assets/tfmg/models/item/yellow_concrete.json new file mode 100644 index 00000000..58d4b828 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/yellow_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/yellow_concrete" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/yellow_rebar_concrete_wall.json b/build/resources/main/assets/tfmg/models/item/yellow_rebar_concrete_wall.json new file mode 100644 index 00000000..01962c00 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/yellow_rebar_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/yellow_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/zinc_electrode.json b/build/resources/main/assets/tfmg/models/item/zinc_electrode.json new file mode 100644 index 00000000..325ec756 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/zinc_electrode.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:item/zinc_electrode_model" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/zinc_electrode_model.json b/build/resources/main/assets/tfmg/models/item/zinc_electrode_model.json new file mode 100644 index 00000000..3f82a84d --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/zinc_electrode_model.json @@ -0,0 +1,63 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/electrodes", + "particle": "tfmg:block/electrodes" + }, + "elements": [ + { + "from": [6, -8, 6], + "to": [10, 16, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 6]}, + "faces": { + "north": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "up": {"uv": [0, 12, 2, 14], "texture": "#0"}, + "down": {"uv": [0, 12, 2, 14], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [-22.75, 0, 0], + "translation": [0, 5, -1.75], + "scale": [0.5, 0.5, 0.5] + }, + "thirdperson_lefthand": { + "rotation": [-22.75, 0, 0], + "translation": [0, 5, -1.75], + "scale": [0.5, 0.5, 0.5] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [2.25, 2, 0], + "scale": [0.5, 0.5, 0.5] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [2.25, 2, 0], + "scale": [0.5, 0.5, 0.5] + }, + "ground": { + "translation": [0, 4.5, 0], + "scale": [0.3, 0.3, 0.3] + }, + "gui": { + "rotation": [53, 45, 0], + "translation": [0, 2, 0], + "scale": [0.75, 0.75, 0.75] + }, + "head": { + "rotation": [30, 90, 90], + "translation": [0, 7.75, -10] + }, + "fixed": { + "rotation": [0, 0, -45], + "translation": [2.5, 2.5, 0] + } + } +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/zinc_frame.json b/build/resources/main/assets/tfmg/models/item/zinc_frame.json new file mode 100644 index 00000000..16996c6c --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/zinc_frame.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/zinc_frame/block" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/item/zinc_truss.json b/build/resources/main/assets/tfmg/models/item/zinc_truss.json new file mode 100644 index 00000000..810efe2a --- /dev/null +++ b/build/resources/main/assets/tfmg/models/item/zinc_truss.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/zinc_truss" +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/models/large_aluminum_cogwheel_shaftless.json b/build/resources/main/assets/tfmg/models/large_aluminum_cogwheel_shaftless.json new file mode 100644 index 00000000..f419da33 --- /dev/null +++ b/build/resources/main/assets/tfmg/models/large_aluminum_cogwheel_shaftless.json @@ -0,0 +1,189 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/large_aluminum_coghweel", + "particle": "tfmg:block/large_aluminum_coghweel" + }, + "elements": [ + { + "name": "Gear2", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear3", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear4", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "GearCaseInner", + "from": [-2, 7.6, -2], + "to": [18, 8.4, 18], + "faces": { + "north": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "east": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "south": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "west": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 10], "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [-1, 5.975, 1], + "to": [1, 10.025, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "south": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [12, 0, 13, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [13, 0, 14, 7], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [1, 5.975, -1], + "to": [15, 10.025, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "west": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [13, 0, 14, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12, 0, 13, 7], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [15, 5.975, 1], + "to": [17, 10.025, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "up": {"uv": [15, 0, 16, 7], "texture": "#0"}, + "down": {"uv": [14, 0, 15, 7], "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [1, 5.975, 15], + "to": [15, 10.025, 17], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "east": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 0, 15, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 0, 16, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "Gear", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Gear5", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear6", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Gear7", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear8", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/ponder/blast_furnace.nbt b/build/resources/main/assets/tfmg/ponder/blast_furnace.nbt new file mode 100644 index 00000000..02a4a68e Binary files /dev/null and b/build/resources/main/assets/tfmg/ponder/blast_furnace.nbt differ diff --git a/build/resources/main/assets/tfmg/ponder/distillation_tower.nbt b/build/resources/main/assets/tfmg/ponder/distillation_tower.nbt new file mode 100644 index 00000000..2f7bd572 Binary files /dev/null and b/build/resources/main/assets/tfmg/ponder/distillation_tower.nbt differ diff --git a/build/resources/main/assets/tfmg/sounds/engine.ogg b/build/resources/main/assets/tfmg/sounds/engine.ogg new file mode 100644 index 00000000..a3885eb1 Binary files /dev/null and b/build/resources/main/assets/tfmg/sounds/engine.ogg differ diff --git a/build/resources/main/assets/tfmg/textures/block/air_intake/air_intake_large.png b/build/resources/main/assets/tfmg/textures/block/air_intake/air_intake_large.png new file mode 100644 index 00000000..35e73b42 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/air_intake/air_intake_large.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/air_intake/inputs.png b/build/resources/main/assets/tfmg/textures/block/air_intake/inputs.png new file mode 100644 index 00000000..28e556fa Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/air_intake/inputs.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/air_intake/test/air_intake_small.png b/build/resources/main/assets/tfmg/textures/block/air_intake/test/air_intake_small.png new file mode 100644 index 00000000..32a989dc Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/air_intake/test/air_intake_small.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/air_intake/test/fan.png b/build/resources/main/assets/tfmg/textures/block/air_intake/test/fan.png new file mode 100644 index 00000000..b04990c3 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/air_intake/test/fan.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/air_intake/test/fan_large.png b/build/resources/main/assets/tfmg/textures/block/air_intake/test/fan_large.png new file mode 100644 index 00000000..64441007 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/air_intake/test/fan_large.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/air_intake/test/sides.png b/build/resources/main/assets/tfmg/textures/block/air_intake/test/sides.png new file mode 100644 index 00000000..cffd663d Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/air_intake/test/sides.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/aluminum_block.png b/build/resources/main/assets/tfmg/textures/block/aluminum_block.png new file mode 100644 index 00000000..4d494363 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/aluminum_block.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/aluminum_door_bottom.png b/build/resources/main/assets/tfmg/textures/block/aluminum_door_bottom.png new file mode 100644 index 00000000..fcca5a89 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/aluminum_door_bottom.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/aluminum_fluid_tank_window_single.png b/build/resources/main/assets/tfmg/textures/block/aluminum_fluid_tank_window_single.png new file mode 100644 index 00000000..fbbedabc Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/aluminum_fluid_tank_window_single.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/aluminum_flywheel.png b/build/resources/main/assets/tfmg/textures/block/aluminum_flywheel.png new file mode 100644 index 00000000..9c5e471b Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/aluminum_flywheel.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/aluminum_frame.png b/build/resources/main/assets/tfmg/textures/block/aluminum_frame.png new file mode 100644 index 00000000..2998f9dd Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/aluminum_frame.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/aluminum_lamp_off.png b/build/resources/main/assets/tfmg/textures/block/aluminum_lamp_off.png new file mode 100644 index 00000000..7d82f098 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/aluminum_lamp_off.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/aluminum_pipes.png b/build/resources/main/assets/tfmg/textures/block/aluminum_pipes.png new file mode 100644 index 00000000..12315291 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/aluminum_pipes.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/aluminum_plating.png b/build/resources/main/assets/tfmg/textures/block/aluminum_plating.png new file mode 100644 index 00000000..ed91684e Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/aluminum_plating.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/bars/aluminum_bars.png b/build/resources/main/assets/tfmg/textures/block/bars/aluminum_bars.png new file mode 100644 index 00000000..7051c0b8 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/bars/aluminum_bars.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/bars/aluminum_bars_edge.png b/build/resources/main/assets/tfmg/textures/block/bars/aluminum_bars_edge.png new file mode 100644 index 00000000..f53be64e Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/bars/aluminum_bars_edge.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/bars/cast_iron_bars_edge.png b/build/resources/main/assets/tfmg/textures/block/bars/cast_iron_bars_edge.png new file mode 100644 index 00000000..8e46dbf9 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/bars/cast_iron_bars_edge.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/bars/steel_bars.png b/build/resources/main/assets/tfmg/textures/block/bars/steel_bars.png new file mode 100644 index 00000000..536643a5 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/bars/steel_bars.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/blast_stove_top.png b/build/resources/main/assets/tfmg/textures/block/blast_stove_top.png new file mode 100644 index 00000000..8afd69af Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/blast_stove_top.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/brass_cable_hub.png b/build/resources/main/assets/tfmg/textures/block/brass_cable_hub.png new file mode 100644 index 00000000..15229fab Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/brass_cable_hub.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/brass_fluid_valve.png b/build/resources/main/assets/tfmg/textures/block/brass_fluid_valve.png new file mode 100644 index 00000000..a766d393 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/brass_fluid_valve.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/brass_frame.png b/build/resources/main/assets/tfmg/textures/block/brass_frame.png new file mode 100644 index 00000000..a0503d34 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/brass_frame.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/brass_pump.png b/build/resources/main/assets/tfmg/textures/block/brass_pump.png new file mode 100644 index 00000000..1b778388 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/brass_pump.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/brass_valve_open.png b/build/resources/main/assets/tfmg/textures/block/brass_valve_open.png new file mode 100644 index 00000000..f8777562 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/brass_valve_open.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/brick_smokestack.png b/build/resources/main/assets/tfmg/textures/block/brick_smokestack.png new file mode 100644 index 00000000..42f2f56e Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/brick_smokestack.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/cable_tube.png b/build/resources/main/assets/tfmg/textures/block/cable_tube.png new file mode 100644 index 00000000..17cba083 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/cable_tube.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/cast_iron_fluid_tank_connected.png b/build/resources/main/assets/tfmg/textures/block/cast_iron_fluid_tank_connected.png new file mode 100644 index 00000000..6f338183 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/cast_iron_fluid_tank_connected.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/cast_iron_fluid_tank_inner_connected.png b/build/resources/main/assets/tfmg/textures/block/cast_iron_fluid_tank_inner_connected.png new file mode 100644 index 00000000..be753482 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/cast_iron_fluid_tank_inner_connected.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/cast_iron_fluid_tank_top.png b/build/resources/main/assets/tfmg/textures/block/cast_iron_fluid_tank_top.png new file mode 100644 index 00000000..72dfc949 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/cast_iron_fluid_tank_top.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/cast_iron_fluid_tank_window.png b/build/resources/main/assets/tfmg/textures/block/cast_iron_fluid_tank_window.png new file mode 100644 index 00000000..f5a49999 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/cast_iron_fluid_tank_window.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/cast_iron_flywheel.png b/build/resources/main/assets/tfmg/textures/block/cast_iron_flywheel.png new file mode 100644 index 00000000..0193ed29 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/cast_iron_flywheel.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/cast_iron_frame_2.png b/build/resources/main/assets/tfmg/textures/block/cast_iron_frame_2.png new file mode 100644 index 00000000..d4fe5333 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/cast_iron_frame_2.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/cast_iron_pipes_connected.png b/build/resources/main/assets/tfmg/textures/block/cast_iron_pipes_connected.png new file mode 100644 index 00000000..261f29bd Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/cast_iron_pipes_connected.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/cast_iron_smart_pipe_3.png b/build/resources/main/assets/tfmg/textures/block/cast_iron_smart_pipe_3.png new file mode 100644 index 00000000..9b0f061c Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/cast_iron_smart_pipe_3.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/cast_iron_vat_top_connected.png b/build/resources/main/assets/tfmg/textures/block/cast_iron_vat_top_connected.png new file mode 100644 index 00000000..0834315c Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/cast_iron_vat_top_connected.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/cast_iron_vat_window_single.png b/build/resources/main/assets/tfmg/textures/block/cast_iron_vat_window_single.png new file mode 100644 index 00000000..ace60f25 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/cast_iron_vat_window_single.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/casting_basin.png b/build/resources/main/assets/tfmg/textures/block/casting_basin.png new file mode 100644 index 00000000..62bb3f50 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/casting_basin.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/caution_block.png b/build/resources/main/assets/tfmg/textures/block/caution_block.png new file mode 100644 index 00000000..ce2bf285 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/caution_block.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/caution_block/lime.png b/build/resources/main/assets/tfmg/textures/block/caution_block/lime.png new file mode 100644 index 00000000..1fc70e5a Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/caution_block/lime.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/caution_block/pink.png b/build/resources/main/assets/tfmg/textures/block/caution_block/pink.png new file mode 100644 index 00000000..cf4ab559 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/caution_block/pink.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/caution_block/red.png b/build/resources/main/assets/tfmg/textures/block/caution_block/red.png new file mode 100644 index 00000000..6e86820e Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/caution_block/red.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/caution_block/white.png b/build/resources/main/assets/tfmg/textures/block/caution_block/white.png new file mode 100644 index 00000000..a57b1d79 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/caution_block/white.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/cement.png b/build/resources/main/assets/tfmg/textures/block/cement.png new file mode 100644 index 00000000..de5f3158 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/cement.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/cinderblock_top.png b/build/resources/main/assets/tfmg/textures/block/cinderblock_top.png new file mode 100644 index 00000000..23297016 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/cinderblock_top.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/cinderflourblock.png b/build/resources/main/assets/tfmg/textures/block/cinderflourblock.png new file mode 100644 index 00000000..768f9c07 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/cinderflourblock.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/circular_lamp_off.png b/build/resources/main/assets/tfmg/textures/block/circular_lamp_off.png new file mode 100644 index 00000000..d4b979c2 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/circular_lamp_off.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/circular_lamp_off_outlet.png b/build/resources/main/assets/tfmg/textures/block/circular_lamp_off_outlet.png new file mode 100644 index 00000000..57429ad0 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/circular_lamp_off_outlet.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/circular_lamp_on.png b/build/resources/main/assets/tfmg/textures/block/circular_lamp_on.png new file mode 100644 index 00000000..a3b465f3 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/circular_lamp_on.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/coke_oven/bottom_connected.png b/build/resources/main/assets/tfmg/textures/block/coke_oven/bottom_connected.png new file mode 100644 index 00000000..97adb1f5 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/coke_oven/bottom_connected.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/coke_oven/casual.png.mcmeta b/build/resources/main/assets/tfmg/textures/block/coke_oven/casual.png.mcmeta new file mode 100644 index 00000000..4f0718ac --- /dev/null +++ b/build/resources/main/assets/tfmg/textures/block/coke_oven/casual.png.mcmeta @@ -0,0 +1,3 @@ +{ + "animation": {} +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/textures/block/coke_oven/coke_oven_door_bottom.png b/build/resources/main/assets/tfmg/textures/block/coke_oven/coke_oven_door_bottom.png new file mode 100644 index 00000000..96387af2 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/coke_oven/coke_oven_door_bottom.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/coke_oven/coke_oven_front_middle_on.png b/build/resources/main/assets/tfmg/textures/block/coke_oven/coke_oven_front_middle_on.png new file mode 100644 index 00000000..b013544c Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/coke_oven/coke_oven_front_middle_on.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/coke_oven/coke_oven_front_top_on.png b/build/resources/main/assets/tfmg/textures/block/coke_oven/coke_oven_front_top_on.png new file mode 100644 index 00000000..b90b72e0 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/coke_oven/coke_oven_front_top_on.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/coke_oven/coke_oven_front_top_on.png.mcmeta b/build/resources/main/assets/tfmg/textures/block/coke_oven/coke_oven_front_top_on.png.mcmeta new file mode 100644 index 00000000..4f0718ac --- /dev/null +++ b/build/resources/main/assets/tfmg/textures/block/coke_oven/coke_oven_front_top_on.png.mcmeta @@ -0,0 +1,3 @@ +{ + "animation": {} +} \ No newline at end of file diff --git a/build/resources/main/assets/tfmg/textures/block/coke_oven/side.png b/build/resources/main/assets/tfmg/textures/block/coke_oven/side.png new file mode 100644 index 00000000..d5dfb877 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/coke_oven/side.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/coke_oven/top_connected.png b/build/resources/main/assets/tfmg/textures/block/coke_oven/top_connected.png new file mode 100644 index 00000000..977e800b Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/coke_oven/top_connected.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/constantan_block.png b/build/resources/main/assets/tfmg/textures/block/constantan_block.png new file mode 100644 index 00000000..f201e7f8 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/constantan_block.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/converter.png b/build/resources/main/assets/tfmg/textures/block/converter.png new file mode 100644 index 00000000..9ad0dd7a Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/converter.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/copper_coil.png b/build/resources/main/assets/tfmg/textures/block/copper_coil.png new file mode 100644 index 00000000..67733f53 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/copper_coil.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/copper_coil_arrow.png b/build/resources/main/assets/tfmg/textures/block/copper_coil_arrow.png new file mode 100644 index 00000000..0d07c764 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/copper_coil_arrow.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/copper_encased_steel_pipe.png b/build/resources/main/assets/tfmg/textures/block/copper_encased_steel_pipe.png new file mode 100644 index 00000000..0fce5d9c Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/copper_encased_steel_pipe.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/copper_frame.png b/build/resources/main/assets/tfmg/textures/block/copper_frame.png new file mode 100644 index 00000000..fadf1bea Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/copper_frame.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/debug_conductor.png b/build/resources/main/assets/tfmg/textures/block/debug_conductor.png new file mode 100644 index 00000000..2dd59769 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/debug_conductor.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/debug_electric_block.png b/build/resources/main/assets/tfmg/textures/block/debug_electric_block.png new file mode 100644 index 00000000..2cf2473c Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/debug_electric_block.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/deepslate_lead_ore.png b/build/resources/main/assets/tfmg/textures/block/deepslate_lead_ore.png new file mode 100644 index 00000000..da5d13f6 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/deepslate_lead_ore.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/deepslate_nickel_ore.png b/build/resources/main/assets/tfmg/textures/block/deepslate_nickel_ore.png new file mode 100644 index 00000000..a2f62c2f Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/deepslate_nickel_ore.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/diesel_engine.png b/build/resources/main/assets/tfmg/textures/block/diesel_engine.png new file mode 100644 index 00000000..3645049b Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/diesel_engine.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/diesel_engine_expansion.png b/build/resources/main/assets/tfmg/textures/block/diesel_engine_expansion.png new file mode 100644 index 00000000..0acac172 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/diesel_engine_expansion.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/diesel_engine_linkage.png b/build/resources/main/assets/tfmg/textures/block/diesel_engine_linkage.png new file mode 100644 index 00000000..5397ab56 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/diesel_engine_linkage.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/distillation_tower_output.png b/build/resources/main/assets/tfmg/textures/block/distillation_tower_output.png new file mode 100644 index 00000000..b2629dfa Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/distillation_tower_output.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/electric_mixer_input.png b/build/resources/main/assets/tfmg/textures/block/electric_mixer_input.png new file mode 100644 index 00000000..bf296681 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/electric_mixer_input.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/electric_post.png b/build/resources/main/assets/tfmg/textures/block/electric_post.png new file mode 100644 index 00000000..777c90b6 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/electric_post.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/electrode_holder_slot.png b/build/resources/main/assets/tfmg/textures/block/electrode_holder_slot.png new file mode 100644 index 00000000..6dda4fb3 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/electrode_holder_slot.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/encased_resistor.png b/build/resources/main/assets/tfmg/textures/block/encased_resistor.png new file mode 100644 index 00000000..3ef43b7b Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/encased_resistor.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/engine.png b/build/resources/main/assets/tfmg/textures/block/engine.png new file mode 100644 index 00000000..41106f0e Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/engine.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/engines/base.png b/build/resources/main/assets/tfmg/textures/block/engines/base.png new file mode 100644 index 00000000..a358651e Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/engines/base.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/engines/engine_chamber.png b/build/resources/main/assets/tfmg/textures/block/engines/engine_chamber.png new file mode 100644 index 00000000..57362dcf Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/engines/engine_chamber.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/engines/engine_front_tall.png b/build/resources/main/assets/tfmg/textures/block/engines/engine_front_tall.png new file mode 100644 index 00000000..f3646a0b Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/engines/engine_front_tall.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/engines/engine_side_tall_connected.png b/build/resources/main/assets/tfmg/textures/block/engines/engine_side_tall_connected.png new file mode 100644 index 00000000..1ac65a86 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/engines/engine_side_tall_connected.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/engines/engine_top.png b/build/resources/main/assets/tfmg/textures/block/engines/engine_top.png new file mode 100644 index 00000000..637a84b8 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/engines/engine_top.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/exhaust.png b/build/resources/main/assets/tfmg/textures/block/exhaust.png new file mode 100644 index 00000000..8fecb8c4 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/exhaust.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/factory_floor.png b/build/resources/main/assets/tfmg/textures/block/factory_floor.png new file mode 100644 index 00000000..6bac99eb Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/factory_floor.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/fireclay.png b/build/resources/main/assets/tfmg/textures/block/fireclay.png new file mode 100644 index 00000000..3dde3233 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/fireclay.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/fireproof_bricks.png b/build/resources/main/assets/tfmg/textures/block/fireproof_bricks.png new file mode 100644 index 00000000..22252a65 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/fireproof_bricks.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/flarestack.png b/build/resources/main/assets/tfmg/textures/block/flarestack.png new file mode 100644 index 00000000..a9cfe23c Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/flarestack.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/formwork_bottom.png b/build/resources/main/assets/tfmg/textures/block/formwork_bottom.png new file mode 100644 index 00000000..8ad50b6b Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/formwork_bottom.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/fossilstone.png b/build/resources/main/assets/tfmg/textures/block/fossilstone.png new file mode 100644 index 00000000..1e59e231 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/fossilstone.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/fuse.png b/build/resources/main/assets/tfmg/textures/block/fuse.png new file mode 100644 index 00000000..5288fb9a Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/fuse.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/fuse_block.png b/build/resources/main/assets/tfmg/textures/block/fuse_block.png new file mode 100644 index 00000000..dde8c88c Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/fuse_block.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/galvanic_cell.png b/build/resources/main/assets/tfmg/textures/block/galvanic_cell.png new file mode 100644 index 00000000..220665db Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/galvanic_cell.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/gasoline_engine.png b/build/resources/main/assets/tfmg/textures/block/gasoline_engine.png new file mode 100644 index 00000000..cd4506a8 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/gasoline_engine.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/glass_aluminum_pipe.png b/build/resources/main/assets/tfmg/textures/block/glass_aluminum_pipe.png new file mode 100644 index 00000000..ac4294e3 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/glass_aluminum_pipe.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/glass_brass_pipe.png b/build/resources/main/assets/tfmg/textures/block/glass_brass_pipe.png new file mode 100644 index 00000000..34a41f91 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/glass_brass_pipe.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/golden_turbo.png b/build/resources/main/assets/tfmg/textures/block/golden_turbo.png new file mode 100644 index 00000000..bb4f3b36 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/golden_turbo.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/gray_concrete.png b/build/resources/main/assets/tfmg/textures/block/gray_concrete.png new file mode 100644 index 00000000..136b7891 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/gray_concrete.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/green_fire_1.png b/build/resources/main/assets/tfmg/textures/block/green_fire_1.png new file mode 100644 index 00000000..c0f29962 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/green_fire_1.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/heavy_casing_top.png b/build/resources/main/assets/tfmg/textures/block/heavy_casing_top.png new file mode 100644 index 00000000..d8dc8128 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/heavy_casing_top.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/industrial_aluminum_casing.png b/build/resources/main/assets/tfmg/textures/block/industrial_aluminum_casing.png new file mode 100644 index 00000000..c91037e4 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/industrial_aluminum_casing.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/industrial_pipe.png b/build/resources/main/assets/tfmg/textures/block/industrial_pipe.png new file mode 100644 index 00000000..13e78890 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/industrial_pipe.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/ladder_nickel.png b/build/resources/main/assets/tfmg/textures/block/ladder_nickel.png new file mode 100644 index 00000000..e6ddd051 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/ladder_nickel.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/large_radial_engine.png b/build/resources/main/assets/tfmg/textures/block/large_radial_engine.png new file mode 100644 index 00000000..f20fdf02 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/large_radial_engine.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/lead_block_connected.png b/build/resources/main/assets/tfmg/textures/block/lead_block_connected.png new file mode 100644 index 00000000..777adb74 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/lead_block_connected.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/lead_frame_2.png b/build/resources/main/assets/tfmg/textures/block/lead_frame_2.png new file mode 100644 index 00000000..a9b1e388 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/lead_frame_2.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/lead_glass_connected.png b/build/resources/main/assets/tfmg/textures/block/lead_glass_connected.png new file mode 100644 index 00000000..f0c07662 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/lead_glass_connected.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/lead_glass_item.png b/build/resources/main/assets/tfmg/textures/block/lead_glass_item.png new file mode 100644 index 00000000..a11b44d3 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/lead_glass_item.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/lead_pump.png b/build/resources/main/assets/tfmg/textures/block/lead_pump.png new file mode 100644 index 00000000..fb7975eb Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/lead_pump.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/lead_smart_pipe_3.png b/build/resources/main/assets/tfmg/textures/block/lead_smart_pipe_3.png new file mode 100644 index 00000000..94fae740 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/lead_smart_pipe_3.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/light_bulb.png b/build/resources/main/assets/tfmg/textures/block/light_bulb.png new file mode 100644 index 00000000..460ab802 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/light_bulb.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/liquid_concrete.png b/build/resources/main/assets/tfmg/textures/block/liquid_concrete.png new file mode 100644 index 00000000..5a35319c Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/liquid_concrete.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/lithium_fire_0.png b/build/resources/main/assets/tfmg/textures/block/lithium_fire_0.png new file mode 100644 index 00000000..a1241093 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/lithium_fire_0.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/lithium_fire_0.png.mcmeta b/build/resources/main/assets/tfmg/textures/block/lithium_fire_0.png.mcmeta new file mode 100644 index 00000000..76446714 --- /dev/null +++ b/build/resources/main/assets/tfmg/textures/block/lithium_fire_0.png.mcmeta @@ -0,0 +1,38 @@ +{ + "animation": { + "frames": [ + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 + ] + } +} diff --git a/build/resources/main/assets/tfmg/textures/block/low_grade_fuel_engine.png b/build/resources/main/assets/tfmg/textures/block/low_grade_fuel_engine.png new file mode 100644 index 00000000..9c6fce06 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/low_grade_fuel_engine.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/metal_smokestack.png b/build/resources/main/assets/tfmg/textures/block/metal_smokestack.png new file mode 100644 index 00000000..8d564c67 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/metal_smokestack.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/modern_light_off.png b/build/resources/main/assets/tfmg/textures/block/modern_light_off.png new file mode 100644 index 00000000..47b218ef Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/modern_light_off.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/new_generator.png b/build/resources/main/assets/tfmg/textures/block/new_generator.png new file mode 100644 index 00000000..e6c693df Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/new_generator.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/alternatives/galena_cut_basketweave.png b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/alternatives/galena_cut_basketweave.png new file mode 100644 index 00000000..db41ffaa Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/alternatives/galena_cut_basketweave.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/alternatives/galena_cut_bond.png b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/alternatives/galena_cut_bond.png new file mode 100644 index 00000000..c97a2163 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/alternatives/galena_cut_bond.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/alternatives/galena_cut_herring.png b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/alternatives/galena_cut_herring.png new file mode 100644 index 00000000..df13d614 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/alternatives/galena_cut_herring.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/cap/galena_cut_cap.png b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/cap/galena_cut_cap.png new file mode 100644 index 00000000..c25425fb Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/cap/galena_cut_cap.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/cut/galena_cut.png b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/cut/galena_cut.png new file mode 100644 index 00000000..aee88016 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/cut/galena_cut.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/layered/bauxite_cut_layered.png b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/layered/bauxite_cut_layered.png new file mode 100644 index 00000000..e0e60236 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/layered/bauxite_cut_layered.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/natural/bauxite_0.png b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/natural/bauxite_0.png new file mode 100644 index 00000000..65546feb Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/natural/bauxite_0.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/natural/bauxite_3.png b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/natural/bauxite_3.png new file mode 100644 index 00000000..2b7ae341 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/natural/bauxite_3.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/natural/galena_2.png b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/natural/galena_2.png new file mode 100644 index 00000000..1e195563 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/natural/galena_2.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/natural/galena_3.png b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/natural/galena_3.png new file mode 100644 index 00000000..be928ed3 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/natural/galena_3.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/pillar/bauxite_cut_pillar_connected.png b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/pillar/bauxite_cut_pillar_connected.png new file mode 100644 index 00000000..9ac8eeec Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/pillar/bauxite_cut_pillar_connected.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/pillar/galena_cut_pillar.png b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/pillar/galena_cut_pillar.png new file mode 100644 index 00000000..95a6aa64 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/pillar/galena_cut_pillar.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/slab/bauxite_cut_slab.png b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/slab/bauxite_cut_slab.png new file mode 100644 index 00000000..c8557a52 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/slab/bauxite_cut_slab.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/slab/galena_cut_slab.png b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/slab/galena_cut_slab.png new file mode 100644 index 00000000..391f5196 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/slab/galena_cut_slab.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/small_brick/galena_cut_small_brick.png b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/small_brick/galena_cut_small_brick.png new file mode 100644 index 00000000..baec2c50 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/palettes/stone_types/small_brick/galena_cut_small_brick.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/pink_concrete.png b/build/resources/main/assets/tfmg/textures/block/pink_concrete.png new file mode 100644 index 00000000..17509d27 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/pink_concrete.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/plastic_encased_pipe.png b/build/resources/main/assets/tfmg/textures/block/plastic_encased_pipe.png new file mode 100644 index 00000000..a7919dbc Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/plastic_encased_pipe.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/plastic_fluid_valve.png b/build/resources/main/assets/tfmg/textures/block/plastic_fluid_valve.png new file mode 100644 index 00000000..4b5b2d05 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/plastic_fluid_valve.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/plastic_glass_fluid_pipe.png b/build/resources/main/assets/tfmg/textures/block/plastic_glass_fluid_pipe.png new file mode 100644 index 00000000..3c3e13da Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/plastic_glass_fluid_pipe.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/plastic_pipes.png b/build/resources/main/assets/tfmg/textures/block/plastic_pipes.png new file mode 100644 index 00000000..47c71e85 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/plastic_pipes.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/plastic_pump.png b/build/resources/main/assets/tfmg/textures/block/plastic_pump.png new file mode 100644 index 00000000..c152badc Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/plastic_pump.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/plastic_smart_pipe_1.png b/build/resources/main/assets/tfmg/textures/block/plastic_smart_pipe_1.png new file mode 100644 index 00000000..0519b06e Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/plastic_smart_pipe_1.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/plastic_valve_open.png b/build/resources/main/assets/tfmg/textures/block/plastic_valve_open.png new file mode 100644 index 00000000..a68c4006 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/plastic_valve_open.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/polarizer_back.png b/build/resources/main/assets/tfmg/textures/block/polarizer_back.png new file mode 100644 index 00000000..47f989e3 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/polarizer_back.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/pumpjack_crank.png b/build/resources/main/assets/tfmg/textures/block/pumpjack_crank.png new file mode 100644 index 00000000..9a4a5023 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/pumpjack_crank.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/raw_lead_block.png b/build/resources/main/assets/tfmg/textures/block/raw_lead_block.png new file mode 100644 index 00000000..6b97681c Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/raw_lead_block.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/rebar_concrete.png b/build/resources/main/assets/tfmg/textures/block/rebar_concrete.png new file mode 100644 index 00000000..23bb156b Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/rebar_concrete.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/rebar_pile_side.png b/build/resources/main/assets/tfmg/textures/block/rebar_pile_side.png new file mode 100644 index 00000000..46a6e2d4 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/rebar_pile_side.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/redstone_inlet.png b/build/resources/main/assets/tfmg/textures/block/redstone_inlet.png new file mode 100644 index 00000000..4fe2ce88 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/redstone_inlet.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/relay_inlet.png b/build/resources/main/assets/tfmg/textures/block/relay_inlet.png new file mode 100644 index 00000000..f402727b Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/relay_inlet.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/resistor2.png b/build/resources/main/assets/tfmg/textures/block/resistor2.png new file mode 100644 index 00000000..f2dc8e80 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/resistor2.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/rgb_light_bulb.png b/build/resources/main/assets/tfmg/textures/block/rgb_light_bulb.png new file mode 100644 index 00000000..460ab802 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/rgb_light_bulb.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/rusted_blast_furnace_reinforcement.png b/build/resources/main/assets/tfmg/textures/block/rusted_blast_furnace_reinforcement.png new file mode 100644 index 00000000..55a93ed9 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/rusted_blast_furnace_reinforcement.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/scaffold/aluminum_scaffold_connected.png b/build/resources/main/assets/tfmg/textures/block/scaffold/aluminum_scaffold_connected.png new file mode 100644 index 00000000..ea81f421 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/scaffold/aluminum_scaffold_connected.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/scaffold/aluminum_scaffold_inside.png b/build/resources/main/assets/tfmg/textures/block/scaffold/aluminum_scaffold_inside.png new file mode 100644 index 00000000..ae8b8c2d Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/scaffold/aluminum_scaffold_inside.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/scaffold/steel_scaffold_connected.png b/build/resources/main/assets/tfmg/textures/block/scaffold/steel_scaffold_connected.png new file mode 100644 index 00000000..18c28051 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/scaffold/steel_scaffold_connected.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/segmented_display_screen.png b/build/resources/main/assets/tfmg/textures/block/segmented_display_screen.png new file mode 100644 index 00000000..05d76054 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/segmented_display_screen.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/shaft.png b/build/resources/main/assets/tfmg/textures/block/shaft.png new file mode 100644 index 00000000..18df4804 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/shaft.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/simple_engine_linkage.png b/build/resources/main/assets/tfmg/textures/block/simple_engine_linkage.png new file mode 100644 index 00000000..adf1eab0 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/simple_engine_linkage.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/slag_block.png b/build/resources/main/assets/tfmg/textures/block/slag_block.png new file mode 100644 index 00000000..5bd15726 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/slag_block.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img.png b/build/resources/main/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img.png new file mode 100644 index 00000000..cd6704d6 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_3.png b/build/resources/main/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_3.png new file mode 100644 index 00000000..0d56a4c2 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_3.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/steel_casing_connected.png b/build/resources/main/assets/tfmg/textures/block/steel_casing_connected.png new file mode 100644 index 00000000..f65408e1 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/steel_casing_connected.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/steel_coghweel.png b/build/resources/main/assets/tfmg/textures/block/steel_coghweel.png new file mode 100644 index 00000000..dfae3ce6 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/steel_coghweel.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/steel_door_side.png b/build/resources/main/assets/tfmg/textures/block/steel_door_side.png new file mode 100644 index 00000000..df9d7762 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/steel_door_side.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/steel_door_top.png b/build/resources/main/assets/tfmg/textures/block/steel_door_top.png new file mode 100644 index 00000000..cc4ddc6a Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/steel_door_top.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/steel_fluid_tank.png b/build/resources/main/assets/tfmg/textures/block/steel_fluid_tank.png new file mode 100644 index 00000000..c026ab1d Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/steel_fluid_tank.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/steel_fluid_tank_inner.png b/build/resources/main/assets/tfmg/textures/block/steel_fluid_tank_inner.png new file mode 100644 index 00000000..03681585 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/steel_fluid_tank_inner.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/steel_flywheel.png b/build/resources/main/assets/tfmg/textures/block/steel_flywheel.png new file mode 100644 index 00000000..2f44faec Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/steel_flywheel.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/steel_smart_pipe_3.png b/build/resources/main/assets/tfmg/textures/block/steel_smart_pipe_3.png new file mode 100644 index 00000000..94fae740 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/steel_smart_pipe_3.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/steel_truss.png b/build/resources/main/assets/tfmg/textures/block/steel_truss.png new file mode 100644 index 00000000..c8cee7c0 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/steel_truss.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/steel_valve_open.png b/build/resources/main/assets/tfmg/textures/block/steel_valve_open.png new file mode 100644 index 00000000..28831bff Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/steel_valve_open.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/steel_vat_connected.png b/build/resources/main/assets/tfmg/textures/block/steel_vat_connected.png new file mode 100644 index 00000000..69c2e113 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/steel_vat_connected.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/steel_vat_top.png b/build/resources/main/assets/tfmg/textures/block/steel_vat_top.png new file mode 100644 index 00000000..c9f1b887 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/steel_vat_top.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/transformer.png b/build/resources/main/assets/tfmg/textures/block/transformer.png new file mode 100644 index 00000000..a8a5219b Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/transformer.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/voltage_cube.png b/build/resources/main/assets/tfmg/textures/block/voltage_cube.png new file mode 100644 index 00000000..09fb5dea Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/voltage_cube.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/voltage_observer.png b/build/resources/main/assets/tfmg/textures/block/voltage_observer.png new file mode 100644 index 00000000..cbfc65b6 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/voltage_observer.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/voltmeter.png b/build/resources/main/assets/tfmg/textures/block/voltmeter.png new file mode 100644 index 00000000..62747a9d Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/voltmeter.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/winding_machine.png b/build/resources/main/assets/tfmg/textures/block/winding_machine.png new file mode 100644 index 00000000..39e5d4d0 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/winding_machine.png differ diff --git a/build/resources/main/assets/tfmg/textures/block/zinc_frame.png b/build/resources/main/assets/tfmg/textures/block/zinc_frame.png new file mode 100644 index 00000000..9751f5d0 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/block/zinc_frame.png differ diff --git a/build/resources/main/assets/tfmg/textures/entity/blue_spark.png b/build/resources/main/assets/tfmg/textures/entity/blue_spark.png new file mode 100644 index 00000000..9c0d810f Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/entity/blue_spark.png differ diff --git a/build/resources/main/assets/tfmg/textures/entity/lithium_spark.png b/build/resources/main/assets/tfmg/textures/entity/lithium_spark.png new file mode 100644 index 00000000..4626d7fb Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/entity/lithium_spark.png differ diff --git a/build/resources/main/assets/tfmg/textures/fluid/air.png b/build/resources/main/assets/tfmg/textures/fluid/air.png new file mode 100644 index 00000000..5b902ed0 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/fluid/air.png differ diff --git a/build/resources/main/assets/tfmg/textures/fluid/butane.png.mcmeta b/build/resources/main/assets/tfmg/textures/fluid/butane.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/tfmg/textures/fluid/butane.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/tfmg/textures/fluid/cooling_fluid_flow.png b/build/resources/main/assets/tfmg/textures/fluid/cooling_fluid_flow.png new file mode 100644 index 00000000..04f3caf5 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/fluid/cooling_fluid_flow.png differ diff --git a/build/resources/main/assets/tfmg/textures/fluid/cooling_fluid_still.png.mcmeta b/build/resources/main/assets/tfmg/textures/fluid/cooling_fluid_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/tfmg/textures/fluid/cooling_fluid_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/tfmg/textures/fluid/creosote_flow.png.mcmeta b/build/resources/main/assets/tfmg/textures/fluid/creosote_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/tfmg/textures/fluid/creosote_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/tfmg/textures/fluid/crude_oil_flow.png b/build/resources/main/assets/tfmg/textures/fluid/crude_oil_flow.png new file mode 100644 index 00000000..3a46aad8 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/fluid/crude_oil_flow.png differ diff --git a/build/resources/main/assets/tfmg/textures/fluid/diesel_still.png b/build/resources/main/assets/tfmg/textures/fluid/diesel_still.png new file mode 100644 index 00000000..7cecdcb4 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/fluid/diesel_still.png differ diff --git a/build/resources/main/assets/tfmg/textures/fluid/fluid_texture_flow.png b/build/resources/main/assets/tfmg/textures/fluid/fluid_texture_flow.png new file mode 100644 index 00000000..c98a5fdd Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/fluid/fluid_texture_flow.png differ diff --git a/build/resources/main/assets/tfmg/textures/fluid/furnace_gas.png.mcmeta b/build/resources/main/assets/tfmg/textures/fluid/furnace_gas.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/tfmg/textures/fluid/furnace_gas.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/tfmg/textures/fluid/gas_texture.png.mcmeta b/build/resources/main/assets/tfmg/textures/fluid/gas_texture.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/tfmg/textures/fluid/gas_texture.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/tfmg/textures/fluid/gasoline_flow.png b/build/resources/main/assets/tfmg/textures/fluid/gasoline_flow.png new file mode 100644 index 00000000..80d6f140 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/fluid/gasoline_flow.png differ diff --git a/build/resources/main/assets/tfmg/textures/fluid/gasoline_flow.png.mcmeta b/build/resources/main/assets/tfmg/textures/fluid/gasoline_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/tfmg/textures/fluid/gasoline_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/tfmg/textures/fluid/heavy_oil_flow.png b/build/resources/main/assets/tfmg/textures/fluid/heavy_oil_flow.png new file mode 100644 index 00000000..c95940f4 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/fluid/heavy_oil_flow.png differ diff --git a/build/resources/main/assets/tfmg/textures/fluid/heavy_oil_flow.png.mcmeta b/build/resources/main/assets/tfmg/textures/fluid/heavy_oil_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/tfmg/textures/fluid/heavy_oil_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/tfmg/textures/fluid/heavy_oil_still.png b/build/resources/main/assets/tfmg/textures/fluid/heavy_oil_still.png new file mode 100644 index 00000000..3fc807d8 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/fluid/heavy_oil_still.png differ diff --git a/build/resources/main/assets/tfmg/textures/fluid/kerosene_flow.png.mcmeta b/build/resources/main/assets/tfmg/textures/fluid/kerosene_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/tfmg/textures/fluid/kerosene_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/tfmg/textures/fluid/liquid_asphalt_flow.png b/build/resources/main/assets/tfmg/textures/fluid/liquid_asphalt_flow.png new file mode 100644 index 00000000..dcfac096 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/fluid/liquid_asphalt_flow.png differ diff --git a/build/resources/main/assets/tfmg/textures/fluid/liquid_silicon_flow.png.mcmeta b/build/resources/main/assets/tfmg/textures/fluid/liquid_silicon_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/tfmg/textures/fluid/liquid_silicon_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/tfmg/textures/fluid/lubrication_oil_flow.png.mcmeta b/build/resources/main/assets/tfmg/textures/fluid/lubrication_oil_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/tfmg/textures/fluid/lubrication_oil_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/tfmg/textures/fluid/molten_plastic_still.png b/build/resources/main/assets/tfmg/textures/fluid/molten_plastic_still.png new file mode 100644 index 00000000..dfbe3141 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/fluid/molten_plastic_still.png differ diff --git a/build/resources/main/assets/tfmg/textures/fluid/molten_slag_flow.png b/build/resources/main/assets/tfmg/textures/fluid/molten_slag_flow.png new file mode 100644 index 00000000..249e6a13 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/fluid/molten_slag_flow.png differ diff --git a/build/resources/main/assets/tfmg/textures/fluid/napalm_flow.png b/build/resources/main/assets/tfmg/textures/fluid/napalm_flow.png new file mode 100644 index 00000000..d3630e41 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/fluid/napalm_flow.png differ diff --git a/build/resources/main/assets/tfmg/textures/fluid/napalm_still.png.mcmeta b/build/resources/main/assets/tfmg/textures/fluid/napalm_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/tfmg/textures/fluid/napalm_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/tfmg/textures/fluid/naphtha_flow.png.mcmeta b/build/resources/main/assets/tfmg/textures/fluid/naphtha_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/tfmg/textures/fluid/naphtha_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/tfmg/textures/fluid/naphtha_still.png.mcmeta b/build/resources/main/assets/tfmg/textures/fluid/naphtha_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/tfmg/textures/fluid/naphtha_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/tfmg/textures/fluid/pink_cooling_fluid_flow.png.mcmeta b/build/resources/main/assets/tfmg/textures/fluid/pink_cooling_fluid_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/tfmg/textures/fluid/pink_cooling_fluid_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/tfmg/textures/fluid/sulfuric_acid_flow.png b/build/resources/main/assets/tfmg/textures/fluid/sulfuric_acid_flow.png new file mode 100644 index 00000000..c5437033 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/fluid/sulfuric_acid_flow.png differ diff --git a/build/resources/main/assets/tfmg/textures/fluid/sulfuric_acid_flow.png.mcmeta b/build/resources/main/assets/tfmg/textures/fluid/sulfuric_acid_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/tfmg/textures/fluid/sulfuric_acid_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/tfmg/textures/fluid/sulfuric_acid_still.png.mcmeta b/build/resources/main/assets/tfmg/textures/fluid/sulfuric_acid_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/build/resources/main/assets/tfmg/textures/fluid/sulfuric_acid_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/build/resources/main/assets/tfmg/textures/gui/electricians_wrench.png b/build/resources/main/assets/tfmg/textures/gui/electricians_wrench.png new file mode 100644 index 00000000..076840cf Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/gui/electricians_wrench.png differ diff --git a/build/resources/main/assets/tfmg/textures/gui/engine_controller.png b/build/resources/main/assets/tfmg/textures/gui/engine_controller.png new file mode 100644 index 00000000..b2f1536d Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/gui/engine_controller.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/air_bucket.png b/build/resources/main/assets/tfmg/textures/item/air_bucket.png new file mode 100644 index 00000000..3259b5bc Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/air_bucket.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/aluminum_axe.png b/build/resources/main/assets/tfmg/textures/item/aluminum_axe.png new file mode 100644 index 00000000..3382d26a Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/aluminum_axe.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/aluminum_dust.png b/build/resources/main/assets/tfmg/textures/item/aluminum_dust.png new file mode 100644 index 00000000..321ff195 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/aluminum_dust.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/aluminum_sheet.png b/build/resources/main/assets/tfmg/textures/item/aluminum_sheet.png new file mode 100644 index 00000000..7af65e73 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/aluminum_sheet.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/bitumen.png b/build/resources/main/assets/tfmg/textures/item/bitumen.png new file mode 100644 index 00000000..3a8b3498 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/bitumen.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/bottle_of_battery_acid.png b/build/resources/main/assets/tfmg/textures/item/bottle_of_battery_acid.png new file mode 100644 index 00000000..a4bd435b Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/bottle_of_battery_acid.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/bottle_of_concrete.png b/build/resources/main/assets/tfmg/textures/item/bottle_of_concrete.png new file mode 100644 index 00000000..f4b860a3 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/bottle_of_concrete.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/butane_bucket.png b/build/resources/main/assets/tfmg/textures/item/butane_bucket.png new file mode 100644 index 00000000..d0756f32 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/butane_bucket.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/cinderblock.png b/build/resources/main/assets/tfmg/textures/item/cinderblock.png new file mode 100644 index 00000000..c460adfb Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/cinderblock.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/cinderflourblock.png b/build/resources/main/assets/tfmg/textures/item/cinderflourblock.png new file mode 100644 index 00000000..47de172e Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/cinderflourblock.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/constantan_nugget.png b/build/resources/main/assets/tfmg/textures/item/constantan_nugget.png new file mode 100644 index 00000000..675440f9 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/constantan_nugget.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/cooling_fluid_bucket.png b/build/resources/main/assets/tfmg/textures/item/cooling_fluid_bucket.png new file mode 100644 index 00000000..9a5d8069 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/cooling_fluid_bucket.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/crude_oil_bucket.png b/build/resources/main/assets/tfmg/textures/item/crude_oil_bucket.png new file mode 100644 index 00000000..1f8717de Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/crude_oil_bucket.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/cyan_multimeter.png b/build/resources/main/assets/tfmg/textures/item/cyan_multimeter.png new file mode 100644 index 00000000..9e4853cb Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/cyan_multimeter.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/diesel_bucket.png b/build/resources/main/assets/tfmg/textures/item/diesel_bucket.png new file mode 100644 index 00000000..28f8f323 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/diesel_bucket.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/duraluminium_ingot.png b/build/resources/main/assets/tfmg/textures/item/duraluminium_ingot.png new file mode 100644 index 00000000..69eede6c Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/duraluminium_ingot.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/empty_circuit_board.png b/build/resources/main/assets/tfmg/textures/item/empty_circuit_board.png new file mode 100644 index 00000000..b8a75bde Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/empty_circuit_board.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/empty_cooling_fluid_bottle.png b/build/resources/main/assets/tfmg/textures/item/empty_cooling_fluid_bottle.png new file mode 100644 index 00000000..84f552ff Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/empty_cooling_fluid_bottle.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/engine_cylinder.png b/build/resources/main/assets/tfmg/textures/item/engine_cylinder.png new file mode 100644 index 00000000..31f452ed Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/engine_cylinder.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/etched_circuit_board.png b/build/resources/main/assets/tfmg/textures/item/etched_circuit_board.png new file mode 100644 index 00000000..d8e10681 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/etched_circuit_board.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/fireproof_brick.png b/build/resources/main/assets/tfmg/textures/item/fireproof_brick.png new file mode 100644 index 00000000..cfcf0875 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/fireproof_brick.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/fossilstone_chunk.png b/build/resources/main/assets/tfmg/textures/item/fossilstone_chunk.png new file mode 100644 index 00000000..5d4e6aa1 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/fossilstone_chunk.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/gasoline_bucket.png b/build/resources/main/assets/tfmg/textures/item/gasoline_bucket.png new file mode 100644 index 00000000..6f52794a Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/gasoline_bucket.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/golden_turbo.png b/build/resources/main/assets/tfmg/textures/item/golden_turbo.png new file mode 100644 index 00000000..0cbbd4ce Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/golden_turbo.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/green_multimeter.png b/build/resources/main/assets/tfmg/textures/item/green_multimeter.png new file mode 100644 index 00000000..70784b74 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/green_multimeter.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/hot_air_bucket.png b/build/resources/main/assets/tfmg/textures/item/hot_air_bucket.png new file mode 100644 index 00000000..3259b5bc Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/hot_air_bucket.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/hydrogen_bucket.png b/build/resources/main/assets/tfmg/textures/item/hydrogen_bucket.png new file mode 100644 index 00000000..d166fb26 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/hydrogen_bucket.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/kerosene_bucket.png b/build/resources/main/assets/tfmg/textures/item/kerosene_bucket.png new file mode 100644 index 00000000..df5b5bd5 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/kerosene_bucket.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/lead_axe.png b/build/resources/main/assets/tfmg/textures/item/lead_axe.png new file mode 100644 index 00000000..14e8f80c Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/lead_axe.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/lead_hoe.png b/build/resources/main/assets/tfmg/textures/item/lead_hoe.png new file mode 100644 index 00000000..38b43a81 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/lead_hoe.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/lead_shovel.png b/build/resources/main/assets/tfmg/textures/item/lead_shovel.png new file mode 100644 index 00000000..d0ae8339 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/lead_shovel.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/light_blue_multimeter.png b/build/resources/main/assets/tfmg/textures/item/light_blue_multimeter.png new file mode 100644 index 00000000..c999fdf6 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/light_blue_multimeter.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/lime_multimeter.png b/build/resources/main/assets/tfmg/textures/item/lime_multimeter.png new file mode 100644 index 00000000..de8c7b44 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/lime_multimeter.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/liquid_concrete_bucket.png b/build/resources/main/assets/tfmg/textures/item/liquid_concrete_bucket.png new file mode 100644 index 00000000..fff7f0e2 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/liquid_concrete_bucket.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/liquid_rebar_concrete_bucket.png b/build/resources/main/assets/tfmg/textures/item/liquid_rebar_concrete_bucket.png new file mode 100644 index 00000000..a43010f6 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/liquid_rebar_concrete_bucket.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/lithium_blade_lit.png b/build/resources/main/assets/tfmg/textures/item/lithium_blade_lit.png new file mode 100644 index 00000000..6f9b9891 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/lithium_blade_lit.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/lithium_ingot.png b/build/resources/main/assets/tfmg/textures/item/lithium_ingot.png new file mode 100644 index 00000000..8f0ace08 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/lithium_ingot.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/lithium_nugget.png b/build/resources/main/assets/tfmg/textures/item/lithium_nugget.png new file mode 100644 index 00000000..2ef98842 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/lithium_nugget.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/magenta_multimeter.png b/build/resources/main/assets/tfmg/textures/item/magenta_multimeter.png new file mode 100644 index 00000000..df1470ac Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/magenta_multimeter.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/mixer_blade.png b/build/resources/main/assets/tfmg/textures/item/mixer_blade.png new file mode 100644 index 00000000..8b339540 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/mixer_blade.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/multimeter.png b/build/resources/main/assets/tfmg/textures/item/multimeter.png new file mode 100644 index 00000000..6da09a23 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/multimeter.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/n_semiconductor.png b/build/resources/main/assets/tfmg/textures/item/n_semiconductor.png new file mode 100644 index 00000000..63a0df6a Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/n_semiconductor.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/neon_bucket.png b/build/resources/main/assets/tfmg/textures/item/neon_bucket.png new file mode 100644 index 00000000..70156782 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/neon_bucket.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/oil_can.png b/build/resources/main/assets/tfmg/textures/item/oil_can.png new file mode 100644 index 00000000..054d66c5 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/oil_can.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/pink_multimeter.png b/build/resources/main/assets/tfmg/textures/item/pink_multimeter.png new file mode 100644 index 00000000..0413ec92 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/pink_multimeter.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/propylene_bucket.png b/build/resources/main/assets/tfmg/textures/item/propylene_bucket.png new file mode 100644 index 00000000..39a2429e Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/propylene_bucket.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/rebar.png b/build/resources/main/assets/tfmg/textures/item/rebar.png new file mode 100644 index 00000000..9d18b80a Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/rebar.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/red_multimeter.png b/build/resources/main/assets/tfmg/textures/item/red_multimeter.png new file mode 100644 index 00000000..0875755b Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/red_multimeter.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/sawdust.png b/build/resources/main/assets/tfmg/textures/item/sawdust.png new file mode 100644 index 00000000..f3b03d56 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/sawdust.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/spark_plug.png b/build/resources/main/assets/tfmg/textures/item/spark_plug.png new file mode 100644 index 00000000..d9ba84eb Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/spark_plug.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/steel_ingot.png b/build/resources/main/assets/tfmg/textures/item/steel_ingot.png new file mode 100644 index 00000000..30049f93 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/steel_ingot.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/steel_mechanism.png b/build/resources/main/assets/tfmg/textures/item/steel_mechanism.png new file mode 100644 index 00000000..9f8f39d8 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/steel_mechanism.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/sulfuric_acid_bucket.png b/build/resources/main/assets/tfmg/textures/item/sulfuric_acid_bucket.png new file mode 100644 index 00000000..40f80143 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/sulfuric_acid_bucket.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/synthetic_string.png b/build/resources/main/assets/tfmg/textures/item/synthetic_string.png new file mode 100644 index 00000000..f1c9690d Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/synthetic_string.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/thermite_grenade.png b/build/resources/main/assets/tfmg/textures/item/thermite_grenade.png new file mode 100644 index 00000000..4afc658b Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/thermite_grenade.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/transmission.png b/build/resources/main/assets/tfmg/textures/item/transmission.png new file mode 100644 index 00000000..3259b5bc Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/transmission.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/turbine_blade.png b/build/resources/main/assets/tfmg/textures/item/turbine_blade.png new file mode 100644 index 00000000..acb95cb0 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/turbine_blade.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/turbo.png b/build/resources/main/assets/tfmg/textures/item/turbo.png new file mode 100644 index 00000000..1b016478 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/turbo.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/water_insulation.png b/build/resources/main/assets/tfmg/textures/item/water_insulation.png new file mode 100644 index 00000000..b3dc05b9 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/water_insulation.png differ diff --git a/build/resources/main/assets/tfmg/textures/item/white_multimeter.png b/build/resources/main/assets/tfmg/textures/item/white_multimeter.png new file mode 100644 index 00000000..ca3e950d Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/item/white_multimeter.png differ diff --git a/build/resources/main/assets/tfmg/textures/mob_effect/hellfire.png b/build/resources/main/assets/tfmg/textures/mob_effect/hellfire.png new file mode 100644 index 00000000..26b0225a Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/mob_effect/hellfire.png differ diff --git a/build/resources/main/assets/tfmg/textures/models/armor/steel_layer_1.png b/build/resources/main/assets/tfmg/textures/models/armor/steel_layer_1.png new file mode 100644 index 00000000..dac2be06 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/models/armor/steel_layer_1.png differ diff --git a/build/resources/main/assets/tfmg/textures/particle/electric_spark.png b/build/resources/main/assets/tfmg/textures/particle/electric_spark.png new file mode 100644 index 00000000..29754507 Binary files /dev/null and b/build/resources/main/assets/tfmg/textures/particle/electric_spark.png differ diff --git a/build/resources/main/data/c/tags/block/ores.json b/build/resources/main/data/c/tags/block/ores.json new file mode 100644 index 00000000..20d648fe --- /dev/null +++ b/build/resources/main/data/c/tags/block/ores.json @@ -0,0 +1,10 @@ +{ + "values": [ + "tfmg:lead_ore", + "tfmg:deepslate_lead_ore", + "tfmg:nickel_ore", + "tfmg:deepslate_nickel_ore", + "tfmg:lithium_ore", + "tfmg:deepslate_lithium_ore" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/block/storage_blocks/lead.json b/build/resources/main/data/c/tags/block/storage_blocks/lead.json new file mode 100644 index 00000000..aac1dd9c --- /dev/null +++ b/build/resources/main/data/c/tags/block/storage_blocks/lead.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:lead_block" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/block/storage_blocks/nickel.json b/build/resources/main/data/c/tags/block/storage_blocks/nickel.json new file mode 100644 index 00000000..ec57e0a0 --- /dev/null +++ b/build/resources/main/data/c/tags/block/storage_blocks/nickel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:nickel_block" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/block/storage_blocks/raw_lead.json b/build/resources/main/data/c/tags/block/storage_blocks/raw_lead.json new file mode 100644 index 00000000..41c1cbc2 --- /dev/null +++ b/build/resources/main/data/c/tags/block/storage_blocks/raw_lead.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:raw_lead_block" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/block/storage_blocks/raw_nickel.json b/build/resources/main/data/c/tags/block/storage_blocks/raw_nickel.json new file mode 100644 index 00000000..4e01dbfe --- /dev/null +++ b/build/resources/main/data/c/tags/block/storage_blocks/raw_nickel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:raw_nickel_block" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/block/storage_blocks/steel.json b/build/resources/main/data/c/tags/block/storage_blocks/steel.json new file mode 100644 index 00000000..72a5c238 --- /dev/null +++ b/build/resources/main/data/c/tags/block/storage_blocks/steel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:steel_block" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/fluid/creosote.json b/build/resources/main/data/c/tags/fluid/creosote.json new file mode 100644 index 00000000..3fd3f79f --- /dev/null +++ b/build/resources/main/data/c/tags/fluid/creosote.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:flowing_creosote", + "tfmg:creosote" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/fluid/heavy_oil.json b/build/resources/main/data/c/tags/fluid/heavy_oil.json new file mode 100644 index 00000000..646fe1c7 --- /dev/null +++ b/build/resources/main/data/c/tags/fluid/heavy_oil.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:flowing_heavy_oil", + "tfmg:heavy_oil" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/item/buckets/air.json b/build/resources/main/data/c/tags/item/buckets/air.json new file mode 100644 index 00000000..0aa9532c --- /dev/null +++ b/build/resources/main/data/c/tags/item/buckets/air.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:air_bucket" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/item/buckets/cooling_fluid.json b/build/resources/main/data/c/tags/item/buckets/cooling_fluid.json new file mode 100644 index 00000000..7dc01b5c --- /dev/null +++ b/build/resources/main/data/c/tags/item/buckets/cooling_fluid.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:cooling_fluid_bucket" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/item/buckets/creosote.json b/build/resources/main/data/c/tags/item/buckets/creosote.json new file mode 100644 index 00000000..b2875f8a --- /dev/null +++ b/build/resources/main/data/c/tags/item/buckets/creosote.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:creosote_bucket" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/item/buckets/hydrogen.json b/build/resources/main/data/c/tags/item/buckets/hydrogen.json new file mode 100644 index 00000000..30ee14e2 --- /dev/null +++ b/build/resources/main/data/c/tags/item/buckets/hydrogen.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:hydrogen_bucket" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/item/buckets/liquid_silicon.json b/build/resources/main/data/c/tags/item/buckets/liquid_silicon.json new file mode 100644 index 00000000..ba6f2b50 --- /dev/null +++ b/build/resources/main/data/c/tags/item/buckets/liquid_silicon.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:liquid_silicon_bucket" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/item/buckets/lpg.json b/build/resources/main/data/c/tags/item/buckets/lpg.json new file mode 100644 index 00000000..4dc74a2c --- /dev/null +++ b/build/resources/main/data/c/tags/item/buckets/lpg.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:lpg_bucket" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/item/buckets/naphtha.json b/build/resources/main/data/c/tags/item/buckets/naphtha.json new file mode 100644 index 00000000..0e1377dd --- /dev/null +++ b/build/resources/main/data/c/tags/item/buckets/naphtha.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:naphtha_bucket" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/item/buckets/propylene.json b/build/resources/main/data/c/tags/item/buckets/propylene.json new file mode 100644 index 00000000..d0539bb5 --- /dev/null +++ b/build/resources/main/data/c/tags/item/buckets/propylene.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:propylene_bucket" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/item/ingots/cast_iron.json b/build/resources/main/data/c/tags/item/ingots/cast_iron.json new file mode 100644 index 00000000..92e52e31 --- /dev/null +++ b/build/resources/main/data/c/tags/item/ingots/cast_iron.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:cast_iron_ingot" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/item/ingots/constantan.json b/build/resources/main/data/c/tags/item/ingots/constantan.json new file mode 100644 index 00000000..00174cc1 --- /dev/null +++ b/build/resources/main/data/c/tags/item/ingots/constantan.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:constantan_ingot" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/item/ingots/plastic.json b/build/resources/main/data/c/tags/item/ingots/plastic.json new file mode 100644 index 00000000..a6a9089a --- /dev/null +++ b/build/resources/main/data/c/tags/item/ingots/plastic.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:plastic_sheet" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/item/ingots/steel.json b/build/resources/main/data/c/tags/item/ingots/steel.json new file mode 100644 index 00000000..be70e8ef --- /dev/null +++ b/build/resources/main/data/c/tags/item/ingots/steel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:steel_ingot" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/item/leathers.json b/build/resources/main/data/c/tags/item/leathers.json new file mode 100644 index 00000000..8325db53 --- /dev/null +++ b/build/resources/main/data/c/tags/item/leathers.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:synthetic_leather" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/item/nuggets/constantan.json b/build/resources/main/data/c/tags/item/nuggets/constantan.json new file mode 100644 index 00000000..9bc0860a --- /dev/null +++ b/build/resources/main/data/c/tags/item/nuggets/constantan.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:constantan_nugget" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/item/nuggets/steel.json b/build/resources/main/data/c/tags/item/nuggets/steel.json new file mode 100644 index 00000000..9d5ca9e6 --- /dev/null +++ b/build/resources/main/data/c/tags/item/nuggets/steel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:steel_nugget" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/item/ores.json b/build/resources/main/data/c/tags/item/ores.json new file mode 100644 index 00000000..20d648fe --- /dev/null +++ b/build/resources/main/data/c/tags/item/ores.json @@ -0,0 +1,10 @@ +{ + "values": [ + "tfmg:lead_ore", + "tfmg:deepslate_lead_ore", + "tfmg:nickel_ore", + "tfmg:deepslate_nickel_ore", + "tfmg:lithium_ore", + "tfmg:deepslate_lithium_ore" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/item/plates/cast_iron.json b/build/resources/main/data/c/tags/item/plates/cast_iron.json new file mode 100644 index 00000000..6aacf2fd --- /dev/null +++ b/build/resources/main/data/c/tags/item/plates/cast_iron.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:cast_iron_sheet" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/item/plates/steel.json b/build/resources/main/data/c/tags/item/plates/steel.json new file mode 100644 index 00000000..24cacec7 --- /dev/null +++ b/build/resources/main/data/c/tags/item/plates/steel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:heavy_plate" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/item/storage_blocks.json b/build/resources/main/data/c/tags/item/storage_blocks.json new file mode 100644 index 00000000..1499a549 --- /dev/null +++ b/build/resources/main/data/c/tags/item/storage_blocks.json @@ -0,0 +1,16 @@ +{ + "values": [ + "tfmg:raw_nickel_block", + "tfmg:raw_lead_block", + "tfmg:raw_lithium_block", + "tfmg:steel_block", + "tfmg:cast_iron_block", + "tfmg:aluminum_block", + "tfmg:plastic_block", + "tfmg:lead_block", + "tfmg:constantan_block", + "tfmg:nickel_block", + "tfmg:lithium_block", + "tfmg:coal_coke_block" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/item/storage_blocks/plastic.json b/build/resources/main/data/c/tags/item/storage_blocks/plastic.json new file mode 100644 index 00000000..108f3f95 --- /dev/null +++ b/build/resources/main/data/c/tags/item/storage_blocks/plastic.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:plastic_block" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/item/storage_blocks/raw_nickel.json b/build/resources/main/data/c/tags/item/storage_blocks/raw_nickel.json new file mode 100644 index 00000000..4e01dbfe --- /dev/null +++ b/build/resources/main/data/c/tags/item/storage_blocks/raw_nickel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:raw_nickel_block" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/c/tags/item/strings.json b/build/resources/main/data/c/tags/item/strings.json new file mode 100644 index 00000000..193758e6 --- /dev/null +++ b/build/resources/main/data/c/tags/item/strings.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:synthetic_string" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/create/recipe/crushing/galena.json b/build/resources/main/data/create/recipe/crushing/galena.json new file mode 100644 index 00000000..358f6ab4 --- /dev/null +++ b/build/resources/main/data/create/recipe/crushing/galena.json @@ -0,0 +1,19 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "tfmg:galena" + } + ], + "results": [ + { + "chance": 0.4, + "id": "create:crushed_raw_lead" + }, + { + "chance": 0.1, + "count": 2, + "id": "tfmg:lead_nugget" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/create/tags/block/non_movable.json b/build/resources/main/data/create/tags/block/non_movable.json new file mode 100644 index 00000000..b01ff787 --- /dev/null +++ b/build/resources/main/data/create/tags/block/non_movable.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:oil_deposit" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/create/tags/item/contraption_controlled.json b/build/resources/main/data/create/tags/item/contraption_controlled.json new file mode 100644 index 00000000..73c4858a --- /dev/null +++ b/build/resources/main/data/create/tags/item/contraption_controlled.json @@ -0,0 +1,8 @@ +{ + "values": [ + "tfmg:heavy_casing_door", + "tfmg:steel_door", + "tfmg:aluminum_door", + "tfmg:heavy_plated_door" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/create/tags/item/create_ingots.json b/build/resources/main/data/create/tags/item/create_ingots.json new file mode 100644 index 00000000..56c764e0 --- /dev/null +++ b/build/resources/main/data/create/tags/item/create_ingots.json @@ -0,0 +1,12 @@ +{ + "values": [ + "tfmg:steel_ingot", + "tfmg:cast_iron_ingot", + "tfmg:aluminum_ingot", + "tfmg:plastic_sheet", + "tfmg:lead_ingot", + "tfmg:nickel_ingot", + "tfmg:constantan_ingot", + "tfmg:lithium_ingot" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/minecraft/tags/block/azalea_root_replaceable.json b/build/resources/main/data/minecraft/tags/block/azalea_root_replaceable.json new file mode 100644 index 00000000..258d635d --- /dev/null +++ b/build/resources/main/data/minecraft/tags/block/azalea_root_replaceable.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:bauxite", + "tfmg:galena" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/minecraft/tags/block/doors.json b/build/resources/main/data/minecraft/tags/block/doors.json new file mode 100644 index 00000000..73c4858a --- /dev/null +++ b/build/resources/main/data/minecraft/tags/block/doors.json @@ -0,0 +1,8 @@ +{ + "values": [ + "tfmg:heavy_casing_door", + "tfmg:steel_door", + "tfmg:aluminum_door", + "tfmg:heavy_plated_door" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/minecraft/tags/block/infiniburn_overworld.json b/build/resources/main/data/minecraft/tags/block/infiniburn_overworld.json new file mode 100644 index 00000000..b01ff787 --- /dev/null +++ b/build/resources/main/data/minecraft/tags/block/infiniburn_overworld.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:oil_deposit" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/minecraft/tags/block/mineable/shovel.json b/build/resources/main/data/minecraft/tags/block/mineable/shovel.json new file mode 100644 index 00000000..61259ee5 --- /dev/null +++ b/build/resources/main/data/minecraft/tags/block/mineable/shovel.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:fireclay", + "tfmg:cement" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/minecraft/tags/block/needs_iron_tool.json b/build/resources/main/data/minecraft/tags/block/needs_iron_tool.json new file mode 100644 index 00000000..8dd016f0 --- /dev/null +++ b/build/resources/main/data/minecraft/tags/block/needs_iron_tool.json @@ -0,0 +1,14 @@ +{ + "values": [ + "tfmg:raw_nickel_block", + "tfmg:raw_lead_block", + "tfmg:raw_lithium_block", + "tfmg:steel_block", + "tfmg:cast_iron_block", + "tfmg:aluminum_block", + "tfmg:lead_block", + "tfmg:constantan_block", + "tfmg:nickel_block", + "tfmg:lithium_block" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/minecraft/tags/block/slabs.json b/build/resources/main/data/minecraft/tags/block/slabs.json new file mode 100644 index 00000000..2c9aded5 --- /dev/null +++ b/build/resources/main/data/minecraft/tags/block/slabs.json @@ -0,0 +1,47 @@ +{ + "values": [ + "tfmg:concrete_slab", + "tfmg:rebar_concrete_slab", + "tfmg:white_concrete_slab", + "tfmg:blue_concrete_slab", + "tfmg:light_blue_concrete_slab", + "tfmg:red_concrete_slab", + "tfmg:green_concrete_slab", + "tfmg:lime_concrete_slab", + "tfmg:pink_concrete_slab", + "tfmg:magenta_concrete_slab", + "tfmg:yellow_concrete_slab", + "tfmg:gray_concrete_slab", + "tfmg:light_gray_concrete_slab", + "tfmg:brown_concrete_slab", + "tfmg:cyan_concrete_slab", + "tfmg:purple_concrete_slab", + "tfmg:orange_concrete_slab", + "tfmg:black_concrete_slab", + "tfmg:white_rebar_concrete_slab", + "tfmg:blue_rebar_concrete_slab", + "tfmg:light_blue_rebar_concrete_slab", + "tfmg:red_rebar_concrete_slab", + "tfmg:green_rebar_concrete_slab", + "tfmg:lime_rebar_concrete_slab", + "tfmg:pink_rebar_concrete_slab", + "tfmg:magenta_rebar_concrete_slab", + "tfmg:yellow_rebar_concrete_slab", + "tfmg:gray_rebar_concrete_slab", + "tfmg:light_gray_rebar_concrete_slab", + "tfmg:brown_rebar_concrete_slab", + "tfmg:cyan_rebar_concrete_slab", + "tfmg:purple_rebar_concrete_slab", + "tfmg:orange_rebar_concrete_slab", + "tfmg:black_rebar_concrete_slab", + "tfmg:asphalt_slab", + "tfmg:cut_bauxite_slab", + "tfmg:polished_cut_bauxite_slab", + "tfmg:cut_bauxite_brick_slab", + "tfmg:small_bauxite_brick_slab", + "tfmg:cut_galena_slab", + "tfmg:polished_cut_galena_slab", + "tfmg:cut_galena_brick_slab", + "tfmg:small_galena_brick_slab" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/black_rebar_concrete_slab_from_black_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/black_rebar_concrete_slab_from_black_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..5c8f1172 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/black_rebar_concrete_slab_from_black_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_black_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:black_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:black_rebar_concrete_slab_from_black_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_black_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:black_rebar_concrete_slab_from_black_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/black_rebar_concrete_stairs_from_black_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/black_rebar_concrete_stairs_from_black_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..c91b9f5d --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/black_rebar_concrete_stairs_from_black_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_black_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:black_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:black_rebar_concrete_stairs_from_black_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_black_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:black_rebar_concrete_stairs_from_black_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/blue_caution_block_from_ingots_aluminum_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/blue_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..67b0093e --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/blue_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:blue_caution_block_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:blue_caution_block_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/blue_concrete_stairs_from_blue_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/blue_concrete_stairs_from_blue_concrete_stonecutting.json new file mode 100644 index 00000000..7546adc3 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/blue_concrete_stairs_from_blue_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_blue_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:blue_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:blue_concrete_stairs_from_blue_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_blue_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:blue_concrete_stairs_from_blue_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/blue_rebar_concrete_wall_from_blue_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/blue_rebar_concrete_wall_from_blue_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..6c3d5d34 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/blue_rebar_concrete_wall_from_blue_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_blue_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:blue_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:blue_rebar_concrete_wall_from_blue_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_blue_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:blue_rebar_concrete_wall_from_blue_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/brown_caution_block_from_ingots_aluminum_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/brown_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..2187076c --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/brown_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:brown_caution_block_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:brown_caution_block_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/brown_rebar_concrete_stairs_from_brown_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/brown_rebar_concrete_stairs_from_brown_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..d2504402 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/brown_rebar_concrete_stairs_from_brown_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_brown_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:brown_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:brown_rebar_concrete_stairs_from_brown_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_brown_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:brown_rebar_concrete_stairs_from_brown_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cinderblock_from_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cinderblock_from_concrete_stonecutting.json new file mode 100644 index 00000000..ac043fbc --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cinderblock_from_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cinderblock_from_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cinderblock_from_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/concrete_slab_from_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/concrete_slab_from_concrete_stonecutting.json new file mode 100644 index 00000000..684c216e --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/concrete_slab_from_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:concrete_slab_from_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:concrete_slab_from_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/copper_wire_from_ingots_copper_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/copper_wire_from_ingots_copper_stonecutting.json new file mode 100644 index 00000000..9f866192 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/copper_wire_from_ingots_copper_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_copper": { + "conditions": { + "items": [ + { + "items": "#c:ingots/copper" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:copper_wire_from_ingots_copper_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_copper" + ] + ], + "rewards": { + "recipes": [ + "tfmg:copper_wire_from_ingots_copper_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..38827ca7 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_bauxite_brick_slab_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_bauxite_brick_slab_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..20eff9a3 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_from_stone_types_bauxite_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..af9d85e3 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_bauxite_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_bauxite_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_slab.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_slab.json new file mode 100644 index 00000000..285234bc --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_bauxite": { + "conditions": { + "items": [ + { + "items": "tfmg:cut_bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_bauxite_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cut_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_bauxite_slab" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..93795c3a --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_bauxite_stairs_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_bauxite_stairs_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_wall_from_stone_types_bauxite_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_wall_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..f54d030e --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_wall_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_bauxite_wall_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_bauxite_wall_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_slab_recycling.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_slab_recycling.json new file mode 100644 index 00000000..c333bf89 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_slab_recycling.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_galena_brick_slab": { + "conditions": { + "items": [ + { + "items": "tfmg:cut_galena_brick_slab" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_galena_brick_slab_recycling" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cut_galena_brick_slab" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_galena_brick_slab_recycling" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_wall_from_stone_types_galena_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_wall_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..47eef391 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_wall_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_galena_brick_wall_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_galena_brick_wall_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_galena_slab.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_galena_slab.json new file mode 100644 index 00000000..d020cbf7 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_galena_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_galena": { + "conditions": { + "items": [ + { + "items": "tfmg:cut_galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_galena_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cut_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_galena_slab" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_galena_stairs_from_stone_types_galena_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_galena_stairs_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..9450a30d --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_galena_stairs_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_galena_stairs_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_galena_stairs_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_galena_wall.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_galena_wall.json new file mode 100644 index 00000000..894ea2bb --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cut_galena_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_galena": { + "conditions": { + "items": [ + { + "items": "tfmg:cut_galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_galena_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cut_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_galena_wall" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cyan_caution_block_from_ingots_aluminum_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cyan_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..fa89b1b8 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cyan_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cyan_caution_block_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cyan_caution_block_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cyan_concrete_slab_from_cyan_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cyan_concrete_slab_from_cyan_concrete_stonecutting.json new file mode 100644 index 00000000..f23fa35a --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/cyan_concrete_slab_from_cyan_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cyan_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:cyan_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cyan_concrete_slab_from_cyan_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cyan_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cyan_concrete_slab_from_cyan_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/empty_spool_from_hardened_planks_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/empty_spool_from_hardened_planks_stonecutting.json new file mode 100644 index 00000000..27141e3f --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/empty_spool_from_hardened_planks_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_hardened_planks": { + "conditions": { + "items": [ + { + "items": "tfmg:hardened_planks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:empty_spool_from_hardened_planks_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_hardened_planks" + ] + ], + "rewards": { + "recipes": [ + "tfmg:empty_spool_from_hardened_planks_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/factory_floor_from_ingots_aluminum_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/factory_floor_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..dcedc0fe --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/factory_floor_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:factory_floor_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:factory_floor_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/gray_caution_block_from_ingots_aluminum_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/gray_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..51eedb7b --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/gray_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:gray_caution_block_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:gray_caution_block_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/gray_concrete_wall_from_gray_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/gray_concrete_wall_from_gray_concrete_stonecutting.json new file mode 100644 index 00000000..514a2054 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/gray_concrete_wall_from_gray_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_gray_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:gray_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:gray_concrete_wall_from_gray_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_gray_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:gray_concrete_wall_from_gray_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/green_caution_block_from_ingots_aluminum_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/green_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..5f2b8415 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/green_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:green_caution_block_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:green_caution_block_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/green_concrete_wall_from_green_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/green_concrete_wall_from_green_concrete_stonecutting.json new file mode 100644 index 00000000..b0f3794d --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/green_concrete_wall_from_green_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_green_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:green_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:green_concrete_wall_from_green_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_green_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:green_concrete_wall_from_green_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/green_rebar_concrete_stairs_from_green_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/green_rebar_concrete_stairs_from_green_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..b5351bc0 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/green_rebar_concrete_stairs_from_green_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_green_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:green_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:green_rebar_concrete_stairs_from_green_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_green_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:green_rebar_concrete_stairs_from_green_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/green_rebar_concrete_wall_from_green_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/green_rebar_concrete_wall_from_green_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..0b045dac --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/green_rebar_concrete_wall_from_green_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_green_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:green_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:green_rebar_concrete_wall_from_green_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_green_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:green_rebar_concrete_wall_from_green_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/light_gray_caution_block_from_ingots_aluminum_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/light_gray_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..a8e4e635 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/light_gray_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:light_gray_caution_block_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:light_gray_caution_block_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json new file mode 100644 index 00000000..b848fb99 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_light_gray_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:light_gray_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:light_gray_concrete_stairs_from_light_gray_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_light_gray_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:light_gray_concrete_stairs_from_light_gray_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/light_gray_rebar_concrete_wall_from_light_gray_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/light_gray_rebar_concrete_wall_from_light_gray_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..5d087225 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/light_gray_rebar_concrete_wall_from_light_gray_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_light_gray_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:light_gray_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:light_gray_rebar_concrete_wall_from_light_gray_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_light_gray_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:light_gray_rebar_concrete_wall_from_light_gray_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/lime_concrete_slab_from_lime_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/lime_concrete_slab_from_lime_concrete_stonecutting.json new file mode 100644 index 00000000..a0edfdbe --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/lime_concrete_slab_from_lime_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lime_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:lime_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:lime_concrete_slab_from_lime_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lime_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:lime_concrete_slab_from_lime_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/lime_rebar_concrete_stairs_from_lime_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/lime_rebar_concrete_stairs_from_lime_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..bcab9403 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/lime_rebar_concrete_stairs_from_lime_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lime_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:lime_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:lime_rebar_concrete_stairs_from_lime_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lime_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:lime_rebar_concrete_stairs_from_lime_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/magenta_concrete_slab_from_magenta_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/magenta_concrete_slab_from_magenta_concrete_stonecutting.json new file mode 100644 index 00000000..91827dce --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/magenta_concrete_slab_from_magenta_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_magenta_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:magenta_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:magenta_concrete_slab_from_magenta_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_magenta_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:magenta_concrete_slab_from_magenta_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/orange_concrete_slab_from_orange_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/orange_concrete_slab_from_orange_concrete_stonecutting.json new file mode 100644 index 00000000..69b60530 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/orange_concrete_slab_from_orange_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_orange_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:orange_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:orange_concrete_slab_from_orange_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_orange_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:orange_concrete_slab_from_orange_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/pink_concrete_wall_from_pink_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/pink_concrete_wall_from_pink_concrete_stonecutting.json new file mode 100644 index 00000000..1cae885e --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/pink_concrete_wall_from_pink_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_pink_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:pink_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:pink_concrete_wall_from_pink_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_pink_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:pink_concrete_wall_from_pink_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/pink_rebar_concrete_slab_from_pink_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/pink_rebar_concrete_slab_from_pink_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..10369866 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/pink_rebar_concrete_slab_from_pink_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_pink_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:pink_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:pink_rebar_concrete_slab_from_pink_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_pink_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:pink_rebar_concrete_slab_from_pink_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/pink_rebar_concrete_stairs_from_pink_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/pink_rebar_concrete_stairs_from_pink_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..0d2e4b1e --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/pink_rebar_concrete_stairs_from_pink_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_pink_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:pink_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:pink_rebar_concrete_stairs_from_pink_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_pink_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:pink_rebar_concrete_stairs_from_pink_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/pink_rebar_concrete_wall_from_pink_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/pink_rebar_concrete_wall_from_pink_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..8746ef97 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/pink_rebar_concrete_wall_from_pink_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_pink_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:pink_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:pink_rebar_concrete_wall_from_pink_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_pink_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:pink_rebar_concrete_wall_from_pink_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_stairs.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_stairs.json new file mode 100644 index 00000000..828ebdb9 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_polished_cut_bauxite": { + "conditions": { + "items": [ + { + "items": "tfmg:polished_cut_bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:polished_cut_bauxite_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_polished_cut_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:polished_cut_bauxite_stairs" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_wall.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_wall.json new file mode 100644 index 00000000..b51fdbec --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_polished_cut_bauxite": { + "conditions": { + "items": [ + { + "items": "tfmg:polished_cut_bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:polished_cut_bauxite_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_polished_cut_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:polished_cut_bauxite_wall" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/purple_concrete_slab_from_purple_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/purple_concrete_slab_from_purple_concrete_stonecutting.json new file mode 100644 index 00000000..0274089c --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/purple_concrete_slab_from_purple_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_purple_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:purple_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:purple_concrete_slab_from_purple_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_purple_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:purple_concrete_slab_from_purple_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/purple_rebar_concrete_wall_from_purple_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/purple_rebar_concrete_wall_from_purple_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..f8e478c1 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/purple_rebar_concrete_wall_from_purple_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_purple_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:purple_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:purple_rebar_concrete_wall_from_purple_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_purple_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:purple_rebar_concrete_wall_from_purple_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/rebar_concrete_wall_from_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/rebar_concrete_wall_from_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..53b7c2c1 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/rebar_concrete_wall_from_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:rebar_concrete_wall_from_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:rebar_concrete_wall_from_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..7f4d0837 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:small_bauxite_brick_slab_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:small_bauxite_brick_slab_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_wall_from_stone_types_bauxite_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_wall_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..c4ffa067 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_wall_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:small_bauxite_brick_wall_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:small_bauxite_brick_wall_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_stairs_from_stone_types_galena_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_stairs_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..4d72bea7 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_stairs_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:small_galena_brick_stairs_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:small_galena_brick_stairs_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_wall_from_stone_types_galena_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_wall_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..7f3cb82f --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_wall_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:small_galena_brick_wall_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:small_galena_brick_wall_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/unfired_insulator_from_clay_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/unfired_insulator_from_clay_stonecutting.json new file mode 100644 index 00000000..698eeb0a --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/unfired_insulator_from_clay_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_clay": { + "conditions": { + "items": [ + { + "items": "minecraft:clay" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:unfired_insulator_from_clay_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_clay" + ] + ], + "rewards": { + "recipes": [ + "tfmg:unfired_insulator_from_clay_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/white_concrete_slab_from_white_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/white_concrete_slab_from_white_concrete_stonecutting.json new file mode 100644 index 00000000..deefe0aa --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/white_concrete_slab_from_white_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:white_concrete_slab_from_white_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_white_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:white_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_white_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:white_concrete_slab_from_white_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/white_concrete_wall_from_white_concrete_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/white_concrete_wall_from_white_concrete_stonecutting.json new file mode 100644 index 00000000..891459c9 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/white_concrete_wall_from_white_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:white_concrete_wall_from_white_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_white_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:white_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_white_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:white_concrete_wall_from_white_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/yellow_caution_block_from_ingots_aluminum_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/yellow_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..a0db501f --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/yellow_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:yellow_caution_block_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:yellow_caution_block_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/building_blocks/zinc_electrode_from_storage_blocks_zinc_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/zinc_electrode_from_storage_blocks_zinc_stonecutting.json new file mode 100644 index 00000000..c1c88642 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/building_blocks/zinc_electrode_from_storage_blocks_zinc_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_storage_blocks_zinc": { + "conditions": { + "items": [ + { + "items": "#c:storage_blocks/zinc" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:zinc_electrode_from_storage_blocks_zinc_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_storage_blocks_zinc" + ] + ], + "rewards": { + "recipes": [ + "tfmg:zinc_electrode_from_storage_blocks_zinc_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/decorations/nickel_bars_from_ingots_nickel_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/decorations/nickel_bars_from_ingots_nickel_stonecutting.json new file mode 100644 index 00000000..d237f98c --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/decorations/nickel_bars_from_ingots_nickel_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_nickel": { + "conditions": { + "items": [ + { + "items": "#c:ingots/nickel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:nickel_bars_from_ingots_nickel_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_nickel" + ] + ], + "rewards": { + "recipes": [ + "tfmg:nickel_bars_from_ingots_nickel_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/blasting/lithium_ingot_blasting.json b/build/resources/main/data/tfmg/advancement/recipes/misc/blasting/lithium_ingot_blasting.json new file mode 100644 index 00000000..39921b17 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/blasting/lithium_ingot_blasting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:raw_lithium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:blasting/lithium_ingot_blasting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:blasting/lithium_ingot_blasting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/accumulator.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/accumulator.json new file mode 100644 index 00000000..d8aa38fa --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/accumulator.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:sulfuric_acid_bucket" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/accumulator" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/accumulator" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/air_intake.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/air_intake.json new file mode 100644 index 00000000..e308d5e7 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/air_intake.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "create:propeller" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/air_intake" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/air_intake" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_axe.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_axe.json new file mode 100644 index 00000000..a8a043c6 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_axe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_axe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_axe" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_cable_hub.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_cable_hub.json new file mode 100644 index 00000000..82081bd1 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_cable_hub.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:magnet" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_cable_hub" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_cable_hub" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_pickaxe.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_pickaxe.json new file mode 100644 index 00000000..c2996916 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_pickaxe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_pickaxe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_pickaxe" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_truss.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_truss.json new file mode 100644 index 00000000..4352c345 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_truss.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_truss" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_truss" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/black_concrete.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/black_concrete.json new file mode 100644 index 00000000..51f7408c --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/black_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/black_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/black_concrete" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/blue_rebar_concrete.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/blue_rebar_concrete.json new file mode 100644 index 00000000..a804d093 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/blue_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/blue_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/blue_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/brass_frame.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/brass_frame.json new file mode 100644 index 00000000..dd094e1d --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/brass_frame.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "create:brass_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/brass_frame" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/brass_frame" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/brown_rebar_concrete.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/brown_rebar_concrete.json new file mode 100644 index 00000000..eb333a00 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/brown_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/brown_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/brown_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/cable_connector.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/cable_connector.json new file mode 100644 index 00000000..04360905 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/cable_connector.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:copper_wire" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cable_connector" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cable_connector" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_ingot_from_compacting.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_ingot_from_compacting.json new file mode 100644 index 00000000..4dacac19 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_ingot_from_compacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:cast_iron_nugget" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cast_iron_ingot_from_compacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cast_iron_ingot_from_compacting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/centrifuge.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/centrifuge.json new file mode 100644 index 00000000..67ce5212 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/centrifuge.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/centrifuge" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/centrifuge" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/coke_oven.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/coke_oven.json new file mode 100644 index 00000000..34c9fdb4 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/coke_oven.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:cast_iron_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/coke_oven" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/coke_oven" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_block_from_compacting.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_block_from_compacting.json new file mode 100644 index 00000000..a74e58c1 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_block_from_compacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:constantan_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/constantan_block_from_compacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/constantan_block_from_compacting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_nugget_from_decompacting.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_nugget_from_decompacting.json new file mode 100644 index 00000000..562ed74c --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_nugget_from_decompacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:constantan_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/constantan_nugget_from_decompacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/constantan_nugget_from_decompacting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/cooling_fluid_bottle.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/cooling_fluid_bottle.json new file mode 100644 index 00000000..886dbb17 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/cooling_fluid_bottle.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:plastic_sheet" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cooling_fluid_bottle" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cooling_fluid_bottle" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/copper_frame.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/copper_frame.json new file mode 100644 index 00000000..172c83f8 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/copper_frame.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "minecraft:copper_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/copper_frame" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/copper_frame" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/copper_truss.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/copper_truss.json new file mode 100644 index 00000000..58d3b785 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/copper_truss.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "minecraft:copper_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/copper_truss" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/copper_truss" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/crankshaft.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/crankshaft.json new file mode 100644 index 00000000..c228d061 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/crankshaft.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/crankshaft" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/crankshaft" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/cyan_multimeter.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/cyan_multimeter.json new file mode 100644 index 00000000..2554ec07 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/cyan_multimeter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:multimeter" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cyan_multimeter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cyan_multimeter" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/electric_pump.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/electric_pump.json new file mode 100644 index 00000000..00dbcc69 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/electric_pump.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:circuit_board" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/electric_pump" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/electric_pump" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/electrical_switch.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/electrical_switch.json new file mode 100644 index 00000000..7291e3dd --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/electrical_switch.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:copper_wire" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/electrical_switch" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/electrical_switch" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/electricians_wrench.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/electricians_wrench.json new file mode 100644 index 00000000..b18d41d9 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/electricians_wrench.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/electricians_wrench" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/electricians_wrench" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/engine_gearbox.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/engine_gearbox.json new file mode 100644 index 00000000..e34de1c3 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/engine_gearbox.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_mechanism" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/engine_gearbox" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/engine_gearbox" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/firebox.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/firebox.json new file mode 100644 index 00000000..36cc01b4 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/firebox.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:industrial_pipe" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/firebox" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/firebox" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/fireproof_bricks.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/fireproof_bricks.json new file mode 100644 index 00000000..f8c94ea9 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/fireproof_bricks.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:fireclay_ball" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/fireproof_bricks" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/fireproof_bricks" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/gray_rebar_concrete.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/gray_rebar_concrete.json new file mode 100644 index 00000000..f536643e --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/gray_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/gray_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/gray_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/heavy_plated_door.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/heavy_plated_door.json new file mode 100644 index 00000000..6f968a68 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/heavy_plated_door.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/heavy_plated_door" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/heavy_plated_door" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/industrial_mixer.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/industrial_mixer.json new file mode 100644 index 00000000..21964e11 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/industrial_mixer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:heavy_machinery_casing" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/industrial_mixer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/industrial_mixer" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/large_pumpjack_hammer_connector.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/large_pumpjack_hammer_connector.json new file mode 100644 index 00000000..807daf31 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/large_pumpjack_hammer_connector.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/large_pumpjack_hammer_connector" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/large_pumpjack_hammer_connector" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/lead_axe.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/lead_axe.json new file mode 100644 index 00000000..f504e403 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/lead_axe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lead_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lead_axe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lead_axe" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/lead_hoe.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/lead_hoe.json new file mode 100644 index 00000000..616633ae --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/lead_hoe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lead_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lead_hoe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lead_hoe" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/lead_shovel.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/lead_shovel.json new file mode 100644 index 00000000..c0d4b618 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/lead_shovel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lead_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lead_shovel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lead_shovel" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/lead_truss.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/lead_truss.json new file mode 100644 index 00000000..454c52a3 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/lead_truss.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lead_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lead_truss" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lead_truss" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/light_blue_concrete.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/light_blue_concrete.json new file mode 100644 index 00000000..66825283 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/light_blue_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/light_blue_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/light_blue_concrete" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/light_bulb.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/light_bulb.json new file mode 100644 index 00000000..b5b2c322 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/light_bulb.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:constantan_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/light_bulb" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/light_bulb" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/magenta_rebar_concrete.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/magenta_rebar_concrete.json new file mode 100644 index 00000000..31b7cc0f --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/magenta_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/magenta_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/magenta_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/metal_smokestack.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/metal_smokestack.json new file mode 100644 index 00000000..896d3141 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/metal_smokestack.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:industrial_pipe" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/metal_smokestack" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/metal_smokestack" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/napalm_bomb.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/napalm_bomb.json new file mode 100644 index 00000000..241f3e7a --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/napalm_bomb.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:fireproof_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/napalm_bomb" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/napalm_bomb" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_ingot_from_compacting.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_ingot_from_compacting.json new file mode 100644 index 00000000..2ed12fa7 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_ingot_from_compacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:nickel_nugget" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/nickel_ingot_from_compacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/nickel_ingot_from_compacting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_ingot_from_decompacting.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_ingot_from_decompacting.json new file mode 100644 index 00000000..9dd58fe1 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_ingot_from_decompacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:nickel_block" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/nickel_ingot_from_decompacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/nickel_ingot_from_decompacting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_nugget_from_decompacting.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_nugget_from_decompacting.json new file mode 100644 index 00000000..048aa9a1 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_nugget_from_decompacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:nickel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/nickel_nugget_from_decompacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/nickel_nugget_from_decompacting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_truss.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_truss.json new file mode 100644 index 00000000..a2830236 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_truss.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:nickel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/nickel_truss" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/nickel_truss" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/oil_can.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/oil_can.json new file mode 100644 index 00000000..733a43c1 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/oil_can.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_nugget" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/oil_can" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/oil_can" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/oil_hammer.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/oil_hammer.json new file mode 100644 index 00000000..f7471a29 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/oil_hammer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/oil_hammer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/oil_hammer" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/orange_concrete.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/orange_concrete.json new file mode 100644 index 00000000..bfa33023 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/orange_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/orange_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/orange_concrete" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/pink_rebar_concrete.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/pink_rebar_concrete.json new file mode 100644 index 00000000..f68575ca --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/pink_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/pink_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/pink_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_sheet.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_sheet.json new file mode 100644 index 00000000..0dbae2a5 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_sheet.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:plastic_sheet" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/plastic_sheet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/plastic_sheet" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_crank.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_crank.json new file mode 100644 index 00000000..94c1088d --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_crank.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/pumpjack_crank" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/pumpjack_crank" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_hammer_head.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_hammer_head.json new file mode 100644 index 00000000..3fdb55c9 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_hammer_head.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/pumpjack_hammer_head" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/pumpjack_hammer_head" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/purple_concrete.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/purple_concrete.json new file mode 100644 index 00000000..2747d6c1 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/purple_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/purple_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/purple_concrete" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/raw_lead_block.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/raw_lead_block.json new file mode 100644 index 00000000..48f9b8dd --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/raw_lead_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:raw_lead" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/raw_lead_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/raw_lead_block" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/red_concrete.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/red_concrete.json new file mode 100644 index 00000000..9022f5f3 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/red_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/red_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/red_concrete" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/red_rebar_concrete.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/red_rebar_concrete.json new file mode 100644 index 00000000..0bfedd18 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/red_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/red_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/red_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/screwdriverfrom_brass.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/screwdriverfrom_brass.json new file mode 100644 index 00000000..8b4e4f1e --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/screwdriverfrom_brass.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "create:brass_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/screwdriverfrom_brass" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/screwdriverfrom_brass" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/steel_chemical_vat.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/steel_chemical_vat.json new file mode 100644 index 00000000..24532ae6 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/steel_chemical_vat.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_chemical_vat" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_chemical_vat" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/steel_frame.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/steel_frame.json new file mode 100644 index 00000000..df6ec41e --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/steel_frame.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_frame" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_frame" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/steel_gearbox.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/steel_gearbox.json new file mode 100644 index 00000000..9e8a083e --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/steel_gearbox.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_gearbox" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_gearbox" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/steel_pickaxe.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/steel_pickaxe.json new file mode 100644 index 00000000..a70002d1 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/steel_pickaxe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_pickaxe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_pickaxe" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/steel_shovel.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/steel_shovel.json new file mode 100644 index 00000000..197cdbe5 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/steel_shovel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_shovel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_shovel" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/steel_sword.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/steel_sword.json new file mode 100644 index 00000000..85b4c4e4 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/steel_sword.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_sword" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_sword" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/transmission.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/transmission.json new file mode 100644 index 00000000..7e23a36a --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/transmission.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:plastic_sheet" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/transmission" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/transmission" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/turbo.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/turbo.json new file mode 100644 index 00000000..abe1ade2 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/turbo.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/turbo" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/turbo" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/unfinished_electromagnetic_coil.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/unfinished_electromagnetic_coil.json new file mode 100644 index 00000000..b932c5f4 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/unfinished_electromagnetic_coil.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/unfinished_electromagnetic_coil" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/unfinished_electromagnetic_coil" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/unfinished_resistorfrom_slime.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/unfinished_resistorfrom_slime.json new file mode 100644 index 00000000..89731684 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/unfinished_resistorfrom_slime.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/unfinished_resistorfrom_slime" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/unfinished_resistorfrom_slime" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/voltage_observer.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/voltage_observer.json new file mode 100644 index 00000000..e6f077b2 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/voltage_observer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/voltage_observer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/voltage_observer" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/white_concrete.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/white_concrete.json new file mode 100644 index 00000000..7c59af23 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/white_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/white_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/white_concrete" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/yellow_concrete.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/yellow_concrete.json new file mode 100644 index 00000000..27cc4c5e --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/yellow_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/yellow_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/yellow_concrete" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/yellow_rebar_concrete.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/yellow_rebar_concrete.json new file mode 100644 index 00000000..58a154ba --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/yellow_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/yellow_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/yellow_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/zinc_truss.json b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/zinc_truss.json new file mode 100644 index 00000000..d1e7eca7 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/crafting/materials/zinc_truss.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "create:zinc_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/zinc_truss" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/zinc_truss" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/smelting/lead_ingot_blasting.json b/build/resources/main/data/tfmg/advancement/recipes/misc/smelting/lead_ingot_blasting.json new file mode 100644 index 00000000..b27b39e1 --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/smelting/lead_ingot_blasting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:raw_lead" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:smelting/lead_ingot_blasting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:smelting/lead_ingot_blasting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/smelting/unfinished_insulator.json b/build/resources/main/data/tfmg/advancement/recipes/misc/smelting/unfinished_insulator.json new file mode 100644 index 00000000..eabbc00b --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/smelting/unfinished_insulator.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:unfired_insulator" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:smelting/unfinished_insulator" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:smelting/unfinished_insulator" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/advancement/recipes/misc/synthetic_string_from_ingots_rubber_stonecutting.json b/build/resources/main/data/tfmg/advancement/recipes/misc/synthetic_string_from_ingots_rubber_stonecutting.json new file mode 100644 index 00000000..cd7553bb --- /dev/null +++ b/build/resources/main/data/tfmg/advancement/recipes/misc/synthetic_string_from_ingots_rubber_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_rubber": { + "conditions": { + "items": [ + { + "items": "#c:ingots/rubber" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:synthetic_string_from_ingots_rubber_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_rubber" + ] + ], + "rewards": { + "recipes": [ + "tfmg:synthetic_string_from_ingots_rubber_stonecutting" + ] + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/damage_type/blast_furnace.json b/build/resources/main/data/tfmg/damage_type/blast_furnace.json new file mode 100644 index 00000000..0da12a12 --- /dev/null +++ b/build/resources/main/data/tfmg/damage_type/blast_furnace.json @@ -0,0 +1,5 @@ +{ + "exhaustion": 0.0, + "message_id": "tfmg.blast_furnace", + "scaling": "when_caused_by_living_non_player" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/aluminum_fluid_tank.json b/build/resources/main/data/tfmg/loot_table/blocks/aluminum_fluid_tank.json new file mode 100644 index 00000000..790facc7 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/aluminum_fluid_tank.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_fluid_tank" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/aluminum_fluid_tank" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/aluminum_lamp.json b/build/resources/main/data/tfmg/loot_table/blocks/aluminum_lamp.json new file mode 100644 index 00000000..950652a3 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/aluminum_lamp.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_lamp" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/aluminum_lamp" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/aluminum_mechanical_pump.json b/build/resources/main/data/tfmg/loot_table/blocks/aluminum_mechanical_pump.json new file mode 100644 index 00000000..a740317e --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/aluminum_mechanical_pump.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_mechanical_pump" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/aluminum_mechanical_pump" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/aluminum_smart_fluid_pipe.json b/build/resources/main/data/tfmg/loot_table/blocks/aluminum_smart_fluid_pipe.json new file mode 100644 index 00000000..85eb93ae --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/aluminum_smart_fluid_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_smart_fluid_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/aluminum_smart_fluid_pipe" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/aluminum_truss.json b/build/resources/main/data/tfmg/loot_table/blocks/aluminum_truss.json new file mode 100644 index 00000000..f53fbfac --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/aluminum_truss.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_truss" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/aluminum_truss" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/asphalt_stairs.json b/build/resources/main/data/tfmg/loot_table/blocks/asphalt_stairs.json new file mode 100644 index 00000000..f4e518b7 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/asphalt_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:asphalt_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/asphalt_stairs" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/black_concrete.json b/build/resources/main/data/tfmg/loot_table/blocks/black_concrete.json new file mode 100644 index 00000000..b734652c --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/black_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:black_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/black_concrete" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/black_concrete_wall.json b/build/resources/main/data/tfmg/loot_table/blocks/black_concrete_wall.json new file mode 100644 index 00000000..86267dc6 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/black_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:black_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/black_concrete_wall" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/blast_furnace_hatch.json b/build/resources/main/data/tfmg/loot_table/blocks/blast_furnace_hatch.json new file mode 100644 index 00000000..5f03a6c2 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/blast_furnace_hatch.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:blast_furnace_hatch" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/blast_furnace_hatch" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/blast_furnace_output.json b/build/resources/main/data/tfmg/loot_table/blocks/blast_furnace_output.json new file mode 100644 index 00000000..4004b64b --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/blast_furnace_output.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:blast_furnace_output" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/blast_furnace_output" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/blast_furnace_reinforcement_wall.json b/build/resources/main/data/tfmg/loot_table/blocks/blast_furnace_reinforcement_wall.json new file mode 100644 index 00000000..0ccb97c8 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/blast_furnace_reinforcement_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:blast_furnace_reinforcement" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/blast_furnace_reinforcement_wall" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/blue_rebar_concrete_stairs.json b/build/resources/main/data/tfmg/loot_table/blocks/blue_rebar_concrete_stairs.json new file mode 100644 index 00000000..53a080b6 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/blue_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:blue_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/blue_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/brass_truss.json b/build/resources/main/data/tfmg/loot_table/blocks/brass_truss.json new file mode 100644 index 00000000..f7a58d29 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/brass_truss.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brass_truss" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/brass_truss" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/brown_concrete.json b/build/resources/main/data/tfmg/loot_table/blocks/brown_concrete.json new file mode 100644 index 00000000..87fc23a1 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/brown_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brown_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/brown_concrete" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/brown_rebar_concrete_stairs.json b/build/resources/main/data/tfmg/loot_table/blocks/brown_rebar_concrete_stairs.json new file mode 100644 index 00000000..57bfbb21 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/brown_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brown_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/brown_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/cast_iron_bars.json b/build/resources/main/data/tfmg/loot_table/blocks/cast_iron_bars.json new file mode 100644 index 00000000..f2a8459f --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/cast_iron_bars.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_bars" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cast_iron_bars" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/cast_iron_block.json b/build/resources/main/data/tfmg/loot_table/blocks/cast_iron_block.json new file mode 100644 index 00000000..22c8946c --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/cast_iron_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cast_iron_block" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/cast_iron_chemical_vat.json b/build/resources/main/data/tfmg/loot_table/blocks/cast_iron_chemical_vat.json new file mode 100644 index 00000000..e930dd8d --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/cast_iron_chemical_vat.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_chemical_vat" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cast_iron_chemical_vat" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/cast_iron_flywheel.json b/build/resources/main/data/tfmg/loot_table/blocks/cast_iron_flywheel.json new file mode 100644 index 00000000..ba043bd5 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/cast_iron_flywheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_flywheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cast_iron_flywheel" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/cast_iron_frame.json b/build/resources/main/data/tfmg/loot_table/blocks/cast_iron_frame.json new file mode 100644 index 00000000..5b707206 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/cast_iron_frame.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_frame" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cast_iron_frame" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/cast_iron_ladder.json b/build/resources/main/data/tfmg/loot_table/blocks/cast_iron_ladder.json new file mode 100644 index 00000000..2011140f --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/cast_iron_ladder.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_ladder" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cast_iron_ladder" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/casting_basin.json b/build/resources/main/data/tfmg/loot_table/blocks/casting_basin.json new file mode 100644 index 00000000..a94510f1 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/casting_basin.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:casting_basin" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/casting_basin" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/cement.json b/build/resources/main/data/tfmg/loot_table/blocks/cement.json new file mode 100644 index 00000000..2665a046 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/cement.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cement" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cement" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/circular_light.json b/build/resources/main/data/tfmg/loot_table/blocks/circular_light.json new file mode 100644 index 00000000..346d0cc8 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/circular_light.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:circular_light" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/circular_light" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/coke_oven.json b/build/resources/main/data/tfmg/loot_table/blocks/coke_oven.json new file mode 100644 index 00000000..87a95817 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/coke_oven.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:coke_oven" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/coke_oven" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/concrete_smokestack.json b/build/resources/main/data/tfmg/loot_table/blocks/concrete_smokestack.json new file mode 100644 index 00000000..93cd6ef4 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/concrete_smokestack.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:concrete_smokestack" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/concrete_smokestack" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/concrete_wall.json b/build/resources/main/data/tfmg/loot_table/blocks/concrete_wall.json new file mode 100644 index 00000000..0f9671cc --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/concrete_wall" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/copper_encased_cast_iron_pipe.json b/build/resources/main/data/tfmg/loot_table/blocks/copper_encased_cast_iron_pipe.json new file mode 100644 index 00000000..00f432ad --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/copper_encased_cast_iron_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/copper_encased_cast_iron_pipe" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/copper_encased_plastic_pipe.json b/build/resources/main/data/tfmg/loot_table/blocks/copper_encased_plastic_pipe.json new file mode 100644 index 00000000..a37de870 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/copper_encased_plastic_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:plastic_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/copper_encased_plastic_pipe" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/copper_truss.json b/build/resources/main/data/tfmg/loot_table/blocks/copper_truss.json new file mode 100644 index 00000000..f598085e --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/copper_truss.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:copper_truss" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/copper_truss" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/copycat_cable_base.json b/build/resources/main/data/tfmg/loot_table/blocks/copycat_cable_base.json new file mode 100644 index 00000000..c4592e6a --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/copycat_cable_base.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:air" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/copycat_cable_base" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/creative_generator.json b/build/resources/main/data/tfmg/loot_table/blocks/creative_generator.json new file mode 100644 index 00000000..d6679790 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/creative_generator.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:creative_generator" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/creative_generator" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/cut_bauxite.json b/build/resources/main/data/tfmg/loot_table/blocks/cut_bauxite.json new file mode 100644 index 00000000..12e2aeb7 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/cut_bauxite.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cut_bauxite" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cut_bauxite" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/cut_bauxite_brick_wall.json b/build/resources/main/data/tfmg/loot_table/blocks/cut_bauxite_brick_wall.json new file mode 100644 index 00000000..22457d7c --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/cut_bauxite_brick_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cut_bauxite_brick_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cut_bauxite_brick_wall" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/cut_bauxite_wall.json b/build/resources/main/data/tfmg/loot_table/blocks/cut_bauxite_wall.json new file mode 100644 index 00000000..5dc916c0 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/cut_bauxite_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cut_bauxite_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cut_bauxite_wall" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/cut_galena.json b/build/resources/main/data/tfmg/loot_table/blocks/cut_galena.json new file mode 100644 index 00000000..b753e353 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/cut_galena.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cut_galena" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cut_galena" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/cut_galena_stairs.json b/build/resources/main/data/tfmg/loot_table/blocks/cut_galena_stairs.json new file mode 100644 index 00000000..d9a1f575 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/cut_galena_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cut_galena_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cut_galena_stairs" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/cut_galena_wall.json b/build/resources/main/data/tfmg/loot_table/blocks/cut_galena_wall.json new file mode 100644 index 00000000..708c9336 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/cut_galena_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cut_galena_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cut_galena_wall" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/cyan_caution_block.json b/build/resources/main/data/tfmg/loot_table/blocks/cyan_caution_block.json new file mode 100644 index 00000000..dd148ad2 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/cyan_caution_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cyan_caution_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cyan_caution_block" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/cyan_concrete.json b/build/resources/main/data/tfmg/loot_table/blocks/cyan_concrete.json new file mode 100644 index 00000000..5aa25c3d --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/cyan_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cyan_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cyan_concrete" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/cyan_concrete_slab.json b/build/resources/main/data/tfmg/loot_table/blocks/cyan_concrete_slab.json new file mode 100644 index 00000000..20cfcc8b --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/cyan_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cyan_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cyan_concrete_slab" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/cyan_concrete_wall.json b/build/resources/main/data/tfmg/loot_table/blocks/cyan_concrete_wall.json new file mode 100644 index 00000000..69c8915d --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/cyan_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cyan_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cyan_concrete_wall" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/cyan_rebar_concrete_stairs.json b/build/resources/main/data/tfmg/loot_table/blocks/cyan_rebar_concrete_stairs.json new file mode 100644 index 00000000..21f3f4cc --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/cyan_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cyan_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cyan_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/diagonal_cable_block.json b/build/resources/main/data/tfmg/loot_table/blocks/diagonal_cable_block.json new file mode 100644 index 00000000..69a2d7c2 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/diagonal_cable_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:diagonal_cable_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/diagonal_cable_block" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/encased_potentiometer.json b/build/resources/main/data/tfmg/loot_table/blocks/encased_potentiometer.json new file mode 100644 index 00000000..1f1f65a5 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/encased_potentiometer.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:air" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/encased_potentiometer" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/engine_controller.json b/build/resources/main/data/tfmg/loot_table/blocks/engine_controller.json new file mode 100644 index 00000000..2e3d1e48 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/engine_controller.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:engine_controller" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/engine_controller" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/fossilstone.json b/build/resources/main/data/tfmg/loot_table/blocks/fossilstone.json new file mode 100644 index 00000000..3c9fd916 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/fossilstone.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:fossilstone" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/fossilstone" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/generator.json b/build/resources/main/data/tfmg/loot_table/blocks/generator.json new file mode 100644 index 00000000..0228d2e7 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/generator.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:generator" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/generator" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/glass_cast_iron_pipe.json b/build/resources/main/data/tfmg/loot_table/blocks/glass_cast_iron_pipe.json new file mode 100644 index 00000000..d4deb9a9 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/glass_cast_iron_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/glass_cast_iron_pipe" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/glass_steel_pipe.json b/build/resources/main/data/tfmg/loot_table/blocks/glass_steel_pipe.json new file mode 100644 index 00000000..47ba8ff5 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/glass_steel_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/glass_steel_pipe" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/gray_rebar_concrete_stairs.json b/build/resources/main/data/tfmg/loot_table/blocks/gray_rebar_concrete_stairs.json new file mode 100644 index 00000000..d6db0d68 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/gray_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:gray_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/gray_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/green_caution_block.json b/build/resources/main/data/tfmg/loot_table/blocks/green_caution_block.json new file mode 100644 index 00000000..b179f077 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/green_caution_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:green_caution_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/green_caution_block" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/green_concrete_slab.json b/build/resources/main/data/tfmg/loot_table/blocks/green_concrete_slab.json new file mode 100644 index 00000000..341d4049 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/green_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:green_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/green_concrete_slab" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/green_concrete_stairs.json b/build/resources/main/data/tfmg/loot_table/blocks/green_concrete_stairs.json new file mode 100644 index 00000000..7d0d836a --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/green_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:green_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/green_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/green_rebar_concrete_slab.json b/build/resources/main/data/tfmg/loot_table/blocks/green_rebar_concrete_slab.json new file mode 100644 index 00000000..ba08277f --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/green_rebar_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:green_rebar_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/green_rebar_concrete_slab" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/green_rebar_concrete_stairs.json b/build/resources/main/data/tfmg/loot_table/blocks/green_rebar_concrete_stairs.json new file mode 100644 index 00000000..0a09cb34 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/green_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:green_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/green_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/hardened_planks.json b/build/resources/main/data/tfmg/loot_table/blocks/hardened_planks.json new file mode 100644 index 00000000..ea2d04da --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/hardened_planks.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:hardened_planks" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/hardened_planks" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/heavy_casing_door.json b/build/resources/main/data/tfmg/loot_table/blocks/heavy_casing_door.json new file mode 100644 index 00000000..9c5c43dc --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/heavy_casing_door.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "block": "tfmg:heavy_casing_door", + "condition": "minecraft:block_state_property", + "properties": { + "half": "lower" + } + } + ], + "name": "tfmg:heavy_casing_door" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/heavy_casing_door" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/heavy_casing_encased_large_aluminum_cogwheel.json b/build/resources/main/data/tfmg/loot_table/blocks/heavy_casing_encased_large_aluminum_cogwheel.json new file mode 100644 index 00000000..8bf8839d --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/heavy_casing_encased_large_aluminum_cogwheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "create:large_cogwheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/heavy_casing_encased_large_aluminum_cogwheel" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/heavy_casing_encased_shaft.json b/build/resources/main/data/tfmg/loot_table/blocks/heavy_casing_encased_shaft.json new file mode 100644 index 00000000..7dbb6953 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/heavy_casing_encased_shaft.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "create:shaft" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/heavy_casing_encased_shaft" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/heavy_casing_encased_steel_cogwheel.json b/build/resources/main/data/tfmg/loot_table/blocks/heavy_casing_encased_steel_cogwheel.json new file mode 100644 index 00000000..3e74fe66 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/heavy_casing_encased_steel_cogwheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "create:cogwheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/heavy_casing_encased_steel_cogwheel" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/industrial_aluminum_casing.json b/build/resources/main/data/tfmg/loot_table/blocks/industrial_aluminum_casing.json new file mode 100644 index 00000000..77bb5b65 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/industrial_aluminum_casing.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:industrial_aluminum_casing" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/industrial_aluminum_casing" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/industrial_mixer.json b/build/resources/main/data/tfmg/loot_table/blocks/industrial_mixer.json new file mode 100644 index 00000000..70fb5d7b --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/industrial_mixer.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:industrial_mixer" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/industrial_mixer" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/large_aluminum_cogwheel.json b/build/resources/main/data/tfmg/loot_table/blocks/large_aluminum_cogwheel.json new file mode 100644 index 00000000..e2ef7a82 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/large_aluminum_cogwheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:large_aluminum_cogwheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/large_aluminum_cogwheel" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/large_pumpjack_hammer_connector.json b/build/resources/main/data/tfmg/loot_table/blocks/large_pumpjack_hammer_connector.json new file mode 100644 index 00000000..80d52159 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/large_pumpjack_hammer_connector.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:large_pumpjack_hammer_connector" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/large_pumpjack_hammer_connector" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/large_pumpjack_hammer_head.json b/build/resources/main/data/tfmg/loot_table/blocks/large_pumpjack_hammer_head.json new file mode 100644 index 00000000..ba1a5391 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/large_pumpjack_hammer_head.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:large_pumpjack_hammer_head" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/large_pumpjack_hammer_head" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/large_pumpjack_hammer_part.json b/build/resources/main/data/tfmg/loot_table/blocks/large_pumpjack_hammer_part.json new file mode 100644 index 00000000..b05ba1b2 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/large_pumpjack_hammer_part.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:large_pumpjack_hammer_part" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/large_pumpjack_hammer_part" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/light_blue_caution_block.json b/build/resources/main/data/tfmg/loot_table/blocks/light_blue_caution_block.json new file mode 100644 index 00000000..334eec07 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/light_blue_caution_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_blue_caution_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_blue_caution_block" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/light_blue_concrete_slab.json b/build/resources/main/data/tfmg/loot_table/blocks/light_blue_concrete_slab.json new file mode 100644 index 00000000..2ecbe84e --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/light_blue_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_blue_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_blue_concrete_slab" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/light_blue_concrete_wall.json b/build/resources/main/data/tfmg/loot_table/blocks/light_blue_concrete_wall.json new file mode 100644 index 00000000..642990b5 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/light_blue_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_blue_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_blue_concrete_wall" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/light_blue_rebar_concrete_stairs.json b/build/resources/main/data/tfmg/loot_table/blocks/light_blue_rebar_concrete_stairs.json new file mode 100644 index 00000000..6172d035 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/light_blue_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_blue_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_blue_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/light_bulb.json b/build/resources/main/data/tfmg/loot_table/blocks/light_bulb.json new file mode 100644 index 00000000..ddf57b33 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/light_bulb.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_bulb" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_bulb" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/light_gray_rebar_concrete_stairs.json b/build/resources/main/data/tfmg/loot_table/blocks/light_gray_rebar_concrete_stairs.json new file mode 100644 index 00000000..c8ba472d --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/light_gray_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_gray_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_gray_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/lignite.json b/build/resources/main/data/tfmg/loot_table/blocks/lignite.json new file mode 100644 index 00000000..9413f367 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/lignite.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lignite" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lignite" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/lime_caution_block.json b/build/resources/main/data/tfmg/loot_table/blocks/lime_caution_block.json new file mode 100644 index 00000000..3a91ffb9 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/lime_caution_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lime_caution_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lime_caution_block" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/lime_concrete_slab.json b/build/resources/main/data/tfmg/loot_table/blocks/lime_concrete_slab.json new file mode 100644 index 00000000..8044fef4 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/lime_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lime_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lime_concrete_slab" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/lime_concrete_wall.json b/build/resources/main/data/tfmg/loot_table/blocks/lime_concrete_wall.json new file mode 100644 index 00000000..bbfbf290 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/lime_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lime_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lime_concrete_wall" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/lime_rebar_concrete.json b/build/resources/main/data/tfmg/loot_table/blocks/lime_rebar_concrete.json new file mode 100644 index 00000000..f22e9faf --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/lime_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lime_rebar_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lime_rebar_concrete" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/lithium_block.json b/build/resources/main/data/tfmg/loot_table/blocks/lithium_block.json new file mode 100644 index 00000000..95e119ed --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/lithium_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lithium_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lithium_block" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/magenta_caution_block.json b/build/resources/main/data/tfmg/loot_table/blocks/magenta_caution_block.json new file mode 100644 index 00000000..7dba53cb --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/magenta_caution_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:magenta_caution_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/magenta_caution_block" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/magenta_concrete_slab.json b/build/resources/main/data/tfmg/loot_table/blocks/magenta_concrete_slab.json new file mode 100644 index 00000000..6ac66fd3 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/magenta_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:magenta_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/magenta_concrete_slab" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/magenta_concrete_stairs.json b/build/resources/main/data/tfmg/loot_table/blocks/magenta_concrete_stairs.json new file mode 100644 index 00000000..66cc4a06 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/magenta_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:magenta_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/magenta_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/magenta_rebar_concrete_slab.json b/build/resources/main/data/tfmg/loot_table/blocks/magenta_rebar_concrete_slab.json new file mode 100644 index 00000000..356844d8 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/magenta_rebar_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:magenta_rebar_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/magenta_rebar_concrete_slab" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/magenta_rebar_concrete_wall.json b/build/resources/main/data/tfmg/loot_table/blocks/magenta_rebar_concrete_wall.json new file mode 100644 index 00000000..e432d0fe --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/magenta_rebar_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:magenta_rebar_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/magenta_rebar_concrete_wall" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/nickel_bars.json b/build/resources/main/data/tfmg/loot_table/blocks/nickel_bars.json new file mode 100644 index 00000000..0c3e9a2a --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/nickel_bars.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:nickel_bars" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/nickel_bars" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/nickel_flywheel.json b/build/resources/main/data/tfmg/loot_table/blocks/nickel_flywheel.json new file mode 100644 index 00000000..9473d431 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/nickel_flywheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:nickel_flywheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/nickel_flywheel" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/nickel_ore.json b/build/resources/main/data/tfmg/loot_table/blocks/nickel_ore.json new file mode 100644 index 00000000..87eeee8c --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/nickel_ore.json @@ -0,0 +1,52 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "tfmg:nickel_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:ore_drops", + "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "tfmg:raw_nickel" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/nickel_ore" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/nickel_truss.json b/build/resources/main/data/tfmg/loot_table/blocks/nickel_truss.json new file mode 100644 index 00000000..172397b2 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/nickel_truss.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:nickel_truss" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/nickel_truss" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/orange_concrete_slab.json b/build/resources/main/data/tfmg/loot_table/blocks/orange_concrete_slab.json new file mode 100644 index 00000000..1ebc5401 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/orange_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:orange_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/orange_concrete_slab" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/orange_concrete_stairs.json b/build/resources/main/data/tfmg/loot_table/blocks/orange_concrete_stairs.json new file mode 100644 index 00000000..bc26b7e4 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/orange_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:orange_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/orange_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/orange_concrete_wall.json b/build/resources/main/data/tfmg/loot_table/blocks/orange_concrete_wall.json new file mode 100644 index 00000000..2f8f79cf --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/orange_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:orange_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/orange_concrete_wall" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/pink_concrete_slab.json b/build/resources/main/data/tfmg/loot_table/blocks/pink_concrete_slab.json new file mode 100644 index 00000000..719fb16c --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/pink_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:pink_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/pink_concrete_slab" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/pink_concrete_wall.json b/build/resources/main/data/tfmg/loot_table/blocks/pink_concrete_wall.json new file mode 100644 index 00000000..c9a92b95 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/pink_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:pink_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/pink_concrete_wall" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/pink_rebar_concrete.json b/build/resources/main/data/tfmg/loot_table/blocks/pink_rebar_concrete.json new file mode 100644 index 00000000..37a13e27 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/pink_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:pink_rebar_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/pink_rebar_concrete" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/plastic_smart_fluid_pipe.json b/build/resources/main/data/tfmg/loot_table/blocks/plastic_smart_fluid_pipe.json new file mode 100644 index 00000000..6a59865a --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/plastic_smart_fluid_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:plastic_smart_fluid_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/plastic_smart_fluid_pipe" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/polished_cut_galena.json b/build/resources/main/data/tfmg/loot_table/blocks/polished_cut_galena.json new file mode 100644 index 00000000..87aa8a1e --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/polished_cut_galena.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:polished_cut_galena" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/polished_cut_galena" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/pumpjack_hammer.json b/build/resources/main/data/tfmg/loot_table/blocks/pumpjack_hammer.json new file mode 100644 index 00000000..f442cba6 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/pumpjack_hammer.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:pumpjack_hammer" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/pumpjack_hammer" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/pumpjack_hammer_part.json b/build/resources/main/data/tfmg/loot_table/blocks/pumpjack_hammer_part.json new file mode 100644 index 00000000..3edc532e --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/pumpjack_hammer_part.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:pumpjack_hammer_part" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/pumpjack_hammer_part" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/purple_caution_block.json b/build/resources/main/data/tfmg/loot_table/blocks/purple_caution_block.json new file mode 100644 index 00000000..b4b1c5c7 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/purple_caution_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:purple_caution_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/purple_caution_block" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/purple_rebar_concrete.json b/build/resources/main/data/tfmg/loot_table/blocks/purple_rebar_concrete.json new file mode 100644 index 00000000..0362c7d2 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/purple_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:purple_rebar_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/purple_rebar_concrete" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/raw_lead_block.json b/build/resources/main/data/tfmg/loot_table/blocks/raw_lead_block.json new file mode 100644 index 00000000..f776f89a --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/raw_lead_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:raw_lead_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/raw_lead_block" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/rebar_concrete.json b/build/resources/main/data/tfmg/loot_table/blocks/rebar_concrete.json new file mode 100644 index 00000000..2b4110b3 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:rebar_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/rebar_concrete" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/rebar_concrete_stairs.json b/build/resources/main/data/tfmg/loot_table/blocks/rebar_concrete_stairs.json new file mode 100644 index 00000000..09070f79 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/rebar_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/red_concrete.json b/build/resources/main/data/tfmg/loot_table/blocks/red_concrete.json new file mode 100644 index 00000000..582a0d17 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/red_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:red_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/red_concrete" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/red_rebar_concrete_slab.json b/build/resources/main/data/tfmg/loot_table/blocks/red_rebar_concrete_slab.json new file mode 100644 index 00000000..0227946c --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/red_rebar_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:red_rebar_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/red_rebar_concrete_slab" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/red_rebar_concrete_stairs.json b/build/resources/main/data/tfmg/loot_table/blocks/red_rebar_concrete_stairs.json new file mode 100644 index 00000000..d4c45cc5 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/red_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:red_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/red_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/rotor.json b/build/resources/main/data/tfmg/loot_table/blocks/rotor.json new file mode 100644 index 00000000..df354ff6 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/rotor.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:rotor" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/rotor" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/simple_large_engine.json b/build/resources/main/data/tfmg/loot_table/blocks/simple_large_engine.json new file mode 100644 index 00000000..ba0f76c8 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/simple_large_engine.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:simple_large_engine" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/simple_large_engine" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/slag_block.json b/build/resources/main/data/tfmg/loot_table/blocks/slag_block.json new file mode 100644 index 00000000..42c66fe3 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/slag_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:slag_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/slag_block" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/small_bauxite_brick_slab.json b/build/resources/main/data/tfmg/loot_table/blocks/small_bauxite_brick_slab.json new file mode 100644 index 00000000..f617190e --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/small_bauxite_brick_slab.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "conditions": [ + { + "block": "tfmg:small_bauxite_brick_slab", + "condition": "minecraft:block_state_property", + "properties": { + "type": "double" + } + } + ], + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "tfmg:small_bauxite_brick_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/small_bauxite_brick_slab" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/small_bauxite_brick_stairs.json b/build/resources/main/data/tfmg/loot_table/blocks/small_bauxite_brick_stairs.json new file mode 100644 index 00000000..e5bf9897 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/small_bauxite_brick_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:small_bauxite_brick_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/small_bauxite_brick_stairs" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/stator.json b/build/resources/main/data/tfmg/loot_table/blocks/stator.json new file mode 100644 index 00000000..78b2b80a --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/stator.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:stator" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/stator" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/steel_bars.json b/build/resources/main/data/tfmg/loot_table/blocks/steel_bars.json new file mode 100644 index 00000000..4fb619e7 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/steel_bars.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_bars" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_bars" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/steel_casing_cable_hub.json b/build/resources/main/data/tfmg/loot_table/blocks/steel_casing_cable_hub.json new file mode 100644 index 00000000..7d06ea86 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/steel_casing_cable_hub.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_casing_cable_hub" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_casing_cable_hub" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/steel_encased_aluminum_cogwheel.json b/build/resources/main/data/tfmg/loot_table/blocks/steel_encased_aluminum_cogwheel.json new file mode 100644 index 00000000..74a48587 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/steel_encased_aluminum_cogwheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "create:cogwheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_encased_aluminum_cogwheel" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/steel_encased_shaft.json b/build/resources/main/data/tfmg/loot_table/blocks/steel_encased_shaft.json new file mode 100644 index 00000000..35452c8b --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/steel_encased_shaft.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "create:shaft" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_encased_shaft" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/steel_encased_steel_cogwheel.json b/build/resources/main/data/tfmg/loot_table/blocks/steel_encased_steel_cogwheel.json new file mode 100644 index 00000000..15223058 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/steel_encased_steel_cogwheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "create:cogwheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_encased_steel_cogwheel" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/steel_flywheel.json b/build/resources/main/data/tfmg/loot_table/blocks/steel_flywheel.json new file mode 100644 index 00000000..2476b64b --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/steel_flywheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_flywheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_flywheel" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/steel_gearbox.json b/build/resources/main/data/tfmg/loot_table/blocks/steel_gearbox.json new file mode 100644 index 00000000..10bbdd27 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/steel_gearbox.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_gearbox" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_gearbox" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/steel_ladder.json b/build/resources/main/data/tfmg/loot_table/blocks/steel_ladder.json new file mode 100644 index 00000000..d8c373d8 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/steel_ladder.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_ladder" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_ladder" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/steel_pipe.json b/build/resources/main/data/tfmg/loot_table/blocks/steel_pipe.json new file mode 100644 index 00000000..a413db66 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/steel_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_pipe" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/steel_scaffolding.json b/build/resources/main/data/tfmg/loot_table/blocks/steel_scaffolding.json new file mode 100644 index 00000000..13295491 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/steel_scaffolding.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_scaffolding" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_scaffolding" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/transformer.json b/build/resources/main/data/tfmg/loot_table/blocks/transformer.json new file mode 100644 index 00000000..0300acdc --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/transformer.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:transformer" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/transformer" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/voltage_observer.json b/build/resources/main/data/tfmg/loot_table/blocks/voltage_observer.json new file mode 100644 index 00000000..bab9ec0c --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/voltage_observer.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:voltage_observer" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/voltage_observer" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/voltmeter.json b/build/resources/main/data/tfmg/loot_table/blocks/voltmeter.json new file mode 100644 index 00000000..0220f596 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/voltmeter.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:voltmeter" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/voltmeter" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/white_concrete_stairs.json b/build/resources/main/data/tfmg/loot_table/blocks/white_concrete_stairs.json new file mode 100644 index 00000000..a11d658d --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/white_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:white_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/white_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/white_concrete_wall.json b/build/resources/main/data/tfmg/loot_table/blocks/white_concrete_wall.json new file mode 100644 index 00000000..5dd89d89 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/white_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:white_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/white_concrete_wall" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/loot_table/blocks/yellow_concrete_stairs.json b/build/resources/main/data/tfmg/loot_table/blocks/yellow_concrete_stairs.json new file mode 100644 index 00000000..12fadbb1 --- /dev/null +++ b/build/resources/main/data/tfmg/loot_table/blocks/yellow_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:yellow_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/yellow_concrete_stairs" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/neoforge/biome_modifier/lead_ore.json b/build/resources/main/data/tfmg/neoforge/biome_modifier/lead_ore.json new file mode 100644 index 00000000..d4876113 --- /dev/null +++ b/build/resources/main/data/tfmg/neoforge/biome_modifier/lead_ore.json @@ -0,0 +1,6 @@ +{ + "type": "neoforge:add_features", + "biomes": "#minecraft:is_overworld", + "features": "tfmg:lead_ore", + "step": "underground_ores" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/neoforge/biome_modifier/tfmg_striated_ores_nether.json b/build/resources/main/data/tfmg/neoforge/biome_modifier/tfmg_striated_ores_nether.json new file mode 100644 index 00000000..85954617 --- /dev/null +++ b/build/resources/main/data/tfmg/neoforge/biome_modifier/tfmg_striated_ores_nether.json @@ -0,0 +1,6 @@ +{ + "type": "neoforge:add_features", + "biomes": "#minecraft:is_nether", + "features": "tfmg:tfmg_striated_ores_nether", + "step": "underground_ores" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/neoforge/biome_modifier/tfmg_striated_ores_overworld.json b/build/resources/main/data/tfmg/neoforge/biome_modifier/tfmg_striated_ores_overworld.json new file mode 100644 index 00000000..da65f504 --- /dev/null +++ b/build/resources/main/data/tfmg/neoforge/biome_modifier/tfmg_striated_ores_overworld.json @@ -0,0 +1,6 @@ +{ + "type": "neoforge:add_features", + "biomes": "#minecraft:is_overworld", + "features": "tfmg:tfmg_striated_ores_overworld", + "step": "underground_ores" +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/aluminum_wire_from_ingots_aluminum_stonecutting.json b/build/resources/main/data/tfmg/recipe/aluminum_wire_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..775f8b0b --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/aluminum_wire_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:aluminum_wire" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/bauxite_pillar_from_stone_types_bauxite_stonecutting.json b/build/resources/main/data/tfmg/recipe/bauxite_pillar_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..f0403dba --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/bauxite_pillar_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 1, + "id": "tfmg:bauxite_pillar" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/blasting/lead_ingot_from_crushed_blasting.json b/build/resources/main/data/tfmg/recipe/blasting/lead_ingot_from_crushed_blasting.json new file mode 100644 index 00000000..daea49a5 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/blasting/lead_ingot_from_crushed_blasting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.0, + "ingredient": { + "item": "create:crushed_raw_lead" + }, + "result": { + "count": 1, + "id": "tfmg:lead_ingot" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/blue_caution_block_from_ingots_aluminum_stonecutting.json b/build/resources/main/data/tfmg/recipe/blue_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..1bc62b8a --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/blue_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:blue_caution_block" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/blue_concrete_wall_from_blue_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/blue_concrete_wall_from_blue_concrete_stonecutting.json new file mode 100644 index 00000000..1b3b04fd --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/blue_concrete_wall_from_blue_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:blue_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:blue_concrete_wall" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/blue_rebar_concrete_wall_from_blue_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/blue_rebar_concrete_wall_from_blue_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..db2bf6b8 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/blue_rebar_concrete_wall_from_blue_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:blue_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:blue_rebar_concrete_wall" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/brown_caution_block_from_ingots_aluminum_stonecutting.json b/build/resources/main/data/tfmg/recipe/brown_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..ad185853 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/brown_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:brown_caution_block" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/brown_concrete_slab_from_brown_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/brown_concrete_slab_from_brown_concrete_stonecutting.json new file mode 100644 index 00000000..8ea3cf73 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/brown_concrete_slab_from_brown_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:brown_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:brown_concrete_slab" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/brown_rebar_concrete_wall_from_brown_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/brown_rebar_concrete_wall_from_brown_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..9b94f025 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/brown_rebar_concrete_wall_from_brown_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:brown_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:brown_rebar_concrete_wall" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/cinderblock_from_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/cinderblock_from_concrete_stonecutting.json new file mode 100644 index 00000000..6f4842fa --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/cinderblock_from_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:concrete" + }, + "result": { + "count": 8, + "id": "tfmg:cinderblock" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/constantan_wire_from_ingots_constantan_stonecutting.json b/build/resources/main/data/tfmg/recipe/constantan_wire_from_ingots_constantan_stonecutting.json new file mode 100644 index 00000000..2c99109d --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/constantan_wire_from_ingots_constantan_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/constantan" + }, + "result": { + "count": 2, + "id": "tfmg:constantan_wire" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/copper_electrode_from_storage_blocks_copper_stonecutting.json b/build/resources/main/data/tfmg/recipe/copper_electrode_from_storage_blocks_copper_stonecutting.json new file mode 100644 index 00000000..a7abe6a9 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/copper_electrode_from_storage_blocks_copper_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:storage_blocks/copper" + }, + "result": { + "count": 1, + "id": "tfmg:copper_electrode" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/copper_wire_from_ingots_copper_stonecutting.json b/build/resources/main/data/tfmg/recipe/copper_wire_from_ingots_copper_stonecutting.json new file mode 100644 index 00000000..99c430fd --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/copper_wire_from_ingots_copper_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/copper" + }, + "result": { + "count": 2, + "id": "tfmg:copper_wire" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/accumulator.json b/build/resources/main/data/tfmg/recipe/crafting/materials/accumulator.json new file mode 100644 index 00000000..219ab2c7 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/accumulator.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "tag": "c:storage_blocks/lead" + }, + "C": { + "item": "tfmg:industrial_aluminum_casing" + }, + "L": { + "tag": "c:plates/lead" + }, + "S": { + "item": "tfmg:sulfuric_acid_bucket" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "LWL", + "SBS", + "LCL" + ], + "result": { + "count": 1, + "id": "tfmg:accumulator" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/accumulatorfrom_lithium.json b/build/resources/main/data/tfmg/recipe/crafting/materials/accumulatorfrom_lithium.json new file mode 100644 index 00000000..bae723da --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/accumulatorfrom_lithium.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "tag": "c:storage_blocks/lithium" + }, + "C": { + "item": "tfmg:industrial_aluminum_casing" + }, + "L": { + "tag": "c:ingots/lithium" + }, + "S": { + "tag": "c:plates/nickel" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "LWL", + "SBS", + "LCL" + ], + "result": { + "count": 1, + "id": "tfmg:accumulator" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/air_intake.json b/build/resources/main/data/tfmg/recipe/crafting/materials/air_intake.json new file mode 100644 index 00000000..d17886fd --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/air_intake.json @@ -0,0 +1,33 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "create:andesite_bars" + }, + "C": { + "item": "create:industrial_iron_block" + }, + "G": { + "item": "create:cogwheel" + }, + "P": { + "item": "create:propeller" + }, + "S": { + "item": "create:shaft" + }, + "T": { + "item": "tfmg:cast_iron_pipe" + } + }, + "pattern": [ + "SPT", + "GCG", + " B " + ], + "result": { + "count": 3, + "id": "tfmg:air_intake" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_axe.json b/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_axe.json new file mode 100644 index 00000000..679f6947 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_axe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/aluminum" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + " CC", + " SC", + " S " + ], + "result": { + "count": 1, + "id": "tfmg:aluminum_axe" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_cable_hub.json b/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_cable_hub.json new file mode 100644 index 00000000..963947a8 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_cable_hub.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "M": { + "tag": "c:ingots/aluminum" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "WWW", + "MMM", + "WWW" + ], + "result": { + "count": 2, + "id": "tfmg:aluminum_cable_hub" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_cogwheel.json b/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_cogwheel.json new file mode 100644 index 00000000..5e52a7d8 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_cogwheel.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:ingots/aluminum" + }, + { + "item": "create:shaft" + } + ], + "result": { + "count": 4, + "id": "tfmg:aluminum_cogwheel" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_flywheel.json b/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_flywheel.json new file mode 100644 index 00000000..03ee4439 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_flywheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/aluminum" + }, + "S": { + "item": "create:shaft" + } + }, + "pattern": [ + "CCC", + "CSC", + "CCC" + ], + "result": { + "count": 1, + "id": "tfmg:aluminum_flywheel" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_hoe.json b/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_hoe.json new file mode 100644 index 00000000..cf2cdfd4 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_hoe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/aluminum" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "CC ", + "S ", + "S " + ], + "result": { + "count": 1, + "id": "tfmg:aluminum_hoe" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_ingot_from_compacting.json b/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_ingot_from_compacting.json new file mode 100644 index 00000000..05c732f1 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_ingot_from_compacting.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "tag": "c:nuggets/aluminum" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "tfmg:aluminum_ingot" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_ingot_from_decompacting.json b/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_ingot_from_decompacting.json new file mode 100644 index 00000000..0d3d677a --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_ingot_from_decompacting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:storage_blocks/aluminum" + } + ], + "result": { + "count": 9, + "id": "tfmg:aluminum_ingot" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_nugget_from_decompacting.json b/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_nugget_from_decompacting.json new file mode 100644 index 00000000..eede7cb3 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/aluminum_nugget_from_decompacting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:ingots/aluminum" + } + ], + "result": { + "count": 9, + "id": "tfmg:aluminum_nugget" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/black_multimeter.json b/build/resources/main/data/tfmg/recipe/crafting/materials/black_multimeter.json new file mode 100644 index 00000000..8f5ec0c5 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/black_multimeter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:multimeter" + }, + { + "item": "minecraft:black_dye" + } + ], + "result": { + "count": 1, + "id": "tfmg:black_multimeter" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/blast_furnace_hatch.json b/build/resources/main/data/tfmg/recipe/crafting/materials/blast_furnace_hatch.json new file mode 100644 index 00000000..218d9883 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/blast_furnace_hatch.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "F": { + "item": "tfmg:fireproof_bricks" + }, + "I": { + "tag": "c:plates/cast_iron" + }, + "P": { + "item": "tfmg:cast_iron_pipe" + }, + "T": { + "item": "tfmg:cast_iron_fluid_tank" + } + }, + "pattern": [ + "FIF", + "PTP", + "FIF" + ], + "result": { + "count": 1, + "id": "tfmg:blast_furnace_hatch" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/blast_furnace_output.json b/build/resources/main/data/tfmg/recipe/crafting/materials/blast_furnace_output.json new file mode 100644 index 00000000..b1c3de00 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/blast_furnace_output.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:fireproof_bricks" + }, + "C": { + "item": "tfmg:cast_iron_pipe" + }, + "Q": { + "tag": "c:storage_blocks/cast_iron" + } + }, + "pattern": [ + "BCB", + "CQC", + "BCB" + ], + "result": { + "count": 1, + "id": "tfmg:blast_furnace_output" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/blast_furnace_reinforcement.json b/build/resources/main/data/tfmg/recipe/crafting/materials/blast_furnace_reinforcement.json new file mode 100644 index 00000000..fd25e339 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/blast_furnace_reinforcement.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:fireproof_bricks" + }, + "I": { + "tag": "c:ingots/steel" + }, + "O": { + "item": "tfmg:heavy_plate" + } + }, + "pattern": [ + "IOB", + "IOB", + "IOB" + ], + "result": { + "count": 4, + "id": "tfmg:blast_furnace_reinforcement" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/blast_stove.json b/build/resources/main/data/tfmg/recipe/crafting/materials/blast_stove.json new file mode 100644 index 00000000..65413dfa --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/blast_stove.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:cast_iron_pipe" + }, + "F": { + "item": "tfmg:fireproof_bricks" + }, + "T": { + "item": "tfmg:cast_iron_fluid_tank" + } + }, + "pattern": [ + "CC ", + "TT ", + "FF " + ], + "result": { + "count": 2, + "id": "tfmg:blast_stove" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/brick_smokestack.json b/build/resources/main/data/tfmg/recipe/crafting/materials/brick_smokestack.json new file mode 100644 index 00000000..cd03479e --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/brick_smokestack.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "minecraft:bricks" + }, + "P": { + "item": "tfmg:industrial_pipe" + } + }, + "pattern": [ + "BPB", + "BPB", + "BPB" + ], + "result": { + "count": 4, + "id": "tfmg:brick_smokestack" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/brown_concrete.json b/build/resources/main/data/tfmg/recipe/crafting/materials/brown_concrete.json new file mode 100644 index 00000000..00229134 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/brown_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:concrete" + }, + "D": { + "item": "minecraft:brown_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:brown_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/cast_iron_chemical_vat.json b/build/resources/main/data/tfmg/recipe/crafting/materials/cast_iron_chemical_vat.json new file mode 100644 index 00000000..7644e9f8 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/cast_iron_chemical_vat.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:plates/lead" + }, + "P": { + "tag": "c:plates/cast_iron" + }, + "T": { + "item": "tfmg:cast_iron_fluid_tank" + } + }, + "pattern": [ + "PPP", + "NTN", + "PPP" + ], + "result": { + "count": 1, + "id": "tfmg:cast_iron_chemical_vat" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/cast_iron_fluid_tank.json b/build/resources/main/data/tfmg/recipe/crafting/materials/cast_iron_fluid_tank.json new file mode 100644 index 00000000..f01cccb1 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/cast_iron_fluid_tank.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "minecraft:barrel" + }, + "P": { + "tag": "c:plates/cast_iron" + } + }, + "pattern": [ + " P ", + " B ", + " P " + ], + "result": { + "count": 1, + "id": "tfmg:cast_iron_fluid_tank" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/cast_iron_truss.json b/build/resources/main/data/tfmg/recipe/crafting/materials/cast_iron_truss.json new file mode 100644 index 00000000..aa5831e4 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/cast_iron_truss.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:nuggets/cast_iron" + } + }, + "pattern": [ + "N N", + "NNN", + "N N" + ], + "result": { + "count": 4, + "id": "tfmg:cast_iron_truss" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/cinderflour_block.json b/build/resources/main/data/tfmg/recipe/crafting/materials/cinderflour_block.json new file mode 100644 index 00000000..b69cf2f0 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/cinderflour_block.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:cinderflourblock" + }, + "C": { + "item": "minecraft:nether_wart_block" + }, + "R": { + "item": "tfmg:rebar" + } + }, + "pattern": [ + "BBB", + "RCR", + "BBB" + ], + "result": { + "count": 8, + "id": "tfmg:cinderflour_block" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/coal_coke.json b/build/resources/main/data/tfmg/recipe/crafting/materials/coal_coke.json new file mode 100644 index 00000000..b9b22caa --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/coal_coke.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:coal_coke_block" + } + ], + "result": { + "count": 9, + "id": "tfmg:coal_coke" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/coal_coke_block.json b/build/resources/main/data/tfmg/recipe/crafting/materials/coal_coke_block.json new file mode 100644 index 00000000..426e706b --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/coal_coke_block.json @@ -0,0 +1,37 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:coal_coke" + }, + { + "item": "tfmg:coal_coke" + }, + { + "item": "tfmg:coal_coke" + }, + { + "item": "tfmg:coal_coke" + }, + { + "item": "tfmg:coal_coke" + }, + { + "item": "tfmg:coal_coke" + }, + { + "item": "tfmg:coal_coke" + }, + { + "item": "tfmg:coal_coke" + }, + { + "item": "tfmg:coal_coke" + } + ], + "result": { + "count": 1, + "id": "tfmg:coal_coke_block" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/coke_oven.json b/build/resources/main/data/tfmg/recipe/crafting/materials/coke_oven.json new file mode 100644 index 00000000..ce23e28b --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/coke_oven.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/cast_iron" + }, + "I": { + "item": "create:industrial_iron_block" + } + }, + "pattern": [ + " C ", + "CIC", + " C " + ], + "result": { + "count": 2, + "id": "tfmg:coke_oven" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/constantan_block_from_compacting.json b/build/resources/main/data/tfmg/recipe/crafting/materials/constantan_block_from_compacting.json new file mode 100644 index 00000000..7ccbbe84 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/constantan_block_from_compacting.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "tag": "c:ingots/constantan" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "tfmg:constantan_block" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/copper_cable_hub.json b/build/resources/main/data/tfmg/recipe/crafting/materials/copper_cable_hub.json new file mode 100644 index 00000000..b6b1ea8c --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/copper_cable_hub.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "M": { + "item": "minecraft:copper_ingot" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "WWW", + "MMM", + "WWW" + ], + "result": { + "count": 2, + "id": "tfmg:copper_cable_hub" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/copper_spool.json b/build/resources/main/data/tfmg/recipe/crafting/materials/copper_spool.json new file mode 100644 index 00000000..f5ec0dc5 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/copper_spool.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "S": { + "item": "tfmg:empty_spool" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "WWW", + "WSW", + "WWW" + ], + "result": { + "count": 1, + "id": "tfmg:copper_spool" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/copper_truss.json b/build/resources/main/data/tfmg/recipe/crafting/materials/copper_truss.json new file mode 100644 index 00000000..a0681778 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/copper_truss.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:nuggets/copper" + } + }, + "pattern": [ + "N N", + "NNN", + "N N" + ], + "result": { + "count": 4, + "id": "tfmg:copper_truss" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/crankshaft.json b/build/resources/main/data/tfmg/recipe/crafting/materials/crankshaft.json new file mode 100644 index 00000000..ba551c66 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/crankshaft.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "item": "tfmg:rebar" + }, + "B": { + "tag": "c:plates/aluminum" + } + }, + "pattern": [ + "ABA", + "BAB", + " " + ], + "result": { + "count": 1, + "id": "tfmg:crankshaft" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/cyan_rebar_concrete.json b/build/resources/main/data/tfmg/recipe/crafting/materials/cyan_rebar_concrete.json new file mode 100644 index 00000000..5b015f99 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/cyan_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:rebar_concrete" + }, + "D": { + "item": "minecraft:cyan_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:cyan_rebar_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/diagonal_cable_block.json b/build/resources/main/data/tfmg/recipe/crafting/materials/diagonal_cable_block.json new file mode 100644 index 00000000..b0ac9962 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/diagonal_cable_block.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:wires/copper" + }, + "N": { + "tag": "c:nuggets/steel" + }, + "R": { + "item": "tfmg:rubber_sheet" + } + }, + "pattern": [ + " C ", + "CRN", + " N " + ], + "result": { + "count": 8, + "id": "tfmg:diagonal_cable_block" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/electrical_switch.json b/build/resources/main/data/tfmg/recipe/crafting/materials/electrical_switch.json new file mode 100644 index 00000000..d1c3d021 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/electrical_switch.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:heavy_machinery_casing" + }, + "L": { + "tag": "c:plates/lead" + }, + "P": { + "item": "tfmg:electric_post" + }, + "R": { + "tag": "c:dusts/redstone" + } + }, + "pattern": [ + "RPR", + "LCL", + "RPR" + ], + "result": { + "count": 1, + "id": "tfmg:electrical_switch" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/electrode_holder.json b/build/resources/main/data/tfmg/recipe/crafting/materials/electrode_holder.json new file mode 100644 index 00000000..8b1cf94a --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/electrode_holder.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:heavy_machinery_casing" + }, + "L": { + "tag": "c:plates/lead" + }, + "S": { + "tag": "c:ingots/steel" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "SLS", + "WCW", + "SLS" + ], + "result": { + "count": 1, + "id": "tfmg:electrode_holder" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/fireclay.json b/build/resources/main/data/tfmg/recipe/crafting/materials/fireclay.json new file mode 100644 index 00000000..beb5a942 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/fireclay.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:fireclay_ball" + } + }, + "pattern": [ + "BB ", + "BB ", + " " + ], + "result": { + "count": 1, + "id": "tfmg:fireclay" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/glass_cable_insulator.json b/build/resources/main/data/tfmg/recipe/crafting/materials/glass_cable_insulator.json new file mode 100644 index 00000000..c9de23bc --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/glass_cable_insulator.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:nuggets/copper" + }, + "I": { + "item": "tfmg:glass_insulator_segment" + }, + "O": { + "tag": "c:nuggets/steel" + } + }, + "pattern": [ + "CIC", + "OIO", + "CIC" + ], + "result": { + "count": 1, + "id": "tfmg:glass_cable_insulator" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/glass_insulator_segment.json b/build/resources/main/data/tfmg/recipe/crafting/materials/glass_insulator_segment.json new file mode 100644 index 00000000..95921b39 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/glass_insulator_segment.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:nuggets/copper" + }, + "G": { + "item": "minecraft:green_stained_glass_pane" + }, + "O": { + "tag": "c:nuggets/steel" + } + }, + "pattern": [ + " O ", + "GGG", + " C " + ], + "result": { + "count": 1, + "id": "tfmg:glass_insulator_segment" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/large_pumpjack_hammer_head.json b/build/resources/main/data/tfmg/recipe/crafting/materials/large_pumpjack_hammer_head.json new file mode 100644 index 00000000..88745017 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/large_pumpjack_hammer_head.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "tag": "c:storage_blocks/steel" + }, + "P": { + "tag": "c:plates/steel" + } + }, + "pattern": [ + "P", + "B", + " " + ], + "result": { + "count": 1, + "id": "tfmg:large_pumpjack_hammer_head" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/lead_block_from_compacting.json b/build/resources/main/data/tfmg/recipe/crafting/materials/lead_block_from_compacting.json new file mode 100644 index 00000000..453fe819 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/lead_block_from_compacting.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "tag": "c:ingots/lead" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "tfmg:lead_block" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/lead_flywheel.json b/build/resources/main/data/tfmg/recipe/crafting/materials/lead_flywheel.json new file mode 100644 index 00000000..63f99f72 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/lead_flywheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/lead" + }, + "S": { + "item": "create:shaft" + } + }, + "pattern": [ + "CCC", + "CSC", + "CCC" + ], + "result": { + "count": 1, + "id": "tfmg:lead_flywheel" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/lead_ingot_from_decompacting.json b/build/resources/main/data/tfmg/recipe/crafting/materials/lead_ingot_from_decompacting.json new file mode 100644 index 00000000..dd2a4698 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/lead_ingot_from_decompacting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:storage_blocks/lead" + } + ], + "result": { + "count": 9, + "id": "tfmg:lead_ingot" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/lead_pickaxe.json b/build/resources/main/data/tfmg/recipe/crafting/materials/lead_pickaxe.json new file mode 100644 index 00000000..b3cbb33b --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/lead_pickaxe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/lead" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "CCC", + " S ", + " S " + ], + "result": { + "count": 1, + "id": "tfmg:lead_pickaxe" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/lead_shovel.json b/build/resources/main/data/tfmg/recipe/crafting/materials/lead_shovel.json new file mode 100644 index 00000000..e36452fe --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/lead_shovel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/lead" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "C ", + "S ", + "S " + ], + "result": { + "count": 1, + "id": "tfmg:lead_shovel" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/light_blue_multimeter.json b/build/resources/main/data/tfmg/recipe/crafting/materials/light_blue_multimeter.json new file mode 100644 index 00000000..d4893e1f --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/light_blue_multimeter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:multimeter" + }, + { + "item": "minecraft:light_blue_dye" + } + ], + "result": { + "count": 1, + "id": "tfmg:light_blue_multimeter" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/light_blue_rebar_concrete.json b/build/resources/main/data/tfmg/recipe/crafting/materials/light_blue_rebar_concrete.json new file mode 100644 index 00000000..891e9e49 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/light_blue_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:rebar_concrete" + }, + "D": { + "item": "minecraft:light_blue_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:light_blue_rebar_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/light_bulb.json b/build/resources/main/data/tfmg/recipe/crafting/materials/light_bulb.json new file mode 100644 index 00000000..570b9a26 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/light_bulb.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:nuggets/copper" + }, + "G": { + "item": "create:framed_glass" + }, + "N": { + "tag": "c:nuggets/steel" + }, + "W": { + "item": "tfmg:constantan_wire" + } + }, + "pattern": [ + "CWC", + "CGC", + "NNN" + ], + "result": { + "count": 2, + "id": "tfmg:light_bulb" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/light_gray_rebar_concrete.json b/build/resources/main/data/tfmg/recipe/crafting/materials/light_gray_rebar_concrete.json new file mode 100644 index 00000000..b9d185dd --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/light_gray_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:rebar_concrete" + }, + "D": { + "item": "minecraft:light_gray_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:light_gray_rebar_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/lime_concrete.json b/build/resources/main/data/tfmg/recipe/crafting/materials/lime_concrete.json new file mode 100644 index 00000000..eb919cf1 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/lime_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:concrete" + }, + "D": { + "item": "minecraft:lime_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:lime_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/lime_multimeter.json b/build/resources/main/data/tfmg/recipe/crafting/materials/lime_multimeter.json new file mode 100644 index 00000000..014b1992 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/lime_multimeter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:multimeter" + }, + { + "item": "minecraft:lime_dye" + } + ], + "result": { + "count": 1, + "id": "tfmg:lime_multimeter" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/lithium_charge.json b/build/resources/main/data/tfmg/recipe/crafting/materials/lithium_charge.json new file mode 100644 index 00000000..f96a13cc --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/lithium_charge.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "tag": "c:plates/aluminum" + }, + "L": { + "tag": "c:ingots/lithium" + }, + "P": { + "item": "tfmg:plastic_sheet" + } + }, + "pattern": [ + " P ", + "LLL", + " A " + ], + "result": { + "count": 1, + "id": "tfmg:lithium_charge" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/lithium_ingot_from_decompacting.json b/build/resources/main/data/tfmg/recipe/crafting/materials/lithium_ingot_from_decompacting.json new file mode 100644 index 00000000..81968bf7 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/lithium_ingot_from_decompacting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:storage_blocks/lithium" + } + ], + "result": { + "count": 9, + "id": "tfmg:lithium_ingot" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/lithium_nugget_from_decompacting.json b/build/resources/main/data/tfmg/recipe/crafting/materials/lithium_nugget_from_decompacting.json new file mode 100644 index 00000000..32896751 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/lithium_nugget_from_decompacting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:ingots/lithium" + } + ], + "result": { + "count": 9, + "id": "tfmg:lithium_nugget" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/nickel_flywheel.json b/build/resources/main/data/tfmg/recipe/crafting/materials/nickel_flywheel.json new file mode 100644 index 00000000..dd13c2d2 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/nickel_flywheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/nickel" + }, + "S": { + "item": "create:shaft" + } + }, + "pattern": [ + "CCC", + "CSC", + "CCC" + ], + "result": { + "count": 1, + "id": "tfmg:nickel_flywheel" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/nickel_ingot_from_compacting.json b/build/resources/main/data/tfmg/recipe/crafting/materials/nickel_ingot_from_compacting.json new file mode 100644 index 00000000..9a8ea11d --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/nickel_ingot_from_compacting.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "tag": "c:nuggets/nickel" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "tfmg:nickel_ingot" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/nickel_nugget_from_decompacting.json b/build/resources/main/data/tfmg/recipe/crafting/materials/nickel_nugget_from_decompacting.json new file mode 100644 index 00000000..03ac075f --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/nickel_nugget_from_decompacting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:ingots/nickel" + } + ], + "result": { + "count": 9, + "id": "tfmg:nickel_nugget" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/oil_hammer.json b/build/resources/main/data/tfmg/recipe/crafting/materials/oil_hammer.json new file mode 100644 index 00000000..45c217d2 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/oil_hammer.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "tag": "c:plates/aluminum" + }, + "O": { + "tag": "c:ingots/steel" + }, + "R": { + "item": "tfmg:rebar" + } + }, + "pattern": [ + "OOA", + " R ", + " R " + ], + "result": { + "count": 1, + "id": "tfmg:oil_hammer" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/orange_multimeter.json b/build/resources/main/data/tfmg/recipe/crafting/materials/orange_multimeter.json new file mode 100644 index 00000000..682964d4 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/orange_multimeter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:multimeter" + }, + { + "item": "minecraft:orange_dye" + } + ], + "result": { + "count": 1, + "id": "tfmg:orange_multimeter" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/pink_concrete.json b/build/resources/main/data/tfmg/recipe/crafting/materials/pink_concrete.json new file mode 100644 index 00000000..61836e71 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/pink_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:concrete" + }, + "D": { + "item": "minecraft:pink_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:pink_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/pumpjack_base.json b/build/resources/main/data/tfmg/recipe/crafting/materials/pumpjack_base.json new file mode 100644 index 00000000..ba6d9141 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/pumpjack_base.json @@ -0,0 +1,33 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:heavy_machinery_casing" + }, + "M": { + "item": "tfmg:steel_mechanism" + }, + "O": { + "item": "tfmg:steel_pipe" + }, + "Q": { + "item": "tfmg:industrial_pipe" + }, + "S": { + "tag": "c:string" + }, + "T": { + "item": "tfmg:steel_fluid_tank" + } + }, + "pattern": [ + "STS", + "MCM", + "OQO" + ], + "result": { + "count": 1, + "id": "tfmg:pumpjack_base" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/pumpjack_hammer.json b/build/resources/main/data/tfmg/recipe/crafting/materials/pumpjack_hammer.json new file mode 100644 index 00000000..7476f8f0 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/pumpjack_hammer.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "R": { + "item": "tfmg:rebar" + }, + "S": { + "tag": "c:ingots/steel" + }, + "T": { + "item": "tfmg:steel_truss" + } + }, + "pattern": [ + "RSR", + "STS", + " T " + ], + "result": { + "count": 1, + "id": "tfmg:pumpjack_hammer" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/purple_rebar_concrete.json b/build/resources/main/data/tfmg/recipe/crafting/materials/purple_rebar_concrete.json new file mode 100644 index 00000000..7468d71f --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/purple_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:rebar_concrete" + }, + "D": { + "item": "minecraft:purple_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:purple_rebar_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/raw_lithium.json b/build/resources/main/data/tfmg/recipe/crafting/materials/raw_lithium.json new file mode 100644 index 00000000..c5ca5059 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/raw_lithium.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:raw_lithium_block" + } + ], + "result": { + "count": 9, + "id": "tfmg:raw_lithium" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/raw_lithium_block.json b/build/resources/main/data/tfmg/recipe/crafting/materials/raw_lithium_block.json new file mode 100644 index 00000000..75c4b321 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/raw_lithium_block.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:raw_lithium" + } + }, + "pattern": [ + "BBB", + "BBB", + "BBB" + ], + "result": { + "count": 1, + "id": "tfmg:raw_lithium_block" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/raw_nickel.json b/build/resources/main/data/tfmg/recipe/crafting/materials/raw_nickel.json new file mode 100644 index 00000000..9ff44cc7 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/raw_nickel.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:raw_nickel_block" + } + ], + "result": { + "count": 9, + "id": "tfmg:raw_nickel" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/rebar.json b/build/resources/main/data/tfmg/recipe/crafting/materials/rebar.json new file mode 100644 index 00000000..8afe2739 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/rebar.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:rebar_pile" + } + ], + "result": { + "count": 9, + "id": "tfmg:rebar" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/rebar_floor.json b/build/resources/main/data/tfmg/recipe/crafting/materials/rebar_floor.json new file mode 100644 index 00000000..acf8df5b --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/rebar_floor.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "O": { + "item": "tfmg:rebar" + } + }, + "pattern": [ + " ", + "OOO", + " " + ], + "result": { + "count": 3, + "id": "tfmg:rebar_floor" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/red_multimeter.json b/build/resources/main/data/tfmg/recipe/crafting/materials/red_multimeter.json new file mode 100644 index 00000000..8359b0fa --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/red_multimeter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:multimeter" + }, + { + "item": "minecraft:red_dye" + } + ], + "result": { + "count": 1, + "id": "tfmg:red_multimeter" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/red_rebar_concrete.json b/build/resources/main/data/tfmg/recipe/crafting/materials/red_rebar_concrete.json new file mode 100644 index 00000000..6f45f3f8 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/red_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:rebar_concrete" + }, + "D": { + "item": "minecraft:red_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:red_rebar_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/regular_engine.json b/build/resources/main/data/tfmg/recipe/crafting/materials/regular_engine.json new file mode 100644 index 00000000..c8283ab5 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/regular_engine.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:heavy_machinery_casing" + }, + "I": { + "item": "tfmg:heavy_plate" + }, + "O": { + "tag": "c:ingots/steel" + } + }, + "pattern": [ + " ", + "OIO", + "ICI" + ], + "result": { + "count": 2, + "id": "tfmg:regular_engine" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/steel_axe.json b/build/resources/main/data/tfmg/recipe/crafting/materials/steel_axe.json new file mode 100644 index 00000000..facb2c01 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/steel_axe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/steel" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + " CC", + " SC", + " S " + ], + "result": { + "count": 1, + "id": "tfmg:steel_axe" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/steel_cable_hub.json b/build/resources/main/data/tfmg/recipe/crafting/materials/steel_cable_hub.json new file mode 100644 index 00000000..c011cdf3 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/steel_cable_hub.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "M": { + "tag": "c:nuggets/steel" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "WWW", + "MMM", + "WWW" + ], + "result": { + "count": 2, + "id": "tfmg:steel_cable_hub" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/steel_chemical_vat.json b/build/resources/main/data/tfmg/recipe/crafting/materials/steel_chemical_vat.json new file mode 100644 index 00000000..fb497129 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/steel_chemical_vat.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:plates/nickel" + }, + "P": { + "item": "tfmg:heavy_plate" + }, + "T": { + "item": "tfmg:steel_fluid_tank" + } + }, + "pattern": [ + "PPP", + "NTN", + "PPP" + ], + "result": { + "count": 2, + "id": "tfmg:steel_chemical_vat" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/steel_flywheel.json b/build/resources/main/data/tfmg/recipe/crafting/materials/steel_flywheel.json new file mode 100644 index 00000000..0acc6fff --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/steel_flywheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:steel_ingot" + }, + "S": { + "item": "create:shaft" + } + }, + "pattern": [ + "CCC", + "CSC", + "CCC" + ], + "result": { + "count": 1, + "id": "tfmg:steel_flywheel" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/steel_hoe.json b/build/resources/main/data/tfmg/recipe/crafting/materials/steel_hoe.json new file mode 100644 index 00000000..b8eaf412 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/steel_hoe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/steel" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "CC ", + "S ", + "S " + ], + "result": { + "count": 1, + "id": "tfmg:steel_hoe" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/steel_ingot_from_decompacting.json b/build/resources/main/data/tfmg/recipe/crafting/materials/steel_ingot_from_decompacting.json new file mode 100644 index 00000000..ba197cb5 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/steel_ingot_from_decompacting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:storage_blocks/steel" + } + ], + "result": { + "count": 9, + "id": "tfmg:steel_ingot" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/steel_shovel.json b/build/resources/main/data/tfmg/recipe/crafting/materials/steel_shovel.json new file mode 100644 index 00000000..a935af8c --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/steel_shovel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/steel" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "C ", + "S ", + "S " + ], + "result": { + "count": 1, + "id": "tfmg:steel_shovel" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/steel_trapdoor.json b/build/resources/main/data/tfmg/recipe/crafting/materials/steel_trapdoor.json new file mode 100644 index 00000000..0d8ccad9 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/steel_trapdoor.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "O": { + "tag": "c:ingots/steel" + } + }, + "pattern": [ + " ", + "OOO", + " " + ], + "result": { + "count": 1, + "id": "tfmg:steel_trapdoor" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/transmission.json b/build/resources/main/data/tfmg/recipe/crafting/materials/transmission.json new file mode 100644 index 00000000..5686eb82 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/transmission.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "tag": "c:plates/aluminum" + }, + "C": { + "item": "tfmg:aluminum_cogwheel" + }, + "M": { + "item": "tfmg:steel_mechanism" + }, + "P": { + "item": "tfmg:plastic_sheet" + } + }, + "pattern": [ + "AAA", + "CPC", + "MMM" + ], + "result": { + "count": 1, + "id": "tfmg:transmission" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/unfinished_electromagnetic_coil.json b/build/resources/main/data/tfmg/recipe/crafting/materials/unfinished_electromagnetic_coil.json new file mode 100644 index 00000000..26605bd8 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/unfinished_electromagnetic_coil.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "M": { + "item": "tfmg:magnetic_alloy_ingot" + }, + "N": { + "tag": "c:nuggets/steel" + } + }, + "pattern": [ + " N ", + " M ", + " N " + ], + "result": { + "count": 2, + "id": "tfmg:unfinished_electromagnetic_coil" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/unfinished_resistor.json b/build/resources/main/data/tfmg/recipe/crafting/materials/unfinished_resistor.json new file mode 100644 index 00000000..287a2c55 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/unfinished_resistor.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "P": { + "item": "tfmg:plastic_sheet" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + " W ", + " P ", + " W " + ], + "result": { + "count": 1, + "id": "tfmg:unfinished_resistor" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/voltmeter.json b/build/resources/main/data/tfmg/recipe/crafting/materials/voltmeter.json new file mode 100644 index 00000000..cde6bd96 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/voltmeter.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "tag": "c:ingots/steel" + }, + "C": { + "item": "minecraft:compass" + }, + "M": { + "item": "tfmg:magnet" + }, + "N": { + "tag": "c:nuggets/steel" + } + }, + "pattern": [ + "NNN", + "NCN", + "AMA" + ], + "result": { + "count": 1, + "id": "tfmg:voltmeter" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/white_rebar_concrete.json b/build/resources/main/data/tfmg/recipe/crafting/materials/white_rebar_concrete.json new file mode 100644 index 00000000..71a2c75a --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/white_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:rebar_concrete" + }, + "D": { + "item": "minecraft:white_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:white_rebar_concrete" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/winding_machine.json b/build/resources/main/data/tfmg/recipe/crafting/materials/winding_machine.json new file mode 100644 index 00000000..1a951a3b --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/winding_machine.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:heavy_machinery_casing" + }, + "I": { + "tag": "c:ingots/steel" + }, + "M": { + "item": "tfmg:steel_mechanism" + }, + "P": { + "item": "tfmg:heavy_plate" + }, + "T": { + "item": "create:shaft" + } + }, + "pattern": [ + " ", + "ITP", + "ICM" + ], + "result": { + "count": 1, + "id": "tfmg:winding_machine" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/crafting/materials/zinc_truss.json b/build/resources/main/data/tfmg/recipe/crafting/materials/zinc_truss.json new file mode 100644 index 00000000..9032bf92 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/crafting/materials/zinc_truss.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:nuggets/zinc" + } + }, + "pattern": [ + "N N", + "NNN", + "N N" + ], + "result": { + "count": 4, + "id": "tfmg:zinc_truss" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/cut_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json b/build/resources/main/data/tfmg/recipe/cut_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..04124bd7 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/cut_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 2, + "id": "tfmg:cut_bauxite_brick_slab" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/cut_bauxite_brick_slab_recycling.json b/build/resources/main/data/tfmg/recipe/cut_bauxite_brick_slab_recycling.json new file mode 100644 index 00000000..5365620a --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/cut_bauxite_brick_slab_recycling.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "tfmg:cut_bauxite_brick_slab" + }, + { + "item": "tfmg:cut_bauxite_brick_slab" + } + ], + "result": { + "count": 1, + "id": "tfmg:cut_bauxite_bricks" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/cut_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json b/build/resources/main/data/tfmg/recipe/cut_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..2c515e93 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/cut_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 1, + "id": "tfmg:cut_bauxite_brick_stairs" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/cut_bauxite_brick_wall_from_stone_types_bauxite_stonecutting.json b/build/resources/main/data/tfmg/recipe/cut_bauxite_brick_wall_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..67cfd8ff --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/cut_bauxite_brick_wall_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 1, + "id": "tfmg:cut_bauxite_brick_wall" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/cut_bauxite_bricks_from_stone_types_bauxite_stonecutting.json b/build/resources/main/data/tfmg/recipe/cut_bauxite_bricks_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..956975e5 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/cut_bauxite_bricks_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 1, + "id": "tfmg:cut_bauxite_bricks" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/cut_bauxite_from_stone_types_bauxite_stonecutting.json b/build/resources/main/data/tfmg/recipe/cut_bauxite_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..25a927fa --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/cut_bauxite_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 1, + "id": "tfmg:cut_bauxite" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/cut_bauxite_wall.json b/build/resources/main/data/tfmg/recipe/cut_bauxite_wall.json new file mode 100644 index 00000000..5e2d5e46 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/cut_bauxite_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "X": { + "item": "tfmg:cut_bauxite" + } + }, + "pattern": [ + "XXX", + "XXX" + ], + "result": { + "count": 6, + "id": "tfmg:cut_bauxite_wall" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/cut_galena_brick_stairs_from_stone_types_galena_stonecutting.json b/build/resources/main/data/tfmg/recipe/cut_galena_brick_stairs_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..d7884fdb --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/cut_galena_brick_stairs_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 1, + "id": "tfmg:cut_galena_brick_stairs" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/cut_galena_bricks_from_stone_types_galena_stonecutting.json b/build/resources/main/data/tfmg/recipe/cut_galena_bricks_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..c86a6266 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/cut_galena_bricks_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 1, + "id": "tfmg:cut_galena_bricks" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/cut_galena_slab_recycling.json b/build/resources/main/data/tfmg/recipe/cut_galena_slab_recycling.json new file mode 100644 index 00000000..0e5aa757 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/cut_galena_slab_recycling.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "tfmg:cut_galena_slab" + }, + { + "item": "tfmg:cut_galena_slab" + } + ], + "result": { + "count": 1, + "id": "tfmg:cut_galena" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/cut_galena_wall_from_stone_types_galena_stonecutting.json b/build/resources/main/data/tfmg/recipe/cut_galena_wall_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..1b127830 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/cut_galena_wall_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 1, + "id": "tfmg:cut_galena_wall" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/cyan_concrete_slab_from_cyan_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/cyan_concrete_slab_from_cyan_concrete_stonecutting.json new file mode 100644 index 00000000..7499a58e --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/cyan_concrete_slab_from_cyan_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:cyan_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:cyan_concrete_slab" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/cyan_concrete_stairs_from_cyan_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/cyan_concrete_stairs_from_cyan_concrete_stonecutting.json new file mode 100644 index 00000000..38207e6e --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/cyan_concrete_stairs_from_cyan_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:cyan_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:cyan_concrete_stairs" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/cyan_rebar_concrete_slab_from_cyan_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/cyan_rebar_concrete_slab_from_cyan_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..fe1d4ced --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/cyan_rebar_concrete_slab_from_cyan_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:cyan_rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:cyan_rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/cyan_rebar_concrete_stairs_from_cyan_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/cyan_rebar_concrete_stairs_from_cyan_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..aa9130c9 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/cyan_rebar_concrete_stairs_from_cyan_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:cyan_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:cyan_rebar_concrete_stairs" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/distillation/crude_oil.json b/build/resources/main/data/tfmg/recipe/distillation/crude_oil.json new file mode 100644 index 00000000..3398a02c --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/distillation/crude_oil.json @@ -0,0 +1,36 @@ +{ + "type": "create:distillation", + "ingredients": [ + { + "type": "fluid_stack", + "amount": 340, + "fluid": "tfmg:crude_oil" + } + ], + "results": [ + { + "amount": 120, + "id": "tfmg:heavy_oil" + }, + { + "amount": 60, + "id": "tfmg:diesel" + }, + { + "amount": 30, + "id": "tfmg:kerosene" + }, + { + "amount": 10, + "id": "tfmg:naphtha" + }, + { + "amount": 60, + "id": "tfmg:gasoline" + }, + { + "amount": 60, + "id": "tfmg:lpg" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/distillation/heavy_oil.json b/build/resources/main/data/tfmg/recipe/distillation/heavy_oil.json new file mode 100644 index 00000000..c8d9bc19 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/distillation/heavy_oil.json @@ -0,0 +1,32 @@ +{ + "type": "create:distillation", + "ingredients": [ + { + "type": "fluid_stack", + "amount": 200, + "fluid": "tfmg:heavy_oil" + } + ], + "results": [ + { + "amount": 100, + "id": "tfmg:heavy_oil" + }, + { + "amount": 25, + "id": "tfmg:lubrication_oil" + }, + { + "amount": 50, + "id": "tfmg:diesel" + }, + { + "amount": 20, + "id": "tfmg:kerosene" + }, + { + "amount": 5, + "id": "tfmg:naphtha" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/engine_cylinder.json b/build/resources/main/data/tfmg/recipe/engine_cylinder.json new file mode 100644 index 00000000..ba631548 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/engine_cylinder.json @@ -0,0 +1,26 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "P": { + "tag": "c:plates/aluminum" + } + }, + "pattern": [ + " ", + "P P", + "P P" + ], + "result": { + "count": 1, + "id": "tfmg:diesel_engine_cylinder", + "components": { + "tfmg:fuel_tags": { + "diesel": "c:diesel" + }, + "tfmg:fuels": { + "diesel": "fluid.tfmg.diesel" + } + } + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/engine_cylinder_gas.json b/build/resources/main/data/tfmg/recipe/engine_cylinder_gas.json new file mode 100644 index 00000000..31460ac5 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/engine_cylinder_gas.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:engine_cylinder" + }, + "B": { + "item": "tfmg:brass_pipe" + } + }, + "pattern": [ + " ", + " C ", + " B " + ], + "result": { + "count": 1, + "id": "tfmg:engine_cylinder", + "components": { + "tfmg:fuel_tags": { + "lpg": "c:lpg" + }, + "tfmg:fuels": { + "lpg": "LPG" + } + } + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/filling/hardened_planks.json b/build/resources/main/data/tfmg/recipe/filling/hardened_planks.json new file mode 100644 index 00000000..6b73f87b --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/filling/hardened_planks.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "tag": "minecraft:planks" + }, + { + "type": "fluid_stack", + "amount": 250, + "fluid": "tfmg:creosote" + } + ], + "results": [ + { + "id": "tfmg:hardened_planks" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/filling/hot_air_tank.json b/build/resources/main/data/tfmg/recipe/filling/hot_air_tank.json new file mode 100644 index 00000000..910033e7 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/filling/hot_air_tank.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "minecraft:bucket" + }, + { + "type": "fluid_stack", + "amount": 1000, + "fluid": "tfmg:hot_air" + } + ], + "results": [ + { + "id": "tfmg:hot_air_bucket" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/galena_from_stone_types_galena_stonecutting.json b/build/resources/main/data/tfmg/recipe/galena_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..6ea5ad13 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/galena_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 1, + "id": "tfmg:galena" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/galena_pillar_from_stone_types_galena_stonecutting.json b/build/resources/main/data/tfmg/recipe/galena_pillar_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..8d77acde --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/galena_pillar_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 1, + "id": "tfmg:galena_pillar" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/graphite_electrode_from_storage_blocks_coal_coke_stonecutting.json b/build/resources/main/data/tfmg/recipe/graphite_electrode_from_storage_blocks_coal_coke_stonecutting.json new file mode 100644 index 00000000..ec454421 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/graphite_electrode_from_storage_blocks_coal_coke_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:storage_blocks/coal_coke" + }, + "result": { + "count": 1, + "id": "tfmg:graphite_electrode" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/gray_concrete_stairs_from_gray_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/gray_concrete_stairs_from_gray_concrete_stonecutting.json new file mode 100644 index 00000000..738376c7 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/gray_concrete_stairs_from_gray_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:gray_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:gray_concrete_stairs" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/industrial_blasting/silicon.json b/build/resources/main/data/tfmg/recipe/industrial_blasting/silicon.json new file mode 100644 index 00000000..2cd2e88a --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/industrial_blasting/silicon.json @@ -0,0 +1,15 @@ +{ + "type": "create:industrial_blasting", + "ingredients": [ + { + "item": "minecraft:quartz" + } + ], + "processing_time": 5, + "results": [ + { + "amount": 40, + "id": "tfmg:liquid_silicon" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/industrial_blasting/steel.json b/build/resources/main/data/tfmg/recipe/industrial_blasting/steel.json new file mode 100644 index 00000000..d970a663 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/industrial_blasting/steel.json @@ -0,0 +1,27 @@ +{ + "type": "create:industrial_blasting", + "hot_air_usage": 20, + "ingredients": [ + { + "item": "create:crushed_raw_iron" + }, + { + "tag": "tfmg:flux" + } + ], + "processing_time": 20, + "results": [ + { + "amount": 144, + "id": "tfmg:molten_steel" + }, + { + "amount": 144, + "id": "tfmg:molten_slag" + }, + { + "amount": 200, + "id": "tfmg:furnace_gas" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/industrial_pipe_from_ingots_steel_stonecutting.json b/build/resources/main/data/tfmg/recipe/industrial_pipe_from_ingots_steel_stonecutting.json new file mode 100644 index 00000000..f44ab474 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/industrial_pipe_from_ingots_steel_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/steel" + }, + "result": { + "count": 8, + "id": "tfmg:industrial_pipe" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/item_application/steel_casing.json b/build/resources/main/data/tfmg/recipe/item_application/steel_casing.json new file mode 100644 index 00000000..c980a1a5 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/item_application/steel_casing.json @@ -0,0 +1,16 @@ +{ + "type": "create:item_application", + "ingredients": [ + { + "item": "tfmg:hardened_planks" + }, + { + "tag": "c:ingots/steel" + } + ], + "results": [ + { + "id": "tfmg:steel_casing" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/light_blue_rebar_concrete_stairs_from_light_blue_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/light_blue_rebar_concrete_stairs_from_light_blue_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..bb1d345e --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/light_blue_rebar_concrete_stairs_from_light_blue_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:light_blue_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:light_blue_rebar_concrete_stairs" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json new file mode 100644 index 00000000..3fe51f45 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:light_gray_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:light_gray_concrete_stairs" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/light_gray_rebar_concrete_stairs_from_light_gray_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/light_gray_rebar_concrete_stairs_from_light_gray_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..37e8f974 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/light_gray_rebar_concrete_stairs_from_light_gray_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:light_gray_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:light_gray_rebar_concrete_stairs" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/lime_caution_block_from_ingots_aluminum_stonecutting.json b/build/resources/main/data/tfmg/recipe/lime_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..9df036e3 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/lime_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:lime_caution_block" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/lime_concrete_stairs_from_lime_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/lime_concrete_stairs_from_lime_concrete_stonecutting.json new file mode 100644 index 00000000..6bccc341 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/lime_concrete_stairs_from_lime_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:lime_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:lime_concrete_stairs" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/magenta_caution_block_from_ingots_aluminum_stonecutting.json b/build/resources/main/data/tfmg/recipe/magenta_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..990a4494 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/magenta_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:magenta_caution_block" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/magenta_concrete_slab_from_magenta_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/magenta_concrete_slab_from_magenta_concrete_stonecutting.json new file mode 100644 index 00000000..37c6e808 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/magenta_concrete_slab_from_magenta_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:magenta_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:magenta_concrete_slab" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/magenta_concrete_stairs_from_magenta_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/magenta_concrete_stairs_from_magenta_concrete_stonecutting.json new file mode 100644 index 00000000..2b93628f --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/magenta_concrete_stairs_from_magenta_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:magenta_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:magenta_concrete_stairs" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/magenta_rebar_concrete_slab_from_magenta_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/magenta_rebar_concrete_slab_from_magenta_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..69f08947 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/magenta_rebar_concrete_slab_from_magenta_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:magenta_rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:magenta_rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/magenta_rebar_concrete_stairs_from_magenta_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/magenta_rebar_concrete_stairs_from_magenta_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..5e9dab13 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/magenta_rebar_concrete_stairs_from_magenta_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:magenta_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:magenta_rebar_concrete_stairs" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/mechanical_crafting/quad_potato_cannon.json b/build/resources/main/data/tfmg/recipe/mechanical_crafting/quad_potato_cannon.json new file mode 100644 index 00000000..5c7eb523 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/mechanical_crafting/quad_potato_cannon.json @@ -0,0 +1,29 @@ +{ + "type": "create:mechanical_crafting", + "accept_mirrored": false, + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/cast_iron" + }, + "M": { + "item": "tfmg:steel_mechanism" + }, + "O": { + "tag": "c:ingots/steel" + }, + "P": { + "item": "tfmg:steel_pipe" + } + }, + "pattern": [ + "PMPC", + "PMPC", + " O " + ], + "result": { + "count": 1, + "id": "tfmg:quad_potato_cannon" + }, + "show_notification": false +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/mechanical_crafting/simple_large_engine.json b/build/resources/main/data/tfmg/recipe/mechanical_crafting/simple_large_engine.json new file mode 100644 index 00000000..e29887fc --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/mechanical_crafting/simple_large_engine.json @@ -0,0 +1,27 @@ +{ + "type": "create:mechanical_crafting", + "accept_mirrored": false, + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/cast_iron" + }, + "M": { + "item": "create:precision_mechanism" + }, + "O": { + "tag": "c:plates/steel" + } + }, + "pattern": [ + "CCC", + "OCO", + "OMO", + "OCO" + ], + "result": { + "count": 1, + "id": "tfmg:simple_large_engine" + }, + "show_notification": false +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/mixing/asphalt_mixture_from_slag.json b/build/resources/main/data/tfmg/recipe/mixing/asphalt_mixture_from_slag.json new file mode 100644 index 00000000..d1541026 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/mixing/asphalt_mixture_from_slag.json @@ -0,0 +1,20 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "item": "tfmg:slag" + }, + { + "item": "tfmg:bitumen" + }, + { + "item": "minecraft:gravel" + } + ], + "results": [ + { + "count": 32, + "id": "tfmg:asphalt_mixture" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/mixing/cement.json b/build/resources/main/data/tfmg/recipe/mixing/cement.json new file mode 100644 index 00000000..2cf4bcb1 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/mixing/cement.json @@ -0,0 +1,17 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "item": "minecraft:clay_ball" + }, + { + "item": "tfmg:limesand" + } + ], + "results": [ + { + "count": 4, + "id": "tfmg:cement" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/mixing/concrete_mixture_from_slag.json b/build/resources/main/data/tfmg/recipe/mixing/concrete_mixture_from_slag.json new file mode 100644 index 00000000..8cbd3bad --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/mixing/concrete_mixture_from_slag.json @@ -0,0 +1,20 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "item": "tfmg:slag" + }, + { + "item": "tfmg:cement" + }, + { + "item": "minecraft:gravel" + } + ], + "results": [ + { + "count": 32, + "id": "tfmg:concrete_mixture" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/mixing/constantan.json b/build/resources/main/data/tfmg/recipe/mixing/constantan.json new file mode 100644 index 00000000..e52e4802 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/mixing/constantan.json @@ -0,0 +1,18 @@ +{ + "type": "create:mixing", + "heat_requirement": "heated", + "ingredients": [ + { + "item": "minecraft:copper_ingot" + }, + { + "tag": "c:ingots/nickel" + } + ], + "results": [ + { + "count": 2, + "id": "tfmg:constantan_ingot" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/mixing/gunpowder.json b/build/resources/main/data/tfmg/recipe/mixing/gunpowder.json new file mode 100644 index 00000000..35febc5b --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/mixing/gunpowder.json @@ -0,0 +1,29 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "item": "tfmg:nitrate_dust" + }, + { + "item": "tfmg:nitrate_dust" + }, + { + "item": "tfmg:nitrate_dust" + }, + { + "item": "minecraft:charcoal" + }, + { + "item": "minecraft:charcoal" + }, + { + "item": "tfmg:sulfur_dust" + } + ], + "results": [ + { + "count": 3, + "id": "minecraft:gunpowder" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/mixing/liquid_asphalt.json b/build/resources/main/data/tfmg/recipe/mixing/liquid_asphalt.json new file mode 100644 index 00000000..caf942a9 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/mixing/liquid_asphalt.json @@ -0,0 +1,19 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "item": "tfmg:asphalt_mixture" + }, + { + "type": "fluid_stack", + "amount": 250, + "fluid": "minecraft:water" + } + ], + "results": [ + { + "amount": 1000, + "id": "tfmg:liquid_asphalt" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/mixing/liquid_concrete.json b/build/resources/main/data/tfmg/recipe/mixing/liquid_concrete.json new file mode 100644 index 00000000..5296efe9 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/mixing/liquid_concrete.json @@ -0,0 +1,19 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "item": "tfmg:concrete_mixture" + }, + { + "type": "fluid_stack", + "amount": 250, + "fluid": "minecraft:water" + } + ], + "results": [ + { + "amount": 1000, + "id": "tfmg:liquid_concrete" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/mixing/magnetic_alloy.json b/build/resources/main/data/tfmg/recipe/mixing/magnetic_alloy.json new file mode 100644 index 00000000..1771d0e3 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/mixing/magnetic_alloy.json @@ -0,0 +1,28 @@ +{ + "type": "create:mixing", + "heat_requirement": "heated", + "ingredients": [ + { + "tag": "c:ingots/nickel" + }, + { + "tag": "c:ingots/nickel" + }, + { + "item": "tfmg:silicon_ingot" + }, + { + "tag": "c:ingots/steel" + }, + { + "tag": "c:ingots/steel" + } + ], + "processing_time": 300, + "results": [ + { + "count": 2, + "id": "tfmg:magnetic_alloy_ingot" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/nickel_bars_from_ingots_nickel_stonecutting.json b/build/resources/main/data/tfmg/recipe/nickel_bars_from_ingots_nickel_stonecutting.json new file mode 100644 index 00000000..911f52d8 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/nickel_bars_from_ingots_nickel_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/nickel" + }, + "result": { + "count": 4, + "id": "tfmg:nickel_bars" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/orange_concrete_stairs_from_orange_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/orange_concrete_stairs_from_orange_concrete_stonecutting.json new file mode 100644 index 00000000..0bf8c62e --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/orange_concrete_stairs_from_orange_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:orange_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:orange_concrete_stairs" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/orange_rebar_concrete_slab_from_orange_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/orange_rebar_concrete_slab_from_orange_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..32433358 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/orange_rebar_concrete_slab_from_orange_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:orange_rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:orange_rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/orange_rebar_concrete_stairs_from_orange_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/orange_rebar_concrete_stairs_from_orange_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..98f7db46 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/orange_rebar_concrete_stairs_from_orange_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:orange_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:orange_rebar_concrete_stairs" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/pink_caution_block_from_ingots_aluminum_stonecutting.json b/build/resources/main/data/tfmg/recipe/pink_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..0d5edd78 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/pink_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:pink_caution_block" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/pink_concrete_stairs_from_pink_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/pink_concrete_stairs_from_pink_concrete_stonecutting.json new file mode 100644 index 00000000..a6574c0b --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/pink_concrete_stairs_from_pink_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:pink_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:pink_concrete_stairs" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/pink_concrete_wall_from_pink_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/pink_concrete_wall_from_pink_concrete_stonecutting.json new file mode 100644 index 00000000..7a7b9abe --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/pink_concrete_wall_from_pink_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:pink_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:pink_concrete_wall" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/pink_rebar_concrete_slab_from_pink_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/pink_rebar_concrete_slab_from_pink_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..79bc8bc9 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/pink_rebar_concrete_slab_from_pink_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:pink_rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:pink_rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/pink_rebar_concrete_wall_from_pink_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/pink_rebar_concrete_wall_from_pink_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..ce68098b --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/pink_rebar_concrete_wall_from_pink_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:pink_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:pink_rebar_concrete_wall" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/polarizing/magnet.json b/build/resources/main/data/tfmg/recipe/polarizing/magnet.json new file mode 100644 index 00000000..b7149a2c --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/polarizing/magnet.json @@ -0,0 +1,13 @@ +{ + "type": "create:polarizing", + "ingredients": [ + { + "item": "tfmg:magnetic_alloy_ingot" + } + ], + "results": [ + { + "id": "tfmg:magnet" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/polished_cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json b/build/resources/main/data/tfmg/recipe/polished_cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..c5463bc2 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/polished_cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 1, + "id": "tfmg:polished_cut_bauxite_stairs" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/polished_cut_bauxite_wall.json b/build/resources/main/data/tfmg/recipe/polished_cut_bauxite_wall.json new file mode 100644 index 00000000..e64ed87b --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/polished_cut_bauxite_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "X": { + "item": "tfmg:polished_cut_bauxite" + } + }, + "pattern": [ + "XXX", + "XXX" + ], + "result": { + "count": 6, + "id": "tfmg:polished_cut_bauxite_wall" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/polished_cut_galena_slab_from_stone_types_galena_stonecutting.json b/build/resources/main/data/tfmg/recipe/polished_cut_galena_slab_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..5dd8c6d1 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/polished_cut_galena_slab_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 2, + "id": "tfmg:polished_cut_galena_slab" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/polished_cut_galena_slab_recycling.json b/build/resources/main/data/tfmg/recipe/polished_cut_galena_slab_recycling.json new file mode 100644 index 00000000..802b0a4a --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/polished_cut_galena_slab_recycling.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "tfmg:polished_cut_galena_slab" + }, + { + "item": "tfmg:polished_cut_galena_slab" + } + ], + "result": { + "count": 1, + "id": "tfmg:polished_cut_galena" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/polished_cut_galena_wall.json b/build/resources/main/data/tfmg/recipe/polished_cut_galena_wall.json new file mode 100644 index 00000000..7401be1e --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/polished_cut_galena_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "X": { + "item": "tfmg:polished_cut_galena" + } + }, + "pattern": [ + "XXX", + "XXX" + ], + "result": { + "count": 6, + "id": "tfmg:polished_cut_galena_wall" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/pressing/aluminum_ingot.json b/build/resources/main/data/tfmg/recipe/pressing/aluminum_ingot.json new file mode 100644 index 00000000..320e8b32 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/pressing/aluminum_ingot.json @@ -0,0 +1,13 @@ +{ + "type": "create:pressing", + "ingredients": [ + { + "tag": "c:ingots/aluminum" + } + ], + "results": [ + { + "id": "tfmg:aluminum_sheet" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/pressing/lead_ingot.json b/build/resources/main/data/tfmg/recipe/pressing/lead_ingot.json new file mode 100644 index 00000000..371b2a2a --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/pressing/lead_ingot.json @@ -0,0 +1,13 @@ +{ + "type": "create:pressing", + "ingredients": [ + { + "tag": "c:ingots/lead" + } + ], + "results": [ + { + "id": "tfmg:lead_sheet" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/pressing/nickel_ingot.json b/build/resources/main/data/tfmg/recipe/pressing/nickel_ingot.json new file mode 100644 index 00000000..adf97f7d --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/pressing/nickel_ingot.json @@ -0,0 +1,13 @@ +{ + "type": "create:pressing", + "ingredients": [ + { + "tag": "c:ingots/nickel" + } + ], + "results": [ + { + "id": "tfmg:nickel_sheet" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/pumpjack_hammer_part_from_storage_blocks_steel_stonecutting.json b/build/resources/main/data/tfmg/recipe/pumpjack_hammer_part_from_storage_blocks_steel_stonecutting.json new file mode 100644 index 00000000..c77e448b --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/pumpjack_hammer_part_from_storage_blocks_steel_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:storage_blocks/steel" + }, + "result": { + "count": 2, + "id": "tfmg:pumpjack_hammer_part" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/purple_concrete_stairs_from_purple_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/purple_concrete_stairs_from_purple_concrete_stonecutting.json new file mode 100644 index 00000000..7c1aabc2 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/purple_concrete_stairs_from_purple_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:purple_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:purple_concrete_stairs" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/red_caution_block_from_ingots_aluminum_stonecutting.json b/build/resources/main/data/tfmg/recipe/red_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..fe109042 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/red_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:red_caution_block" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/red_rebar_concrete_slab_from_red_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/red_rebar_concrete_slab_from_red_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..cc4fd7cf --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/red_rebar_concrete_slab_from_red_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:red_rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:red_rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/screw_from_ingots_steel_stonecutting.json b/build/resources/main/data/tfmg/recipe/screw_from_ingots_steel_stonecutting.json new file mode 100644 index 00000000..4d85c043 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/screw_from_ingots_steel_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/steel" + }, + "result": { + "count": 4, + "id": "tfmg:screw" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/sequenced_assembly/potentiometer.json b/build/resources/main/data/tfmg/recipe/sequenced_assembly/potentiometer.json new file mode 100644 index 00000000..e60a09f4 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/sequenced_assembly/potentiometer.json @@ -0,0 +1,97 @@ +{ + "type": "create:sequenced_assembly", + "ingredient": { + "item": "tfmg:heavy_machinery_casing" + }, + "loops": 3, + "results": [ + { + "chance": 120.0, + "id": "tfmg:potentiometer" + }, + { + "chance": 8.0, + "id": "tfmg:steel_casing" + }, + { + "chance": 8.0, + "id": "tfmg:steel_cogwheel" + }, + { + "chance": 8.0, + "id": "tfmg:electric_post" + } + ], + "sequence": [ + { + "type": "create:winding", + "ingredients": [ + { + "item": "tfmg:unfinished_potentiometer" + }, + { + "item": "tfmg:constantan_spool" + } + ], + "processing_time": 100, + "results": [ + { + "id": "tfmg:unfinished_potentiometer" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_potentiometer" + }, + { + "item": "tfmg:steel_cogwheel" + } + ], + "results": [ + { + "id": "tfmg:unfinished_potentiometer" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_potentiometer" + }, + { + "item": "tfmg:copper_wire" + } + ], + "results": [ + { + "id": "tfmg:unfinished_potentiometer" + } + ] + }, + { + "type": "create:filling", + "ingredients": [ + { + "item": "tfmg:unfinished_potentiometer" + }, + { + "type": "fluid_stack", + "amount": 50, + "fluid": "tfmg:lubrication_oil" + } + ], + "results": [ + { + "id": "tfmg:unfinished_potentiometer" + } + ] + } + ], + "transitional_item": { + "id": "tfmg:unfinished_potentiometer" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/sequenced_assembly/transistor.json b/build/resources/main/data/tfmg/recipe/sequenced_assembly/transistor.json new file mode 100644 index 00000000..e63179b3 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/sequenced_assembly/transistor.json @@ -0,0 +1,95 @@ +{ + "type": "create:sequenced_assembly", + "ingredient": { + "item": "tfmg:plastic_sheet" + }, + "loops": 1, + "results": [ + { + "chance": 120.0, + "count": 4, + "id": "tfmg:transistor_item" + }, + { + "chance": 8.0, + "id": "tfmg:silicon_ingot" + }, + { + "chance": 8.0, + "id": "tfmg:p_semiconductor" + }, + { + "chance": 8.0, + "id": "tfmg:n_semiconductor" + } + ], + "sequence": [ + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_transistor" + }, + { + "tag": "c:wires/copper" + } + ], + "results": [ + { + "id": "tfmg:unfinished_transistor" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_transistor" + }, + { + "item": "tfmg:n_semiconductor" + } + ], + "results": [ + { + "id": "tfmg:unfinished_transistor" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_transistor" + }, + { + "item": "tfmg:p_semiconductor" + } + ], + "results": [ + { + "id": "tfmg:unfinished_transistor" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_transistor" + }, + { + "item": "tfmg:n_semiconductor" + } + ], + "results": [ + { + "id": "tfmg:unfinished_transistor" + } + ] + } + ], + "transitional_item": { + "id": "tfmg:unfinished_transistor" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/sequenced_assembly/unfinished_circuit_board.json b/build/resources/main/data/tfmg/recipe/sequenced_assembly/unfinished_circuit_board.json new file mode 100644 index 00000000..b9a08282 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/sequenced_assembly/unfinished_circuit_board.json @@ -0,0 +1,81 @@ +{ + "type": "create:sequenced_assembly", + "ingredient": { + "item": "tfmg:etched_circuit_board" + }, + "loops": 4, + "results": [ + { + "id": "tfmg:circuit_board" + } + ], + "sequence": [ + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_circuit_board" + }, + { + "item": "tfmg:capacitor_item" + } + ], + "results": [ + { + "id": "tfmg:unfinished_circuit_board" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_circuit_board" + }, + { + "item": "tfmg:resistor" + } + ], + "results": [ + { + "id": "tfmg:unfinished_circuit_board" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_circuit_board" + }, + { + "item": "tfmg:transistor_item" + } + ], + "results": [ + { + "id": "tfmg:unfinished_circuit_board" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_circuit_board" + }, + { + "item": "tfmg:resistor" + } + ], + "results": [ + { + "id": "tfmg:unfinished_circuit_board" + } + ] + } + ], + "transitional_item": { + "id": "tfmg:unfinished_circuit_board" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/slag_bricks_from_slag_block_stonecutting.json b/build/resources/main/data/tfmg/recipe/slag_bricks_from_slag_block_stonecutting.json new file mode 100644 index 00000000..9bdfebdf --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/slag_bricks_from_slag_block_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:slag_block" + }, + "result": { + "count": 4, + "id": "tfmg:slag_bricks" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/small_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json b/build/resources/main/data/tfmg/recipe/small_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..9884a4f6 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/small_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 2, + "id": "tfmg:small_bauxite_brick_slab" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/small_galena_brick_slab.json b/build/resources/main/data/tfmg/recipe/small_galena_brick_slab.json new file mode 100644 index 00000000..c4bd2be6 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/small_galena_brick_slab.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "small_galena_brick_slab", + "key": { + "X": { + "item": "tfmg:small_galena_bricks" + } + }, + "pattern": [ + "XXX" + ], + "result": { + "count": 6, + "id": "tfmg:small_galena_brick_slab" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/small_galena_brick_slab_recycling.json b/build/resources/main/data/tfmg/recipe/small_galena_brick_slab_recycling.json new file mode 100644 index 00000000..81b37a5d --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/small_galena_brick_slab_recycling.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "tfmg:small_galena_brick_slab" + }, + { + "item": "tfmg:small_galena_brick_slab" + } + ], + "result": { + "count": 1, + "id": "tfmg:small_galena_bricks" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/small_galena_brick_wall_from_stone_types_galena_stonecutting.json b/build/resources/main/data/tfmg/recipe/small_galena_brick_wall_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..c0c92007 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/small_galena_brick_wall_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 1, + "id": "tfmg:small_galena_brick_wall" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/smelting/lead_ingot_blasting.json b/build/resources/main/data/tfmg/recipe/smelting/lead_ingot_blasting.json new file mode 100644 index 00000000..a0fe4eff --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/smelting/lead_ingot_blasting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.0, + "ingredient": { + "item": "tfmg:raw_lead" + }, + "result": { + "count": 1, + "id": "tfmg:lead_ingot" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/smelting/lithium_ingot_blasting.json b/build/resources/main/data/tfmg/recipe/smelting/lithium_ingot_blasting.json new file mode 100644 index 00000000..2f0da1c4 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/smelting/lithium_ingot_blasting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.0, + "ingredient": { + "item": "tfmg:raw_lithium" + }, + "result": { + "count": 1, + "id": "tfmg:lithium_ingot" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/smelting/unfinished_insulator.json b/build/resources/main/data/tfmg/recipe/smelting/unfinished_insulator.json new file mode 100644 index 00000000..6c42c312 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/smelting/unfinished_insulator.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.0, + "ingredient": { + "item": "tfmg:unfired_insulator" + }, + "result": { + "count": 1, + "id": "tfmg:unfinished_insulator" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/steel_scaffolding_from_ingots_steel_stonecutting.json b/build/resources/main/data/tfmg/recipe/steel_scaffolding_from_ingots_steel_stonecutting.json new file mode 100644 index 00000000..190982ca --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/steel_scaffolding_from_ingots_steel_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/steel" + }, + "result": { + "count": 2, + "id": "tfmg:steel_scaffolding" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/synthetic_string_from_ingots_rubber_stonecutting.json b/build/resources/main/data/tfmg/recipe/synthetic_string_from_ingots_rubber_stonecutting.json new file mode 100644 index 00000000..7434d6d9 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/synthetic_string_from_ingots_rubber_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/rubber" + }, + "result": { + "count": 4, + "id": "tfmg:synthetic_string" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/vat_machine_recipe/aluminum.json b/build/resources/main/data/tfmg/recipe/vat_machine_recipe/aluminum.json new file mode 100644 index 00000000..c4caf1d2 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/vat_machine_recipe/aluminum.json @@ -0,0 +1,47 @@ +{ + "type": "create:vat_machine_recipe", + "allowed_vat_types": [ + "tfmg:steel_vat", + "tfmg:firebrick_lined_vat" + ], + "heat_requirement": "heated", + "ingredients": [ + { + "item": "tfmg:bauxite_powder" + }, + { + "item": "tfmg:bauxite_powder" + }, + { + "item": "tfmg:bauxite_powder" + }, + { + "item": "tfmg:bauxite_powder" + } + ], + "machines": [ + "tfmg:electrode", + "tfmg:electrode" + ], + "min_size": 1, + "processing_time": 100, + "results": [ + { + "id": "tfmg:aluminum_ingot" + }, + { + "chance": 0.5, + "count": 4, + "id": "tfmg:aluminum_nugget" + }, + { + "chance": 0.25, + "count": 2, + "id": "tfmg:aluminum_nugget" + }, + { + "amount": 500, + "id": "tfmg:carbon_dioxide" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/winding/electromagnetic_coil.json b/build/resources/main/data/tfmg/recipe/winding/electromagnetic_coil.json new file mode 100644 index 00000000..a3cad6b8 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/winding/electromagnetic_coil.json @@ -0,0 +1,20 @@ +{ + "type": "create:winding", + "ingredients": [ + { + "item": "tfmg:unfinished_electromagnetic_coil" + }, + { + "item": "tfmg:copper_spool" + } + ], + "processing_time": 100, + "results": [ + { + "components": { + "tfmg:coil_turns": 100 + }, + "id": "tfmg:electromagnetic_coil" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/winding/resistor.json b/build/resources/main/data/tfmg/recipe/winding/resistor.json new file mode 100644 index 00000000..010b0c76 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/winding/resistor.json @@ -0,0 +1,20 @@ +{ + "type": "create:winding", + "ingredients": [ + { + "item": "tfmg:unfinished_resistor" + }, + { + "item": "tfmg:constantan_spool" + } + ], + "processing_time": 50, + "results": [ + { + "components": { + "tfmg:resistance": 10 + }, + "id": "tfmg:resistor" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/yellow_concrete_wall_from_yellow_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/yellow_concrete_wall_from_yellow_concrete_stonecutting.json new file mode 100644 index 00000000..827189a6 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/yellow_concrete_wall_from_yellow_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:yellow_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:yellow_concrete_wall" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/yellow_rebar_concrete_slab_from_yellow_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/yellow_rebar_concrete_slab_from_yellow_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..b6b616cc --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/yellow_rebar_concrete_slab_from_yellow_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:yellow_rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:yellow_rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/recipe/yellow_rebar_concrete_wall_from_yellow_rebar_concrete_stonecutting.json b/build/resources/main/data/tfmg/recipe/yellow_rebar_concrete_wall_from_yellow_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..aa12c4a4 --- /dev/null +++ b/build/resources/main/data/tfmg/recipe/yellow_rebar_concrete_wall_from_yellow_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:yellow_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:yellow_rebar_concrete_wall" + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/tags/block/blast_furnace_wall.json b/build/resources/main/data/tfmg/tags/block/blast_furnace_wall.json new file mode 100644 index 00000000..a989ac25 --- /dev/null +++ b/build/resources/main/data/tfmg/tags/block/blast_furnace_wall.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:blast_furnace_hatch", + "tfmg:fireproof_bricks" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/tags/block/pumpjack_connector.json b/build/resources/main/data/tfmg/tags/block/pumpjack_connector.json new file mode 100644 index 00000000..6c9720a8 --- /dev/null +++ b/build/resources/main/data/tfmg/tags/block/pumpjack_connector.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:pumpjack_hammer_connector", + "tfmg:large_pumpjack_hammer_connector" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/tags/block/reinforced_blast_furnace_support.json b/build/resources/main/data/tfmg/tags/block/reinforced_blast_furnace_support.json new file mode 100644 index 00000000..af307d92 --- /dev/null +++ b/build/resources/main/data/tfmg/tags/block/reinforced_blast_furnace_support.json @@ -0,0 +1,7 @@ +{ + "values": [ + "tfmg:blast_furnace_reinforcement", + "tfmg:rusted_blast_furnace_reinforcement", + "tfmg:steel_block" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/tags/block/surface_scanner_findable.json b/build/resources/main/data/tfmg/tags/block/surface_scanner_findable.json new file mode 100644 index 00000000..9a903fb1 --- /dev/null +++ b/build/resources/main/data/tfmg/tags/block/surface_scanner_findable.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:oil_deposit", + "tfmg:heavy_machinery_casing" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/tags/fluid/blast_stove_fuel.json b/build/resources/main/data/tfmg/tags/fluid/blast_stove_fuel.json new file mode 100644 index 00000000..afd2e07f --- /dev/null +++ b/build/resources/main/data/tfmg/tags/fluid/blast_stove_fuel.json @@ -0,0 +1,8 @@ +{ + "values": [ + "tfmg:flowing_furnace_gas", + "tfmg:furnace_gas", + "tfmg:flowing_creosote", + "tfmg:creosote" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/tags/fluid/firebox_fuel.json b/build/resources/main/data/tfmg/tags/fluid/firebox_fuel.json new file mode 100644 index 00000000..19abcf1f --- /dev/null +++ b/build/resources/main/data/tfmg/tags/fluid/firebox_fuel.json @@ -0,0 +1,16 @@ +{ + "values": [ + "tfmg:flowing_lpg", + "tfmg:lpg", + "tfmg:flowing_butane", + "tfmg:butane", + "tfmg:flowing_propane", + "tfmg:propane", + "tfmg:flowing_diesel", + "tfmg:diesel", + "tfmg:flowing_naphtha", + "tfmg:naphtha", + "tfmg:flowing_kerosene", + "tfmg:kerosene" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/tags/fluid/gas.json b/build/resources/main/data/tfmg/tags/fluid/gas.json new file mode 100644 index 00000000..e858807f --- /dev/null +++ b/build/resources/main/data/tfmg/tags/fluid/gas.json @@ -0,0 +1,26 @@ +{ + "values": [ + "tfmg:flowing_lpg", + "tfmg:lpg", + "tfmg:flowing_butane", + "tfmg:butane", + "tfmg:flowing_propane", + "tfmg:propane", + "tfmg:flowing_hydrogen", + "tfmg:hydrogen", + "tfmg:flowing_furnace_gas", + "tfmg:furnace_gas", + "tfmg:flowing_ethylene", + "tfmg:ethylene", + "tfmg:flowing_propylene", + "tfmg:propylene", + "tfmg:flowing_neon", + "tfmg:neon", + "tfmg:flowing_carbon_dioxide", + "tfmg:carbon_dioxide", + "tfmg:flowing_air", + "tfmg:air", + "tfmg:flowing_hot_air", + "tfmg:hot_air" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/tags/item/stone_types/galena.json b/build/resources/main/data/tfmg/tags/item/stone_types/galena.json new file mode 100644 index 00000000..0e19de08 --- /dev/null +++ b/build/resources/main/data/tfmg/tags/item/stone_types/galena.json @@ -0,0 +1,19 @@ +{ + "values": [ + "tfmg:cut_galena", + "tfmg:cut_galena_stairs", + "tfmg:cut_galena_wall", + "tfmg:polished_cut_galena", + "tfmg:polished_cut_galena_stairs", + "tfmg:polished_cut_galena_wall", + "tfmg:cut_galena_bricks", + "tfmg:cut_galena_brick_stairs", + "tfmg:cut_galena_brick_wall", + "tfmg:small_galena_bricks", + "tfmg:small_galena_brick_stairs", + "tfmg:small_galena_brick_wall", + "tfmg:layered_galena", + "tfmg:galena_pillar", + "tfmg:galena" + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/worldgen/configured_feature/oil_well.json b/build/resources/main/data/tfmg/worldgen/configured_feature/oil_well.json new file mode 100644 index 00000000..1e1c68bc --- /dev/null +++ b/build/resources/main/data/tfmg/worldgen/configured_feature/oil_well.json @@ -0,0 +1,4 @@ +{ + "type": "tfmg:oil_well", + "config": {} +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/worldgen/configured_feature/tfmg_striated_ores_overworld.json b/build/resources/main/data/tfmg/worldgen/configured_feature/tfmg_striated_ores_overworld.json new file mode 100644 index 00000000..d4a00dd1 --- /dev/null +++ b/build/resources/main/data/tfmg/worldgen/configured_feature/tfmg_striated_ores_overworld.json @@ -0,0 +1,637 @@ +{ + "type": "create:layered_ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "layer_patterns": [ + [ + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:stone" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:deepslate", + "Properties": { + "axis": "y" + } + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 3, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "tfmg:bauxite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "tfmg:bauxite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 2 + }, + { + "max_size": 2, + "min_size": 2, + "targets": [ + [ + { + "state": { + "Name": "minecraft:smooth_basalt" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:smooth_basalt" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ], + [ + { + "state": { + "Name": "minecraft:granite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:granite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:granite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:smooth_basalt" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:andesite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:andesite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + } + ], + [ + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:stone" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:deepslate", + "Properties": { + "axis": "y" + } + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 3, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "tfmg:galena" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "tfmg:galena" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 2 + }, + { + "max_size": 2, + "min_size": 2, + "targets": [ + [ + { + "state": { + "Name": "minecraft:smooth_basalt" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:smooth_basalt" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ], + [ + { + "state": { + "Name": "minecraft:dripstone_block" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:dripstone_block" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:dripstone_block" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:smooth_basalt" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:deepslate", + "Properties": { + "axis": "y" + } + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:deepslate", + "Properties": { + "axis": "y" + } + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + } + ], + [ + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:stone" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:deepslate", + "Properties": { + "axis": "y" + } + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 3, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "tfmg:lignite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "tfmg:lignite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 2 + }, + { + "max_size": 2, + "min_size": 2, + "targets": [ + [ + { + "state": { + "Name": "minecraft:tuff" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:tuff" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ], + [ + { + "state": { + "Name": "minecraft:deepslate", + "Properties": { + "axis": "y" + } + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:deepslate", + "Properties": { + "axis": "y" + } + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:deepslate", + "Properties": { + "axis": "y" + } + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:tuff" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "create:scoria" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "create:scoria" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + } + ], + [ + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:stone" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:deepslate", + "Properties": { + "axis": "y" + } + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 2 + }, + { + "max_size": 2, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "tfmg:fireclay" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "tfmg:fireclay" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 2 + }, + { + "max_size": 3, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:sand" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:sand" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ], + [ + { + "state": { + "Name": "minecraft:gravel" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:gravel" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 2 + }, + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "create:crimsite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "create:crimsite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + } + ] + ], + "size": 32 + } +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/worldgen/placed_feature/nickel_ore.json b/build/resources/main/data/tfmg/worldgen/placed_feature/nickel_ore.json new file mode 100644 index 00000000..7893ea16 --- /dev/null +++ b/build/resources/main/data/tfmg/worldgen/placed_feature/nickel_ore.json @@ -0,0 +1,27 @@ +{ + "feature": "tfmg:nickel_ore", + "placement": [ + { + "type": "minecraft:count", + "count": 5 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 20 + }, + "min_inclusive": { + "absolute": -63 + } + } + }, + { + "type": "create:config_filter" + } + ] +} \ No newline at end of file diff --git a/build/resources/main/data/tfmg/worldgen/placed_feature/tfmg_striated_ores_nether.json b/build/resources/main/data/tfmg/worldgen/placed_feature/tfmg_striated_ores_nether.json new file mode 100644 index 00000000..47c07765 --- /dev/null +++ b/build/resources/main/data/tfmg/worldgen/placed_feature/tfmg_striated_ores_nether.json @@ -0,0 +1,27 @@ +{ + "feature": "tfmg:tfmg_striated_ores_nether", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 18 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 90 + }, + "min_inclusive": { + "absolute": 40 + } + } + }, + { + "type": "create:config_filter" + } + ] +} \ No newline at end of file diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin new file mode 100644 index 00000000..dceeb2fd Binary files /dev/null and b/build/tmp/compileJava/previous-compilation-data.bin differ diff --git a/build/tmp/createMinecraftArtifacts/nfrt_artifact_manifest.properties b/build/tmp/createMinecraftArtifacts/nfrt_artifact_manifest.properties new file mode 100644 index 00000000..4ac56dc1 --- /dev/null +++ b/build/tmp/createMinecraftArtifacts/nfrt_artifact_manifest.properties @@ -0,0 +1,131 @@ +# +#Tue Jul 15 00:23:31 CEST 2025 +net.java.dev.jna\:jna\:5.14.0=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.java.dev.jna\\jna\\5.14.0\\67bf3eaea4f0718cb376a181a629e5f88fa1c9dd\\jna-5.14.0.jar +org.lwjgl\:lwjgl-opengl\:3.3.3\:natives-windows-x86=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-opengl\\3.3.3\\d32d833dcaa2f355a886eaf21f0408b5f03241d\\lwjgl-opengl-3.3.3-natives-windows-x86.jar +com.github.oshi\:oshi-core\:6.4.10=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\com.github.oshi\\oshi-core\\6.4.10\\b1d8ab82d11d92fd639b56d639f8f46f739dd5fa\\oshi-core-6.4.10.jar +org.lwjgl\:lwjgl-glfw\:3.3.3=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-glfw\\3.3.3\\efa1eb78c5ccd840e9f329717109b5e892d72f8e\\lwjgl-glfw-3.3.3.jar +net.neoforged\:JarJarFileSystems\:0.4.1=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.neoforged\\JarJarFileSystems\\0.4.1\\78f59f89defcd032ed788b151ca6a0d40ace796a\\JarJarFileSystems-0.4.1.jar +org.apache.logging.log4j\:log4j-slf4j2-impl\:2.22.1=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.apache.logging.log4j\\log4j-slf4j2-impl\\2.22.1\\d7e6693c2606cb7e7335047d7bb96dec52db5665\\log4j-slf4j2-impl-2.22.1.jar +org.lwjgl\:lwjgl-glfw\:3.3.3\:natives-windows-arm64=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-glfw\\3.3.3\\f27018dc74f6289574502b46cce55d52817554e2\\lwjgl-glfw-3.3.3-natives-windows-arm64.jar +commons-logging\:commons-logging\:1.2=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\commons-logging\\commons-logging\\1.2\\4bfc12adfe4842bf07b657f0369c4cb522955686\\commons-logging-1.2.jar +org.lwjgl\:lwjgl\:3.3.3=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl\\3.3.3\\29589b5f87ed335a6c7e7ee6a5775f81f97ecb84\\lwjgl-3.3.3.jar +net.sf.jopt-simple\:jopt-simple\:5.0.4=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.sf.jopt-simple\\jopt-simple\\5.0.4\\4fdac2fbe92dfad86aa6e9301736f6b4342a3f5c\\jopt-simple-5.0.4.jar +org.ow2.asm\:asm\:9.7=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm\\9.7\\73d7b3086e14beb604ced229c302feff6449723\\asm-9.7.jar +org.ow2.asm\:asm\:9.5=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm\\9.5\\dc6ea1875f4d64fbc85e1691c95b96a3d8569c90\\asm-9.5.jar +org.apache.commons\:commons-lang3\:3.14.0=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.apache.commons\\commons-lang3\\3.14.0\\1ed471194b02f2c6cb734a0cd6f6f107c673afae\\commons-lang3-3.14.0.jar +org.lz4\:lz4-java\:1.8.0=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lz4\\lz4-java\\1.8.0\\4b986a99445e49ea5fbf5d149c4b63f6ed6c6780\\lz4-java-1.8.0.jar +net.neoforged\:AutoRenamingTool\:2.0.3\:all=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.neoforged\\AutoRenamingTool\\2.0.3\\d9890c71b4366f886c2b1006782043a6a6816eb6\\AutoRenamingTool-2.0.3-all.jar +io.netty\:netty-resolver\:4.1.97.Final=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\io.netty\\netty-resolver\\4.1.97.Final\\cec8348108dc76c47cf87c669d514be52c922144\\netty-resolver-4.1.97.Final.jar +net.neoforged\:JarJarSelector\:0.4.1=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.neoforged\\JarJarSelector\\0.4.1\\fb3cc7a58af22ad2880adb98af6d518128c47dae\\JarJarSelector-0.4.1.jar +net.minecraftforge\:mergetool\:1.1.7\:fatjar=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.minecraftforge\\mergetool\\1.1.7\\3d41564f78f123d64573cae7948014baf3aaba3f\\mergetool-1.1.7-fatjar.jar +org.lwjgl\:lwjgl\:3.3.3\:natives-windows-x86=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl\\3.3.3\\9e670718e050aeaeea0c2d5b907cffb142f2e58f\\lwjgl-3.3.3-natives-windows-x86.jar +net.minecraftforge\:srgutils\:0.4.15=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.minecraftforge\\srgutils\\0.4.15\\ca408b131759478f164e010fae0d73997e125fb5\\srgutils-0.4.15.jar +org.lwjgl\:lwjgl-freetype\:3.3.3\:natives-windows-arm64=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-freetype\\3.3.3\\82028265a0a2ff33523ca75137ada7dc176e5210\\lwjgl-freetype-3.3.3-natives-windows-arm64.jar +org.openjdk.nashorn\:nashorn-core\:15.4=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.openjdk.nashorn\\nashorn-core\\15.4\\f67f5ffaa5f5130cf6fb9b133da00c7df3b532a5\\nashorn-core-15.4.jar +org.lwjgl\:lwjgl-jemalloc\:3.3.3\:natives-windows=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-jemalloc\\3.3.3\\426222fc027602a5f21b9c0fe79cde6a4c7a011f\\lwjgl-jemalloc-3.3.3-natives-windows.jar +org.lwjgl\:lwjgl-openal\:3.3.3=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-openal\\3.3.3\\daada81ceb5fc0c291fbfdd4433cb8d9423577f2\\lwjgl-openal-3.3.3.jar +org.lwjgl\:lwjgl-freetype\:3.3.3=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-freetype\\3.3.3\\a0db6c84a8becc8ca05f9dbfa985edc348a824c7\\lwjgl-freetype-3.3.3.jar +org.checkerframework\:checker-qual\:3.33.0=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.checkerframework\\checker-qual\\3.33.0\\de2b60b62da487644fc11f734e73c8b0b431238f\\checker-qual-3.33.0.jar +net.neoforged\:neoforge\:21.1.152\:sources=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.neoforged\\neoforge\\21.1.152\\88514fe26a718a240438f2b38265016bf91aa664\\neoforge-21.1.152-sources.jar +com.mojang\:logging\:1.2.7=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\com.mojang\\logging\\1.2.7\\24cb95ffb0e3433fd6e844c04e68009e504ca1c0\\logging-1.2.7.jar +net.java.dev.jna\:jna-platform\:5.14.0=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.java.dev.jna\\jna-platform\\5.14.0\\28934d48aed814f11e4c584da55c49fa7032b31b\\jna-platform-5.14.0.jar +net.minecrell\:terminalconsoleappender\:1.3.0=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.minecrell\\terminalconsoleappender\\1.3.0\\b562e9bb61235c9520e26282cdee71f8f802d1fc\\terminalconsoleappender-1.3.0.jar +org.apache.logging.log4j\:log4j-core\:2.22.1=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.apache.logging.log4j\\log4j-core\\2.22.1\\7183a25510a02ad00cc6a95d3b3d2a7d3c5a8dc4\\log4j-core-2.22.1.jar +org.tukaani\:xz\:1.8=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.tukaani\\xz\\1.8\\c4f7d054303948eb6a4066194253886c8af07128\\xz-1.8.jar +com.ibm.icu\:icu4j\:73.2=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\com.ibm.icu\\icu4j\\73.2\\61ad4ef7f9131fcf6d25c34b817f90d6da06c9e9\\icu4j-73.2.jar +org.lwjgl\:lwjgl-freetype\:3.3.3\:natives-windows-x86=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-freetype\\3.3.3\\15a8c1de7f51d07a92eae7ce1222557073a0c0c3\\lwjgl-freetype-3.3.3-natives-windows-x86.jar +io.netty\:netty-common\:4.1.97.Final=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\io.netty\\netty-common\\4.1.97.Final\\7cceacaf11df8dc63f23d0fb58e9d4640fc88404\\netty-common-4.1.97.Final.jar +org.jetbrains\:annotations\:24.1.0=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.jetbrains\\annotations\\24.1.0\\7af6a669488450c4a07c2c3254e2151df42d7d04\\annotations-24.1.0.jar +io.netty\:netty-transport-classes-epoll\:4.1.97.Final=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\io.netty\\netty-transport-classes-epoll\\4.1.97.Final\\795da37ded759e862457a82d9d92c4d39ce8ecee\\netty-transport-classes-epoll-4.1.97.Final.jar +io.netty\:netty-transport\:4.1.97.Final=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\io.netty\\netty-transport\\4.1.97.Final\\f37380d23c9bb079bc702910833b2fd532c9abd0\\netty-transport-4.1.97.Final.jar +net.neoforged\:mergetool\:2.0.3\:api=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.neoforged\\mergetool\\2.0.3\\1275202cbbb248f49345cf6787ce299afd9a02fb\\mergetool-2.0.3-api.jar +org.lwjgl\:lwjgl-tinyfd\:3.3.3=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-tinyfd\\3.3.3\\82d755ca94b102e9ca77283b9e2dc46d1b15fbe5\\lwjgl-tinyfd-3.3.3.jar +net.neoforged\:bus\:8.0.2=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.neoforged\\bus\\8.0.2\\163c9ef7c4bcca6d850c34e95261b606af91fe06\\bus-8.0.2.jar +org.lwjgl\:lwjgl-tinyfd\:3.3.3\:natives-windows-arm64=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-tinyfd\\3.3.3\\a88c494f3006eb91a7433b12a3a55a9a6c20788b\\lwjgl-tinyfd-3.3.3-natives-windows-arm64.jar +org.lwjgl\:lwjgl-glfw\:3.3.3\:natives-windows-x86=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-glfw\\3.3.3\\32334f3fd5270a59bad9939a93115acb6de36dcf\\lwjgl-glfw-3.3.3-natives-windows-x86.jar +org.lwjgl\:lwjgl-freetype\:3.3.3\:natives-windows=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-freetype\\3.3.3\\81091b006dbb43fab04c8c638e9ac87c51b4096d\\lwjgl-freetype-3.3.3-natives-windows.jar +org.lwjgl\:lwjgl-jemalloc\:3.3.3\:natives-windows-arm64=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-jemalloc\\3.3.3\\ba1f3fed0ee4be0217eaa41c5bbfb4b9b1383c33\\lwjgl-jemalloc-3.3.3-natives-windows-arm64.jar +commons-io\:commons-io\:2.15.1=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\commons-io\\commons-io\\2.15.1\\f11560da189ab563a5c8e351941415430e9304ea\\commons-io-2.15.1.jar +net.covers1624\:Quack\:0.4.10.101=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.covers1624\\Quack\\0.4.10.101\\970b7f652b5c40c893ef9a4bf13a97a291587d74\\Quack-0.4.10.101.jar +com.google.code.findbugs\:jsr305\:3.0.2=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\com.google.code.findbugs\\jsr305\\3.0.2\\25ea2e8b0c338a877313bd4672d3fe056ea78f0d\\jsr305-3.0.2.jar +com.google.j2objc\:j2objc-annotations\:2.8=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\com.google.j2objc\\j2objc-annotations\\2.8\\c85270e307e7b822f1086b93689124b89768e273\\j2objc-annotations-2.8.jar +org.jline\:jline-terminal\:3.20.0=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.jline\\jline-terminal\\3.20.0\\d0ddcc708ddf527a3454c941b7b9225cc83a15ff\\jline-terminal-3.20.0.jar +org.lwjgl\:lwjgl-stb\:3.3.3=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-stb\\3.3.3\\25dd6161988d7e65f71d5065c99902402ee32746\\lwjgl-stb-3.3.3.jar +com.mojang\:authlib\:6.0.54=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\com.mojang\\authlib\\6.0.54\\de8bc95660e1b2fe8793fd427a7a10dcec5b3ea7\\authlib-6.0.54.jar +org.vineflower\:vineflower\:1.10.1=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.vineflower\\vineflower\\1.10.1\\4f48c5947b21f9ebc743e7c80215ee839d3dc668\\vineflower-1.10.1.jar +org.lwjgl\:lwjgl-stb\:3.3.3\:natives-windows-x86=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-stb\\3.3.3\\b5c874687b9aac1a936501d4ed2c49567fd1b575\\lwjgl-stb-3.3.3-natives-windows-x86.jar +net.neoforged\:coremods\:7.0.3=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.neoforged\\coremods\\7.0.3\\9147e6f638b4272b3bd5fc8f92ad37802512c6c\\coremods-7.0.3.jar +org.apache.commons\:commons-compress\:1.18=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.apache.commons\\commons-compress\\1.18\\1191f9f2bc0c47a8cce69193feb1ff0a8bcb37d5\\commons-compress-1.18.jar +org.jcraft\:jorbis\:0.0.17=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.jcraft\\jorbis\\0.0.17\\8872d22b293e8f5d7d56ff92be966e6dc28ebdc6\\jorbis-0.0.17.jar +org.lwjgl\:lwjgl\:3.3.3\:natives-windows-arm64=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl\\3.3.3\\e9aca8c5479b520a2a7f0d542a118140e812c5e8\\lwjgl-3.3.3-natives-windows-arm64.jar +org.lwjgl\:lwjgl-tinyfd\:3.3.3\:natives-windows=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-tinyfd\\3.3.3\\a6697981b0449a5087c1d546fc08b4f73e8f98c9\\lwjgl-tinyfd-3.3.3-natives-windows.jar +net.neoforged.installertools\:installertools\:2.1.2\:fatjar=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.neoforged.installertools\\installertools\\2.1.2\\62740d5aa8f75f4a4d542d363bdda5b64a198f7a\\installertools-2.1.2-fatjar.jar +com.electronwill.night-config\:toml\:3.8.0=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\com.electronwill.night-config\\toml\\3.8.0\\861dbcf2757dd6701c98b3949198549ccb5f62ff\\toml-3.8.0.jar +org.apache.commons\:commons-compress\:1.26.0=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.apache.commons\\commons-compress\\1.26.0\\659feffdd12280201c8aacb8f7be94f9a883c824\\commons-compress-1.26.0.jar +com.google.guava\:listenablefuture\:9999.0-empty-to-avoid-conflict-with-guava=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\com.google.guava\\listenablefuture\\9999.0-empty-to-avoid-conflict-with-guava\\b421526c5f297295adef1c886e5246c39d4ac629\\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar +org.joml\:joml\:1.10.5=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.joml\\joml\\1.10.5\\22566d58af70ad3d72308bab63b8339906deb649\\joml-1.10.5.jar +ca.weblite\:java-objc-bridge\:1.1=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\ca.weblite\\java-objc-bridge\\1.1\\1227f9e0666314f9de41477e3ec277e542ed7f7b\\java-objc-bridge-1.1.jar +org.apache.commons\:commons-lang3\:3.9=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.apache.commons\\commons-lang3\\3.9\\122c7cee69b53ed4a7681c03d4ee4c0e2765da5\\commons-lang3-3.9.jar +io.netty\:netty-buffer\:4.1.97.Final=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\io.netty\\netty-buffer\\4.1.97.Final\\f8f3d8644afa5e6e1a40a3a6aeb9d9aa970ecb4f\\netty-buffer-4.1.97.Final.jar +io.codechicken\:DiffPatch\:2.0.0.36\:all=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\io.codechicken\\DiffPatch\\2.0.0.36\\5b32f9baa0c0371c0dc80a3b88794960af0c6b44\\DiffPatch-2.0.0.36-all.jar +org.jline\:jline-reader\:3.20.0=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.jline\\jline-reader\\3.20.0\\8f15415b022a25b473e8e16c28ae913186ffb9c4\\jline-reader-3.20.0.jar +org.lwjgl\:lwjgl-stb\:3.3.3\:natives-windows=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-stb\\3.3.3\\1d9facdf6541de114b0f963be33505b7679c78cb\\lwjgl-stb-3.3.3-natives-windows.jar +org.apache.httpcomponents\:httpcore\:4.4.16=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.apache.httpcomponents\\httpcore\\4.4.16\\51cf043c87253c9f58b539c9f7e44c8894223850\\httpcore-4.4.16.jar +net.fabricmc\:sponge-mixin\:0.15.2+mixin.0.8.7=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.fabricmc\\sponge-mixin\\0.15.2+mixin.0.8.7\\2af2f021d8e02a0220dc27a7a72b4666d66d44ca\\sponge-mixin-0.15.2+mixin.0.8.7.jar +commons-codec\:commons-codec\:1.16.0=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\commons-codec\\commons-codec\\1.16.0\\4e3eb3d79888d76b54e28b350915b5dc3919c9de\\commons-codec-1.16.0.jar +org.lwjgl\:lwjgl\:3.3.3\:natives-windows=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl\\3.3.3\\a5ed18a2b82fc91b81f40d717cb1f64c9dcb0540\\lwjgl-3.3.3-natives-windows.jar +com.google.guava\:guava\:32.1.2-jre=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\com.google.guava\\guava\\32.1.2-jre\\5e64ec7e056456bef3a4bc4c6fdaef71e8ab6318\\guava-32.1.2-jre.jar +net.neoforged\:JarJarMetadata\:0.4.1=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.neoforged\\JarJarMetadata\\0.4.1\\f8da03683dc81694556dc3e177c5e3bb77ae6fcb\\JarJarMetadata-0.4.1.jar +com.google.errorprone\:error_prone_annotations\:2.18.0=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\com.google.errorprone\\error_prone_annotations\\2.18.0\\89b684257096f548fa39a7df9fdaa409d4d4df91\\error_prone_annotations-2.18.0.jar +com.machinezoo.noexception\:noexception\:1.7.1=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\com.machinezoo.noexception\\noexception\\1.7.1\\b65330c98e38a1f915fa54a6e5eca496505e3f0a\\noexception-1.7.1.jar +org.lwjgl\:lwjgl-glfw\:3.3.3\:natives-windows=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-glfw\\3.3.3\\e449e28b4891fc423c54c85fbc5bb0b9efece67a\\lwjgl-glfw-3.3.3-natives-windows.jar +cpw.mods\:bootstraplauncher\:2.0.2=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\cpw.mods\\bootstraplauncher\\2.0.2\\1a2d076cbc33b0520cbacd591224427b2a20047d\\bootstraplauncher-2.0.2.jar +org.lwjgl\:lwjgl-jemalloc\:3.3.3=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-jemalloc\\3.3.3\\b543467b7ff3c6920539a88ee602d34098628be5\\lwjgl-jemalloc-3.3.3.jar +com.mojang\:datafixerupper\:8.0.16=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\com.mojang\\datafixerupper\\8.0.16\\67d4de6d7f95d89bcf5862995fb854ebaec02a34\\datafixerupper-8.0.16.jar +org.lwjgl\:lwjgl-opengl\:3.3.3\:natives-windows-arm64=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-opengl\\3.3.3\\65e956d3735a1abdc82eff4baec1b61174697d4b\\lwjgl-opengl-3.3.3-natives-windows-arm64.jar +net.neoforged\:mergetool\:2.0.3\:fatjar=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.neoforged\\mergetool\\2.0.3\\85c096b0155715275f84922d41462484c9a0285c\\mergetool-2.0.3-fatjar.jar +com.google.guava\:failureaccess\:1.0.1=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\com.google.guava\\failureaccess\\1.0.1\\1dcf1de382a0bf95a3d8b0849546c88bac1292c9\\failureaccess-1.0.1.jar +org.lwjgl\:lwjgl-openal\:3.3.3\:natives-windows=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-openal\\3.3.3\\cf83862ae95d98496b26915024c7e666d8ab1c8f\\lwjgl-openal-3.3.3-natives-windows.jar +net.neoforged.accesstransformers\:at-modlauncher\:10.0.1=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.neoforged.accesstransformers\\at-modlauncher\\10.0.1\\5aba50202aceead086bc09fbc2751c9f05cb4890\\at-modlauncher-10.0.1.jar +org.apache.maven\:maven-artifact\:3.8.5=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.apache.maven\\maven-artifact\\3.8.5\\4433f50c07debefaed0553bd0068f4f48d449313\\maven-artifact-3.8.5.jar +org.codehaus.plexus\:plexus-utils\:3.3.0=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.codehaus.plexus\\plexus-utils\\3.3.0\\cf43b5391de623b36fe066a21127baef82c64022\\plexus-utils-3.3.0.jar +net.neoforged\:neoform\:1.21.1-20240808.144430@zip=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.neoforged\\neoform\\1.21.1-20240808.144430\\811e2bd86fa2cda2812e5e8e51d718ea8bd6d3f4\\neoform-1.21.1-20240808.144430.zip +com.mojang\:text2speech\:1.17.9=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\com.mojang\\text2speech\\1.17.9\\3cad216e3a7f0c19b4b394388bc9ffc446f13b14\\text2speech-1.17.9.jar +net.neoforged\:neoforge\:21.1.152\:userdev=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.neoforged\\neoforge\\21.1.152\\a36ee4a82fa9cd4938ad2e89b8cb93f9ac902bc4\\neoforge-21.1.152-userdev.jar +com.mojang\:brigadier\:1.3.10=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\com.mojang\\brigadier\\1.3.10\\d15b53a14cf20fdcaa98f731af5dda654452c010\\brigadier-1.3.10.jar +io.netty\:netty-codec\:4.1.97.Final=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\io.netty\\netty-codec\\4.1.97.Final\\384ba4d75670befbedb45c4d3b497a93639c206d\\netty-codec-4.1.97.Final.jar +it.unimi.dsi\:fastutil\:8.3.1=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\it.unimi.dsi\\fastutil\\8.3.1\\ff33b340d60b81f4c1015fa8008bb30ff0a0d53b\\fastutil-8.3.1.jar +net.neoforged.fancymodloader\:loader\:4.0.38=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.neoforged.fancymodloader\\loader\\4.0.38\\93c846ca0115811833d7f7351641f11aebf88ff4\\loader-4.0.38.jar +net.jodah\:typetools\:0.6.3=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.jodah\\typetools\\0.6.3\\a01aaa6ddaea9ec07ec4f209487b7a46a526283a\\typetools-0.6.3.jar +org.antlr\:antlr4-runtime\:4.13.1=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.antlr\\antlr4-runtime\\4.13.1\\17125bae1d965624e265ef49552f6465a2bfa307\\antlr4-runtime-4.13.1.jar +org.ow2.asm\:asm-tree\:9.5=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm-tree\\9.5\\fd33c8b6373abaa675be407082fdfda35021254a\\asm-tree-9.5.jar +org.apache.httpcomponents\:httpclient\:4.5.13=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.apache.httpcomponents\\httpclient\\4.5.13\\e5f6cae5ca7ecaac1ec2827a9e2d65ae2869cada\\httpclient-4.5.13.jar +org.ow2.asm\:asm-util\:9.5=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm-util\\9.5\\64b5a1fc8c1b15ed2efd6a063e976bc8d3dc5ffe\\asm-util-9.5.jar +it.unimi.dsi\:fastutil\:8.5.12=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\it.unimi.dsi\\fastutil\\8.5.12\\c24946d46824bd528054bface3231d2ecb7e95e8\\fastutil-8.5.12.jar +org.lwjgl\:lwjgl-openal\:3.3.3\:natives-windows-x86=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-openal\\3.3.3\\87b8d5050e3adb46bb58fe1cb2669a4a48fce10d\\lwjgl-openal-3.3.3-natives-windows-x86.jar +org.ow2.asm\:asm-tree\:9.7=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm-tree\\9.7\\e446a17b175bfb733b87c5c2560ccb4e57d69f1a\\asm-tree-9.7.jar +net.neoforged\:neoforge\:21.1.152\:universal=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.neoforged\\neoforge\\21.1.152\\bb20372f4bdad99389fce94ed8ba1c2ad0087e64\\neoforge-21.1.152-universal.jar +net.neoforged\:accesstransformers\:10.0.1=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.neoforged\\accesstransformers\\10.0.1\\fd83b5725f76eae9115e9355fa1c456a6a441400\\accesstransformers-10.0.1.jar +cpw.mods\:modlauncher\:11.0.4=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\cpw.mods\\modlauncher\\11.0.4\\6619d4812a3c092310d521ebc4c9503727563df7\\modlauncher-11.0.4.jar +org.ow2.asm\:asm-util\:9.7=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm-util\\9.7\\c0655519f24d92af2202cb681cd7c1569df6ead6\\asm-util-9.7.jar +io.netty\:netty-handler\:4.1.97.Final=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\io.netty\\netty-handler\\4.1.97.Final\\abb86c6906bf512bf2b797a41cd7d2e8d3cd7c36\\netty-handler-4.1.97.Final.jar +cpw.mods\:securejarhandler\:3.0.8=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\cpw.mods\\securejarhandler\\3.0.8\\c0ef95cecd8699a0449053ac7d9c160748d902cd\\securejarhandler-3.0.8.jar +com.electronwill.night-config\:core\:3.8.0=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\com.electronwill.night-config\\core\\3.8.0\\2498dd2b3120dd49e963e2feab8fa5d0c5f80e0a\\core-3.8.0.jar +org.lwjgl\:lwjgl-openal\:3.3.3\:natives-windows-arm64=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-openal\\3.3.3\\8e0615235116b9e4160dfe87bec90f5f6378bf72\\lwjgl-openal-3.3.3-natives-windows-arm64.jar +net.neoforged.fancymodloader\:earlydisplay\:4.0.38=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.neoforged.fancymodloader\\earlydisplay\\4.0.38\\4b040bd68cf05bc5f6025161e4187fcfd6168241\\earlydisplay-4.0.38.jar +org.lwjgl\:lwjgl-opengl\:3.3.3=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-opengl\\3.3.3\\2f6b0147078396a58979125a4c947664e98293a\\lwjgl-opengl-3.3.3.jar +org.lwjgl\:lwjgl-jemalloc\:3.3.3\:natives-windows-x86=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-jemalloc\\3.3.3\\f6063b6e0f23be483c5c88d84ce51b39dc69126c\\lwjgl-jemalloc-3.3.3-natives-windows-x86.jar +org.slf4j\:slf4j-api\:2.0.9=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.slf4j\\slf4j-api\\2.0.9\\7cf2726fdcfbc8610f9a71fb3ed639871f315340\\slf4j-api-2.0.9.jar +com.google.code.gson\:gson\:2.10.1=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\com.google.code.gson\\gson\\2.10.1\\b3add478d4382b78ea20b1671390a858002feb6c\\gson-2.10.1.jar +io.github.llamalad7\:mixinextras-neoforge\:0.4.1=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\io.github.llamalad7\\mixinextras-neoforge\\0.4.1\\eff97772ecd0dcf8e52cdbafd3b3ccec425f8314\\mixinextras-neoforge-0.4.1.jar +com.mojang\:patchy\:2.2.10=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\com.mojang\\patchy\\2.2.10\\da05971b07cbb379d002cf7eaec6a2048211fefc\\patchy-2.2.10.jar +org.lwjgl\:lwjgl-stb\:3.3.3\:natives-windows-arm64=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-stb\\3.3.3\\a584ab44de569708871f0a79561f4d8c37487f2c\\lwjgl-stb-3.3.3-natives-windows-arm64.jar +org.ow2.asm\:asm-analysis\:9.5=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm-analysis\\9.5\\490bacc77de7cbc0be1a30bb3471072d705be4a4\\asm-analysis-9.5.jar +org.ow2.asm\:asm-analysis\:9.7=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm-analysis\\9.7\\e4a258b7eb96107106c0599f0061cfc1832fe07a\\asm-analysis-9.7.jar +com.mojang\:blocklist\:1.0.10=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\com.mojang\\blocklist\\1.0.10\\5c685c5ffa94c4cd39496c7184c1d122e515ecef\\blocklist-1.0.10.jar +org.lwjgl\:lwjgl-tinyfd\:3.3.3\:natives-windows-x86=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-tinyfd\\3.3.3\\c336c84ee88cccb495c6ffa112395509e7378e8a\\lwjgl-tinyfd-3.3.3-natives-windows-x86.jar +io.netty\:netty-transport-native-unix-common\:4.1.97.Final=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\io.netty\\netty-transport-native-unix-common\\4.1.97.Final\\d469d84265ab70095b01b40886cabdd433b6e664\\netty-transport-native-unix-common-4.1.97.Final.jar +org.ow2.asm\:asm-commons\:9.7=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.ow2.asm\\asm-commons\\9.7\\e86dda4696d3c185fcc95d8d311904e7ce38a53f\\asm-commons-9.7.jar +org.apache.logging.log4j\:log4j-api\:2.22.1=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.apache.logging.log4j\\log4j-api\\2.22.1\\bea6fede6328fabafd7e68363161a7ea6605abd1\\log4j-api-2.22.1.jar +org.lwjgl\:lwjgl-opengl\:3.3.3\:natives-windows=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\org.lwjgl\\lwjgl-opengl\\3.3.3\\e6c1eec8be8a71951b830a4d69efc01c6531900c\\lwjgl-opengl-3.3.3-natives-windows.jar +net.neoforged.jst\:jst-cli-bundle\:1.0.72=C\:\\Users\\adamn\\.gradle\\caches\\modules-2\\files-2.1\\net.neoforged.jst\\jst-cli-bundle\\1.0.72\\5062f69cd7700922b3dbfce273ed795bab71858f\\jst-cli-bundle-1.0.72.jar diff --git a/run/config/neoforge-client.toml b/run/config/neoforge-client.toml new file mode 100644 index 00000000..d3f2e54d --- /dev/null +++ b/run/config/neoforge-client.toml @@ -0,0 +1,8 @@ +#EXPERIMENTAL: Enable the NeoForge block rendering pipeline - fixes the lighting of custom models. +experimentalForgeLightPipelineEnabled = false +#When enabled, NeoForge will show any warnings that occurred during loading. +showLoadWarnings = true +#Set to true to use a combined DEPTH_STENCIL attachment instead of two separate ones. +useCombinedDepthStencilAttachment = false +#A config option mainly for developers. Logs out configuration values that do not have translations when running a client in a development environment. +logUntranslatedConfigurationWarnings = true diff --git a/run/config/neoforge-common.toml b/run/config/neoforge-common.toml new file mode 100644 index 00000000..9e1ac4cb --- /dev/null +++ b/run/config/neoforge-common.toml @@ -0,0 +1,8 @@ +#A config option mainly for developers. Logs out modded item tags that do not have translations when running on integrated server. Format desired is tag.item.. for the translation key. Defaults to SILENCED. +#Allowed Values: SILENCED, DEV_SHORT, DEV_VERBOSE, PROD_SHORT, PROD_VERBOSE +logUntranslatedItemTagWarnings = "SILENCED" +#A config option mainly for developers. Logs out modded tags that are using the 'forge' namespace when running on integrated server. Defaults to DEV_SHORT. +#Allowed Values: SILENCED, DEV_SHORT, DEV_VERBOSE, PROD_SHORT, PROD_VERBOSE +logLegacyTagWarnings = "DEV_SHORT" +#Set this to true to enable showing debug information about attributes on an item when advanced tooltips is on. +attributeAdvancedTooltipDebugInfo = true diff --git a/run/config/ponder-client.toml b/run/config/ponder-client.toml new file mode 100644 index 00000000..ee095275 --- /dev/null +++ b/run/config/ponder-client.toml @@ -0,0 +1,20 @@ +#. +#Slow down a ponder scene whenever there is text on screen. +comfyReading = false +#. +#Show additional info in the ponder view and reload scene scripts more frequently. +editingMode = false + +#. +#Settings for the Placement Assist +[placementAssist] + #. + #What indicator should be used when showing where the assisted placement ends up relative to your crosshair + #Choose 'NONE' to disable the Indicator altogether + #Allowed Values: TEXTURE, TRIANGLE, NONE + indicatorType = "TEXTURE" + #. + #Change the size of the Indicator by this multiplier + # Default: 1.0 + # Range: 0.0 ~ 3.4028234663852886E38 + indicatorScale = 1.0 diff --git a/run/downloads/log.json b/run/downloads/log.json new file mode 100644 index 00000000..e69de29b diff --git a/src/generated/resources/.cache/2e2d61af9197c4857deb0be71d1d8085656c96e2 b/src/generated/resources/.cache/2e2d61af9197c4857deb0be71d1d8085656c96e2 new file mode 100644 index 00000000..6bae1cac --- /dev/null +++ b/src/generated/resources/.cache/2e2d61af9197c4857deb0be71d1d8085656c96e2 @@ -0,0 +1,10 @@ +// 1.21.1 2025-06-23T18:15:06.6110781 tfmg's mechanical crafting recipes +f79bbffbfeaa61e9a7aa8aa5e73cf941745bf261 data/tfmg/recipe/mechanical_crafting/advanced_potato_cannon.json +76e3f96ca473a1a5190b1e104673e1d8e07320a9 data/tfmg/recipe/mechanical_crafting/engine_controller.json +82eaa1583b5528c784bace19223d4da9f14bbfb1 data/tfmg/recipe/mechanical_crafting/flamethrower.json +eb80d3543b399b361b2185b73e4576518922d82c data/tfmg/recipe/mechanical_crafting/large_engine.json +1e306982a81680a218bd6fb05ad1357bcd35020b data/tfmg/recipe/mechanical_crafting/quad_potato_cannon.json +ef77cf4c35bebc48f00e0a6b52a90c90d4cf0899 data/tfmg/recipe/mechanical_crafting/rotor.json +e9d4ff6d7a9d322d180d7c453c909f120bf3f9db data/tfmg/recipe/mechanical_crafting/simple_large_engine.json +0f65fba04b8a2a9cb3742178c602ce1d72777ee6 data/tfmg/recipe/mechanical_crafting/spark_plug.json +2ab2a79be9975b12458b264be6a71fde2a257e9d data/tfmg/recipe/mechanical_crafting/stator.json diff --git a/src/generated/resources/.cache/5b8c0f5df972d0059948e36f3c0712dca4487541 b/src/generated/resources/.cache/5b8c0f5df972d0059948e36f3c0712dca4487541 new file mode 100644 index 00000000..96cc9d07 --- /dev/null +++ b/src/generated/resources/.cache/5b8c0f5df972d0059948e36f3c0712dca4487541 @@ -0,0 +1,80 @@ +// 1.21.1 2025-06-23T18:12:35.238336 TFMG's Processing Recipes +7dafb6d3c41a514617340719d0435858368b19ea data/create/recipe/crushing/bauxite.json +73fbf4b3b9297df4fbe521e7a47f2a4991e8a0df data/create/recipe/crushing/coal_coke.json +86cc35082842dcad8d73c2bee3e73b8b63471202 data/create/recipe/crushing/copper_sulfate.json +f41a8d6e7208e471e125501b59199c7139af6cb9 data/create/recipe/crushing/dirt.json +57eb0b74444adcc0f0d209462f7d058df9927bd2 data/create/recipe/crushing/galena.json +7f43b13ee06523aba6af26ee19a9e8fc9fbfc155 data/create/recipe/crushing/lignite.json +a90f899b3996c6c55cec9e45230d78a41bbe561a data/create/recipe/crushing/limestone.json +777a80f74ac0f5d3d26d37d24d9501e8d830e5f3 data/create/recipe/crushing/slag_block.json +783ca7654058d910a9616f404ab21e81c9d7932f data/create/recipe/crushing/sulfur.json +3e4fe2b8e209a9b3af5c509a1eb9a6d9631421f1 data/tfmg/recipe/casting/cinderblock.json +ec80bcae0b7d6d9b10a63b845dd9be4b8a3d9878 data/tfmg/recipe/casting/plastic_sheet.json +175a192a09d573ee61732a5129a60b56dc740984 data/tfmg/recipe/casting/silicon.json +b036e540b9db1cd5491d1e98afd32d695a1309ed data/tfmg/recipe/casting/slag_block.json +55e205c1135f6c60745880bc7deb66a87df4f2df data/tfmg/recipe/casting/steel.json +77df6b319993889d194322e542b061fa65955df4 data/tfmg/recipe/coking/charcoal.json +212298f9438737d83b7b4696eb5b56d925992560 data/tfmg/recipe/coking/coal.json +14c16540eec57b5b57b6743971b3918aa3346a2b data/tfmg/recipe/compacting/bitumen.json +b5f8432d78ef6b9295bea7280a0d30a7ccb39a87 data/tfmg/recipe/compacting/cast_iron.json +43582db195b3b4662296187bbcaf4825004ef1b5 data/tfmg/recipe/compacting/cinderflourblock.json +5772d04f173044ecfce1e989db41a48f2dda07a8 data/tfmg/recipe/distillation/crude_oil.json +8b5407a95f5c196ed99a0dce3cfac44a0f497c5a data/tfmg/recipe/distillation/crude_oil_light_distillation.json +1185542cfd33872f57b2b9a88eaa6fbf70e80e2d data/tfmg/recipe/distillation/crude_oil_no_naphtha.json +3e2b9c29e4eb77850d39e06096befcbfd6c9ef13 data/tfmg/recipe/distillation/heavy_oil.json +9aedc9f78f85b28fda71d41e3f866f2826826fc8 data/tfmg/recipe/distillation/heavy_oil_light_distillation.json +5804c33ec38173fac679d0340684180aabd103f8 data/tfmg/recipe/distillation/heavy_oil_no_naphtha.json +0788a71e093b78fd58d59fe62635e70eb13b1827 data/tfmg/recipe/filling/air_tank.json +1bc927e07a38c9994a3ccce05c8b97680b816711 data/tfmg/recipe/filling/carbon_dioxide_tank.json +759bfbc78a30c6e6e151892834c689077308b497 data/tfmg/recipe/filling/ethylene_tank.json +25042e6d330c509a307809db5305b50929b7dcd3 data/tfmg/recipe/filling/furnace_gas_tank.json +d61855ccfb2ad0732336af30fca56b2e77787f06 data/tfmg/recipe/filling/hardened_planks.json +e70f9381500dd351ed2642fbada754f08636f211 data/tfmg/recipe/filling/hot_air_tank.json +b5026f94479de6a694c9784398e6dd89209bd8f7 data/tfmg/recipe/filling/hydrogen_tank.json +eabccca7018e81d3d0fedcf62b0b09416c6dcb9b data/tfmg/recipe/filling/lpg_tank.json +1f7910d7fd708ef125eb663fa0a661d82ba85144 data/tfmg/recipe/filling/napalm_potato.json +b002f2c57db6008182d19a2c17ceb6a3f5f8eaa2 data/tfmg/recipe/filling/neon_tank.json +79bf193057224ee2346d3fc9f8863dea2f0f53e1 data/tfmg/recipe/filling/propylene_tank.json +297bbab76532f0d8c040f9f84a785493ea2e61a3 data/tfmg/recipe/hot_blast/hot_air.json +b642e370772dfc7bb53c1c03a3150970d327559a data/tfmg/recipe/industrial_blasting/silicon.json +7b08a978a4981d89c31a3724ab9a490a5712affd data/tfmg/recipe/industrial_blasting/steel.json +600d9cb7e07b8c341bd8da8b591798cadf85d97e data/tfmg/recipe/industrial_blasting/steel_from_dust.json +230710ba1d1e092da350ae358274ff8cb12a07a0 data/tfmg/recipe/industrial_blasting/steel_from_raw_iron.json +5c0e0270c63e0a75736066b2e50dda6a4a3db57a data/tfmg/recipe/item_application/aluminum_casing.json +b728d4ead9f5c07b434153870718d8b5ef880717 data/tfmg/recipe/item_application/coated_circuit_board.json +ffcb2013787f829d7c65df78f3986f0c357dcfb1 data/tfmg/recipe/item_application/heavy_machinery_casing.json +59d3ed56571276cf861659566cb81d658ec49655 data/tfmg/recipe/item_application/steel_casing.json +72048823fed9b178bb2bac11940f740ae2ce960f data/tfmg/recipe/mixing/asphalt_mixture.json +5c441f2c1c5dd854ee35120e8b45e507a93af2b8 data/tfmg/recipe/mixing/asphalt_mixture_from_slag.json +9aa744555e664ef0b478f449f268f4d757c4cac4 data/tfmg/recipe/mixing/cement.json +55d24ef9432cdd0885f2792767bf7c932f83c2f1 data/tfmg/recipe/mixing/concrete_mixture.json +a561d66da5c24981e2cb2f778593881ee019ae4b data/tfmg/recipe/mixing/concrete_mixture_from_slag.json +2dc9a376561aa68a9121e14830f9ac31e0920d1c data/tfmg/recipe/mixing/constantan.json +d77ee3f45bed4891caef6d967764b1254bfcb8ff data/tfmg/recipe/mixing/cooling_fluid.json +dcc8b931728d7c24b249e33bd9b8393277cdbfe5 data/tfmg/recipe/mixing/copper_sulfate.json +d3dcffe45005df3d9de314589f555a090541b178 data/tfmg/recipe/mixing/gunpowder.json +d7dd581e66fb3674adfcc544fd44aa8fbb5fa148 data/tfmg/recipe/mixing/liquid_asphalt.json +1bfcccb3785cd582ae29eaf834c09a0f6757ca0d data/tfmg/recipe/mixing/liquid_concrete.json +0366fb471b291f549fce943821ac5af1af7fbaba data/tfmg/recipe/mixing/magnetic_alloy.json +7d6b862106db85142c56246c07791df82d149901 data/tfmg/recipe/mixing/napalm.json +d525997e0dff8b0404f2a9b6da1f2f982956c7aa data/tfmg/recipe/mixing/n_semiconductor.json +c10571f6a2dbe255ffc249e08c70f464cc63a538 data/tfmg/recipe/mixing/p_semiconductor.json +5764660d4042a041f7a79109bb4f016fbd73d742 data/tfmg/recipe/mixing/thermite.json +0459970b2810090d44f23407bdda75ef837312ae data/tfmg/recipe/polarizing/magnet.json +ecdce3056f908929bc7c57ae2e562f765e4b0a10 data/tfmg/recipe/pressing/aluminum_ingot.json +4bb0c3280dce4d05e41db07a0ae989c9e5965587 data/tfmg/recipe/pressing/cast_iron_ingot.json +d354a3f5387e310a115bff740fba3a8a1e19a735 data/tfmg/recipe/pressing/lead_ingot.json +188e2735cf8fa3c3ec662b5a12e58fd029b01c2f data/tfmg/recipe/pressing/nickel_ingot.json +fc6a8e97c50e6964b78b6cb3f2ccc1b022225987 data/tfmg/recipe/pressing/synthetic_leather.json +e06a189831305bc370e5b43dea28975967a3825d data/tfmg/recipe/vat_machine_recipe/aluminum.json +6bc0efd532eee6f7793e8d10d516dd8adefc9473 data/tfmg/recipe/vat_machine_recipe/arc_furnace_steel.json +89414ae5918914acae5db11dc28f63bb5ea7ff86 data/tfmg/recipe/vat_machine_recipe/concrete.json +cf40752510298ea23717e0ea55e9fa59a15584c2 data/tfmg/recipe/vat_machine_recipe/etched_circuit_board.json +43077f1d5f4cc99f12714c80fe5237b477d7546a data/tfmg/recipe/vat_machine_recipe/naphtha.json +a3563c6d248c44b3b17c2dfd931060a4d18e5461 data/tfmg/recipe/vat_machine_recipe/neon.json +0cd01d3c16fdada1ccc52af3fdd6e7ad1210b831 data/tfmg/recipe/vat_machine_recipe/plastic_from_ethylene.json +06d30a7b38e8495a79174c6b713e14c815850602 data/tfmg/recipe/vat_machine_recipe/plastic_from_propylene.json +f96244f6bee21508e2f66f3c53e87a19234c9ed6 data/tfmg/recipe/vat_machine_recipe/rubber.json +96266e062ddf433b53504610252bfa05b6f113d1 data/tfmg/recipe/vat_machine_recipe/sulfuric_acid.json +8d5fb19a3b470aa111d7e2685c6374eca220afe0 data/tfmg/recipe/winding/electromagnetic_coil.json +e376b0a13aecefcaa3ddda68842b582b6e4b0aa6 data/tfmg/recipe/winding/resistor.json diff --git a/src/generated/resources/.cache/612dd73b247e7adaa69a97c45a0f811345e025bb b/src/generated/resources/.cache/612dd73b247e7adaa69a97c45a0f811345e025bb new file mode 100644 index 00000000..6a619129 --- /dev/null +++ b/src/generated/resources/.cache/612dd73b247e7adaa69a97c45a0f811345e025bb @@ -0,0 +1,2572 @@ +// 1.21.1 2025-07-14T23:29:38.3531857 Registrate Provider for tfmg [Registries, Data Maps, Recipes, Advancements, Loot Tables, Tags (enchantments), Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), generic_server_provider, Blockstates, Item models, Lang (en_us/en_ud), generic_client_provider] +ff5a5721633b83465ab501cbdfdc579a0f20e938 assets/tfmg/blockstates/accumulator.json +e982a263b6af75821042107fdeff7bd809436d08 assets/tfmg/blockstates/air_intake.json +e7f63aadfc892e337d9f87b5e50af8b1c7e4103f assets/tfmg/blockstates/aluminum_bars.json +b7f5146505c40c08cdea7ad01fa99048b7ac5451 assets/tfmg/blockstates/aluminum_block.json +e99518f3ddabde3485a57d7709c565c9c681c181 assets/tfmg/blockstates/aluminum_cable_hub.json +f77a99f3ee1d192001623fd41601f3a1687b67c8 assets/tfmg/blockstates/aluminum_cogwheel.json +03b160816f926440ffaac13f3740c5f480dfc55e assets/tfmg/blockstates/aluminum_door.json +c0714b876360b41c4db8d9a5c0c4e9ee41d0b017 assets/tfmg/blockstates/aluminum_fluid_tank.json +a17662e331f24c3a81cbdd64f67b631645efb9f6 assets/tfmg/blockstates/aluminum_flywheel.json +664b2d2a842cc6021ab944dae24a639723ca3da9 assets/tfmg/blockstates/aluminum_frame.json +67d5edbef648081d5078d7800589d90f822545fc assets/tfmg/blockstates/aluminum_ladder.json +c4dc812ee44f9ff51021496ef988bc3f1b37e6af assets/tfmg/blockstates/aluminum_lamp.json +ce5205eea3a9d14fa3cf96d1a8d6d3f7a3bf3065 assets/tfmg/blockstates/aluminum_mechanical_pump.json +7f626af589ff636c28860aca25c8d3649e719e04 assets/tfmg/blockstates/aluminum_pipe.json +5449c09617ce761c2e3bb5711f5979e9bfabbd7d assets/tfmg/blockstates/aluminum_scaffolding.json +da777dccb630d66846bcaadee9f4ad971359b569 assets/tfmg/blockstates/aluminum_smart_fluid_pipe.json +7624d1e46d97661a3a818f5d74f631840783c076 assets/tfmg/blockstates/aluminum_truss.json +c651864765a9e415779e55bfc3009ab4be8d92cd assets/tfmg/blockstates/asphalt.json +43dd1440c753619802b4213df6640dee3563d391 assets/tfmg/blockstates/asphalt_slab.json +623528f7936ea1577438e5925ce33a08ebeeb54f assets/tfmg/blockstates/asphalt_stairs.json +26dfe8dbbfe7a7419eb89568924893975d701bf4 assets/tfmg/blockstates/asphalt_wall.json +933485fa587fccc649b4cbe8f76f15e590cc8bb1 assets/tfmg/blockstates/bauxite.json +2b53ff8e880d35a42388584cb3ca896c55bfaf95 assets/tfmg/blockstates/bauxite_pillar.json +9fd862495ecdac9b5c8d877b8dc73f426e069e7a assets/tfmg/blockstates/black_concrete.json +8ba92d5ab6c3b455398347da622a9c4102856235 assets/tfmg/blockstates/black_concrete_slab.json +ce1d5c17404468a5f52510b5a2d5868ad488b8c6 assets/tfmg/blockstates/black_concrete_stairs.json +bd3ce9b5d0e4098be3c7e7f5125f09a4698ebdd9 assets/tfmg/blockstates/black_concrete_wall.json +90c9731b97f61b72cc9ee3a045a7d20ed761f3e3 assets/tfmg/blockstates/black_rebar_concrete.json +8ba92d5ab6c3b455398347da622a9c4102856235 assets/tfmg/blockstates/black_rebar_concrete_slab.json +ce1d5c17404468a5f52510b5a2d5868ad488b8c6 assets/tfmg/blockstates/black_rebar_concrete_stairs.json +bd3ce9b5d0e4098be3c7e7f5125f09a4698ebdd9 assets/tfmg/blockstates/black_rebar_concrete_wall.json +120368d4cdebbaf17f805c1edf20d5abf556ec59 assets/tfmg/blockstates/blast_furnace_hatch.json +27892eb988e68f88a0c15b94f2415c04d6f6b8ee assets/tfmg/blockstates/blast_furnace_output.json +0ee84a4ff85c8a8bbfb488433050001c157b5495 assets/tfmg/blockstates/blast_furnace_reinforcement.json +2034512a90d1855fac35fca8a78ad25f4a847bfe assets/tfmg/blockstates/blast_furnace_reinforcement_wall.json +bdc3838d9ba58eddc6aad899aad74c27da41a995 assets/tfmg/blockstates/blast_stove.json +fb83c1076743328a2aa1ce2bd89cf7890293f971 assets/tfmg/blockstates/blue_caution_block.json +225657c0b886b2cd04ca81d7d7f4120b9fe73116 assets/tfmg/blockstates/blue_concrete.json +2f24eb61881af9d78f4d5bafe7096e6af7d10081 assets/tfmg/blockstates/blue_concrete_slab.json +2f422c8f88ad82ac427acbaa1df89305be31842a assets/tfmg/blockstates/blue_concrete_stairs.json +4386040bc5ed4b2cc08920f5f58e9e9427b7c14d assets/tfmg/blockstates/blue_concrete_wall.json +29c32cfb0c7479fce4768efb5690af8d15e9ceaa assets/tfmg/blockstates/blue_rebar_concrete.json +2f24eb61881af9d78f4d5bafe7096e6af7d10081 assets/tfmg/blockstates/blue_rebar_concrete_slab.json +2f422c8f88ad82ac427acbaa1df89305be31842a assets/tfmg/blockstates/blue_rebar_concrete_stairs.json +4386040bc5ed4b2cc08920f5f58e9e9427b7c14d assets/tfmg/blockstates/blue_rebar_concrete_wall.json +3e00a4db9909c06fdd9ec9d3154deaaaba6a4aea assets/tfmg/blockstates/brass_cable_hub.json +a96c72f6a617b4411810438c35c39dcb6ed37f85 assets/tfmg/blockstates/brass_frame.json +6e6dd65d14389b85018ab9f9049bb38b753ea1ca assets/tfmg/blockstates/brass_mechanical_pump.json +99739088a4fadc39e9e4dce904d279b0de94ca8e assets/tfmg/blockstates/brass_pipe.json +9ec8f8112e5907f732c730b5ed7ea4132a3e6c21 assets/tfmg/blockstates/brass_smart_fluid_pipe.json +9d2026a8d35888c538d7283176fcd43a2f84856b assets/tfmg/blockstates/brass_truss.json +ce7c427cf4f515dae0b70e073fcab02c4dd5fd92 assets/tfmg/blockstates/brick_smokestack.json +4158158416ad9a5d4a31f3cd3ea857a2ad3d8bc0 assets/tfmg/blockstates/brown_caution_block.json +b846b257ecd76322e904bd9c78a8b263a2799ad5 assets/tfmg/blockstates/brown_concrete.json +8b756fc85daef6d064edf3ea2b2e4c397e67c4a2 assets/tfmg/blockstates/brown_concrete_slab.json +99c8ea149db01211c82a02af3d738494694b2114 assets/tfmg/blockstates/brown_concrete_stairs.json +0ee9e3a46eaad9b1aa6eeaf1046044a7bf410af8 assets/tfmg/blockstates/brown_concrete_wall.json +654b7169217adbcf282d36285731378c48584096 assets/tfmg/blockstates/brown_rebar_concrete.json +8b756fc85daef6d064edf3ea2b2e4c397e67c4a2 assets/tfmg/blockstates/brown_rebar_concrete_slab.json +99c8ea149db01211c82a02af3d738494694b2114 assets/tfmg/blockstates/brown_rebar_concrete_stairs.json +0ee9e3a46eaad9b1aa6eeaf1046044a7bf410af8 assets/tfmg/blockstates/brown_rebar_concrete_wall.json +840c72a290cd0731b678233786a87602f3fa8c31 assets/tfmg/blockstates/cable_connector.json +e22bcb9d31726a734c6741fca494e409c590bf14 assets/tfmg/blockstates/cable_tube.json +86df9d2a2840b9ca6d2ef8f2a2f62bf285bed3a1 assets/tfmg/blockstates/casting_basin.json +2ccbf31047ec5a9b3dd285fda5a402281869f721 assets/tfmg/blockstates/cast_iron_bars.json +9ca537517fb8baeff3d4e4137c93aebd6b874c81 assets/tfmg/blockstates/cast_iron_block.json +d995d066790038a3fedb8a3562823e3fa2d9effb assets/tfmg/blockstates/cast_iron_chemical_vat.json +075a32d5c33ae2dd3fe6630afe1da72f9235bf9d assets/tfmg/blockstates/cast_iron_fluid_tank.json +7c9159010b4d65305d359272680cf9f665be0a51 assets/tfmg/blockstates/cast_iron_flywheel.json +6a6c7c8bb091a531a67ab6a6a299c7ca414af7e8 assets/tfmg/blockstates/cast_iron_frame.json +5f16ffc7322a3523f12a7330398116db7c8c98c4 assets/tfmg/blockstates/cast_iron_ladder.json +1636f236d918c77ae00f5b7fd5cfbfa17a701053 assets/tfmg/blockstates/cast_iron_mechanical_pump.json +901e36e24f615852a72c2bbc7540780aa06c8992 assets/tfmg/blockstates/cast_iron_pipe.json +51c50801611a969480ff203a549b3f12122b1d94 assets/tfmg/blockstates/cast_iron_smart_fluid_pipe.json +4d15a7e50cc1c0ffe7578eb50d022b4941c503ea assets/tfmg/blockstates/cast_iron_truss.json +457932bf25382db211b7461d450af54a53db7b1c assets/tfmg/blockstates/cement.json +2d34032100c750162bc216ecb5dcd415671b4ef8 assets/tfmg/blockstates/cinderflour_block.json +b01e90f39cda043e50ea9c3d0605f4bfcef077aa assets/tfmg/blockstates/cinder_block.json +f87bc83a35e2a9684eebd329d842f75527725e18 assets/tfmg/blockstates/circular_light.json +ec94bedd045ade74274ffe009569d65083b9fff5 assets/tfmg/blockstates/coal_coke_block.json +f39a853c61f70a3fe79952c962b2f26d309115a4 assets/tfmg/blockstates/coke_oven.json +c67b91a7fd9f16cd2d7eaa92dd9b945042d58130 assets/tfmg/blockstates/concrete.json +d0709116064c94684adca52587bd0f48b3900423 assets/tfmg/blockstates/concrete_encased_cable_tube.json +4a5b7c93ccd3bf2eeee42a6ae4b8209938980b72 assets/tfmg/blockstates/concrete_encased_electric_post.json +2dcc62250e0e7a2f7f49c21e72176905243c7e76 assets/tfmg/blockstates/concrete_encased_industrial_pipe.json +69c8b627d7b93cddf1a777ec77fe8ebdd0e88a77 assets/tfmg/blockstates/concrete_hose.json +9c9cac30f015e72418736cbec2d721a6dec56fb7 assets/tfmg/blockstates/concrete_slab.json +1bb17c9ead851661909f9d223aa3947267c0a84e assets/tfmg/blockstates/concrete_smokestack.json +84fcaec7626f69e9a27ef235121f9a9db9955530 assets/tfmg/blockstates/concrete_stairs.json +ff85a7b17cfc90735a0d6a868ff05bb77797adc4 assets/tfmg/blockstates/concrete_wall.json +2cfe5e165f43d1308a657b983507c9f9b9c7c404 assets/tfmg/blockstates/constantan_block.json +597a80861fc67cab5c0081f6887c868b7f1608c4 assets/tfmg/blockstates/constantan_frame.json +53a7c2c917f5074fe2c683b839a33487c1194e9a assets/tfmg/blockstates/constantan_ladder.json +53b8e39bebcf7f672cc05c9004ad1c0ab15797b8 assets/tfmg/blockstates/constantan_truss.json +9070d146f25231108735e25ea0fee258aa2dea4e assets/tfmg/blockstates/converter.json +dca4728ef33ca9d54fb55d707761c2eeb77c32b1 assets/tfmg/blockstates/cooling_fluid.json +8b9225e35a3b3543d5866650bf4ac9775942368e assets/tfmg/blockstates/copper_cable_hub.json +a8ffe111ead9a06af01f91232ce3b2f152deaab2 assets/tfmg/blockstates/copper_encased_aluminum_pipe.json +b39b284c5c09b03eb7df198a9ed050ed12f3d72d assets/tfmg/blockstates/copper_encased_brass_pipe.json +758103e7f0065d616333171c505401c8931d0c59 assets/tfmg/blockstates/copper_encased_cast_iron_pipe.json +e097073364c3d4214212332ba036eefb9e857715 assets/tfmg/blockstates/copper_encased_plastic_pipe.json +8b6052f05d1b9cd80062de3fb79e36eb0727ecd5 assets/tfmg/blockstates/copper_encased_steel_pipe.json +083f2b157fbc14718db084169776596d8f750c14 assets/tfmg/blockstates/copper_frame.json +fb27cbbba0cfc4169f0d20524fd8fa9ddad18144 assets/tfmg/blockstates/copper_truss.json +ee52b1eec63e67a98244c87d2cce7f045c483593 assets/tfmg/blockstates/copycat_cable_base.json +3dff9e1ec59415779195d2abfa9f07bc17b428a1 assets/tfmg/blockstates/copycat_cable_block.json +0b0aafe0a045dd28968cb8260db0afde9d11472b assets/tfmg/blockstates/creative_generator.json +fa1fa0509cd94e57da7624b5d094c228d6b92593 assets/tfmg/blockstates/creosote.json +d284d43a9b9527128c706adbd3dff3fa6e8ca048 assets/tfmg/blockstates/crude_oil.json +5f57a2dc6fa076ee9d2a22e32d26993490c6debc assets/tfmg/blockstates/cut_bauxite.json +b9c7bedf897df9728ae76d405686054e1f0f3549 assets/tfmg/blockstates/cut_bauxite_bricks.json +72dd4e067c197ef8e198930feb363b7f00104429 assets/tfmg/blockstates/cut_bauxite_brick_slab.json +857d56ad1da100aa6c3a1543b5f8d608242d20a8 assets/tfmg/blockstates/cut_bauxite_brick_stairs.json +e11a6159da224e69f12e11a594c20bb2bd8c0e68 assets/tfmg/blockstates/cut_bauxite_brick_wall.json +2a6fe47413aa549cd531ca1fb1d317da36745093 assets/tfmg/blockstates/cut_bauxite_slab.json +3803629d3a0fe11a30c7dedaf0ae8e396df4c994 assets/tfmg/blockstates/cut_bauxite_stairs.json +700d6569dd98adc6a3167c99295816453bf351b9 assets/tfmg/blockstates/cut_bauxite_wall.json +ce68852c8075afa7f145f17c71cbf00bfd3ea6c4 assets/tfmg/blockstates/cut_galena.json +08c64f9a0c66182dca3102fce5eb3466af5d2cd2 assets/tfmg/blockstates/cut_galena_bricks.json +777a433c073c6d377905ee744ad3e815b6d286bf assets/tfmg/blockstates/cut_galena_brick_slab.json +96c82e13ac477c283cf8b01681499c6c69ad2c26 assets/tfmg/blockstates/cut_galena_brick_stairs.json +055fdd3b1e1e505ba448fe8cf590ecf68afd5b1c assets/tfmg/blockstates/cut_galena_brick_wall.json +e2c220815dd76c0f81ad62defb42f81a263c508f assets/tfmg/blockstates/cut_galena_slab.json +f5a7a5bb3f7eb747a24c88592511edb080f02fbb assets/tfmg/blockstates/cut_galena_stairs.json +89a3047ffc1b3e4e3a82d6fc270259ad012440a9 assets/tfmg/blockstates/cut_galena_wall.json +e6c37a1b35654860e8e7bce70c17bb9c463cbcf0 assets/tfmg/blockstates/cyan_caution_block.json +64b75bc836e79eb356f851d938a12d41dfdc07ee assets/tfmg/blockstates/cyan_concrete.json +984c1ff59cc54f09672efe0f51055fb15392a61c assets/tfmg/blockstates/cyan_concrete_slab.json +4e923ed720f7aa0de438889f8bf76f417b5b5987 assets/tfmg/blockstates/cyan_concrete_stairs.json +085577a70a50fcde799996e8b153a65735d778bc assets/tfmg/blockstates/cyan_concrete_wall.json +1ae46cd5307f04f6e42d5c2553329b4821d2dc9e assets/tfmg/blockstates/cyan_rebar_concrete.json +984c1ff59cc54f09672efe0f51055fb15392a61c assets/tfmg/blockstates/cyan_rebar_concrete_slab.json +4e923ed720f7aa0de438889f8bf76f417b5b5987 assets/tfmg/blockstates/cyan_rebar_concrete_stairs.json +085577a70a50fcde799996e8b153a65735d778bc assets/tfmg/blockstates/cyan_rebar_concrete_wall.json +da3ce72a164ba44b83d2e0a34aba7a2e0bf1f7e0 assets/tfmg/blockstates/deepslate_lead_ore.json +29fabca149c689611b3066ffd546b48e305b795b assets/tfmg/blockstates/deepslate_lithium_ore.json +0c1f4a179de5361677ab6a190f3b3279374dfdf0 assets/tfmg/blockstates/deepslate_nickel_ore.json +c9291b06874778c72b970c234fdf7b48cbc443cb assets/tfmg/blockstates/diagonal_cable_block.json +03983ce3de10310cd75b98f17c9161653b7034cd assets/tfmg/blockstates/diesel.json +9e5371b956a65a7a49581208e331ee1fc8b8acc2 assets/tfmg/blockstates/electrical_switch.json +fce44cbe5ec7bc7ec527327088be37cea56ac85c assets/tfmg/blockstates/electric_diode.json +fec8a2ce3fa897609383099ca2f30b92f591428b assets/tfmg/blockstates/electric_motor.json +edaa0018b0c7dffe0b552e5f7dd539c5484600fb assets/tfmg/blockstates/electric_post.json +637b5240220dcff1f51dfa02ae44ceb43392a55b assets/tfmg/blockstates/electric_pump.json +5258f718a70e0e9b9f1433aa67fd7faa0a8f28c5 assets/tfmg/blockstates/electrode_holder.json +e452793b4673eaf1821619357692b41c297988f7 assets/tfmg/blockstates/encased_diode.json +5cd35edc93b0e5bc3fe86e4fd160ba2a660404ff assets/tfmg/blockstates/encased_potentiometer.json +66f1fa15f217954d9a24dec65a327a6e034b2d3f assets/tfmg/blockstates/engine_controller.json +d95a6906271097b15b19b7421d871600386137bd assets/tfmg/blockstates/engine_gearbox.json +08007e8e0e57b4ad322e9125fd05b010aa9a5a0b assets/tfmg/blockstates/exhaust.json +41ad3bce75918278f4f48ca3ecf23b1980f9963d assets/tfmg/blockstates/factory_floor.json +36ffee75385da09fa435f9059a85f32a68fdaec1 assets/tfmg/blockstates/firebox.json +8e8feef9e07345228da05669fcb8449a4276f114 assets/tfmg/blockstates/fireclay.json +13c8eae3dd74b79d0e43c31ff101111e0af058f1 assets/tfmg/blockstates/fireproof_bricks.json +fe071d9f7c86c74e47390c35709f6c59b71bfa59 assets/tfmg/blockstates/fireproof_brick_reinforcement.json +beb5fcedb0ce0ad1de2097ab749954e5256b3c83 assets/tfmg/blockstates/fireproof_chemical_vat.json +89257ec2fdb2f1d61cb229df606c7ffac47e4582 assets/tfmg/blockstates/flarestack.json +e74acd9562e4b46295cf017d17f2662e20a7f5ea assets/tfmg/blockstates/fossilstone.json +f2876beb7a70b63cf30209d0b25db0462b851c7f assets/tfmg/blockstates/galena.json +4325917750f83a2d70f07071af765b388b0df2df assets/tfmg/blockstates/galena_pillar.json +b0a3f4da5d9efdd01800c8b9738aee194565c6e7 assets/tfmg/blockstates/gasoline.json +307dfb8175dbcda4107a36d25b25004d41b901ca assets/tfmg/blockstates/generator.json +c58cc6ae649bc1bafe76b85f0ad4a96c78c237a7 assets/tfmg/blockstates/glass_aluminum_pipe.json +de3098b3dfd1bdaabbd437af409b9fdef7d5ccd6 assets/tfmg/blockstates/glass_brass_pipe.json +6d70d188380a7c925b52c44e3d8306aa1088e4c7 assets/tfmg/blockstates/glass_cable_insulator.json +be2ae6bcf2aead92612fafa57edcac1f0e7775db assets/tfmg/blockstates/glass_cast_iron_pipe.json +078297bd91c6b0f19bed8e1b415c3fc48c879ef3 assets/tfmg/blockstates/glass_plastic_pipe.json +d23c28129bc7885986c65290071fb7a9cc5391d7 assets/tfmg/blockstates/glass_steel_pipe.json +ca8cd808a28b1d8f9b92d2b33ec5f8e1e9eaeff4 assets/tfmg/blockstates/gray_caution_block.json +def0068e1db5fa0b7924ae54e188347d0a3fb05d assets/tfmg/blockstates/gray_concrete.json +d908c98716ad379bc59cf562e6ddb576771e75c8 assets/tfmg/blockstates/gray_concrete_slab.json +3508f6b3948baa5d986b1f659c1157db4decf9b0 assets/tfmg/blockstates/gray_concrete_stairs.json +5ac047a09c73e971e452358720488b79eadf0039 assets/tfmg/blockstates/gray_concrete_wall.json +46ba17a72227b48f286c6d279758ebad67c0fc6c assets/tfmg/blockstates/gray_rebar_concrete.json +d908c98716ad379bc59cf562e6ddb576771e75c8 assets/tfmg/blockstates/gray_rebar_concrete_slab.json +3508f6b3948baa5d986b1f659c1157db4decf9b0 assets/tfmg/blockstates/gray_rebar_concrete_stairs.json +5ac047a09c73e971e452358720488b79eadf0039 assets/tfmg/blockstates/gray_rebar_concrete_wall.json +b3ccc1de7902ad4a1222c889723e6ec49421f074 assets/tfmg/blockstates/green_caution_block.json +383c055f7b0ae0484ad4147e242691d4a5112c0f assets/tfmg/blockstates/green_concrete.json +408f9f2ea4bdd6992c2aac874bf28baa1aaeccec assets/tfmg/blockstates/green_concrete_slab.json +11143b636a70bf7515ed922ca23abb8231bda60a assets/tfmg/blockstates/green_concrete_stairs.json +dd06f00a75ab085ce616c9733525e5cf47482134 assets/tfmg/blockstates/green_concrete_wall.json +e7a3b82a2d314ecdc754c0e1a7660e618c6f7f68 assets/tfmg/blockstates/green_rebar_concrete.json +408f9f2ea4bdd6992c2aac874bf28baa1aaeccec assets/tfmg/blockstates/green_rebar_concrete_slab.json +11143b636a70bf7515ed922ca23abb8231bda60a assets/tfmg/blockstates/green_rebar_concrete_stairs.json +dd06f00a75ab085ce616c9733525e5cf47482134 assets/tfmg/blockstates/green_rebar_concrete_wall.json +d962f14f34ae4a5fcd6876ec75ce0572bdf1fb70 assets/tfmg/blockstates/hardened_planks.json +ae92ca2b103a7c8842c17a684e03f18ad373a521 assets/tfmg/blockstates/heavy_cable_hub.json +9753ec68aa5fe10f618000b453a242d5e685b7d7 assets/tfmg/blockstates/heavy_casing_door.json +437e9915e04a780339bece4e4d08284c1e3f8982 assets/tfmg/blockstates/heavy_casing_encased_aluminum_cogwheel.json +1487dc2a3bfe572e889517b6dcf0dad19c0980c5 assets/tfmg/blockstates/heavy_casing_encased_large_aluminum_cogwheel.json +c6e14cf6475bd205b5c698342eef9a281eed7c15 assets/tfmg/blockstates/heavy_casing_encased_large_steel_cogwheel.json +bbb58dd6f5a2a55a1d49a56a1ef4501b7d337bcf assets/tfmg/blockstates/heavy_casing_encased_shaft.json +f8191117146ddf45d975b61091a55deb6083cb8a assets/tfmg/blockstates/heavy_casing_encased_steel_cogwheel.json +c7aa764cc11ee837deeed68c9c2d8567ea078f5c assets/tfmg/blockstates/heavy_machinery_casing.json +dea24edfcb504c6c74560174a94bd7d3e5d58e76 assets/tfmg/blockstates/heavy_oil.json +b22328797a3005e555cb90e200ae462b4ce90cda assets/tfmg/blockstates/heavy_plated_door.json +ccbf016681045856ec06d0c2cc9e651afcfab236 assets/tfmg/blockstates/industrial_aluminum_casing.json +ed00b41f2042cd827e7caaf7a5312d2453248539 assets/tfmg/blockstates/industrial_mixer.json +72f06fad72de60dcf5c3a49add9ba27d79219368 assets/tfmg/blockstates/industrial_pipe.json +7199cbfa37e83fcedf8e99af48b05b283aef319f assets/tfmg/blockstates/kerosene.json +61d49e4e58081cb4559df64483406ad102190afe assets/tfmg/blockstates/large_aluminum_cogwheel.json +ec1fc4ae9df76d71ae0bc00ea9eca9baf1e10133 assets/tfmg/blockstates/large_engine.json +16222d2053ae55af9b757120eb325d233f92104a assets/tfmg/blockstates/large_pumpjack_hammer_connector.json +71b24d08f184c992d00e1cab9d0a85971a9eae95 assets/tfmg/blockstates/large_pumpjack_hammer_head.json +805263ab905213fc35d07759a22af0933abca22b assets/tfmg/blockstates/large_pumpjack_hammer_part.json +c9d91f8d9b6c51ed8463d0a94d7d8f1762b850dc assets/tfmg/blockstates/large_steel_cogwheel.json +a8f81ce72c3f074ffef304b238ae805f3b4ea763 assets/tfmg/blockstates/layered_bauxite.json +b5f8db9cf9f4558bd9b4be1307291edf0b69bff6 assets/tfmg/blockstates/layered_galena.json +958cc9992b9a640adc21857a9b97ed42ea643e8b assets/tfmg/blockstates/lead_bars.json +34b4665b1ad1f302cebf30a5b1694c47b7ec1b8a assets/tfmg/blockstates/lead_block.json +eb67ce57334d8a1fc7865313eecd8f580e358549 assets/tfmg/blockstates/lead_flywheel.json +047f7414af057478af0ac28c3122d8e9ba2c4081 assets/tfmg/blockstates/lead_frame.json +348ab8ce68a04c3d747a36b976c8700f6a3171cb assets/tfmg/blockstates/lead_ladder.json +f9a121d9f7ffe1db7f97bf0fd5f5ae51fa997b04 assets/tfmg/blockstates/lead_ore.json +c05e1e20dc61f415e11f7796e6ee9be49874c7ea assets/tfmg/blockstates/lead_truss.json +efc44989d25c2f25d6c27af49217398b2b615b28 assets/tfmg/blockstates/light_blue_caution_block.json +bb191e7540b3e1df63c93718eaa674c19b57abab assets/tfmg/blockstates/light_blue_concrete.json +39f77bb75137d03c34947908dfea0bb077132bbf assets/tfmg/blockstates/light_blue_concrete_slab.json +2e1bdcb35ec7fe5273d7f8e45e50fd5afd61069a assets/tfmg/blockstates/light_blue_concrete_stairs.json +5e3919e58450abab9fc346ab698ee58a4e7e26ee assets/tfmg/blockstates/light_blue_concrete_wall.json +d63cebd9bd074ac34e49bef8ae36244ce9d668d0 assets/tfmg/blockstates/light_blue_rebar_concrete.json +39f77bb75137d03c34947908dfea0bb077132bbf assets/tfmg/blockstates/light_blue_rebar_concrete_slab.json +2e1bdcb35ec7fe5273d7f8e45e50fd5afd61069a assets/tfmg/blockstates/light_blue_rebar_concrete_stairs.json +5e3919e58450abab9fc346ab698ee58a4e7e26ee assets/tfmg/blockstates/light_blue_rebar_concrete_wall.json +d4473d75611828f0493a28512141f15e47ffb23a assets/tfmg/blockstates/light_bulb.json +9ec2a2c9d7221237dac359f3cd62ef7eeaf9aa48 assets/tfmg/blockstates/light_gray_caution_block.json +8be7bfb02d65c9bfbeef21bf8e088452012236c4 assets/tfmg/blockstates/light_gray_concrete.json +9ed79792a8af71018827d9f80cada08f4da0f357 assets/tfmg/blockstates/light_gray_concrete_slab.json +febd7b6a8e7d3b3ea0f8dd3d8e8f798a19aefcc6 assets/tfmg/blockstates/light_gray_concrete_stairs.json +393912dacebcc0948b0faf9a610ce02d65317e44 assets/tfmg/blockstates/light_gray_concrete_wall.json +13e265dbad8b60b8587898166e62396f3db8b067 assets/tfmg/blockstates/light_gray_rebar_concrete.json +9ed79792a8af71018827d9f80cada08f4da0f357 assets/tfmg/blockstates/light_gray_rebar_concrete_slab.json +febd7b6a8e7d3b3ea0f8dd3d8e8f798a19aefcc6 assets/tfmg/blockstates/light_gray_rebar_concrete_stairs.json +393912dacebcc0948b0faf9a610ce02d65317e44 assets/tfmg/blockstates/light_gray_rebar_concrete_wall.json +4ed23c1bb20b78529246e572e9548706e44dd5df assets/tfmg/blockstates/lignite.json +a324ae563f509b0f6be9c214b54fc66b195ce410 assets/tfmg/blockstates/lime_caution_block.json +ddb241a1d67117bfc282c453fba15acd9950a7a2 assets/tfmg/blockstates/lime_concrete.json +a2c5689e6cbdd92500ec72802eaba2558bae42c8 assets/tfmg/blockstates/lime_concrete_slab.json +230a296449bdce273104fdfc83700c04b0089933 assets/tfmg/blockstates/lime_concrete_stairs.json +8667f73f37448b0c689a619818a15d617c513fe1 assets/tfmg/blockstates/lime_concrete_wall.json +24212d93fa58084c1679ad57ffdfd2044416dcd6 assets/tfmg/blockstates/lime_rebar_concrete.json +a2c5689e6cbdd92500ec72802eaba2558bae42c8 assets/tfmg/blockstates/lime_rebar_concrete_slab.json +230a296449bdce273104fdfc83700c04b0089933 assets/tfmg/blockstates/lime_rebar_concrete_stairs.json +8667f73f37448b0c689a619818a15d617c513fe1 assets/tfmg/blockstates/lime_rebar_concrete_wall.json +7e625afc0b02d2ce7fe50e80855a845cf802000d assets/tfmg/blockstates/liquid_asphalt.json +55cba7d103b52b31f2deb59effcc01cfae6e2c05 assets/tfmg/blockstates/liquid_concrete.json +d1617690ce981c1ed0432e90fe1ca0c279404448 assets/tfmg/blockstates/liquid_silicon.json +867ab4bebb69784a052bc954b07c379c85ff10aa assets/tfmg/blockstates/lithium_block.json +2373c2691809f6d028414f485ccc80e05fca81af assets/tfmg/blockstates/lithium_ore.json +d02941991bccf3fc193e6bcf5fc51af4ad0be4d3 assets/tfmg/blockstates/lithium_torch.json +2dc4b1da2bee0275cbb13ef89003d56f62d4443d assets/tfmg/blockstates/lubrication_oil.json +1118fe0b59b19a86abd4f3a379fdf893e173ca10 assets/tfmg/blockstates/machine_input.json +460e1b5c6639f93b901e4b71ddd3ab7f710f72d6 assets/tfmg/blockstates/magenta_caution_block.json +6c88c9964466c642bee642ddf5949afd41decb19 assets/tfmg/blockstates/magenta_concrete.json +2052d36ce93141a6915bbf4f2e9ba485e241fef3 assets/tfmg/blockstates/magenta_concrete_slab.json +96217ee5e14df8d0f08552355e51716c973f7d18 assets/tfmg/blockstates/magenta_concrete_stairs.json +717037ad7e8a02c29c2b4411b65bc486778cbcab assets/tfmg/blockstates/magenta_concrete_wall.json +02148ecea7e51488abeba62527230e93063bef0e assets/tfmg/blockstates/magenta_rebar_concrete.json +2052d36ce93141a6915bbf4f2e9ba485e241fef3 assets/tfmg/blockstates/magenta_rebar_concrete_slab.json +96217ee5e14df8d0f08552355e51716c973f7d18 assets/tfmg/blockstates/magenta_rebar_concrete_stairs.json +717037ad7e8a02c29c2b4411b65bc486778cbcab assets/tfmg/blockstates/magenta_rebar_concrete_wall.json +1433878f939769f4fb7bf6e538e50dee7abb20ec assets/tfmg/blockstates/metal_smokestack.json +2e5bd4b9d974c05d75c92a434e495c7fd1e1feaa assets/tfmg/blockstates/modern_light.json +91aecfd2209254bf818d86f5a378317be3617582 assets/tfmg/blockstates/molten_plastic.json +655d2a8fc21a9365e3ad82e2b73dc5fd71566ef7 assets/tfmg/blockstates/molten_slag.json +a4d0f4f955fe3ac39933613a721521849bcae8c6 assets/tfmg/blockstates/molten_steel.json +ebd6804b999acea36abbf07c2381ee6dee0d7a16 assets/tfmg/blockstates/napalm.json +d4912088a46f9bdff74bf95f2d78aec4e4c8a6cb assets/tfmg/blockstates/napalm_bomb.json +89f2902010903aad686571ef37c781b111147456 assets/tfmg/blockstates/naphtha.json +50554cd2533852d92fd55438c7b334a66d0b394a assets/tfmg/blockstates/neon_tube.json +b143304f44f6eb7a2d1a6a9ee6b42b8aa4e0bd03 assets/tfmg/blockstates/nickel_bars.json +2804515ba81747bf9d1f04dc38c4d1aad7751b7f assets/tfmg/blockstates/nickel_block.json +846b7738390847af67e357932b3ac8dbefd83074 assets/tfmg/blockstates/nickel_flywheel.json +e3ca9fee9eb64caddb6d6de6cacf41742be972cd assets/tfmg/blockstates/nickel_frame.json +66931f0728d8b94f1ad38213cb6a8eace35859ae assets/tfmg/blockstates/nickel_ladder.json +8112c528a9b438dd9a13a7da905e30fc69620837 assets/tfmg/blockstates/nickel_ore.json +b3087da6d0660e1f8825f2c9ce7592a4c8cd2d39 assets/tfmg/blockstates/nickel_truss.json +98a003d914c034d7fdc0e7da31c550cbc8d068f1 assets/tfmg/blockstates/oil_deposit.json +e69ce6ca17fd00993708f36d8458f5b88e68b261 assets/tfmg/blockstates/orange_caution_block.json +c37edaba2d6d474398cc5cd3f60390f03c0572c4 assets/tfmg/blockstates/orange_concrete.json +d8c66e9518950f5d7aef101f97bfd8373a3456d8 assets/tfmg/blockstates/orange_concrete_slab.json +38e46c8c441c090263b1b90fd8417b4e3ab14ec5 assets/tfmg/blockstates/orange_concrete_stairs.json +454996edc38bdada9d4d1dec3cdeaa17a902f9ec assets/tfmg/blockstates/orange_concrete_wall.json +a6efcd985e658c86c0d88f8a16df895fb8cde16a assets/tfmg/blockstates/orange_rebar_concrete.json +d8c66e9518950f5d7aef101f97bfd8373a3456d8 assets/tfmg/blockstates/orange_rebar_concrete_slab.json +38e46c8c441c090263b1b90fd8417b4e3ab14ec5 assets/tfmg/blockstates/orange_rebar_concrete_stairs.json +454996edc38bdada9d4d1dec3cdeaa17a902f9ec assets/tfmg/blockstates/orange_rebar_concrete_wall.json +acc74a6d11ee00e5a503c17de71485564a06e0e4 assets/tfmg/blockstates/pink_caution_block.json +2f05966de00d299ea5ca29f29c235468867e56a5 assets/tfmg/blockstates/pink_concrete.json +d0d006b1476b4be3a89cc22a56bae0779d6f2aad assets/tfmg/blockstates/pink_concrete_slab.json +d1c16a2637c3725b904a12cc036cd2d3de69f00b assets/tfmg/blockstates/pink_concrete_stairs.json +22ad562a75bcf2f7d320f601a18ce2747ee1ac5f assets/tfmg/blockstates/pink_concrete_wall.json +de889a40281ccd0d5273eae82d22db5a3d4eecb7 assets/tfmg/blockstates/pink_rebar_concrete.json +d0d006b1476b4be3a89cc22a56bae0779d6f2aad assets/tfmg/blockstates/pink_rebar_concrete_slab.json +d1c16a2637c3725b904a12cc036cd2d3de69f00b assets/tfmg/blockstates/pink_rebar_concrete_stairs.json +22ad562a75bcf2f7d320f601a18ce2747ee1ac5f assets/tfmg/blockstates/pink_rebar_concrete_wall.json +9af676892332313b4413b388e1909bd4a903b644 assets/tfmg/blockstates/plastic_block.json +c71682d0d79772cb095a4149b4126c4612c6dc05 assets/tfmg/blockstates/plastic_mechanical_pump.json +572ad0ea319457ae51e1b4e850cec89282e07ecd assets/tfmg/blockstates/plastic_pipe.json +2d9fe4ba67d5adc8869a8c104a42234bddc3ebe3 assets/tfmg/blockstates/plastic_smart_fluid_pipe.json +c468c3371a1e422067548e17f178a4309e217781 assets/tfmg/blockstates/polarizer.json +de9db40aec6d8dfe1afc222cd136df66a5ea0ff4 assets/tfmg/blockstates/polished_cut_bauxite.json +666a8272c3b88cc95106ff6c517b39d5f405cd15 assets/tfmg/blockstates/polished_cut_bauxite_slab.json +09b0074325813fc7b3cc47d406127abd0cfff21a assets/tfmg/blockstates/polished_cut_bauxite_stairs.json +92ac841c40e42468c4a01f98c61bc7df13eb4b9f assets/tfmg/blockstates/polished_cut_bauxite_wall.json +7e192a8da53b7dd86f5a074fe58087f4b076b359 assets/tfmg/blockstates/polished_cut_galena.json +c614b3cad7a7a197ac616f20fafc122e21e61363 assets/tfmg/blockstates/polished_cut_galena_slab.json +a506556ae0245a92a4a09c8a3e5bbcbdc6152dee assets/tfmg/blockstates/polished_cut_galena_stairs.json +4f839082dc704114c20fe7a1640f3a107bab6624 assets/tfmg/blockstates/polished_cut_galena_wall.json +4eff30de429f1957435ceb93036618265ecb345b assets/tfmg/blockstates/potentiometer.json +0e5ae5ba45bb371f454522420c0934d452db9332 assets/tfmg/blockstates/pumpjack_base.json +92caf039b3fce1e61867d9bcc0f1dbfad06ffb50 assets/tfmg/blockstates/pumpjack_crank.json +62c3fb6f1f9b945bd900a4bc6e351c7e7c60c803 assets/tfmg/blockstates/pumpjack_hammer.json +fc3dbceddee61b5cbac32ae8dc9f298b21339fb4 assets/tfmg/blockstates/pumpjack_hammer_connector.json +0ce81c6e303c267b2cca2aa60575d2640d74aae3 assets/tfmg/blockstates/pumpjack_hammer_head.json +cde07945cad6d8e5fd1d12272b0a2c158ff3300d assets/tfmg/blockstates/pumpjack_hammer_part.json +ec00b08a48f5a92449f4831432c51f675ec084e1 assets/tfmg/blockstates/purple_caution_block.json +9437d1ab6bdc0b61bb7eeda0b915413567ca2d5b assets/tfmg/blockstates/purple_concrete.json +0e498253d6e9cc8085dba93440b5531d6f4e6d3f assets/tfmg/blockstates/purple_concrete_slab.json +cd0efffbfec34f486ff8754fe101d549ecb89b4f assets/tfmg/blockstates/purple_concrete_stairs.json +aa93dabc5a9694f94d2a91e6b4060eccfa108a0c assets/tfmg/blockstates/purple_concrete_wall.json +d213b1e171f2c1cb3da1e18f05fa6bb263562901 assets/tfmg/blockstates/purple_rebar_concrete.json +0e498253d6e9cc8085dba93440b5531d6f4e6d3f assets/tfmg/blockstates/purple_rebar_concrete_slab.json +cd0efffbfec34f486ff8754fe101d549ecb89b4f assets/tfmg/blockstates/purple_rebar_concrete_stairs.json +aa93dabc5a9694f94d2a91e6b4060eccfa108a0c assets/tfmg/blockstates/purple_rebar_concrete_wall.json +89123227a69a273f6b3edbf4bab12c2d3aa1e9f0 assets/tfmg/blockstates/radial_engine.json +61c3fb463cbf621b692307cada7201e3882b26ed assets/tfmg/blockstates/raw_lead_block.json +0000593f18477817db98661055ab25034c12990f assets/tfmg/blockstates/raw_lithium_block.json +8f4e79b9966ed492e30afd07cdc2e77465e0a4de assets/tfmg/blockstates/raw_nickel_block.json +4cc9b6e69063a86660c3bc8d0b2105bf32d0c29d assets/tfmg/blockstates/rebar_block.json +b96efc46401770e0661dc36466ff6b233232e7f5 assets/tfmg/blockstates/rebar_concrete.json +9c9cac30f015e72418736cbec2d721a6dec56fb7 assets/tfmg/blockstates/rebar_concrete_slab.json +7689b7e22e5b489746a58d9ee5c5c969367c279a assets/tfmg/blockstates/rebar_concrete_stairs.json +ff85a7b17cfc90735a0d6a868ff05bb77797adc4 assets/tfmg/blockstates/rebar_concrete_wall.json +1c8c4a403d4f536305445ba2861663b5a837eb17 assets/tfmg/blockstates/rebar_floor.json +deaf593d4117da40088bc8b8b852e97a262be97b assets/tfmg/blockstates/rebar_pile.json +aa77fc5be39055fe28a55db6f432d3aaf15fe16d assets/tfmg/blockstates/rebar_pillar.json +43f35140c8635bfa32b5ad92731f038efecb02fa assets/tfmg/blockstates/rebar_stairs.json +99a65a1aad8e9427ecb138b466e559482a4a7435 assets/tfmg/blockstates/rebar_wall.json +a783decb92a740079d812a190a14075bc0e0f933 assets/tfmg/blockstates/red_caution_block.json +fd0cfd9937dcf920b376da7a1075747610368b42 assets/tfmg/blockstates/red_concrete.json +c56002be5068f20200930306f8bd8d70df304ea0 assets/tfmg/blockstates/red_concrete_slab.json +84428de5f191b0d5ec7101ab1e6bda689f3a0fad assets/tfmg/blockstates/red_concrete_stairs.json +3b2c2ec57ef6ba5c13874541111b3c39b5e1bccd assets/tfmg/blockstates/red_concrete_wall.json +9ebf8737ffbe32b8dd1abb48c568e2f43d4b66fa assets/tfmg/blockstates/red_rebar_concrete.json +c56002be5068f20200930306f8bd8d70df304ea0 assets/tfmg/blockstates/red_rebar_concrete_slab.json +84428de5f191b0d5ec7101ab1e6bda689f3a0fad assets/tfmg/blockstates/red_rebar_concrete_stairs.json +3b2c2ec57ef6ba5c13874541111b3c39b5e1bccd assets/tfmg/blockstates/red_rebar_concrete_wall.json +0dd1a6a2acf3e982dbbf0c6b4ac08fe42656e290 assets/tfmg/blockstates/regular_engine.json +81712e33553c646e3529f91b3dbc2224bc618728 assets/tfmg/blockstates/reinforced_fireproof_bricks.json +5c4c5fba9cdc7d8d2817a5f0ad0f1e2f8a7b6c1e assets/tfmg/blockstates/resistor.json +0efd5d862a5fe28bf78d1d9acbf220baeeebc2e9 assets/tfmg/blockstates/rotor.json +516823724a718040e4a9aa746483424c2b9dbc92 assets/tfmg/blockstates/rusted_blast_furnace_reinforcement.json +3001739bfa95b98d11a6b74ef223032c52cbec38 assets/tfmg/blockstates/rusted_blast_furnace_reinforcement_wall.json +492472bdc36f30c0ef018f70a77b2ff712dde076 assets/tfmg/blockstates/segmented_display.json +304db19767eb93533342ab115aa092ed169826a7 assets/tfmg/blockstates/simple_large_engine.json +1d17b3c32eb68af8d4ecb4af814e6b5b53286a18 assets/tfmg/blockstates/slag_block.json +12b6aac2233f13dfc650335a528390e5d72196c4 assets/tfmg/blockstates/slag_bricks.json +759968da877221c21f6979f6af6cf201a9a8c1b7 assets/tfmg/blockstates/small_bauxite_bricks.json +bf9dcbeabbd8d9da8dcd1cd9d42c3fce6509e7e6 assets/tfmg/blockstates/small_bauxite_brick_slab.json +e80f4610e3272a4edfb47572aff71f1db3d283d7 assets/tfmg/blockstates/small_bauxite_brick_stairs.json +a2eed7173d7f528d0f068c5fa9ea358f61ef1436 assets/tfmg/blockstates/small_bauxite_brick_wall.json +a5224c8449280855a4682772711ba8824d96416e assets/tfmg/blockstates/small_galena_bricks.json +7a81743219e896d34ade8cb4de2c6e68b0f64d58 assets/tfmg/blockstates/small_galena_brick_slab.json +e3c4c116936c46b045778274f4dc10e7e372f8a7 assets/tfmg/blockstates/small_galena_brick_stairs.json +865a2f70bb480dd2fbd778d9809750a4c5156088 assets/tfmg/blockstates/small_galena_brick_wall.json +45647e5977a722b8bf75253d009aad0dc6d15acd assets/tfmg/blockstates/stator.json +6e94961a0fb21276b1654a0b7033fb761a1035a0 assets/tfmg/blockstates/steel_bars.json +e6983072149d1a9a2f4d39e4e1feac599ff7413e assets/tfmg/blockstates/steel_block.json +739553c4ea73079a791db7696f891c03ef87a3ed assets/tfmg/blockstates/steel_cable_hub.json +df44115876045e6f863de2f8be6a9166b336a2f1 assets/tfmg/blockstates/steel_casing.json +330385114529db69901e3669c2a78976b9309cd0 assets/tfmg/blockstates/steel_casing_cable_hub.json +59d8bccbe16deaeea50fb66a20ff91e4dc17b94e assets/tfmg/blockstates/steel_chemical_vat.json +40e8475d00006ee1c7b4ea09e04e125e355e4250 assets/tfmg/blockstates/steel_cogwheel.json +da130e39c11834ebc6d05bcee6c1ed6bb93b0e52 assets/tfmg/blockstates/steel_distillation_controller.json +7e92dd6fe0663fe497a4cc2e4f8fc52e557ba527 assets/tfmg/blockstates/steel_distillation_output.json +7334c94b5fe23df91f43048b19c2b22121405603 assets/tfmg/blockstates/steel_door.json +6636cc250595128cccf3789a611ccbcd6b645def assets/tfmg/blockstates/steel_encased_aluminum_cogwheel.json +4a71c53b5b55ef0707da5ea84d0e664b4ab94cb5 assets/tfmg/blockstates/steel_encased_large_aluminum_cogwheel.json +ac10db0420560858642b09ce88b6cd51a9a0078a assets/tfmg/blockstates/steel_encased_large_steel_cogwheel.json +48b9ff4311eedd9cfb930af4b07f52901e8b2f8e assets/tfmg/blockstates/steel_encased_shaft.json +b74bd3758b29f3cbc31df910ad8034a0dda83818 assets/tfmg/blockstates/steel_encased_steel_cogwheel.json +72bfce2a2795dfe461beed7c3a074e328de14d96 assets/tfmg/blockstates/steel_fluid_tank.json +894e5f144506049efe96bcfb07302c569c31a631 assets/tfmg/blockstates/steel_flywheel.json +d220631b1df82cddae2e3d504a263db17e25efe7 assets/tfmg/blockstates/steel_frame.json +c1b79a7b41e6a078669e8b50fcb78d9aba12ef83 assets/tfmg/blockstates/steel_gearbox.json +2e78051bfa9dfb4520047264778787c6d25b7490 assets/tfmg/blockstates/steel_ladder.json +6041673298a81819601e832e560771d21ddd01e9 assets/tfmg/blockstates/steel_mechanical_pump.json +2305048c06767d728d10242e152f25911c1489fd assets/tfmg/blockstates/steel_pipe.json +458c9abec2a978607ba751741bdf5e90b952c8f2 assets/tfmg/blockstates/steel_scaffolding.json +47b56dad1f2715aae7430b5f9acb1d51a26cf562 assets/tfmg/blockstates/steel_smart_fluid_pipe.json +bd4a817323670440ca51c3a038382cd6362285b2 assets/tfmg/blockstates/steel_trapdoor.json +6de5d0777eca3a1e23051d4a3e8d9e4067b1dfd0 assets/tfmg/blockstates/steel_truss.json +e7bbd21def546ff0b7db68091c877da4ac3fe301 assets/tfmg/blockstates/sulfur.json +1225bd391dc2c4092ffc6c643e39c9f501f43afb assets/tfmg/blockstates/sulfuric_acid.json +5a477cb69a83689c52ad333d7dbc3c4c93680c6d assets/tfmg/blockstates/surface_scanner.json +630732e33c7cab7e8a9f126bf3b5f0cc58d3c5fd assets/tfmg/blockstates/traffic_light.json +22e56693892c3c7113999216111223b271cf7783 assets/tfmg/blockstates/transformer.json +5b04f2390c2abcfd0a9a92a961c47646f7d3afbe assets/tfmg/blockstates/turbine_engine.json +1a9d971bfb2af3594592ce835b54a94ed8f76f7b assets/tfmg/blockstates/voltage_observer.json +253af20ab871a235c0cfd95d6212760a6dac352d assets/tfmg/blockstates/voltmeter.json +3ae604025ac79eccc5fd1ff34d3854c50b17ce76 assets/tfmg/blockstates/white_caution_block.json +f0008a901bc09a81bfc3679eccf2e2eaea316a50 assets/tfmg/blockstates/white_concrete.json +624366f1e6f02b5cc0819f7d2f56920e5b8d0557 assets/tfmg/blockstates/white_concrete_slab.json +03716a2a69f857225836a910a861e0d3b41f177f assets/tfmg/blockstates/white_concrete_stairs.json +a91a739eb2fe9a2d24c409d2be93501503f87090 assets/tfmg/blockstates/white_concrete_wall.json +aebb8e9da72f54469f230298ee2f195e889966cb assets/tfmg/blockstates/white_rebar_concrete.json +624366f1e6f02b5cc0819f7d2f56920e5b8d0557 assets/tfmg/blockstates/white_rebar_concrete_slab.json +03716a2a69f857225836a910a861e0d3b41f177f assets/tfmg/blockstates/white_rebar_concrete_stairs.json +a91a739eb2fe9a2d24c409d2be93501503f87090 assets/tfmg/blockstates/white_rebar_concrete_wall.json +8aa460493dd5f6cb3e23da5850cfae5ac64d0604 assets/tfmg/blockstates/winding_machine.json +db068de81280e53b87af885271caea65a37187de assets/tfmg/blockstates/yellow_caution_block.json +054af0b94f124941d9cf96c58f68a6114bd75977 assets/tfmg/blockstates/yellow_concrete.json +98c9aa212e82100d7fc47354760940cc946594d4 assets/tfmg/blockstates/yellow_concrete_slab.json +a1988ec6a98f23cad8321b46345fbf1c5fd20489 assets/tfmg/blockstates/yellow_concrete_stairs.json +c58fa20c091e5ecddfb7164cba45538a8f911431 assets/tfmg/blockstates/yellow_concrete_wall.json +5040a6a4b9ddb625b03bf3852e34f7f051c37414 assets/tfmg/blockstates/yellow_rebar_concrete.json +98c9aa212e82100d7fc47354760940cc946594d4 assets/tfmg/blockstates/yellow_rebar_concrete_slab.json +a1988ec6a98f23cad8321b46345fbf1c5fd20489 assets/tfmg/blockstates/yellow_rebar_concrete_stairs.json +c58fa20c091e5ecddfb7164cba45538a8f911431 assets/tfmg/blockstates/yellow_rebar_concrete_wall.json +0271e2b940bb94cdb7e951b81e277ee633d64d62 assets/tfmg/blockstates/zinc_frame.json +1bd66f29acffb67f30bfe94c8535509bd009beab assets/tfmg/blockstates/zinc_truss.json +c79ae070ce4f9efe5e63eb2e7d79bb85900305fe assets/tfmg/lang/en_ud.json +5944b9064638f3550e00d2255576b0a72ed3b8d5 assets/tfmg/lang/en_us.json +9e6a6b62f5e7528c4e4d4f72f3510edcd8f0c078 assets/tfmg/models/block/aluminum_block.json +1d33a893d6ac05f9adaceb7f84423ebe9b195c01 assets/tfmg/models/block/aluminum_cable_hub.json +da469bf3233944085f07d4ef437827061e408838 assets/tfmg/models/block/aluminum_cap.json +4344f14c42bb7a9f90120b5f75927015c0edc3bc assets/tfmg/models/block/aluminum_cap_alt.json +f8e1f1798fa66b8a3a3c4f5a7abb2158947ef937 assets/tfmg/models/block/aluminum_ladder.json +2d08bfe6f5ad5e2629348febc1287318c28e7fa8 assets/tfmg/models/block/aluminum_pipe/d_x.json +7dfa77ec84ce2ce2f30ea25fbe983491ee7ee9ff assets/tfmg/models/block/aluminum_pipe/d_y.json +22c82f6577d7f43714bbd1469e8874f266d11165 assets/tfmg/models/block/aluminum_pipe/d_z.json +87e5eff20c63058371799156befc7f7a2a0e6e5e assets/tfmg/models/block/aluminum_pipe/ld_x.json +efa549069007118588fce81a06ce4dc7b148506d assets/tfmg/models/block/aluminum_pipe/ld_y.json +5455f63cae9ea0689700656a901d041e0661fa7a assets/tfmg/models/block/aluminum_pipe/ld_z.json +1987e49ccebee68432c660c8374989d532b3f93a assets/tfmg/models/block/aluminum_pipe/lr_x.json +1c0a7d66e604cd3f1bad1276c66dafbfc1dc8398 assets/tfmg/models/block/aluminum_pipe/lr_y.json +084b01a105fe97ca4ebc2a8023fe4b42fbda1287 assets/tfmg/models/block/aluminum_pipe/lr_z.json +efd167f70adf5a9f4c356e7e9bfc2c566443292d assets/tfmg/models/block/aluminum_pipe/lu_x.json +f8f700e941783cee69bc754ba30d1a968b4fd089 assets/tfmg/models/block/aluminum_pipe/lu_y.json +88c9ac1aac499e9da977bcbdaf7bdf914c47a9ac assets/tfmg/models/block/aluminum_pipe/lu_z.json +d1e4e2c2bc23276a42392fb2f41cf478eceb36dc assets/tfmg/models/block/aluminum_pipe/l_x.json +85e6230661c7e81e76d65e8839660a5ef863e771 assets/tfmg/models/block/aluminum_pipe/l_y.json +2ec94557bbea77e0553ee75f467f3d04e74f36c9 assets/tfmg/models/block/aluminum_pipe/l_z.json +78ef898b5d0e77f1e54a544d68e573ad5665d49a assets/tfmg/models/block/aluminum_pipe/rd_x.json +3fc213365bb73d1b2ee809217ce18cfbdd60e1bc assets/tfmg/models/block/aluminum_pipe/rd_y.json +517021c312598ee4d0e9312c459463ed2b874c1b assets/tfmg/models/block/aluminum_pipe/rd_z.json +538af99593b2cb9cf44f696e5a70cf108d1d719d assets/tfmg/models/block/aluminum_pipe/ru_x.json +fd0f020d5362263dea9431d50f405e8b272ca979 assets/tfmg/models/block/aluminum_pipe/ru_y.json +b165ccae36dd7c8493ed917115799b685fe3e58e assets/tfmg/models/block/aluminum_pipe/ru_z.json +f7df3c4e06d771d20e82402032e5b1da3b5fae93 assets/tfmg/models/block/aluminum_pipe/r_x.json +a8251a1983c17d2e89848a4de3cb253dd71db2c3 assets/tfmg/models/block/aluminum_pipe/r_y.json +4b7a9f4204c581c208f56fa7da7b224e91b06b71 assets/tfmg/models/block/aluminum_pipe/r_z.json +81ec29f01d675d5d7a0dfa6c47a8de3b81ee3f61 assets/tfmg/models/block/aluminum_pipe/ud_x.json +d419a0e009c7e6fda74d5440b8aa1883ea9ae0bf assets/tfmg/models/block/aluminum_pipe/ud_y.json +15e57732b0e4c5699ad7ee01496dc0a90625dac0 assets/tfmg/models/block/aluminum_pipe/ud_z.json +dcb1ee2a2a687e65714562682a988e5476abcc0c assets/tfmg/models/block/aluminum_pipe/u_x.json +2767b9675ff0123303e8d55cb35b78ffe7c2f48d assets/tfmg/models/block/aluminum_pipe/u_y.json +853f6ccff4dd4f1e91ca32cc99b3f9b940964d67 assets/tfmg/models/block/aluminum_pipe/u_z.json +6ee204f3769086a0a7c2006a33896c0a7f82e707 assets/tfmg/models/block/aluminum_post.json +3bf978d8d9e47db561cd6e5a19594fa5eb247767 assets/tfmg/models/block/aluminum_post_ends.json +860b3a4440036a6fa7b5fd3cf35a4c781c886af5 assets/tfmg/models/block/aluminum_scaffolding.json +5dbb161df0abb21ffb49f22f067c656c39f4bbb3 assets/tfmg/models/block/aluminum_scaffolding_horizontal.json +113f288893b346e3908550b7ab8756cc13b245ed assets/tfmg/models/block/aluminum_side.json +7c833851ff1ce26558f61eaab98230ebda56f94d assets/tfmg/models/block/aluminum_side_alt.json +c5034b090ec59ab4b86ba0c86cdcd20f893c9dc5 assets/tfmg/models/block/asphalt.json +3193e1a010febd316ea8e066d48e6eb65ff05e7b assets/tfmg/models/block/asphalt_bottom.json +49bd7d52a7008c77ce0bfa84f225e4b02675fbdb assets/tfmg/models/block/asphalt_stairs.json +dd26de7fb8992aed6154517d0663f4faccbcf071 assets/tfmg/models/block/asphalt_stairs_inner.json +b08985669c60c932f37aa7d341ef147f646047cf assets/tfmg/models/block/asphalt_stairs_outer.json +cd0f4c0026e80fc2395fd5680e76524af7837c16 assets/tfmg/models/block/asphalt_top.json +8e7388221e3e3efda4dc74b4945f3762ee8ede82 assets/tfmg/models/block/asphalt_wall_post.json +3326847fa89bca0b41e563fa890aefc573184a2a assets/tfmg/models/block/asphalt_wall_side.json +b97ef9d82e220db3e9c21166a988c1f56ac8eb76 assets/tfmg/models/block/asphalt_wall_side_tall.json +5a4c785e8d8394ccd125732c0017459648574c4e assets/tfmg/models/block/bauxite_natural_0.json +4ace0da00498fcbb9ddfdf321767b40b095c8778 assets/tfmg/models/block/bauxite_natural_1.json +3d19a151c9691f26b22050d0556e85420dd07ecd assets/tfmg/models/block/bauxite_natural_2.json +b43711f35915b71b15db638538a83a4ea46480dc assets/tfmg/models/block/bauxite_natural_3.json +920f96d4b648414ce8331e5a81e6b7ddbce7e225 assets/tfmg/models/block/bauxite_pillar.json +cd5ade5f9a0b3b5e28b5d11a685408dd922dbe2d assets/tfmg/models/block/bauxite_pillar_horizontal.json +a49e844b9d3426719506ab72c82be94106dd9729 assets/tfmg/models/block/black_concrete.json +a80c6501d7ab88523499266c9b2aae9ada15e33f assets/tfmg/models/block/black_concrete_bottom.json +0a689e15c3933ae96293d8689247bd2291dfbaa9 assets/tfmg/models/block/black_concrete_stairs.json +654f5460397e9221127aad0504c17bf8db001236 assets/tfmg/models/block/black_concrete_stairs_inner.json +59a02514d363474195a60c73e2059d8962b2eeb0 assets/tfmg/models/block/black_concrete_stairs_outer.json +be4c782a3f82325a84f0feaa56d3f114aa2a93a5 assets/tfmg/models/block/black_concrete_top.json +5752f421b928c440183ceddd1cf2a0778c316b4b assets/tfmg/models/block/black_concrete_wall_post.json +f945d7434df89a458022fdff31c05410a6baa418 assets/tfmg/models/block/black_concrete_wall_side.json +19d8228d961b16543957f8a5f570ab5c33a84b7a assets/tfmg/models/block/black_concrete_wall_side_tall.json +a49e844b9d3426719506ab72c82be94106dd9729 assets/tfmg/models/block/black_rebar_concrete.json +4e73ea9d9ed863143e635f4f3b43b44ab520f484 assets/tfmg/models/block/blast_furnace_hatch.json +9258d6764c8fc66796928a5257d52c84fa395a53 assets/tfmg/models/block/blast_furnace_reinforcement.json +30291623882bc5186a933acc0fce077612855c69 assets/tfmg/models/block/blue_caution_block.json +ec8df0e04ef046e61a6879b5aac0b57e5c00fbdb assets/tfmg/models/block/blue_concrete.json +08e743405ca4dc3d64179c1a016dca80d0eb0e59 assets/tfmg/models/block/blue_concrete_bottom.json +f10130b81ba5d154146abc65c191d87acf97241e assets/tfmg/models/block/blue_concrete_stairs.json +e53beb31efa95d3a0a4f37e1a2a8f7166a7c5099 assets/tfmg/models/block/blue_concrete_stairs_inner.json +a54e802e4004559c75801e8f86179f3309d4d235 assets/tfmg/models/block/blue_concrete_stairs_outer.json +7ca60603cac1702872e5a21dfb2508fa6db1d612 assets/tfmg/models/block/blue_concrete_top.json +3ef0060f5682801306b352b8a040d8db082a8525 assets/tfmg/models/block/blue_concrete_wall_post.json +682dc5586be962a78283fc1764bf471d0d20c598 assets/tfmg/models/block/blue_concrete_wall_side.json +fadbdc5fc6614b6aa126e71f4298e27e6af4c74e assets/tfmg/models/block/blue_concrete_wall_side_tall.json +ec8df0e04ef046e61a6879b5aac0b57e5c00fbdb assets/tfmg/models/block/blue_rebar_concrete.json +214c380cbe38d8664857f7c4455f96c1d2d25863 assets/tfmg/models/block/brass_cable_hub.json +08832e90e36714cf9bb26c251d3164991b2ac676 assets/tfmg/models/block/brass_pipe/d_x.json +566971e35d538a84ada138e9cde170f6f13efbaf assets/tfmg/models/block/brass_pipe/d_y.json +1537709a896de7721c1d4f670c850589517748ed assets/tfmg/models/block/brass_pipe/d_z.json +eed4357dcb9bfb8df744cb022593619c444b8ab3 assets/tfmg/models/block/brass_pipe/ld_x.json +5d6e7088b3ea4b1e8a44ca672e93f98ebaea3c1b assets/tfmg/models/block/brass_pipe/ld_y.json +354f2f25df032952f9559b0dea51a72fb5d6d4f6 assets/tfmg/models/block/brass_pipe/ld_z.json +552976b7963c8adcf8ee4f3fdd63e4013cd18baf assets/tfmg/models/block/brass_pipe/lr_x.json +faf01767dde140d0d261e723e9fd6831133cd5ac assets/tfmg/models/block/brass_pipe/lr_y.json +4569275c35ecc8a312e099de78f1942bc431e0e1 assets/tfmg/models/block/brass_pipe/lr_z.json +8547a974f29289afccd244b471188b7c456e4323 assets/tfmg/models/block/brass_pipe/lu_x.json +77a397b53031208ab7b56965916e8807102b6ef7 assets/tfmg/models/block/brass_pipe/lu_y.json +d742354b7bc5a51fac33b0abe3bff0134e89caba assets/tfmg/models/block/brass_pipe/lu_z.json +67334a619d29fabdde9f6d2e33390645d101ece8 assets/tfmg/models/block/brass_pipe/l_x.json +e88976a4ddf60e0d8f2f0ceb7540c12d88d15fe3 assets/tfmg/models/block/brass_pipe/l_y.json +ed9feeb1e478dbf5d789c727f5bfc3ad12ec0abb assets/tfmg/models/block/brass_pipe/l_z.json +00f0e2aee344feb380fe5908dccaa5890cecbed4 assets/tfmg/models/block/brass_pipe/rd_x.json +68cb14d0c809f4392c0f70eebf9ec72bcddec869 assets/tfmg/models/block/brass_pipe/rd_y.json +3a1505371aacf259e00752b332a27796163e5515 assets/tfmg/models/block/brass_pipe/rd_z.json +f5029b4a8abafb1dc8fdf5b622888769c40287cb assets/tfmg/models/block/brass_pipe/ru_x.json +ff0be674e79e5353385445eeb3c65cd80a2c905a assets/tfmg/models/block/brass_pipe/ru_y.json +519b1be6190b39738850bf73334b581076e4df29 assets/tfmg/models/block/brass_pipe/ru_z.json +31c5f22e26693cfea1d9034032169f4455b19124 assets/tfmg/models/block/brass_pipe/r_x.json +842bff5806c99fb3c3cffc86f3d1c8e6b5b53799 assets/tfmg/models/block/brass_pipe/r_y.json +281f077af7ed0c34030ae761f6877b53a5cbb399 assets/tfmg/models/block/brass_pipe/r_z.json +5f498c3af4b25fbecd8bad148c461890b4ee56fa assets/tfmg/models/block/brass_pipe/ud_x.json +f0e9bb9d6595ac9cbe3ce5c986972ef50983dfbf assets/tfmg/models/block/brass_pipe/ud_y.json +676dff587e5c29cd351591d0c6f45fa6597c2aff assets/tfmg/models/block/brass_pipe/ud_z.json +c76095c4ef96d41be458d6a5890c130f4ac9dcbe assets/tfmg/models/block/brass_pipe/u_x.json +20e9e0a77d5ddfc037b3a7f8c326ba0e82af2d93 assets/tfmg/models/block/brass_pipe/u_y.json +68ccd75a75aa3fdf8a5b8d2ed96127d4d58608ab assets/tfmg/models/block/brass_pipe/u_z.json +723b38abf776a81132166d3885c9abd4c03596b3 assets/tfmg/models/block/brown_caution_block.json +755f62d7c9773c8733c80150100409a97b1b8925 assets/tfmg/models/block/brown_concrete.json +4abe5a60d2a1953596ef00b65d1f82d87d6638e0 assets/tfmg/models/block/brown_concrete_bottom.json +344490ebab8b66a451a837f586d5b2eff40d4d44 assets/tfmg/models/block/brown_concrete_stairs.json +73d89df6f1abcf2a73226d7b80d0e553590de5ec assets/tfmg/models/block/brown_concrete_stairs_inner.json +888fec3cd4609e8f1a465a619397146356a770a6 assets/tfmg/models/block/brown_concrete_stairs_outer.json +9ecf96f084b51eebe355dcaea014e7478dd8b100 assets/tfmg/models/block/brown_concrete_top.json +844f9ffae26fa5fd58f169a23d9e52f44fb5e412 assets/tfmg/models/block/brown_concrete_wall_post.json +f7859871c4ed8bd987aad68b8ecb65328708ec3b assets/tfmg/models/block/brown_concrete_wall_side.json +fc263e5f3999e7e23471cbd6f3663239dfac363c assets/tfmg/models/block/brown_concrete_wall_side_tall.json +755f62d7c9773c8733c80150100409a97b1b8925 assets/tfmg/models/block/brown_rebar_concrete.json +37789d06ec6cfc0312be7b1b66ac1ec6403d4516 assets/tfmg/models/block/cast_iron_block.json +bf4aee7c5183079597a21a1580e30405090d68b1 assets/tfmg/models/block/cast_iron_cap.json +b204ae21aed9e8a60b5f6f977709c12863884e3c assets/tfmg/models/block/cast_iron_cap_alt.json +d3793aaea808a7e259a67e1b51d77fc4059c5496 assets/tfmg/models/block/cast_iron_ladder.json +491479d6c2f3ba0e014d9be3693e7b943fe11d0a assets/tfmg/models/block/cast_iron_pipe/d_x.json +aba970e719b1ae15f530247c72cadd18252a012e assets/tfmg/models/block/cast_iron_pipe/d_y.json +7ebcb78c9cc4f96b46f762f3dbe2d3a8c89a0bd0 assets/tfmg/models/block/cast_iron_pipe/d_z.json +23d3810c2d1d27ba65faf1677561527cb01def60 assets/tfmg/models/block/cast_iron_pipe/ld_x.json +b4d7e0a3e4284c74f3687d024423014099b4eae0 assets/tfmg/models/block/cast_iron_pipe/ld_y.json +54e7f00c18c04bc5a7d8dde15db054150c358011 assets/tfmg/models/block/cast_iron_pipe/ld_z.json +3a8d4bd219f37dff78be28e293b0140eabdfe74f assets/tfmg/models/block/cast_iron_pipe/lr_x.json +e3521c97df73c5a1de119e8252dd6d4eee09cf2d assets/tfmg/models/block/cast_iron_pipe/lr_y.json +a1eab26403675f06731e45d7d5ad449c6cc13555 assets/tfmg/models/block/cast_iron_pipe/lr_z.json +98f12934ed9cdc7759fec5a3b8ec0fe78b40d3a5 assets/tfmg/models/block/cast_iron_pipe/lu_x.json +cd71339b3bd8a254f226164a4a1a8e763ee2b031 assets/tfmg/models/block/cast_iron_pipe/lu_y.json +fb76108260e13f944ecf076928f729aaa1a75bb0 assets/tfmg/models/block/cast_iron_pipe/lu_z.json +00da7812b6024be5e9834b4137e2ed627d0c55ae assets/tfmg/models/block/cast_iron_pipe/l_x.json +12789eed1d8f9290a8c03f2f4ec4f1a9e2665948 assets/tfmg/models/block/cast_iron_pipe/l_y.json +abe48030602e2df4e52b2e9ccaaf51aeb349d42c assets/tfmg/models/block/cast_iron_pipe/l_z.json +3fd53334fa0cc40184b5228735222cf4b2f15afe assets/tfmg/models/block/cast_iron_pipe/rd_x.json +1799d19b8ff328fd5492decc8021d348a86350fc assets/tfmg/models/block/cast_iron_pipe/rd_y.json +eaab4edaee0c385362ff825dce6d4ab8e12e0876 assets/tfmg/models/block/cast_iron_pipe/rd_z.json +2f0cdf22b92c956d0a9d82e33462b5b9022165c9 assets/tfmg/models/block/cast_iron_pipe/ru_x.json +be3a34183b48f5ce0cd9ca92146a5675b9eb6d81 assets/tfmg/models/block/cast_iron_pipe/ru_y.json +fbd59fff99883fd45afbc3a4c240e2c8205df697 assets/tfmg/models/block/cast_iron_pipe/ru_z.json +8c6c593d9ba92537f9800a7937ad5a2457e679cf assets/tfmg/models/block/cast_iron_pipe/r_x.json +c19889fde2947897849a4914bf517c9095345e51 assets/tfmg/models/block/cast_iron_pipe/r_y.json +323e85571e9707329cd13917510da6678c6d1c0e assets/tfmg/models/block/cast_iron_pipe/r_z.json +5bbb103d72dccd65c338211a1793aa20326a7fb6 assets/tfmg/models/block/cast_iron_pipe/ud_x.json +dfa9e399756587e356d191c4b18bc1399fc29302 assets/tfmg/models/block/cast_iron_pipe/ud_y.json +6693c9274c02c269d63616ea498287b4db062fe0 assets/tfmg/models/block/cast_iron_pipe/ud_z.json +5e9d4c37ea224b2f1ce4d894ee48bac7b2e5c5db assets/tfmg/models/block/cast_iron_pipe/u_x.json +3777d0337105ef7ebda7cf2d2b967cf38c64aa26 assets/tfmg/models/block/cast_iron_pipe/u_y.json +2ce99ecb8072b9ffb512cb390860a4e0cce02aa1 assets/tfmg/models/block/cast_iron_pipe/u_z.json +1d39f222b4f87d37421fc82a0e54f9ee0c87244f assets/tfmg/models/block/cast_iron_post.json +f98cf28726aa501781f1120d31f734ee0201740e assets/tfmg/models/block/cast_iron_post_ends.json +36514a0e93fd432965a97ab16ad0f65a94aeb525 assets/tfmg/models/block/cast_iron_side.json +a9024b0da6c2087e52429770d5e855dd285cc1c6 assets/tfmg/models/block/cast_iron_side_alt.json +774a6dd356795f04896068505e516a587bdd4c28 assets/tfmg/models/block/cement.json +50c47672a7e9f7180af78c4bef42d5db1822b08b assets/tfmg/models/block/coal_coke_block.json +75c31d328fc5d6d46c8b43e8bde7504f4e51dadc assets/tfmg/models/block/concrete.json +a7b301c044049a3037f6695fb165e77264e84519 assets/tfmg/models/block/concrete_bottom.json +031cd9564cc8af1c8712627d8cb3931be6ccc46d assets/tfmg/models/block/concrete_stairs.json +7251c262b597916cad63fa470fdddca80d814591 assets/tfmg/models/block/concrete_stairs_inner.json +67229ab94c818bbdafe561cb5ab62f7a0f3f6dcc assets/tfmg/models/block/concrete_stairs_outer.json +5ca69f7e83c48651eb5187a255170abfb877d498 assets/tfmg/models/block/concrete_top.json +b070e38c0419fdc1dd9942f9b35e4dc197499038 assets/tfmg/models/block/concrete_wall_post.json +c5aa6945b20cc7d1ac91e469666b03a91b1bda63 assets/tfmg/models/block/concrete_wall_side.json +b71bc74ae9b59bc33b59ccb4be9de7da9754e82c assets/tfmg/models/block/concrete_wall_side_tall.json +d5edc71f86c8e74b36f12c272073547dc793a8f7 assets/tfmg/models/block/constantan_block.json +6727bd16fd6f5b0195d80d1a509779a7b3bfc73f assets/tfmg/models/block/constantan_ladder.json +4356236c0abcfd54e8fa27b1706e028677075b5f assets/tfmg/models/block/cooling_fluid.json +4e5dab545fbc83db653975b706d6a28e51e5087d assets/tfmg/models/block/copper_cable_hub.json +3df3b70cd4aed67820b36ad56aa1973b672f4f75 assets/tfmg/models/block/creative_generator.json +28b24691f664612159c4c9f295be382de0f653cb assets/tfmg/models/block/creosote.json +391762cca00f54de8a43d076b028eb3e3b5cb5cf assets/tfmg/models/block/crude_oil.json +3435e87769d2b51bed64540531b1bdba928dbaaf assets/tfmg/models/block/cut_bauxite.json +91a8249d66f308cbd58214f26023d1a0491f2019 assets/tfmg/models/block/cut_bauxite_bricks.json +83d583e230a89c177dfb269738b32b0a2aea804a assets/tfmg/models/block/cut_bauxite_bricks_wall_post.json +ac025f4a76aaa35ea3730539c9838c64ca0b7c94 assets/tfmg/models/block/cut_bauxite_bricks_wall_side.json +d1968a903df40cb0eeea9c88a706b10f44226889 assets/tfmg/models/block/cut_bauxite_bricks_wall_side_tall.json +f7ad52199a743fecebd21e53f1b01e367bd9b162 assets/tfmg/models/block/cut_bauxite_brick_slab.json +abd2eb4651d4719726e1ee505607a70aee8c8f90 assets/tfmg/models/block/cut_bauxite_brick_slab_top.json +1d8cdb30bcfcc245e4594205343a60e2f828bae6 assets/tfmg/models/block/cut_bauxite_brick_stairs.json +06412ed41e3240479bd45faba5ce1b1fab78cf56 assets/tfmg/models/block/cut_bauxite_brick_stairs_inner.json +b1ea45c8a8d280088b6c69c239ed3f7fa0cb0252 assets/tfmg/models/block/cut_bauxite_brick_stairs_outer.json +c04f251626a74102d42440b12f85e10091aca823 assets/tfmg/models/block/cut_bauxite_slab.json +6d2cc3010afb7319b88a9b77422416c11ff38a7a assets/tfmg/models/block/cut_bauxite_slab_top.json +c087d9aad64b8d89cfbbe58a3db6a4e8ef6ff3a8 assets/tfmg/models/block/cut_bauxite_stairs.json +046cd7fbb99608e78ebcfa45563dc80b0549a6e0 assets/tfmg/models/block/cut_bauxite_stairs_inner.json +1649695bb19f41e067aae2a69f55961b3ae3eb9e assets/tfmg/models/block/cut_bauxite_stairs_outer.json +c85e3f557de57442a06502abd302f2b0deb4c6bf assets/tfmg/models/block/cut_bauxite_wall_post.json +38e83097489baf251fba2c4229a6fedf6b441528 assets/tfmg/models/block/cut_bauxite_wall_side.json +a98527559bb1385b628e465d629ac429cdfb9f8e assets/tfmg/models/block/cut_bauxite_wall_side_tall.json +817b6e42281dd170682ae5664138f9827f3d1742 assets/tfmg/models/block/cut_galena.json +5936187cf97b3f4f9449b66efb04ade253181a02 assets/tfmg/models/block/cut_galena_bricks.json +28b06d05ee8aa7241f15da28b46492364c475ff9 assets/tfmg/models/block/cut_galena_bricks_wall_post.json +599d405a8575154305c59fd7bb68d2b3e5cd9879 assets/tfmg/models/block/cut_galena_bricks_wall_side.json +13a77aec7361c6e73594e363e70867e0a996dc20 assets/tfmg/models/block/cut_galena_bricks_wall_side_tall.json +e38da155c44f4d131697323b2f7ee1ee45c51c75 assets/tfmg/models/block/cut_galena_brick_slab.json +f507fd5153eb7bd289a917184026859baa44d697 assets/tfmg/models/block/cut_galena_brick_slab_top.json +d3021e292b353b6aaa0568d9e5f9f79134876ada assets/tfmg/models/block/cut_galena_brick_stairs.json +1ed37393551f16d08f99f43813ab21191ecd5b2d assets/tfmg/models/block/cut_galena_brick_stairs_inner.json +9bfe1fea3c6cc5baaf0a234e2cb81eb707bb4eb2 assets/tfmg/models/block/cut_galena_brick_stairs_outer.json +77569c4b524e87d2dfb9a69c0241f307ecd17ad5 assets/tfmg/models/block/cut_galena_slab.json +a72a10ebdad3587ca982ca09c11ebdf2d2c7dab2 assets/tfmg/models/block/cut_galena_slab_top.json +99d83d51869dee0287f384bfe658fee80c5fc761 assets/tfmg/models/block/cut_galena_stairs.json +a2296a84a697ed6799db6d2bbbf3bc18da5a7d36 assets/tfmg/models/block/cut_galena_stairs_inner.json +4e4f40c1cafd6a4d18077f0bc11c46bf8a907c41 assets/tfmg/models/block/cut_galena_stairs_outer.json +68edac47a0247e4a3e6cf98c48fa7f942e6112db assets/tfmg/models/block/cut_galena_wall_post.json +633396252dd6600237c5702aded91b024f138ff5 assets/tfmg/models/block/cut_galena_wall_side.json +4c0d11c8ef0bd63759c154429c6f0c6c936c5559 assets/tfmg/models/block/cut_galena_wall_side_tall.json +21cd8c28ba07d442f7eb78b60e6d07bc7eda8b6a assets/tfmg/models/block/cyan_caution_block.json +618d59eb1932c5adb0067731c224b8cbee774a6d assets/tfmg/models/block/cyan_concrete.json +b7d5e9521d259a8e15150c775e690eaeb577b8c3 assets/tfmg/models/block/cyan_concrete_bottom.json +f96eef07802246f99f1f58e175e9702a52e61c49 assets/tfmg/models/block/cyan_concrete_stairs.json +4d5f03bbec3016016b9c996e4a2f699ec7302477 assets/tfmg/models/block/cyan_concrete_stairs_inner.json +8be78ed206af865ba706f5fd5fcaf2b063c42df0 assets/tfmg/models/block/cyan_concrete_stairs_outer.json +9b6ce8f813b50c0f104c8a5e30796e0c928eebf3 assets/tfmg/models/block/cyan_concrete_top.json +7dbcc9a9fb06920609eed68adcc5811c80fe1e04 assets/tfmg/models/block/cyan_concrete_wall_post.json +7664edb7379805be37a42f6b7358a8b6a351c346 assets/tfmg/models/block/cyan_concrete_wall_side.json +22d02a8b23d403a34b1da585f8d10cd2cf85f638 assets/tfmg/models/block/cyan_concrete_wall_side_tall.json +618d59eb1932c5adb0067731c224b8cbee774a6d assets/tfmg/models/block/cyan_rebar_concrete.json +ceeb5235671bcfb0621aaf3893511c447a5640fd assets/tfmg/models/block/deepslate_lead_ore.json +480e64797b9f8de0b478a1a1ee26766d611e71d9 assets/tfmg/models/block/deepslate_lithium_ore.json +60bbab123bbfc03bc7ec125d94eccb41df6f8f4e assets/tfmg/models/block/deepslate_nickel_ore.json +997750c71f9ead915c393c5821146a57dcd01bfa assets/tfmg/models/block/diesel.json +2ddcaf9d82ea6f96f683d4a13713c73f13f4b755 assets/tfmg/models/block/factory_floor.json +5e65f45a32fda57f2090c4c486ccc9602426a0cb assets/tfmg/models/block/fireclay.json +9202745e6093098507d6b800f5e52a99b74eaa20 assets/tfmg/models/block/fireproof_bricks.json +88d17739f2b8a2d77397f20bdbba486f95f88d18 assets/tfmg/models/block/fireproof_brick_reinforcement_wall_post.json +157a113acb124b65874defe8379d70552838339f assets/tfmg/models/block/fireproof_brick_reinforcement_wall_side.json +a657ae729b3afadf239d0a48b55f54ab756f4ec9 assets/tfmg/models/block/fireproof_brick_reinforcement_wall_side_tall.json +b0cb044b77cb3ffaf0628e0a06a8fe12c7462da0 assets/tfmg/models/block/fossilstone.json +e756f2843a35edc7ae39e51a6f339c348a322795 assets/tfmg/models/block/galena_natural_0.json +05c9a5cfc640f82099f5c691942f834996945c1e assets/tfmg/models/block/galena_natural_1.json +cfaebd9cbbe211b866498e8fe84d5150a58f84d0 assets/tfmg/models/block/galena_natural_2.json +f5fee21cf95fb4633e69e233de5cff49f03695bd assets/tfmg/models/block/galena_natural_3.json +e05b37cc186d1f4850c66f5a048ad79b06499d12 assets/tfmg/models/block/galena_pillar.json +a2e74b38bc0ebdc10dafd52857a9ca402a11b46a assets/tfmg/models/block/galena_pillar_horizontal.json +e0cf42adbfeaa5c781b8239352335985658ae2d3 assets/tfmg/models/block/gasoline.json +46c7915fcb12abc974b94c9a083e1239e1fd5edd assets/tfmg/models/block/gray_caution_block.json +2c5fc6e5a6a600f95df53abda56dc70b8c96b4bf assets/tfmg/models/block/gray_concrete.json +cefd4317ef0afa08a5dd05a22899872844795bf7 assets/tfmg/models/block/gray_concrete_bottom.json +6b4635f007e7fc8935764698716c04d95e1bb978 assets/tfmg/models/block/gray_concrete_stairs.json +8bec3722799e2898ca586ca4c61964f148ad4383 assets/tfmg/models/block/gray_concrete_stairs_inner.json +c76becbcb787b31c67b2dc8181f8089103022659 assets/tfmg/models/block/gray_concrete_stairs_outer.json +3d5f35e1f0700f7f87e2c5e8b5e54aedb21968ea assets/tfmg/models/block/gray_concrete_top.json +d33a24948b639c30b378f20e2f86255aa6be7835 assets/tfmg/models/block/gray_concrete_wall_post.json +2aca421149dcee0e9d3f36f5ab2a8cb8a02b6924 assets/tfmg/models/block/gray_concrete_wall_side.json +8001ee2683f0c95ba1fc9c37364afd3097fa27f9 assets/tfmg/models/block/gray_concrete_wall_side_tall.json +2c5fc6e5a6a600f95df53abda56dc70b8c96b4bf assets/tfmg/models/block/gray_rebar_concrete.json +f58c997e3966f4ec223491d2e6c11192602311f0 assets/tfmg/models/block/green_caution_block.json +41c3a6e002675e2c188b359e1b7bdd1ab59b3847 assets/tfmg/models/block/green_concrete.json +48d7022b0ec25fb8e16f2a112529f20862b775cf assets/tfmg/models/block/green_concrete_bottom.json +f94c77a72d75c2f0289709075d810de4b1ba042f assets/tfmg/models/block/green_concrete_stairs.json +fb326634ed8af2dc0eb9ff474c56e86b07b7c348 assets/tfmg/models/block/green_concrete_stairs_inner.json +74b15b152831d79bed96b7d55496c11d66d7c0e0 assets/tfmg/models/block/green_concrete_stairs_outer.json +29a8ed83a0d18b856bddb049215c04ae2569f757 assets/tfmg/models/block/green_concrete_top.json +c0e92a75dbb6a9b273971e772c499ca575cd0edb assets/tfmg/models/block/green_concrete_wall_post.json +bb5535ccddef7c6da2769888a79245d16381952c assets/tfmg/models/block/green_concrete_wall_side.json +9d311f37cdaed122f7178b3d4670b084c80ef9b2 assets/tfmg/models/block/green_concrete_wall_side_tall.json +41c3a6e002675e2c188b359e1b7bdd1ab59b3847 assets/tfmg/models/block/green_rebar_concrete.json +75f9b41b36f1db0a05f689a7898a2a78fe780447 assets/tfmg/models/block/hardened_planks.json +63bfed8b0a558b9ba274a2f5cd9a993086e5618c assets/tfmg/models/block/heavy_cable_hub.json +e5387827c217e2d8a1dbcd59dbe585dda849fed2 assets/tfmg/models/block/heavy_casing_encased_aluminum_cogwheel.json +7378a9d916e907da33778e898c0de6c0d0a1396d assets/tfmg/models/block/heavy_casing_encased_aluminum_cogwheel_bottom.json +9caed2f1ad896e97cd4c98c6f0fc4a403bc892c3 assets/tfmg/models/block/heavy_casing_encased_aluminum_cogwheel_top.json +5e57fea90dd2b7f766d46370c12e90cf176503d6 assets/tfmg/models/block/heavy_casing_encased_aluminum_cogwheel_top_bottom.json +561090a36e02d4e5bcb916bf3b03156786848a65 assets/tfmg/models/block/heavy_casing_encased_large_aluminum_cogwheel.json +b97f4e26d68144c92ee4dddb6663451295b9b2f9 assets/tfmg/models/block/heavy_casing_encased_large_aluminum_cogwheel_bottom.json +95488842820d63a0a31ed81ac47191334ecb71fc assets/tfmg/models/block/heavy_casing_encased_large_aluminum_cogwheel_top.json +5e95ffdfecff8071de8c22d5b6b84edc85542d7a assets/tfmg/models/block/heavy_casing_encased_large_aluminum_cogwheel_top_bottom.json +561090a36e02d4e5bcb916bf3b03156786848a65 assets/tfmg/models/block/heavy_casing_encased_large_steel_cogwheel.json +b97f4e26d68144c92ee4dddb6663451295b9b2f9 assets/tfmg/models/block/heavy_casing_encased_large_steel_cogwheel_bottom.json +95488842820d63a0a31ed81ac47191334ecb71fc assets/tfmg/models/block/heavy_casing_encased_large_steel_cogwheel_top.json +5e95ffdfecff8071de8c22d5b6b84edc85542d7a assets/tfmg/models/block/heavy_casing_encased_large_steel_cogwheel_top_bottom.json +e5387827c217e2d8a1dbcd59dbe585dda849fed2 assets/tfmg/models/block/heavy_casing_encased_steel_cogwheel.json +7378a9d916e907da33778e898c0de6c0d0a1396d assets/tfmg/models/block/heavy_casing_encased_steel_cogwheel_bottom.json +9caed2f1ad896e97cd4c98c6f0fc4a403bc892c3 assets/tfmg/models/block/heavy_casing_encased_steel_cogwheel_top.json +5e57fea90dd2b7f766d46370c12e90cf176503d6 assets/tfmg/models/block/heavy_casing_encased_steel_cogwheel_top_bottom.json +717ee09803cb584062c9717f45475fbd15673cde assets/tfmg/models/block/heavy_machinery_casing.json +725ac5c4c5aade982edbcb6c4e6c53626f0e68e4 assets/tfmg/models/block/heavy_oil.json +fbd56854de360350b271c1419e651a99c9d1f316 assets/tfmg/models/block/industrial_aluminum_casing.json +796f870ee5d3f55ace500798ae389e532c7233b8 assets/tfmg/models/block/kerosene.json +87cc75cb9bc8e65f8e46785b14e21ac5a4356faa assets/tfmg/models/block/layered_bauxite.json +de3b0eb7bee836332eafcf7fb97609d8fe5ebb91 assets/tfmg/models/block/layered_galena.json +79862c4e9a084be72f402e1378c3bb009a8db889 assets/tfmg/models/block/lead_block.json +7c35bb47be3d20d14613bfe70c3a4f349e06de56 assets/tfmg/models/block/lead_cap.json +3752b03139f1754b38e56a68dae513c69ad9e924 assets/tfmg/models/block/lead_cap_alt.json +0dfd61a74f03d68ac2d2618d0ad8415144074168 assets/tfmg/models/block/lead_ladder.json +213c6f418135b0012112d05f6f9feeae98ac8954 assets/tfmg/models/block/lead_ore.json +71b7ba2ab9fc881dce217297957132af0375b5cb assets/tfmg/models/block/lead_post.json +158a8c9ed72052af304a006f90abc7abbc3d4747 assets/tfmg/models/block/lead_post_ends.json +7a9fff99d6e013935aa4aa61837097a2b1d78b4c assets/tfmg/models/block/lead_side.json +d414b9b21efb73080959a637a421da772717a8d5 assets/tfmg/models/block/lead_side_alt.json +29887026987274ead5fed0b50988f799d9038a3f assets/tfmg/models/block/light_blue_caution_block.json +50c3eede0eb0f4a28abc7dac6f4896b80d95ffff assets/tfmg/models/block/light_blue_concrete.json +f45cdc254e2df518fb9c2e2e4ad1446cb0e3fd3b assets/tfmg/models/block/light_blue_concrete_bottom.json +5d035d017b707f073b8ec39ab170a2e1b4fdc025 assets/tfmg/models/block/light_blue_concrete_stairs.json +a506f178cbb7f5841ee519f1641c07170efc841e assets/tfmg/models/block/light_blue_concrete_stairs_inner.json +b4089d7dcbb1e954911552768f83154209d7eeaf assets/tfmg/models/block/light_blue_concrete_stairs_outer.json +591d3d2c3ff79101cc3f71d39a16a9bc76401bef assets/tfmg/models/block/light_blue_concrete_top.json +2ad1d503b189a673db40273f5b1509d332563d42 assets/tfmg/models/block/light_blue_concrete_wall_post.json +411682670e1330ff12cb2b0cbc67c7dfeec76953 assets/tfmg/models/block/light_blue_concrete_wall_side.json +41678a761df5da1df357d8f9daf8e3175d7c2237 assets/tfmg/models/block/light_blue_concrete_wall_side_tall.json +50c3eede0eb0f4a28abc7dac6f4896b80d95ffff assets/tfmg/models/block/light_blue_rebar_concrete.json +645d13b947cb71dc8ed22bf2acef3128fe2333e1 assets/tfmg/models/block/light_gray_caution_block.json +e3767745816d9ba79adf5ed7ac443be21e0f6926 assets/tfmg/models/block/light_gray_concrete.json +15c3b42122e3f6aa00630279d1aec0386ddb0cd1 assets/tfmg/models/block/light_gray_concrete_bottom.json +3693fadf2776450e75f6bd388a976e27026e85d7 assets/tfmg/models/block/light_gray_concrete_stairs.json +a020e3fda20b01d4070b271120bae6235b466f75 assets/tfmg/models/block/light_gray_concrete_stairs_inner.json +2dcba32bd4717c8edf75d2701ed03e64f7be781a assets/tfmg/models/block/light_gray_concrete_stairs_outer.json +20bd48bd1ed4f0ef6eca6ebc264aeb046efd4b81 assets/tfmg/models/block/light_gray_concrete_top.json +086b4cee3c01ff9d97113ed4f2a9d26e36384c11 assets/tfmg/models/block/light_gray_concrete_wall_post.json +8f59866bcc91ec6b5b5590ed61d9b15ac730aec9 assets/tfmg/models/block/light_gray_concrete_wall_side.json +fd7f9b361a1f71b1438076ff22e4140cc6a7c0fa assets/tfmg/models/block/light_gray_concrete_wall_side_tall.json +e3767745816d9ba79adf5ed7ac443be21e0f6926 assets/tfmg/models/block/light_gray_rebar_concrete.json +a45260c87b30752b94e22d34ce44b3d6cc7c4cb7 assets/tfmg/models/block/lignite.json +2f74d3dd53d14e9746e8a6502cb4669074da43a5 assets/tfmg/models/block/lime_caution_block.json +41ce67785e3e3941d7b9a1d2078a2bc3d7f46a4e assets/tfmg/models/block/lime_concrete.json +11d96089e7c5d61dbc9944cf3e8e80760113e3f0 assets/tfmg/models/block/lime_concrete_bottom.json +fa1a971f73f0f86b59f517c34534f791bdb3d3e5 assets/tfmg/models/block/lime_concrete_stairs.json +6f04e8f04ce3abaf3589e69297eb321548d0a690 assets/tfmg/models/block/lime_concrete_stairs_inner.json +4f5bc34573c8a823f5ead7396ac006e138ab8fdf assets/tfmg/models/block/lime_concrete_stairs_outer.json +a0156fffa3e16fc4fce46627b80d221c7e3b288b assets/tfmg/models/block/lime_concrete_top.json +1927ae9c32c0738a6befb0fb3b3e77a4e40b8249 assets/tfmg/models/block/lime_concrete_wall_post.json +9e176144520e29888f217accf55bef45982e9f28 assets/tfmg/models/block/lime_concrete_wall_side.json +e004cb6834f41b9b79b21ac2299e0cf25364655d assets/tfmg/models/block/lime_concrete_wall_side_tall.json +41ce67785e3e3941d7b9a1d2078a2bc3d7f46a4e assets/tfmg/models/block/lime_rebar_concrete.json +a58af252c12b65f27bca5a1e6c7d7ee9ab5821e8 assets/tfmg/models/block/liquid_asphalt.json +614680ba9b55ca3a8ef40a2935682e263869a6d1 assets/tfmg/models/block/liquid_concrete.json +ae6d497d4c3bd0152a8f4ce6f2c81a6886dab3de assets/tfmg/models/block/liquid_silicon.json +e5a76e7246fff33409dca40513b17664d26c4afa assets/tfmg/models/block/lithium_block.json +f0798e47bff0c4d0cc3a66bd8b687a0b287ce2bb assets/tfmg/models/block/lithium_ore.json +6de36688139c9b11ed1ce6ef26ef1b65dfad34f5 assets/tfmg/models/block/lubrication_oil.json +233bd037a2dd69b326826ec2f4ddb6d0c5073abb assets/tfmg/models/block/magenta_caution_block.json +d4b6d14d6ff35dc688fcbe528967c4f431be42e5 assets/tfmg/models/block/magenta_concrete.json +447f65768cd328253278823068a95ab21f732d90 assets/tfmg/models/block/magenta_concrete_bottom.json +b24fb7dd304535239b356c7f24d88bd4ba4047bf assets/tfmg/models/block/magenta_concrete_stairs.json +b4b9531e5e917c8503ecd3559aec2b9c8a724d1e assets/tfmg/models/block/magenta_concrete_stairs_inner.json +1d642810234ee3292d8777dcecc42b44093864be assets/tfmg/models/block/magenta_concrete_stairs_outer.json +313754925397d470181bc3258cf1b6d659fd983a assets/tfmg/models/block/magenta_concrete_top.json +69afb99c9b25c72162af2c8a99610469c7f6712b assets/tfmg/models/block/magenta_concrete_wall_post.json +aadf3a5b1b19992bad786a5049ddd9eef6c6d940 assets/tfmg/models/block/magenta_concrete_wall_side.json +bcda75f097f13b1d873493e87068584bf507a006 assets/tfmg/models/block/magenta_concrete_wall_side_tall.json +d4b6d14d6ff35dc688fcbe528967c4f431be42e5 assets/tfmg/models/block/magenta_rebar_concrete.json +36db7b6e3570d5d91b339c2b667894f7676ed291 assets/tfmg/models/block/molten_plastic.json +beac46633af599ee4df9a4a0ecf6c0f9f6b88ebf assets/tfmg/models/block/molten_slag.json +a48c0ee57fc279431ad2c68bdce14e2cbdd6a8e6 assets/tfmg/models/block/molten_steel.json +80fb4a90f861992322bfd63f1232593e8cce708e assets/tfmg/models/block/napalm.json +e8e7bb74d46f9cec768a5443c10870fe1dd2105b assets/tfmg/models/block/naphtha.json +896914d3941ada08b7757e43ca23cd7b4cd41277 assets/tfmg/models/block/nickel_block.json +5b44bb6411f14a2ea9acbecc0b7033a1b79f1bd8 assets/tfmg/models/block/nickel_cap.json +a16a2ee1c2c6c53cf9978e6201c37c2e6b384374 assets/tfmg/models/block/nickel_cap_alt.json +5a7322af0d7460a782746ec645e34015e78e33af assets/tfmg/models/block/nickel_ladder.json +87be2720c19a7a07511e904f967975596090087c assets/tfmg/models/block/nickel_ore.json +ae062830324747f0eb7456a2ab5513352f06f908 assets/tfmg/models/block/nickel_post.json +dac1f182e3ebcd8c1f7a451f318cf94f9c6df49e assets/tfmg/models/block/nickel_post_ends.json +49a431d99b5b7c731275dce9afbfcf9730bd3b60 assets/tfmg/models/block/nickel_side.json +910d393b542f03cd60d9c82e121340f041baf53c assets/tfmg/models/block/nickel_side_alt.json +891d9c448d29b31bd28b3bf86395aabe9d645b87 assets/tfmg/models/block/oil_deposit.json +bd70eac7301e25aa3f2c270430f2493e9f46293a assets/tfmg/models/block/orange_caution_block.json +198c3584fdfe4807816954ec806ea7505b4839d1 assets/tfmg/models/block/orange_concrete.json +504faa077501ac6415ab9d697a4dba80f5bef5a7 assets/tfmg/models/block/orange_concrete_bottom.json +6c39050c75d1cb6b98933349dd4baa9b5c211774 assets/tfmg/models/block/orange_concrete_stairs.json +7b700d05bfbdc3c5c6b9c1dc80fcffe22c99eb71 assets/tfmg/models/block/orange_concrete_stairs_inner.json +11086681ad070b2951b20a76f6376404955ec5fb assets/tfmg/models/block/orange_concrete_stairs_outer.json +9f5b3444938397a5b37819c3b7516786fa495a1b assets/tfmg/models/block/orange_concrete_top.json +dbf36f24a55c5f435407e8df81b792d262622761 assets/tfmg/models/block/orange_concrete_wall_post.json +4b3f2d0c00e0634498c9bd835a95e6d5da2f4aeb assets/tfmg/models/block/orange_concrete_wall_side.json +3c9781cee9aa6bf890b0b3d7ab6dad1e80570bea assets/tfmg/models/block/orange_concrete_wall_side_tall.json +198c3584fdfe4807816954ec806ea7505b4839d1 assets/tfmg/models/block/orange_rebar_concrete.json +a28834b749aea27ce7fc603bea4ecd507f83b924 assets/tfmg/models/block/pink_caution_block.json +76bd7055f258946d93d3ee5c2aa06457e80ddb24 assets/tfmg/models/block/pink_concrete.json +871ae36c6f2bc9468eb823241da16cb67064d037 assets/tfmg/models/block/pink_concrete_bottom.json +23a5e44476e1ec8ba6778bbc3dad12d04f8573a5 assets/tfmg/models/block/pink_concrete_stairs.json +e3d90b391cf0c05071fe1d61f5bc3d890a4fa506 assets/tfmg/models/block/pink_concrete_stairs_inner.json +712c170ad3bfa40ea45353ec1dfa8d7025395e67 assets/tfmg/models/block/pink_concrete_stairs_outer.json +64c3cc5857bc5ec32a301f3b4ca13b5d5fe98aa1 assets/tfmg/models/block/pink_concrete_top.json +23650fd79100a79670b3dd3bcc67d52dc6ed4ec1 assets/tfmg/models/block/pink_concrete_wall_post.json +78ae26560ff23389b2219a76b74974f4c1eb91fd assets/tfmg/models/block/pink_concrete_wall_side.json +5b58dbf873c00087d476f4b395f7090b34f5bcdb assets/tfmg/models/block/pink_concrete_wall_side_tall.json +76bd7055f258946d93d3ee5c2aa06457e80ddb24 assets/tfmg/models/block/pink_rebar_concrete.json +d444eb32bbbcf19baa44d6967ed0b50698d34c5b assets/tfmg/models/block/plastic_block.json +9b5d7cab91ff2ac664dd2fcf47673a3bbcf81481 assets/tfmg/models/block/plastic_pipe/d_x.json +a5ae48c4d2f28782471f688e3ad716564eb32e1b assets/tfmg/models/block/plastic_pipe/d_y.json +0618d3c7ad9e8844a8fa7d617d4a97f0d49d8bbc assets/tfmg/models/block/plastic_pipe/d_z.json +9773d39bf829b26645a8b098ab1866836a40a05f assets/tfmg/models/block/plastic_pipe/ld_x.json +ed00093498492e245a46ab969af7c21cf4d2d427 assets/tfmg/models/block/plastic_pipe/ld_y.json +43dab48b4d3adb77f39e8c6214c08e9eb4528928 assets/tfmg/models/block/plastic_pipe/ld_z.json +e22485dd00ee0e8791b2babab7f2f57b1b837d08 assets/tfmg/models/block/plastic_pipe/lr_x.json +08a28b856c095d62ad1753fb4c9796c249bceb69 assets/tfmg/models/block/plastic_pipe/lr_y.json +20dc13a38e46aba75f88278b57e4a47fbd54109e assets/tfmg/models/block/plastic_pipe/lr_z.json +e82dff9ba827fa754b9427fd1bb031ce8c525452 assets/tfmg/models/block/plastic_pipe/lu_x.json +8887eac389e48491df7529ff03551081d3bcaecb assets/tfmg/models/block/plastic_pipe/lu_y.json +a07159cdb73e456a502c589925e10c88941c2334 assets/tfmg/models/block/plastic_pipe/lu_z.json +8fd96eea4b258e943840ced2d7f65ae0e4bb6093 assets/tfmg/models/block/plastic_pipe/l_x.json +cff19888d0bcfb0bba2aa68d55930d23f6bd1a95 assets/tfmg/models/block/plastic_pipe/l_y.json +6c7e11adea02afbd27caf21b2b7adebc8b5d62cf assets/tfmg/models/block/plastic_pipe/l_z.json +05b7f5a4ef6144b8959c4070f74600911e6b9084 assets/tfmg/models/block/plastic_pipe/rd_x.json +bda9007b86b05e17e630f6788b6fa7ab0c62c7a8 assets/tfmg/models/block/plastic_pipe/rd_y.json +4c4a600bf4a90c3813549ad3dcaeb312843b120f assets/tfmg/models/block/plastic_pipe/rd_z.json +94e7db305df55f457efbfda614c440fa79797f91 assets/tfmg/models/block/plastic_pipe/ru_x.json +11c6ef19ab3194229f3f584889f96363be9df673 assets/tfmg/models/block/plastic_pipe/ru_y.json +ebc324445ed58242c5d290d24b82ebac3fad1a1c assets/tfmg/models/block/plastic_pipe/ru_z.json +8efac7cc388e621308d8cc29c1c762d7a4291634 assets/tfmg/models/block/plastic_pipe/r_x.json +e9d1bd4a3a35258b849da57e093e92dadab2b69c assets/tfmg/models/block/plastic_pipe/r_y.json +8c131c75e01bb91ce039c00e55ad1a1b66f672ea assets/tfmg/models/block/plastic_pipe/r_z.json +271838289960a3ae5ef4324c46fa78d744f431e3 assets/tfmg/models/block/plastic_pipe/ud_x.json +1cf9b0df801fb751f7eee8596c7c7872077e298c assets/tfmg/models/block/plastic_pipe/ud_y.json +f75504d26a1f0bf664f3e6fd943bb19fb1c88fcd assets/tfmg/models/block/plastic_pipe/ud_z.json +6b3d690147e783294bfca651b46f71b7305d8016 assets/tfmg/models/block/plastic_pipe/u_x.json +f917dd5f7c6ee929d517098998b36e60dc4088af assets/tfmg/models/block/plastic_pipe/u_y.json +55bb6ce5927986fb142f629caaf63b778bc2385b assets/tfmg/models/block/plastic_pipe/u_z.json +713266e9f0f9ad53bfebee09059f4ac443d4e5a6 assets/tfmg/models/block/polished_cut_bauxite.json +5f847a2787b932b7c0984c78ec7abe0c80f4632b assets/tfmg/models/block/polished_cut_bauxite_slab.json +02a179eed2dc456e2e590255d1e41c894cf126ce assets/tfmg/models/block/polished_cut_bauxite_slab_double.json +a6f230eb9f5d0955c772a19fd6b04b9aca2b2731 assets/tfmg/models/block/polished_cut_bauxite_slab_top.json +ee9baa8139938cbe79941be08369a18878d6ae6b assets/tfmg/models/block/polished_cut_bauxite_stairs.json +3136a081ffadc8981d2adce28fc0b396e59993ce assets/tfmg/models/block/polished_cut_bauxite_stairs_inner.json +f92bda412c3057000812a86a702b1f7d94d696a8 assets/tfmg/models/block/polished_cut_bauxite_stairs_outer.json +931053f2b5c646d80f1a74820733fe072b11a83f assets/tfmg/models/block/polished_cut_bauxite_wall_post.json +ad9fe70859fbb4152c183c33f159e88f1f1e532b assets/tfmg/models/block/polished_cut_bauxite_wall_side.json +dfaec7706609f1df7535203fbc653e53907f6885 assets/tfmg/models/block/polished_cut_bauxite_wall_side_tall.json +522164a42b3622ebe7d3eae5c1cf17bac9060c2e assets/tfmg/models/block/polished_cut_galena.json +6086736c3a96652aa19ca2776de30c0a02fec92e assets/tfmg/models/block/polished_cut_galena_slab.json +8429516774425e9e7c311dba53ad513e5330efd6 assets/tfmg/models/block/polished_cut_galena_slab_double.json +94c70914163b48130aa904e0a15b9a8ceae84ead assets/tfmg/models/block/polished_cut_galena_slab_top.json +2eeaecba06cf9ebb442228920fc38e654014cc4a assets/tfmg/models/block/polished_cut_galena_stairs.json +dbdec3c8697395ddfda734e81e901184c320c2d6 assets/tfmg/models/block/polished_cut_galena_stairs_inner.json +c07d2a5ab39a7f4cc8a6ef6a39fa9c905bace7a5 assets/tfmg/models/block/polished_cut_galena_stairs_outer.json +4d0819bac7622be688d38624fa4eab56d64905d2 assets/tfmg/models/block/polished_cut_galena_wall_post.json +6ffdc828908bdbc14df3d897a8d66f95b5c68646 assets/tfmg/models/block/polished_cut_galena_wall_side.json +9af9cba842f26c1e7d04c673fccd9c3cfc19939e assets/tfmg/models/block/polished_cut_galena_wall_side_tall.json +e6319fccc292dde9fa1e9bb1c5138c61b3ac0006 assets/tfmg/models/block/purple_caution_block.json +ba6f69e143915fedf081f7bf3434e2ecfe9c86a7 assets/tfmg/models/block/purple_concrete.json +b8620085e7a0f53365cdab32cc6fa09888ce0514 assets/tfmg/models/block/purple_concrete_bottom.json +b2d96b5c7a937d69452e75a52f29ceba99df2c8d assets/tfmg/models/block/purple_concrete_stairs.json +8a7c9295625c0f628121b236b58eea2ac5762297 assets/tfmg/models/block/purple_concrete_stairs_inner.json +56d9a751cce394b818abb3df783189a00dec86db assets/tfmg/models/block/purple_concrete_stairs_outer.json +ed75898bcabca38c33cf3b5f4cdf542ad8f43823 assets/tfmg/models/block/purple_concrete_top.json +7bcab3a84f3216ad78782f41ea03b1294fa66e18 assets/tfmg/models/block/purple_concrete_wall_post.json +53fec6bdb6dfe8b9a75efc0e6e58560c8b616231 assets/tfmg/models/block/purple_concrete_wall_side.json +dc6efe4ecdf11fdabd48bd635343571341e0c7a1 assets/tfmg/models/block/purple_concrete_wall_side_tall.json +ba6f69e143915fedf081f7bf3434e2ecfe9c86a7 assets/tfmg/models/block/purple_rebar_concrete.json +6f2b4e6eabcd6eb785a6f0490d576e7c9542e004 assets/tfmg/models/block/raw_lead_block.json +b5dbb2a95f6c0035ac1d9b1a398523ebbf4389ee assets/tfmg/models/block/raw_lithium_block.json +4365f59397d10a5a90fc396b7b3b554c195fc9ab assets/tfmg/models/block/raw_nickel_block.json +75c31d328fc5d6d46c8b43e8bde7504f4e51dadc assets/tfmg/models/block/rebar_concrete.json +0797790188731b89384ab9fe360f368e117b3a78 assets/tfmg/models/block/rebar_concrete_stairs.json +d1ab2179541a2d7430c5284883a4fae282abb3ad assets/tfmg/models/block/rebar_concrete_stairs_inner.json +5d664ba30ebfe8bdfaf159cfa4bb6f58ff931166 assets/tfmg/models/block/rebar_concrete_stairs_outer.json +8b901f38d5d1f28d81e44eff725b1a7d5d74c164 assets/tfmg/models/block/red_caution_block.json +1a7e3178749d61380189e5d2e82a449a7af955e9 assets/tfmg/models/block/red_concrete.json +e31bd8cef2a057dd918c9d7f5324585b317391ab assets/tfmg/models/block/red_concrete_bottom.json +50f1c8c09a56b94a9d0c60c3c78e90e4a7e7d3b2 assets/tfmg/models/block/red_concrete_stairs.json +e0e4ed6ac58d5b073bada6627f8db40df532437e assets/tfmg/models/block/red_concrete_stairs_inner.json +9bf9252fff90f8b5656d6a6b834b9efe9701390d assets/tfmg/models/block/red_concrete_stairs_outer.json +ebe034df02109594467f14936fe51fc9599837a4 assets/tfmg/models/block/red_concrete_top.json +dc6e4ccb14d0e1e9609a2288b36e795193ce9c90 assets/tfmg/models/block/red_concrete_wall_post.json +51eb342e89183a45f82b07cb5bd7dcc0af3cb92d assets/tfmg/models/block/red_concrete_wall_side.json +cceea88c9ee12c5a6ffb6d1e722aa1d39618d59b assets/tfmg/models/block/red_concrete_wall_side_tall.json +1a7e3178749d61380189e5d2e82a449a7af955e9 assets/tfmg/models/block/red_rebar_concrete.json +9202745e6093098507d6b800f5e52a99b74eaa20 assets/tfmg/models/block/reinforced_fireproof_bricks.json +72ba386940887b208dec2b5491a4bb1f3f18e2fd assets/tfmg/models/block/rusted_blast_furnace_reinforcement.json +3578cf1c68b95ad2bd204c0a2569a1b9e1038f5c assets/tfmg/models/block/slag_block.json +6add4df4683269f7e5dff6e001ebdaa084ddc50c assets/tfmg/models/block/slag_bricks.json +0527561f96904dabea20a824baf8828ff1bbfc32 assets/tfmg/models/block/small_bauxite_bricks.json +35349e72beddafb42b477c100ba16e41eb0bc473 assets/tfmg/models/block/small_bauxite_bricks_wall_post.json +86658ab1a36973071032dd844664d817e0628adb assets/tfmg/models/block/small_bauxite_bricks_wall_side.json +85202ffe20243ab1343014c0d52e504016bc054f assets/tfmg/models/block/small_bauxite_bricks_wall_side_tall.json +a0aea27e8b671d7370b10f7ae269c5049ce291b3 assets/tfmg/models/block/small_bauxite_brick_slab.json +ad150fc0e40e5ee2b112cb2d774e691373ff45aa assets/tfmg/models/block/small_bauxite_brick_slab_top.json +d29800a63ca2717e056798cf8bb29bf55d29a07c assets/tfmg/models/block/small_bauxite_brick_stairs.json +7f4bdf3f4059dc1cda60557d59f5440addd26547 assets/tfmg/models/block/small_bauxite_brick_stairs_inner.json +a07354a238bd4d5aadee6e60e1d61fcffde43f5b assets/tfmg/models/block/small_bauxite_brick_stairs_outer.json +aafb5d4803c658998031a1283644f9ac569cfd42 assets/tfmg/models/block/small_galena_bricks.json +c715740d5552e6999ab53cecc53366a2861e41d7 assets/tfmg/models/block/small_galena_bricks_wall_post.json +0d919c26793d8a60714a8849879b69c462db7f33 assets/tfmg/models/block/small_galena_bricks_wall_side.json +46525cf76e01e1692dab083608c21daa514ffd7f assets/tfmg/models/block/small_galena_bricks_wall_side_tall.json +bbc3336b9db1da871b92c0011f1889b7e6fcc011 assets/tfmg/models/block/small_galena_brick_slab.json +4bb3d51007aad48d07259bdf80fe9ffa465efccc assets/tfmg/models/block/small_galena_brick_slab_top.json +590da14146500585d6f561efd0aba23f00e6af84 assets/tfmg/models/block/small_galena_brick_stairs.json +dd4e3df6e1baff446d718a57d6e3a07a79f5e784 assets/tfmg/models/block/small_galena_brick_stairs_inner.json +d057fd4461bb5170ff2e81ee848b89b4a28ce602 assets/tfmg/models/block/small_galena_brick_stairs_outer.json +0ceb30eaff16a495c9a165ca16c925cbff836755 assets/tfmg/models/block/steel_block.json +9200d9351035559ffdd434de54ea962d246cc9eb assets/tfmg/models/block/steel_cable_hub.json +bf29a468e4816a6238c142286ef55d1ca8c6d099 assets/tfmg/models/block/steel_cap.json +e83ff0c23ac346f471257c2b082688793eeeed8c assets/tfmg/models/block/steel_cap_alt.json +465b1fed10d06090e5e8d19457f9fa48fe890bb4 assets/tfmg/models/block/steel_casing.json +f9eb716d9e12955912b38884e7afb0841180cac3 assets/tfmg/models/block/steel_casing_cable_hub.json +906e528089526aecc3f1e0c8cae850ba4ce69a85 assets/tfmg/models/block/steel_encased_aluminum_cogwheel.json +698f353de5d4343e367e7937813a9dacb6bbba64 assets/tfmg/models/block/steel_encased_aluminum_cogwheel_bottom.json +3ea2fd4c283d97c145dbb32bf7b32cd80de49025 assets/tfmg/models/block/steel_encased_aluminum_cogwheel_top.json +195febad1493fa6484bb921aea8647902b61dda7 assets/tfmg/models/block/steel_encased_aluminum_cogwheel_top_bottom.json +930f0d232ab8d65b8a9da937c31364779d991800 assets/tfmg/models/block/steel_encased_large_aluminum_cogwheel.json +35589a9cadf55f092b0218e36146c2a7a0bc2907 assets/tfmg/models/block/steel_encased_large_aluminum_cogwheel_bottom.json +6712e7f32efafd86622d1e4af19bbef28b77d4ec assets/tfmg/models/block/steel_encased_large_aluminum_cogwheel_top.json +e69d8fd76a499af45c97bd33f8288bf5bc404496 assets/tfmg/models/block/steel_encased_large_aluminum_cogwheel_top_bottom.json +930f0d232ab8d65b8a9da937c31364779d991800 assets/tfmg/models/block/steel_encased_large_steel_cogwheel.json +35589a9cadf55f092b0218e36146c2a7a0bc2907 assets/tfmg/models/block/steel_encased_large_steel_cogwheel_bottom.json +6712e7f32efafd86622d1e4af19bbef28b77d4ec assets/tfmg/models/block/steel_encased_large_steel_cogwheel_top.json +e69d8fd76a499af45c97bd33f8288bf5bc404496 assets/tfmg/models/block/steel_encased_large_steel_cogwheel_top_bottom.json +906e528089526aecc3f1e0c8cae850ba4ce69a85 assets/tfmg/models/block/steel_encased_steel_cogwheel.json +698f353de5d4343e367e7937813a9dacb6bbba64 assets/tfmg/models/block/steel_encased_steel_cogwheel_bottom.json +3ea2fd4c283d97c145dbb32bf7b32cd80de49025 assets/tfmg/models/block/steel_encased_steel_cogwheel_top.json +195febad1493fa6484bb921aea8647902b61dda7 assets/tfmg/models/block/steel_encased_steel_cogwheel_top_bottom.json +93e9dc75614de03258c154ca604737856f9eb569 assets/tfmg/models/block/steel_ladder.json +0c4fcf6e901d8eba56ba67999fcf0801534779d6 assets/tfmg/models/block/steel_pipe/d_x.json +6060082caaef1e6e6fc72606d6a74e64aaeb27ac assets/tfmg/models/block/steel_pipe/d_y.json +dc62a6a3de9e73e7341481df09951a7ec3caf944 assets/tfmg/models/block/steel_pipe/d_z.json +1091fe2d4abfa9935c57cafcd3bd65a6fdcb1a7b assets/tfmg/models/block/steel_pipe/ld_x.json +dd229543a58922b39223c1957f88143edb3c1a1a assets/tfmg/models/block/steel_pipe/ld_y.json +4dc15f7d71138f79a15ff8738e25d6fb657086c7 assets/tfmg/models/block/steel_pipe/ld_z.json +501e1523ffcd2c897c95729b4ab43b1531ded959 assets/tfmg/models/block/steel_pipe/lr_x.json +6c99cf673d90c05b11a2a6269eaeee982376826f assets/tfmg/models/block/steel_pipe/lr_y.json +8af9bf77d345c1f7c6354541270a355997b252fc assets/tfmg/models/block/steel_pipe/lr_z.json +0c75462cc6fcbc56ec2f111d80f61a6abfedf693 assets/tfmg/models/block/steel_pipe/lu_x.json +902ee90dc6b5516946b7e2f06258253cfb6767b4 assets/tfmg/models/block/steel_pipe/lu_y.json +d7b55e24c21c1042695e09d17395b5c389256727 assets/tfmg/models/block/steel_pipe/lu_z.json +0df8d07244444b8c6e4d756a27013a3981d2e51d assets/tfmg/models/block/steel_pipe/l_x.json +3f5fc2b9f9c570bacfc0ae697922509b169155fa assets/tfmg/models/block/steel_pipe/l_y.json +35bc60c016b488d5e9fcb324d89fbb93d9a6c0ca assets/tfmg/models/block/steel_pipe/l_z.json +d982c7570430e0052bfd87ec10e880086f9b87bc assets/tfmg/models/block/steel_pipe/rd_x.json +e651d9decda90050af5c865b6d799e890d9ff502 assets/tfmg/models/block/steel_pipe/rd_y.json +86e254b47fc87beae269512969c095d52b0b9a5e assets/tfmg/models/block/steel_pipe/rd_z.json +301a84ba7b55046a13e615abac540ec6ff3a0da8 assets/tfmg/models/block/steel_pipe/ru_x.json +88d1333e6c6a7196f76871570464a609f8a25307 assets/tfmg/models/block/steel_pipe/ru_y.json +316bd01cda7cf096cddd623e056e3cde026bd194 assets/tfmg/models/block/steel_pipe/ru_z.json +c00198c8130e8ffa46e0a61568d14e2edc74c810 assets/tfmg/models/block/steel_pipe/r_x.json +0d1411127a0ad629ae375b4b5e1de158e5c83af1 assets/tfmg/models/block/steel_pipe/r_y.json +0d1f17dd0748ccbdf1213d8670f738e33a537b7a assets/tfmg/models/block/steel_pipe/r_z.json +7e35caf08ec29978ad9e51b4b26299636d27cd8c assets/tfmg/models/block/steel_pipe/ud_x.json +e3105550abc0fafc0d67d494c8f92008a9cf7fd9 assets/tfmg/models/block/steel_pipe/ud_y.json +d34e5efd71420623baab6ff86cbb9a68abcb343d assets/tfmg/models/block/steel_pipe/ud_z.json +68d79052c90cbfad2c4730673395b5f58ad73293 assets/tfmg/models/block/steel_pipe/u_x.json +e583e8755126d362e21057464e2f12af3f32ba25 assets/tfmg/models/block/steel_pipe/u_y.json +56b3110e7a55c08302e27d5b7f32f7b7b9cd60a0 assets/tfmg/models/block/steel_pipe/u_z.json +7e8d91d0f9c247d9c8909f98497a3c71180fea9e assets/tfmg/models/block/steel_post.json +547d1739a3221c39bf8a856e27901e25877f9918 assets/tfmg/models/block/steel_post_ends.json +f8c535c59e85b8af0c8701596cd08b72ca38036f assets/tfmg/models/block/steel_scaffolding.json +aad5b54daf86c0aa5e100475de443cd2c3234020 assets/tfmg/models/block/steel_scaffolding_horizontal.json +761696519471a65d0e973626503b30c2951e1168 assets/tfmg/models/block/steel_side.json +b99f7af6743a7b9d45f6c41b98d7be73dfa48529 assets/tfmg/models/block/steel_side_alt.json +358c82459a719410114da8c4dfd5f45289064a7e assets/tfmg/models/block/sulfur.json +055c83ec3b0b60976faad9b5b14d01801358875a assets/tfmg/models/block/sulfuric_acid.json +46b1e19c4b924177142879b9c0cefcd4f45e6a6f assets/tfmg/models/block/white_caution_block.json +af77b90a54211755c652dd770dfe1a2045232a07 assets/tfmg/models/block/white_concrete.json +f023d118727ff33523c213a89a28c8bc79d64268 assets/tfmg/models/block/white_concrete_bottom.json +af1962e1b6b34e9b5447b99d22b2c44d8e3bdb01 assets/tfmg/models/block/white_concrete_stairs.json +9707001dbf261e5c8086b1991fd0055de943d645 assets/tfmg/models/block/white_concrete_stairs_inner.json +31e5248e1cef5b863cae89c8ecb435b4c17ded1d assets/tfmg/models/block/white_concrete_stairs_outer.json +f3bda435c4253bb54336b3767446293d1eec7af2 assets/tfmg/models/block/white_concrete_top.json +2f3451e530a0543345df5d9fc27ce2d88142d23d assets/tfmg/models/block/white_concrete_wall_post.json +21f3a70526abf7deef3b3751c6cede1b87883089 assets/tfmg/models/block/white_concrete_wall_side.json +80fad7af8287eb9705f8afeb2cde958e12071be4 assets/tfmg/models/block/white_concrete_wall_side_tall.json +af77b90a54211755c652dd770dfe1a2045232a07 assets/tfmg/models/block/white_rebar_concrete.json +4079938d1508e8c360efa2c2a26af0ac0dfa9741 assets/tfmg/models/block/yellow_caution_block.json +3bc79405c46c5411e65d70265769cd86f16ff040 assets/tfmg/models/block/yellow_concrete.json +e470e91ec9f63b160f360b02e4f0895f3d94428e assets/tfmg/models/block/yellow_concrete_bottom.json +c6ef8cfdd60dc6d163699847a1dcaeb1f5b2b297 assets/tfmg/models/block/yellow_concrete_stairs.json +00ab90cf9cb32d06b2517a3c0cd4e626b4174b8e assets/tfmg/models/block/yellow_concrete_stairs_inner.json +3408b47b607ee17c6ce57038d044f89e39b6e0a1 assets/tfmg/models/block/yellow_concrete_stairs_outer.json +b9a1477ab92ea6eb6daad65aad5e73f339402588 assets/tfmg/models/block/yellow_concrete_top.json +fea28ae2dbee700a4219f227bf6a87502b31cb05 assets/tfmg/models/block/yellow_concrete_wall_post.json +0a642864362409bfc889345a8a4605c111b326c6 assets/tfmg/models/block/yellow_concrete_wall_side.json +099f4b7adf652892d7ec572c6f9e38053089c097 assets/tfmg/models/block/yellow_concrete_wall_side_tall.json +3bc79405c46c5411e65d70265769cd86f16ff040 assets/tfmg/models/block/yellow_rebar_concrete.json +f28eecee7a67bf88f80788e26db921d507a2e29b assets/tfmg/models/item/accumulator.json +ff3c6bce6f60d4323cfbd436f1978ca1fcb9ae27 assets/tfmg/models/item/advanced_potato_cannon.json +c2be2c2933da698fd2888fcb04b71cb372725b6f assets/tfmg/models/item/air_bucket.json +500ce6e858f96a48d1871fe4c02404faa2ccac29 assets/tfmg/models/item/air_intake.json +8a99a27814a3e0dedf83fbcc20f253caebf1f55e assets/tfmg/models/item/aluminum_axe.json +f5f0b056cb26ccb089e8f6fea940e268c059aa72 assets/tfmg/models/item/aluminum_bars.json +714173e054b787915b8cebfb50deb61b28dba5a3 assets/tfmg/models/item/aluminum_block.json +c9d349089eca3a097c56d3e4a1a5228b7a85b689 assets/tfmg/models/item/aluminum_cable_hub.json +90d2eca9d593dfbb30d90c7b779c9679ae946664 assets/tfmg/models/item/aluminum_cogwheel.json +86837359dc83cb97ead638dbd6907e009871d7c5 assets/tfmg/models/item/aluminum_door.json +c7ece2b608bd26c81a4bdb8a480841d12e8ffbec assets/tfmg/models/item/aluminum_fluid_tank.json +5c1c14519742d92c3a6f00e4d70516222868be79 assets/tfmg/models/item/aluminum_flywheel.json +17edac544d3f9f6ae8435f155c42c5e926432e2d assets/tfmg/models/item/aluminum_frame.json +3809c534d35577550c639ab4852b2b4ce8497047 assets/tfmg/models/item/aluminum_hoe.json +f685ca653c8e197986b1ac8f43297989816d39d2 assets/tfmg/models/item/aluminum_ingot.json +b10879f41ab3fd52edc0d1cbbadfe1704614563a assets/tfmg/models/item/aluminum_ladder.json +1b0373d37de5a7e4c35b098bc4474c51c2b3e046 assets/tfmg/models/item/aluminum_lamp.json +ecab250699b802a1358dccdabaca2181520324ec assets/tfmg/models/item/aluminum_mechanical_pump.json +46621abd4c2a6c751d2d37b401ef9bf09e461985 assets/tfmg/models/item/aluminum_nugget.json +f0956f6c9b44149b1e2b37dfaa46a067240031db assets/tfmg/models/item/aluminum_pickaxe.json +76e794a58d8956b3a61faf5b403f9834952270c3 assets/tfmg/models/item/aluminum_pipe.json +5ee0c86ca83156e30da61d6f42e0a8a29833e845 assets/tfmg/models/item/aluminum_scaffolding.json +a138cac9e41e8dd5534716f6d59fb656d09c4f53 assets/tfmg/models/item/aluminum_sheet.json +63c4cd862849f38eb1af7dfe4256a8b6f3df973b assets/tfmg/models/item/aluminum_shovel.json +d3288be7ee67467134c7603b976fb02ac43373d3 assets/tfmg/models/item/aluminum_smart_fluid_pipe.json +7c81261b248087b2aa8e6f240bb84230e301c51b assets/tfmg/models/item/aluminum_spool.json +68e3b6479c6d92fd8d2dca6fa51f9d8d26dd6d6b assets/tfmg/models/item/aluminum_sword.json +153b6d8b77344afcb5e6b509fbcab4b4d67a4723 assets/tfmg/models/item/aluminum_truss.json +3678ef091ea84638cde934ba7717be4843b55cc1 assets/tfmg/models/item/aluminum_wire.json +1e2f0ebb7ad85bdcd2d9578ad95dd0ddecbf3958 assets/tfmg/models/item/asphalt.json +fc36493d50593b89257b2184436b1397b4baa4c9 assets/tfmg/models/item/asphalt_mixture.json +8a8fa4346314945eaff5c779d77e258425d0d910 assets/tfmg/models/item/asphalt_slab.json +0c7dde6b90a3209509dfbc6599d3b920635fd0b5 assets/tfmg/models/item/asphalt_stairs.json +8fadae731be3ad6d131ba3be2c1a507b7af7d61b assets/tfmg/models/item/asphalt_wall.json +4ace0da00498fcbb9ddfdf321767b40b095c8778 assets/tfmg/models/item/bauxite.json +41091873d85bac787e4752d0ff81189432f1e28e assets/tfmg/models/item/bauxite_pillar.json +c499d90fc5a7b93c01838468c2963ee93d9ef74b assets/tfmg/models/item/bauxite_powder.json +6643d154d0c98441b9729fce6e1e9b6587436565 assets/tfmg/models/item/bitumen.json +84e0e0c582d8e8aa155073716c6840c823a3811b assets/tfmg/models/item/black_concrete.json +059e1cf0e5a1b37e2ae807cea32f62f28817787c assets/tfmg/models/item/black_concrete_slab.json +d5251229881d3c03f887dd11a34a200ec71ca03b assets/tfmg/models/item/black_concrete_stairs.json +a41523da5b971a98e101f03f058f50c944fc4960 assets/tfmg/models/item/black_concrete_wall.json +ec658bbab6885b52477ac1facfd93b557348a7be assets/tfmg/models/item/black_multimeter.json +59884fc2ec383b32bcbf6af35b91493e29a22772 assets/tfmg/models/item/black_rebar_concrete.json +059e1cf0e5a1b37e2ae807cea32f62f28817787c assets/tfmg/models/item/black_rebar_concrete_slab.json +d5251229881d3c03f887dd11a34a200ec71ca03b assets/tfmg/models/item/black_rebar_concrete_stairs.json +a41523da5b971a98e101f03f058f50c944fc4960 assets/tfmg/models/item/black_rebar_concrete_wall.json +e465acc817caabb8376bba44c2f70af8c189a2af assets/tfmg/models/item/blast_furnace_hatch.json +f84aae4cc298451efb6223d01cc566ddb78399ad assets/tfmg/models/item/blast_furnace_output.json +21c635e725c6b566e1b321e5c56520addc3f9dbc assets/tfmg/models/item/blast_furnace_reinforcement.json +33294043697b1390713041bd25399fbd251dd679 assets/tfmg/models/item/blast_stove.json +eee31c3653f6d8db57cbd31051a8c2c4aedff9d8 assets/tfmg/models/item/blue_caution_block.json +c5ad82126c949732854f9be8492d4bfdf756259b assets/tfmg/models/item/blue_concrete.json +96648e327c65736445def6d44948cc9a883fb860 assets/tfmg/models/item/blue_concrete_slab.json +916e86f0a2f5de23ae84e5289176573033dae696 assets/tfmg/models/item/blue_concrete_stairs.json +1f3696b17c4630b06c61af5bc9fd06d0ff702eec assets/tfmg/models/item/blue_concrete_wall.json +4ad54387d58cb5b9de5a3369c94bf5faf21ab417 assets/tfmg/models/item/blue_multimeter.json +3e2fb7d9a92ff24018524083815166739ee55d84 assets/tfmg/models/item/blue_rebar_concrete.json +96648e327c65736445def6d44948cc9a883fb860 assets/tfmg/models/item/blue_rebar_concrete_slab.json +916e86f0a2f5de23ae84e5289176573033dae696 assets/tfmg/models/item/blue_rebar_concrete_stairs.json +1f3696b17c4630b06c61af5bc9fd06d0ff702eec assets/tfmg/models/item/blue_rebar_concrete_wall.json +e2045023c783188ba609cffdd25f53bb01d33e72 assets/tfmg/models/item/brass_cable_hub.json +78057607b9b9a5bec91516d30406982d5aaf698a assets/tfmg/models/item/brass_frame.json +88eee8202951959638c4934f9c2ba421c0076d69 assets/tfmg/models/item/brass_mechanical_pump.json +fe12441d1e495cfa9fae4f6c6086be21caec1224 assets/tfmg/models/item/brass_pipe.json +06c7e8235661bdc2cdb7aedeaaac12277e3d2d19 assets/tfmg/models/item/brass_smart_fluid_pipe.json +d9b83e727c2e49165304e5b44fbf94da7a6cefd2 assets/tfmg/models/item/brass_truss.json +bc5b951d79046de8ecbb475ceff68c1e2308c8b5 assets/tfmg/models/item/brick_smokestack.json +1e08d2fa4a01dfdda40adad5df8d46601e1875b4 assets/tfmg/models/item/brown_caution_block.json +2af2b0dbdd2e56e6a206a4ff3e20672fdff60a12 assets/tfmg/models/item/brown_concrete.json +4edd1d1a741a4bcee9dc1c5526ce2a97e878ede2 assets/tfmg/models/item/brown_concrete_slab.json +4d8e39b32cf583923994d5e3da0c720d3777b9dd assets/tfmg/models/item/brown_concrete_stairs.json +0be3b12389658b8cdc54796d2b60dc3440171e0c assets/tfmg/models/item/brown_concrete_wall.json +dcda072d56245442a9f9a7fb587ec94cb04f8578 assets/tfmg/models/item/brown_multimeter.json +e701cdc206b4c6eb47ed8b94d24b304000d634b8 assets/tfmg/models/item/brown_rebar_concrete.json +4edd1d1a741a4bcee9dc1c5526ce2a97e878ede2 assets/tfmg/models/item/brown_rebar_concrete_slab.json +4d8e39b32cf583923994d5e3da0c720d3777b9dd assets/tfmg/models/item/brown_rebar_concrete_stairs.json +0be3b12389658b8cdc54796d2b60dc3440171e0c assets/tfmg/models/item/brown_rebar_concrete_wall.json +59057a9cf031e1be2ff2098ea5c2299f38f0bf55 assets/tfmg/models/item/butane_bucket.json +70c4e4f1e88d4380ed1b1f9ee52472b85f34e0c7 assets/tfmg/models/item/cable_connector.json +3ec85036b72bfab601bdf9c649a148da3f1216e3 assets/tfmg/models/item/cable_tube.json +642b1b969f6cbe4ba097e82ef448a752ee3406f6 assets/tfmg/models/item/capacitor_item.json +4ed6badf38b1a376f628704027a79834d790d853 assets/tfmg/models/item/carbon_dioxide_bucket.json +4c68758acc40bc10a34fc566920c4b0c22894772 assets/tfmg/models/item/casting_basin.json +d09e58c76283f0d07b5afb5876c95d6bf78bb4e3 assets/tfmg/models/item/cast_iron_bars.json +ec38882fb9010884823d6d6afa604f8a6512d279 assets/tfmg/models/item/cast_iron_block.json +ca77dede51d5dec1e59038814f403e37a06fac6e assets/tfmg/models/item/cast_iron_chemical_vat.json +ec2eeb8a37c1f3c01b453902c9f1ad93ce9ed814 assets/tfmg/models/item/cast_iron_fluid_tank.json +9eae58d64bb790fef0b359c7aed7c52effb6f5e1 assets/tfmg/models/item/cast_iron_flywheel.json +084044b5d0a97f0e2aa279736dda3c0722d5dea9 assets/tfmg/models/item/cast_iron_frame.json +da2c28e98d0ddf7166bdf7214c06e81ad8581b90 assets/tfmg/models/item/cast_iron_ingot.json +37647e25ad789191f9b0aaefa6bd597eb553671e assets/tfmg/models/item/cast_iron_ladder.json +28823622c11e678f5a3117c243874d9c0d545a2e assets/tfmg/models/item/cast_iron_mechanical_pump.json +692aae1db44cfd2998673b47668a25f209d0303e assets/tfmg/models/item/cast_iron_nugget.json +55e71185e7ba0cb136bc332d5c95efc18425f975 assets/tfmg/models/item/cast_iron_pipe.json +93e27441af7522e3c8f3a7068f3e95122427c499 assets/tfmg/models/item/cast_iron_sheet.json +84da535b10e09a52d2bb7cdc29a4b4ccb0b484d7 assets/tfmg/models/item/cast_iron_smart_fluid_pipe.json +b4165238a4d466f3d07a2e1a8aba3bc084e9de77 assets/tfmg/models/item/cast_iron_truss.json +e4c27a32808423c000921fcd9a25c869bd5974b0 assets/tfmg/models/item/cement.json +bc946668199281b834a5195536239932e8d1eae9 assets/tfmg/models/item/centrifuge.json +e77b35aab8555352f470573efbd6b2b9e94a3309 assets/tfmg/models/item/cinderblock.json +7bb9af462986aaab5620335742b5467d9a7e3e61 assets/tfmg/models/item/cinderflourblock.json +3958bb0affb8afea87162eb74f620be1958bdebf assets/tfmg/models/item/cinderflour_block.json +64c8372b0af7c08ed4e1db9fd255b6a15c8df00b assets/tfmg/models/item/cinder_block.json +0e8e0a40a71ecca28f317a512336041c5b20249b assets/tfmg/models/item/circuit_board.json +1880212f240c9eb09878e3e18815310666b69be6 assets/tfmg/models/item/circular_light.json +d45fc5511b4c4027889afd3088cd91ba1d8b0501 assets/tfmg/models/item/coal_coke.json +3789a9d72a7ba5daf8c39cccaa665057e63302c6 assets/tfmg/models/item/coal_coke_block.json +cf3c486158a27cbd3a4ef9fdd79dc93f3cc12b45 assets/tfmg/models/item/coal_coke_dust.json +54ac6b75ce8917de10c49ab224b8fc3e9a833f16 assets/tfmg/models/item/coated_circuit_board.json +36998ab88f5e75bcb9105baeb1a77030abd9a8bd assets/tfmg/models/item/coke_oven.json +4a843d55647a606fa97bc2daf745a7603406767d assets/tfmg/models/item/concrete.json +6570409e8a5402f717ce2d9989813162e17f4dd3 assets/tfmg/models/item/concrete_hose.json +1e4e0385a32fc8756acd46fac0a388a9d694df28 assets/tfmg/models/item/concrete_mixture.json +685e08733e5195a8714284be2eeba8f47736115e assets/tfmg/models/item/concrete_slab.json +296dab0d6fec155ca9823cc9e267b98b5173f538 assets/tfmg/models/item/concrete_smokestack.json +e0e9a8a413dbdfa8e414dffa542306fe5c0f60fb assets/tfmg/models/item/concrete_stairs.json +c52e4008b27e203473a676aefc66370efe7c0d9b assets/tfmg/models/item/concrete_wall.json +6ad136893dcbbdd109b80ad96e15eabc9f792034 assets/tfmg/models/item/constantan_block.json +67a9828d95678200e674cd074e36ac1500da0372 assets/tfmg/models/item/constantan_frame.json +dfc11d8b61afa72b969c79a0c6cc01e8d6fca169 assets/tfmg/models/item/constantan_ingot.json +998e0744a5e6d9d3bdfea7e59711979b42874b15 assets/tfmg/models/item/constantan_ladder.json +381e0d64eeb5c13f759e3d4fe9842dea759ee073 assets/tfmg/models/item/constantan_nugget.json +6b458b591be15313380988f3154fa6df067aac46 assets/tfmg/models/item/constantan_spool.json +a7e0b0c5b9cdcb7e48ce92754b4714cdec94095e assets/tfmg/models/item/constantan_truss.json +fbef525eaae76c32fb3d7ef415a94f39d033a1ae assets/tfmg/models/item/constantan_wire.json +1d29da201c5d3cbd80ffddafebe9a740f7c9e985 assets/tfmg/models/item/converter.json +cbebe27349c77edc77e836d00339571a9d42d1c6 assets/tfmg/models/item/cooling_fluid_bottle.json +e8c4e68647a6ced815cfca649c679e709fcc7751 assets/tfmg/models/item/cooling_fluid_bucket.json +04bf0e4e6afcdcf4e1712536afdbac6ae64091c3 assets/tfmg/models/item/copper_cable_hub.json +9dd1c3541d4e5fbf08d605c83b9bf8633ed675da assets/tfmg/models/item/copper_electrode.json +efb9f7fa5fcbe23884ed877d31d4555debef903c assets/tfmg/models/item/copper_frame.json +df4e7fa8f3f60908f58794528a8db60dce7d0135 assets/tfmg/models/item/copper_grenade.json +cd782e6a5296067494443920d220889937a6de65 assets/tfmg/models/item/copper_spool.json +45a8624d38d2723f58678704b4bcf9a738006551 assets/tfmg/models/item/copper_sulfate.json +19e87f4dcd3cd01daf1eec8b06df743898dcc775 assets/tfmg/models/item/copper_truss.json +d34ea5d4a5fbae394f3773155c901da7e8a9f99e assets/tfmg/models/item/copper_wire.json +ad22e8940129ab3a0601244b48387b1832bcb80e assets/tfmg/models/item/copycat_cable_block.json +573155f3826c41275c060cebb217a4ef2fcb658b assets/tfmg/models/item/crankshaft.json +e90663032572b10fff3b45cdf2435211cb1ef05b assets/tfmg/models/item/creative_generator.json +0abf2b2d61995c4fd3e3c88656e740ffe0a2f083 assets/tfmg/models/item/creosote_bucket.json +a79994155c228372c913d281a53b5c7303d5a8ee assets/tfmg/models/item/crude_oil_bucket.json +ad53ebb7bbb4567ba0bc948b6594c079d1050fb9 assets/tfmg/models/item/cut_bauxite.json +eb80646f49d4c682fd21fb8054ed5b8427d9b554 assets/tfmg/models/item/cut_bauxite_bricks.json +7112aa744d3215a868decd72aa42adb62c4f0b66 assets/tfmg/models/item/cut_bauxite_brick_slab.json +cb56b95b0aad65f7d51e707eb7c4e5fa406bb741 assets/tfmg/models/item/cut_bauxite_brick_stairs.json +0cb0ad817e92d97aba1130219e9a93fd5da9a417 assets/tfmg/models/item/cut_bauxite_brick_wall.json +65fc6c720b7fcd2609ee20215971e84e0d0c0cd3 assets/tfmg/models/item/cut_bauxite_slab.json +e6bf52c7a969b26d65cc36353a6a3e2a91752e42 assets/tfmg/models/item/cut_bauxite_stairs.json +0cef1f82baa51acdbe768b60f54ba126f9f6eb60 assets/tfmg/models/item/cut_bauxite_wall.json +0851a88071fa4ec38284b0a97085bcc6d9ab24b7 assets/tfmg/models/item/cut_galena.json +b05644954da48008ac0464204b16eb715e1cbf97 assets/tfmg/models/item/cut_galena_bricks.json +a2ebacf9b451b38247de7218070c8126380707b1 assets/tfmg/models/item/cut_galena_brick_slab.json +ee18051a0a504d27ae1290e9172066844a0de1dc assets/tfmg/models/item/cut_galena_brick_stairs.json +48acde6bca2ae625718b169e4f345898c348032e assets/tfmg/models/item/cut_galena_brick_wall.json +b414e0bac6d02f493cb719872068f2edad7d691a assets/tfmg/models/item/cut_galena_slab.json +51a0488396aad7ef0b1c3d384f70cfcb7edc176a assets/tfmg/models/item/cut_galena_stairs.json +b5e24abe9db3db3d7c60e4bdfa65114764ee3190 assets/tfmg/models/item/cut_galena_wall.json +e1265c22293246261ac4b88d01a0819a8d96b1fa assets/tfmg/models/item/cyan_caution_block.json +606a911fc34096d2213eb7262a02a3ca239b7df1 assets/tfmg/models/item/cyan_concrete.json +7c8c3a20c9e2487017c0a0a32a21a7194b01cb0c assets/tfmg/models/item/cyan_concrete_slab.json +5a0b3c3328796a6b85a0faeb8fa9e5f676e4ab03 assets/tfmg/models/item/cyan_concrete_stairs.json +36ddfc344417e445c751af930d937cab41e81d6c assets/tfmg/models/item/cyan_concrete_wall.json +0c4756492237fc57ea68f9f38d9686026a9d63a9 assets/tfmg/models/item/cyan_multimeter.json +4aae4e1f3d3e97b68eda7d808d27aeed923e3453 assets/tfmg/models/item/cyan_rebar_concrete.json +7c8c3a20c9e2487017c0a0a32a21a7194b01cb0c assets/tfmg/models/item/cyan_rebar_concrete_slab.json +5a0b3c3328796a6b85a0faeb8fa9e5f676e4ab03 assets/tfmg/models/item/cyan_rebar_concrete_stairs.json +36ddfc344417e445c751af930d937cab41e81d6c assets/tfmg/models/item/cyan_rebar_concrete_wall.json +5501ef13cbbeeb07315d6535728149e9aee76722 assets/tfmg/models/item/debug_cinderblock.json +f3a706999351ee0f88946f8d5e3cdea38ac88ac4 assets/tfmg/models/item/deepslate_lead_ore.json +006fb0f052dda00dfa32a72269ebfc343f11cabc assets/tfmg/models/item/deepslate_lithium_ore.json +9d8a7735ff089faef94dde738d075a805def2a70 assets/tfmg/models/item/deepslate_nickel_ore.json +1457ab4bfa2f6222ed247e5d9bc8238378b7fc4d assets/tfmg/models/item/deposit_item.json +5f0b92a0b3e8cba17fe0e4f18aed56c2d9e3ed22 assets/tfmg/models/item/diagonal_cable_block.json +3497bcbaee50b2f766de659043bf3c36823b570d assets/tfmg/models/item/diesel_bucket.json +4aee23fa705153f1defbfea8b6f2f3e6cc0d0d1d assets/tfmg/models/item/diesel_engine_cylinder.json +84eccc7f81ba83e43a6d68188baca808bc68a8e4 assets/tfmg/models/item/electrical_switch.json +4be63bded1fe0e571e7d89001d01f9d57020a4ea assets/tfmg/models/item/electricians_wrench.json +d2ddba2549ea27f94ff7de3f91414235edd9e827 assets/tfmg/models/item/electric_diode.json +b90d6ceb1c64ade022a893ed4b442b0e100e42b1 assets/tfmg/models/item/electric_motor.json +deb7528506dca13e6f3c7a9057105b97c7faddef assets/tfmg/models/item/electric_post.json +e36f2280b360cbd37267b3351a131ebcfb499fe7 assets/tfmg/models/item/electric_pump.json +1a73802a404a841834fa695ed6ee985741e6ec4b assets/tfmg/models/item/electrode_holder.json +7b898ca0de43a97cda3733b254c3aa112f6a5251 assets/tfmg/models/item/electromagnetic_coil.json +969c1a0cf944e95b0807ba0d9fe0641e052e1a7f assets/tfmg/models/item/empty_circuit_board.json +a20d047772ef89454ead4a2ba0879f4a35fdbfc4 assets/tfmg/models/item/empty_spool.json +fabcbafee0ac08f1eb9de23d85897dccfb80376e assets/tfmg/models/item/engine_controller.json +8a1765bf23403f6f3ac3771183ced343d2bc3f89 assets/tfmg/models/item/engine_cylinder.json +32db3976d447778cb15b6ed80ca894e7e6cb3a3d assets/tfmg/models/item/engine_gearbox.json +f469a8d7eb37fce928a5fec614dc2473075f98cd assets/tfmg/models/item/etched_circuit_board.json +af32c2651e6a26f4600f8e5b8ce687348f7e7990 assets/tfmg/models/item/ethylene_bucket.json +941e9eac84bd6bfce1f801ea6a9c98d79d8a7c9d assets/tfmg/models/item/exhaust.json +05059dfd2577f195a3c401b3e2a4c247371f5f67 assets/tfmg/models/item/factory_floor.json +e7d137a2136040f6e504d0b26cede820d2a1be0d assets/tfmg/models/item/firebox.json +84956ff1e797ed4facf000763dc0758d88e26095 assets/tfmg/models/item/fireclay.json +392d736d912396962c0980623b8fcdbdb1541ad7 assets/tfmg/models/item/fireclay_ball.json +6adcbf69c17e06e98cc848dc136b8907c9cff7be assets/tfmg/models/item/fireproof_brick.json +080629b77cc20daacb129c7fe3c3a97d5df677f2 assets/tfmg/models/item/fireproof_bricks.json +96171ac619fe06339e4888ebf16f744745d5d667 assets/tfmg/models/item/fireproof_brick_reinforcement.json +492765a0dcafe3346e25697e1e81df64088348af assets/tfmg/models/item/fireproof_chemical_vat.json +e82498c07d178acd47a4eb43b92c86fd99ba3239 assets/tfmg/models/item/flamethrower.json +6760e6cfe559d9d21c16a1ac8e444423fa8f6c48 assets/tfmg/models/item/flarestack.json +7e4a58a6d05b19dc8c5fff73434c2d7cefa75343 assets/tfmg/models/item/fossilstone.json +733b814e1fa27192eb5620419bc6be64423d89c1 assets/tfmg/models/item/furnace_gas_bucket.json +05c9a5cfc640f82099f5c691942f834996945c1e assets/tfmg/models/item/galena.json +acd5c31ea8e24ca099199932affdc705e5abe3fd assets/tfmg/models/item/galena_pillar.json +ed2830b2988403aebaca633b2e315878b41f7503 assets/tfmg/models/item/gasoline_bucket.json +b577d1d699bbea896237f71a8f5582bcdfcd4534 assets/tfmg/models/item/generator.json +06d25769506a7173b15af2069573b2983b587cc4 assets/tfmg/models/item/glass_cable_insulator.json +35bca54df08df5acb0bb3e86537571db39f7d165 assets/tfmg/models/item/glass_insulator_segment.json +ba135000708c3c77cb3660ff6ed58132961a44db assets/tfmg/models/item/golden_turbo.json +b3aebfc27e431cb0b099c3df6dc30dea1e1b6ec3 assets/tfmg/models/item/graphite_electrode.json +f80ea87018220fdac6fe8e4cc7490bcdb90cb5d0 assets/tfmg/models/item/gray_caution_block.json +c7d4cc91447bc3512efbe18bc7b2344a42196a88 assets/tfmg/models/item/gray_concrete.json +c6e8b96444d3846d41e34fee578013f644a78a00 assets/tfmg/models/item/gray_concrete_slab.json +b4f8f0ab7e36d17544706f2a40a5a7970c49b18f assets/tfmg/models/item/gray_concrete_stairs.json +31a09cb5e3993b3e6166f11ecf8db8ebba224760 assets/tfmg/models/item/gray_concrete_wall.json +3b62326ea8b4cda031df8352a2763699e72873ab assets/tfmg/models/item/gray_multimeter.json +53c1414628819613e7e9c1323c3301b2465ef905 assets/tfmg/models/item/gray_rebar_concrete.json +c6e8b96444d3846d41e34fee578013f644a78a00 assets/tfmg/models/item/gray_rebar_concrete_slab.json +b4f8f0ab7e36d17544706f2a40a5a7970c49b18f assets/tfmg/models/item/gray_rebar_concrete_stairs.json +31a09cb5e3993b3e6166f11ecf8db8ebba224760 assets/tfmg/models/item/gray_rebar_concrete_wall.json +fdf5928b1f6abce2d4819a9b1c7fca087bae902c assets/tfmg/models/item/green_caution_block.json +ff1641bd493666480186a4b926d4942c1f707fcf assets/tfmg/models/item/green_concrete.json +71e878e3f709bb5d252bc2bbdcfdac4f7dee4096 assets/tfmg/models/item/green_concrete_slab.json +e9129a8f6912964b13174edfb792bdfc0f47d98f assets/tfmg/models/item/green_concrete_stairs.json +2309af33d4f0dc4c95f07b694e2b6f24836f84e9 assets/tfmg/models/item/green_concrete_wall.json +e12b91ccb3a51b6ba2eab982fd053546dff72baa assets/tfmg/models/item/green_multimeter.json +cd064fc25ae2eaa3bc4e097157e51352bbf498c6 assets/tfmg/models/item/green_rebar_concrete.json +71e878e3f709bb5d252bc2bbdcfdac4f7dee4096 assets/tfmg/models/item/green_rebar_concrete_slab.json +e9129a8f6912964b13174edfb792bdfc0f47d98f assets/tfmg/models/item/green_rebar_concrete_stairs.json +2309af33d4f0dc4c95f07b694e2b6f24836f84e9 assets/tfmg/models/item/green_rebar_concrete_wall.json +f8ff49aeb12abafe2c0536aa799c014308819695 assets/tfmg/models/item/hardened_planks.json +b8e5a837439b1e29458195dd6d351743c1e8812a assets/tfmg/models/item/heavy_cable_hub.json +5b5625568b4b6e0920fd680f626b31fd3ae6d095 assets/tfmg/models/item/heavy_casing_door.json +7e5e788d5f83de60e013c09abcd61ded5fc91c21 assets/tfmg/models/item/heavy_casing_encased_aluminum_cogwheel.json +27fe97934e81ea6f62518ec818a2a2260330c5e5 assets/tfmg/models/item/heavy_casing_encased_large_aluminum_cogwheel.json +27fe97934e81ea6f62518ec818a2a2260330c5e5 assets/tfmg/models/item/heavy_casing_encased_large_steel_cogwheel.json +e6148964bbfb8b0a42f3d919d722ddcd622b7e8a assets/tfmg/models/item/heavy_casing_encased_shaft.json +7e5e788d5f83de60e013c09abcd61ded5fc91c21 assets/tfmg/models/item/heavy_casing_encased_steel_cogwheel.json +3fdff9e88db39939ee31968358eb51c060006766 assets/tfmg/models/item/heavy_machinery_casing.json +f3bea42a905b7df9395bda18f751e2ee0c023e65 assets/tfmg/models/item/heavy_oil_bucket.json +31758daf60cc0369b5e731dfbe659225cd33c218 assets/tfmg/models/item/heavy_plate.json +3b09715a0695b53ba6241e75d07c6a3bf465e0dd assets/tfmg/models/item/heavy_plated_door.json +8160c8b6d5a0959e32241465df7ff686601afe21 assets/tfmg/models/item/hot_air_bucket.json +b168a5a7d65cedb1ce1b8bbf86de91fbfc459502 assets/tfmg/models/item/hydrogen_bucket.json +e5f343da5e11ebe95d6b86c85afdc087a9b9110a assets/tfmg/models/item/industrial_aluminum_casing.json +8cb87e84c9cc76f0eb5c9e96abaa304f2812ce01 assets/tfmg/models/item/industrial_mixer.json +00abcf3aaa13509308026de0461fdba8185e54b2 assets/tfmg/models/item/industrial_pipe.json +8996fe57623ded9433d6766e80a39e41a2aba1ca assets/tfmg/models/item/kerosene_bucket.json +9c4cc87f44f7a573e1b3f6cc3b856cdd24840da6 assets/tfmg/models/item/large_aluminum_cogwheel.json +8f746632cb8c113358f64360a9e8622d1d575755 assets/tfmg/models/item/large_engine.json +7a5a9823f1845d0984c1a5e57b4bbd9fa1be7c8f assets/tfmg/models/item/large_pumpjack_hammer_connector.json +fe55c95a44b937aefc61cb1373c161a090ee2bb3 assets/tfmg/models/item/large_pumpjack_hammer_head.json +264b953fd181c69245f012d63fcd5cd26d47359d assets/tfmg/models/item/large_pumpjack_hammer_part.json +d4c3b9b01c96bbb68afa1a0902224bb4324bd923 assets/tfmg/models/item/large_steel_cogwheel.json +c0f668fca568bc4c35aba97d9ac93986720e501f assets/tfmg/models/item/layered_bauxite.json +5ba11dc0420d224a8d2d8da787f4265da42747b6 assets/tfmg/models/item/layered_galena.json +586e26f23f099b18e97822ac6853d5cc32eadbd1 assets/tfmg/models/item/lead_axe.json +6e4f6886751179eb33266fb59531964412b627f1 assets/tfmg/models/item/lead_bars.json +ee1682c21054b9a9ffde5983141d49e8177f9a2a assets/tfmg/models/item/lead_block.json +76c890e1640b6ba2e1ba8aaabb68c693096ff6c9 assets/tfmg/models/item/lead_flywheel.json +18814d929ac51cf9cca49fce10504feeccec7de8 assets/tfmg/models/item/lead_frame.json +2c85fee0718083d0ad6329b098e3e81238350b6f assets/tfmg/models/item/lead_hoe.json +9577774198ba4564927fc63cdfa2f61d19838c43 assets/tfmg/models/item/lead_ingot.json +dcfd6337f8f20602192f0ed6e8a56c91e0ef9e3f assets/tfmg/models/item/lead_ladder.json +87ebb381d4f4c5c153210181dc904d0954908476 assets/tfmg/models/item/lead_nugget.json +a534ed96ff94c7a33964ab4bf379886d888c8be6 assets/tfmg/models/item/lead_ore.json +365fe8554f2f34c56bdd0410b9a47e1a4cc8272f assets/tfmg/models/item/lead_pickaxe.json +5eb1dd094459d71ee75fc03a67fc861e06bfcd9f assets/tfmg/models/item/lead_sheet.json +f2263ea06b42ae7dcf921102079e8ea99345e576 assets/tfmg/models/item/lead_shovel.json +d6e88bede4f63e952846d09433222a4c1fd45b0e assets/tfmg/models/item/lead_sword.json +61c28b38faf8b20c8c5f6728ccf914b20263ddce assets/tfmg/models/item/lead_truss.json +f375bf679b0e38f940cad6de577d54f51fb07dea assets/tfmg/models/item/light_blue_caution_block.json +5884ec17db0b5f949c0ec0b0bc22527311cd6ca1 assets/tfmg/models/item/light_blue_concrete.json +80ca9f92eb8de4d592368d476d4deb86bf9fe482 assets/tfmg/models/item/light_blue_concrete_slab.json +e2a01972a96eb3b0ddd3b25d2209168be98cdb65 assets/tfmg/models/item/light_blue_concrete_stairs.json +bc37c001a222cbb1ec77190409fef813ce904373 assets/tfmg/models/item/light_blue_concrete_wall.json +c391410f231a0bb5cad738075ff0f5deddb222e6 assets/tfmg/models/item/light_blue_multimeter.json +3d58df784616a6685210679a71e747876a7971ff assets/tfmg/models/item/light_blue_rebar_concrete.json +80ca9f92eb8de4d592368d476d4deb86bf9fe482 assets/tfmg/models/item/light_blue_rebar_concrete_slab.json +e2a01972a96eb3b0ddd3b25d2209168be98cdb65 assets/tfmg/models/item/light_blue_rebar_concrete_stairs.json +bc37c001a222cbb1ec77190409fef813ce904373 assets/tfmg/models/item/light_blue_rebar_concrete_wall.json +ae2bd41712dc1d22088e9db84b7ed57ee34e5b8f assets/tfmg/models/item/light_bulb.json +ee1957c2bc43767a1d226a707bb9c34f003d7a7a assets/tfmg/models/item/light_gray_caution_block.json +d315da0ed974d84b4c8d984129f5607a0675d5a1 assets/tfmg/models/item/light_gray_concrete.json +1d93ab2aecf5ade2a2938ffe6655a14592f42ba9 assets/tfmg/models/item/light_gray_concrete_slab.json +158d6f00759012a727803f2b12799014f5ee500d assets/tfmg/models/item/light_gray_concrete_stairs.json +d6890e38c6fbf2e9718b7019452afa4ec7f1114e assets/tfmg/models/item/light_gray_concrete_wall.json +b8516d8fd73bcee233ceeef2e60d2d40c8ab4f87 assets/tfmg/models/item/light_gray_multimeter.json +37339880154ee17bb6edf96319e2dec0e6261c2b assets/tfmg/models/item/light_gray_rebar_concrete.json +1d93ab2aecf5ade2a2938ffe6655a14592f42ba9 assets/tfmg/models/item/light_gray_rebar_concrete_slab.json +158d6f00759012a727803f2b12799014f5ee500d assets/tfmg/models/item/light_gray_rebar_concrete_stairs.json +d6890e38c6fbf2e9718b7019452afa4ec7f1114e assets/tfmg/models/item/light_gray_rebar_concrete_wall.json +88c2905528d262cf5d2a5b1cb32e2558c71e4d07 assets/tfmg/models/item/lignite.json +edf2285530f83dc39de57ea1570003266edf79e4 assets/tfmg/models/item/limesand.json +21b004549004ebb949fa21238c452f25243a730b assets/tfmg/models/item/lime_caution_block.json +26e9a08980b9b129f818ee432cbbfa8951db3757 assets/tfmg/models/item/lime_concrete.json +fbf6df7415c0edc6e0da805c5ea41e4c01d88152 assets/tfmg/models/item/lime_concrete_slab.json +2c09af4c17c2ab0f252a87976ca74982f1a208bf assets/tfmg/models/item/lime_concrete_stairs.json +6164fba5f7b145d65f930449857d930161861568 assets/tfmg/models/item/lime_concrete_wall.json +fee714f77b71a609da2b414040f4408ad57ae8b4 assets/tfmg/models/item/lime_multimeter.json +9a2da8a4c8c6afbf04f35b60c4bab803913eaa5c assets/tfmg/models/item/lime_rebar_concrete.json +fbf6df7415c0edc6e0da805c5ea41e4c01d88152 assets/tfmg/models/item/lime_rebar_concrete_slab.json +2c09af4c17c2ab0f252a87976ca74982f1a208bf assets/tfmg/models/item/lime_rebar_concrete_stairs.json +6164fba5f7b145d65f930449857d930161861568 assets/tfmg/models/item/lime_rebar_concrete_wall.json +a88adec897a80dbb5b68bf195676013d8507a9d4 assets/tfmg/models/item/liquid_asphalt_bucket.json +46bda405310f45b8faff7d29f3e2b76b6e6d512f assets/tfmg/models/item/liquid_concrete_bucket.json +00e572c99f05cc2c991216424e0462ddc2b45cfd assets/tfmg/models/item/liquid_silicon_bucket.json +666ed796217161608d2a0877b2623f0c02353724 assets/tfmg/models/item/lithium_blade.json +78a0ce2ac0961a03b0f272d39a0db54ba288b7f0 assets/tfmg/models/item/lithium_block.json +c6bb274eb9acf0f9edf092500cbf42642b791bcf assets/tfmg/models/item/lithium_charge.json +e290c956498783b2ae10c1c88cb4cd3e4bbab720 assets/tfmg/models/item/lithium_ingot.json +7e38faa1a92de331a5d49e2d7e6a338811a5b50c assets/tfmg/models/item/lithium_nugget.json +72e46b06ebbd21421ddee7e7d949dda9631f9384 assets/tfmg/models/item/lithium_ore.json +d6b0864ce6d9cdb770228ab8a8078bea52792426 assets/tfmg/models/item/lithium_torch.json +9f8c3ba160fbec63831cebd97acda3378082a171 assets/tfmg/models/item/lit_lithium_blade.json +49d60e94f4c8b7c9fab5df766fa0d0a8cd5bab09 assets/tfmg/models/item/lpg_bucket.json +c86a836bfcf884dc13094fd908a561dd1d8f7ad8 assets/tfmg/models/item/lubrication_oil_bucket.json +e5b540df3672daceba8eac388904fa91cad98277 assets/tfmg/models/item/machine_input.json +c7de662c834061c982168bf086472b7ba5f51d6b assets/tfmg/models/item/magenta_caution_block.json +558c8fe366c7d5b00e41dfe9f9e61a267e5a7b0f assets/tfmg/models/item/magenta_concrete.json +67e495cd5350171ffe42c7fe3adb15dc97db8d32 assets/tfmg/models/item/magenta_concrete_slab.json +b30c36117a4728d08ee65a80098ecac77c08def2 assets/tfmg/models/item/magenta_concrete_stairs.json +b380ae21f3274a48806976f58647150028a8df63 assets/tfmg/models/item/magenta_concrete_wall.json +7c52fd06a4623a7587480c93c776c4c08a40e767 assets/tfmg/models/item/magenta_multimeter.json +694d332e765729795296407ea00050ca025dd98f assets/tfmg/models/item/magenta_rebar_concrete.json +67e495cd5350171ffe42c7fe3adb15dc97db8d32 assets/tfmg/models/item/magenta_rebar_concrete_slab.json +b30c36117a4728d08ee65a80098ecac77c08def2 assets/tfmg/models/item/magenta_rebar_concrete_stairs.json +b380ae21f3274a48806976f58647150028a8df63 assets/tfmg/models/item/magenta_rebar_concrete_wall.json +c9a77e80deba6a578002cd7a6996238d81ba940a assets/tfmg/models/item/magnet.json +0804086e3fa0492e698e8818e0c0aa3bda9a0756 assets/tfmg/models/item/magnetic_alloy_ingot.json +901c0865e16e327e693648dd7618eea303264b1b assets/tfmg/models/item/metal_smokestack.json +e0bfca2123069d5d66da0d2182f9af309846d060 assets/tfmg/models/item/mixer_blade.json +e4d76f7be3afc2053fcf42533c1a885f88524e60 assets/tfmg/models/item/modern_light.json +2144f625b12598ee3804479a7bc50a5d5ac544b9 assets/tfmg/models/item/molten_plastic_bucket.json +0d07f5b9f11d294bffc4b2fff1529738b6d44115 assets/tfmg/models/item/molten_slag_bucket.json +a7d576af5dd186b8abd8daefa04253efa1aa53db assets/tfmg/models/item/molten_steel_bucket.json +c699012f4df0d5cb660557aeaa3c88ef292db657 assets/tfmg/models/item/multimeter.json +820684fac09695c43456a8077fcb56af6a493032 assets/tfmg/models/item/napalm_bomb.json +b41853a4ae8b890f924058e57d274e956e6f4e37 assets/tfmg/models/item/napalm_bucket.json +9edf655bf9d93785d47b42106ab1a326d57125b4 assets/tfmg/models/item/napalm_potato.json +aa94f1afebb7c458e85849d8ddff76c27efefb80 assets/tfmg/models/item/naphtha_bucket.json +693ee4907e6e65975a4aefba6af81ccd9e6fb206 assets/tfmg/models/item/neon_bucket.json +9fc098be5e50d8a65de98bb6fc90e5f45e0ab968 assets/tfmg/models/item/neon_tube.json +6bf4a2c685296b40e5f3919518579a855cfa6e22 assets/tfmg/models/item/nickel_bars.json +43b15f990e2656ae97be24051dc98917255e960c assets/tfmg/models/item/nickel_block.json +fa02415636ae9c5f0aee76fc4e97893e2bfd123c assets/tfmg/models/item/nickel_flywheel.json +90ff94085cc6c2fcfe089a75b5db4998658f6e67 assets/tfmg/models/item/nickel_frame.json +da0eaf929cff5d363fe06b94e71261da2cd0c836 assets/tfmg/models/item/nickel_ingot.json +c085dc2a0b9266f6dacec60164ca40c1c4a0c37d assets/tfmg/models/item/nickel_ladder.json +bc39d82c88fc980bded9ea36c52570d83bb51d14 assets/tfmg/models/item/nickel_nugget.json +a236dd0e40141708cee90eb244750a19102cd997 assets/tfmg/models/item/nickel_ore.json +3628566986dbe2c0250e6e7e4bbbd7842f07ec80 assets/tfmg/models/item/nickel_sheet.json +bff11361b41be887a6a2bbe0b9d663d99f99dde1 assets/tfmg/models/item/nickel_truss.json +266bb5df7f514458dc90bf32f46efa31475ff7cc assets/tfmg/models/item/nitrate_dust.json +fba52ee3476405c3a2b8d664ea4498d91d3816a8 assets/tfmg/models/item/n_semiconductor.json +1f4399bb5fd12d755dba4901852c09d90c43debd assets/tfmg/models/item/oil_can.json +9907695c674afea00d3affefdc2ede9e68aa5667 assets/tfmg/models/item/oil_deposit.json +bf72512f5085b23f0f1d9d6100e52c75f695b2c7 assets/tfmg/models/item/oil_hammer.json +f5536a511bd45b6250b97cd31373c7503f38f527 assets/tfmg/models/item/orange_caution_block.json +3670762634f4e4b1366b6a19253453ad3667655f assets/tfmg/models/item/orange_concrete.json +c4d486b71f966ee9019ed124e1b84914386386dd assets/tfmg/models/item/orange_concrete_slab.json +640cbc33b7e2ac984e245f05618132cf51cb8469 assets/tfmg/models/item/orange_concrete_stairs.json +8b06ab68cf9c58a2071876a1e317f2b4c314a5d9 assets/tfmg/models/item/orange_concrete_wall.json +18409f5f1a61b7037503d4516eb06838aea1d8aa assets/tfmg/models/item/orange_multimeter.json +dcaaf2c2462bd36a3114120d75f215c007927e51 assets/tfmg/models/item/orange_rebar_concrete.json +c4d486b71f966ee9019ed124e1b84914386386dd assets/tfmg/models/item/orange_rebar_concrete_slab.json +640cbc33b7e2ac984e245f05618132cf51cb8469 assets/tfmg/models/item/orange_rebar_concrete_stairs.json +8b06ab68cf9c58a2071876a1e317f2b4c314a5d9 assets/tfmg/models/item/orange_rebar_concrete_wall.json +cbe0ddafc9223794aef1aa0b528469c7642f7521 assets/tfmg/models/item/pink_caution_block.json +d77e7390aaa313fbbd6bbc794f8511d862bf0249 assets/tfmg/models/item/pink_concrete.json +fd91f0efb6b57ffae2ae9062d76e3750234dd02a assets/tfmg/models/item/pink_concrete_slab.json +8163b7b6cd9c1e52e86e622b80959b55a737a8a3 assets/tfmg/models/item/pink_concrete_stairs.json +c8dbaddf0deab7fe4e420ab18138b8b8c92f4fd7 assets/tfmg/models/item/pink_concrete_wall.json +60343e0645291cdfc1367ecf007b5d175fbc8bdd assets/tfmg/models/item/pink_multimeter.json +9cb9509d3d37f8c03262c462e089118fac1660a5 assets/tfmg/models/item/pink_rebar_concrete.json +fd91f0efb6b57ffae2ae9062d76e3750234dd02a assets/tfmg/models/item/pink_rebar_concrete_slab.json +8163b7b6cd9c1e52e86e622b80959b55a737a8a3 assets/tfmg/models/item/pink_rebar_concrete_stairs.json +c8dbaddf0deab7fe4e420ab18138b8b8c92f4fd7 assets/tfmg/models/item/pink_rebar_concrete_wall.json +9d77efa451a6cb5d2417057a387048feec220b94 assets/tfmg/models/item/pipe_bomb.json +da507e2499ee84f6c096c63e3373204d9c6a1498 assets/tfmg/models/item/plastic_block.json +6afea7f62984356ea26656a1f20d3d54405085ad assets/tfmg/models/item/plastic_mechanical_pump.json +31a8db194ce46bb29459174ad791981be58ec911 assets/tfmg/models/item/plastic_pipe.json +2a257cb5dde59cee22c97c8bae24757c1469a932 assets/tfmg/models/item/plastic_sheet.json +f3088d94c732e8ad00d5527c30f895b3099ba59b assets/tfmg/models/item/plastic_smart_fluid_pipe.json +bea7da44f5c0468c580ded4bd1b12adb74ab23ca assets/tfmg/models/item/polarizer.json +b652ff21ebb628809b8756d7d62644e0d2a5adfb assets/tfmg/models/item/polished_cut_bauxite.json +489528130097d6163d032483048ac41fa9da0dff assets/tfmg/models/item/polished_cut_bauxite_slab.json +ac7c8f2f308145f0ae8108648cfb9fd0513987c6 assets/tfmg/models/item/polished_cut_bauxite_stairs.json +1dd75a9ca8cda0bb0237dee6b477d76823c15b8a assets/tfmg/models/item/polished_cut_bauxite_wall.json +61b084e2406b714d6ca61d3750dbfc3af16d6c36 assets/tfmg/models/item/polished_cut_galena.json +558f4bd16dc804a8acc1ff45f6178077beb3e957 assets/tfmg/models/item/polished_cut_galena_slab.json +1034c309af9e7aacaf19f9a37abc97f0d133d7e5 assets/tfmg/models/item/polished_cut_galena_stairs.json +778ae21d8c43b20e27bf4c589721f81792ad7bcf assets/tfmg/models/item/polished_cut_galena_wall.json +421644f6d01f0a14758da2a77e812de9d7f0a7f7 assets/tfmg/models/item/potentiometer.json +9124544e5ec0a686e933274a8c453fc0f3090c10 assets/tfmg/models/item/propane_bucket.json +0abe3e7186841d399a21f431c67e9e189307e798 assets/tfmg/models/item/propylene_bucket.json +4feccd5fbd7321db4b54e1e2d6a8e8dbe6655ac7 assets/tfmg/models/item/pumpjack_base.json +3bcbd66f8acbdafc865012eb6cc1307c4c1efa8e assets/tfmg/models/item/pumpjack_crank.json +525436f8845d575b25d299415f115b5a6e379200 assets/tfmg/models/item/pumpjack_hammer.json +7a9a63206f0638e0442d2d51523f34da60bf9e95 assets/tfmg/models/item/pumpjack_hammer_connector.json +e86c14c436fea873a7a62b13c78a5b1f3e522589 assets/tfmg/models/item/pumpjack_hammer_head.json +49a7a8ee86a01f19711b7d478fcc45db87f8c514 assets/tfmg/models/item/pumpjack_hammer_part.json +e3c7256096bda4f3fee2b01b8005f1b3d270cef2 assets/tfmg/models/item/purple_caution_block.json +3574f93a5d5c3384bf5cac99b0dafcc5b519504d assets/tfmg/models/item/purple_concrete.json +47d418d02e729bdf140398aec4a33d8063303069 assets/tfmg/models/item/purple_concrete_slab.json +fcc22d0322de977957e8353c7b9108e79fdca094 assets/tfmg/models/item/purple_concrete_stairs.json +3e797f9092ecfb4472a44c35e31c22528548930e assets/tfmg/models/item/purple_concrete_wall.json +c7077e2cdbf98c1b3b2b5d4937c4b14cc4df2337 assets/tfmg/models/item/purple_multimeter.json +97aa63f4e1d0d9cfd0e0ce903d8ca97aad711b2b assets/tfmg/models/item/purple_rebar_concrete.json +47d418d02e729bdf140398aec4a33d8063303069 assets/tfmg/models/item/purple_rebar_concrete_slab.json +fcc22d0322de977957e8353c7b9108e79fdca094 assets/tfmg/models/item/purple_rebar_concrete_stairs.json +3e797f9092ecfb4472a44c35e31c22528548930e assets/tfmg/models/item/purple_rebar_concrete_wall.json +6c3eaf18f8d57793c6378fd0c05175612ca7319a assets/tfmg/models/item/p_semiconductor.json +3cfdbac1c06b4e75416fcd24a93616d98f59d6e3 assets/tfmg/models/item/quad_potato_cannon.json +9dec64333836a8f10cba148074463f76c26c791c assets/tfmg/models/item/radial_engine.json +7b98c40428b278303a2251ff729593ef5e4047b2 assets/tfmg/models/item/raw_lead.json +beaf17bc426f3260739d710bee368a107c3df7ea assets/tfmg/models/item/raw_lead_block.json +87f214f3eeeb0b7a2ddaf504f9e02e975e078835 assets/tfmg/models/item/raw_lithium.json +1fa5b5a655f29ea8468504fa8f3faa3c4dfaaa1b assets/tfmg/models/item/raw_lithium_block.json +ba559e572a5602073bd24bd6e5810d07e5774387 assets/tfmg/models/item/raw_nickel.json +a3eede49ded9c130255768790203be049bcd8bea assets/tfmg/models/item/raw_nickel_block.json +78bf4984da7f4d6bbd51e8654a0d9185c30f22c9 assets/tfmg/models/item/rebar.json +212327f9d3eebd3f0c363d57a42d75b79a82a1f8 assets/tfmg/models/item/rebar_block.json +94dd27526967032c1ab4f94d19ad24a60a03c278 assets/tfmg/models/item/rebar_concrete.json +685e08733e5195a8714284be2eeba8f47736115e assets/tfmg/models/item/rebar_concrete_slab.json +f34c9b5f7396d6250df8956178a83f0a55c7c119 assets/tfmg/models/item/rebar_concrete_stairs.json +c52e4008b27e203473a676aefc66370efe7c0d9b assets/tfmg/models/item/rebar_concrete_wall.json +adf0555885c991649db818090086e5fdb59da69e assets/tfmg/models/item/rebar_floor.json +7a47d741cf307e761f8e15ca9f59aad994688274 assets/tfmg/models/item/rebar_pile.json +22bd69d4535cab70a9770474060fa74b81647cc2 assets/tfmg/models/item/rebar_pillar.json +fa337e9e229baf96b99b79f75acad64d29f2f117 assets/tfmg/models/item/rebar_stairs.json +6d4caf0b3efc98fa6777b30a8f50d8cc4cf66fc4 assets/tfmg/models/item/rebar_wall.json +c6dc84119d26bd41d755fe884ef9b4c59863f43a assets/tfmg/models/item/red_caution_block.json +779a4b7ec8fbe631fca0047390f817002ee85a90 assets/tfmg/models/item/red_concrete.json +246ed9eeac9898bc2e495e82f650a989797a8804 assets/tfmg/models/item/red_concrete_slab.json +9e71f4d1095e7568885c310d0710ef330eb1ac59 assets/tfmg/models/item/red_concrete_stairs.json +9d00ee9bd5bcd5464676311cabd925b175ba9686 assets/tfmg/models/item/red_concrete_wall.json +86b60ea54047cc1f1607f870dab19924712bf94e assets/tfmg/models/item/red_multimeter.json +1d57b7e9854eb27ee0320082739631e30c188e8b assets/tfmg/models/item/red_rebar_concrete.json +246ed9eeac9898bc2e495e82f650a989797a8804 assets/tfmg/models/item/red_rebar_concrete_slab.json +9e71f4d1095e7568885c310d0710ef330eb1ac59 assets/tfmg/models/item/red_rebar_concrete_stairs.json +9d00ee9bd5bcd5464676311cabd925b175ba9686 assets/tfmg/models/item/red_rebar_concrete_wall.json +6cda7b21f74a7f0bef5de2fd7bc737f873f5e1b2 assets/tfmg/models/item/regular_engine.json +6bc8d5d0cb08e499900ba2157e12663fcb8896cd assets/tfmg/models/item/resistor.json +55cc35f4efc33518b2d2a7cf5b2ea99774509a19 assets/tfmg/models/item/rotor.json +553e842af77a493bd40e3bd58e461d24fab8aa9d assets/tfmg/models/item/rubber_sheet.json +bf0ec1b90ae34ffe4d74f3fd863046954557bda9 assets/tfmg/models/item/rusted_blast_furnace_reinforcement.json +ba5f4f0ea0ca8123afe2e84f3cfaff3a1b6483e9 assets/tfmg/models/item/screw.json +d6cafabe2c6380ac0d2f2339a3861009de3ec989 assets/tfmg/models/item/screwdriver.json +f7167aad2bc7a9a9d935751b3970807ac2027099 assets/tfmg/models/item/segmented_display.json +0396d8c86ebae9110e56135527cfae238e77a97c assets/tfmg/models/item/silicon_ingot.json +10d523244d4b3790202caa512dcb342055066b9d assets/tfmg/models/item/simple_engine_cylinder.json +98a393ea7d6d47dbe7b217a8493869d3507f73a0 assets/tfmg/models/item/simple_large_engine.json +b2e39a331b47da3f4ffbf8dbd6d93506b59276e8 assets/tfmg/models/item/slag.json +f446e09495dc73fea0541b6fbcda49d541cfbb49 assets/tfmg/models/item/slag_block.json +3cdc9af3eaec0e537dc33975cc3fb6c709566420 assets/tfmg/models/item/slag_bricks.json +c00f7c5c7d05936bbe6a3069116c5adba5c60acf assets/tfmg/models/item/small_bauxite_bricks.json +f1fffad853ccb4173ba63efaf89ce0bf112915a8 assets/tfmg/models/item/small_bauxite_brick_slab.json +a1149d3ee5596f2c1038b225b0086ae1601da82c assets/tfmg/models/item/small_bauxite_brick_stairs.json +0f3f7918e41afa95cc14bc6641a7beaf36c27621 assets/tfmg/models/item/small_bauxite_brick_wall.json +4de25430d88c4f6bdb3718869a68f8414f57cd6d assets/tfmg/models/item/small_galena_bricks.json +22402163ec1e49f10d5456ef1996bf673d9e0c89 assets/tfmg/models/item/small_galena_brick_slab.json +d0b34b694286f9115eabb7abe468adfe0a44c1eb assets/tfmg/models/item/small_galena_brick_stairs.json +d473536ce83b852477d26020f112d6331bb6f00b assets/tfmg/models/item/small_galena_brick_wall.json +d279ed47a7d26313106b59b00e3398069dc7b589 assets/tfmg/models/item/spark_plug.json +e108b7a895efbe2725cd62aaa105c74938edd9f7 assets/tfmg/models/item/stator.json +548f16a724f918c43b6bb0f4f39283d6dc40cf77 assets/tfmg/models/item/steel_axe.json +5858abf66f833c30155b0a4997c70da3dbd92c79 assets/tfmg/models/item/steel_bars.json +57bf86df814741f846feb8be4a10afe633f51721 assets/tfmg/models/item/steel_block.json +e1b32b45fdcd6add28871d5a7a97eb0daea21584 assets/tfmg/models/item/steel_cable_hub.json +d34ca92f5288cbb5cecee06f046a072763b2926c assets/tfmg/models/item/steel_casing.json +752a9368d3185388ee3498d2323c29b8811dad77 assets/tfmg/models/item/steel_casing_cable_hub.json +0c2063a174fa8a175bc5bc73d4409f9ed102e918 assets/tfmg/models/item/steel_chemical_vat.json +b838d5c7034882e35405936e04a60654e255fad1 assets/tfmg/models/item/steel_cogwheel.json +ec731aefdbbbaca3a4dac8ac2d6bd2d0aa6ebef5 assets/tfmg/models/item/steel_distillation_controller.json +408b612691bf842fda6eb639e9e5a1d254709d9a assets/tfmg/models/item/steel_distillation_output.json +7f012e3d947b08beb69d28a6d47730878f2b85cf assets/tfmg/models/item/steel_door.json +993b5dd9de7805beb4accb560946e91abe58005f assets/tfmg/models/item/steel_encased_aluminum_cogwheel.json +e1d585b0f200c4431348ee035f7af440aecd3050 assets/tfmg/models/item/steel_encased_large_aluminum_cogwheel.json +e1d585b0f200c4431348ee035f7af440aecd3050 assets/tfmg/models/item/steel_encased_large_steel_cogwheel.json +b30fda78354dd47fa930bbebb108bb8b00e88caf assets/tfmg/models/item/steel_encased_shaft.json +993b5dd9de7805beb4accb560946e91abe58005f assets/tfmg/models/item/steel_encased_steel_cogwheel.json +19dcd68a6658fd8fa8466180e26cb3f6a2b2c4f1 assets/tfmg/models/item/steel_fluid_tank.json +fa25fce00275dd2abdfe47ccf041c590bf558b8c assets/tfmg/models/item/steel_flywheel.json +6a117a09e0bc3e06524357ef26793ef0bb00ba29 assets/tfmg/models/item/steel_frame.json +034f41a30f237cc38af3145403abdecc977abd13 assets/tfmg/models/item/steel_gearbox.json +0cf9a583e1220cf0ad767d46293039c4ec9383c7 assets/tfmg/models/item/steel_hoe.json +61e64ad93db0bd29dec2221633c4552f37026784 assets/tfmg/models/item/steel_ingot.json +c986ff3f4535131aa6cb406a4db89eab5cb9ba8e assets/tfmg/models/item/steel_ladder.json +4cea5b158cc0789fcdc8808250b993160bc62268 assets/tfmg/models/item/steel_mechanical_pump.json +b4915579bbf366920e542f6c8014707771dd334f assets/tfmg/models/item/steel_mechanism.json +4777c840fb4f6609bf029cde6bc94bf93af24ebd assets/tfmg/models/item/steel_nugget.json +31b5e8c00a09c8c65e633f2df8035b03fa3fd2a7 assets/tfmg/models/item/steel_pickaxe.json +4fb5ba811196a402c750a379145aa0a14471ddc3 assets/tfmg/models/item/steel_pipe.json +ee8c3438bbd74eaaa5d0423695365d2a5b1c4bb1 assets/tfmg/models/item/steel_scaffolding.json +9d7ab8a337fbf8a64b1045aefff0f5479135f360 assets/tfmg/models/item/steel_shovel.json +2badc90d08a4fd5f54c5e836ae2613b2e233f702 assets/tfmg/models/item/steel_smart_fluid_pipe.json +e633eb621e198200b73ae30a5357bf588512aeb9 assets/tfmg/models/item/steel_sword.json +959a97ed3f1cbf416b76bf96531f8702a0c2b23f assets/tfmg/models/item/steel_trapdoor.json +0bb5e8ab7b0162883ee43fee2b8869275f26adb1 assets/tfmg/models/item/steel_truss.json +68e4a947587a3aeed00a67230a0f84c009bb2ad0 assets/tfmg/models/item/steel_vertical_gearbox.json +32cf852127ea2557c3028d0be14c684286d89dd8 assets/tfmg/models/item/sulfur.json +aafdfcee7cd76b05f186e2291b3dd39f003286fb assets/tfmg/models/item/sulfuric_acid_bucket.json +bfc09955fa8b4b02ba2145ccf4b68dcb4d72e775 assets/tfmg/models/item/sulfur_dust.json +e2fb504cbb8808de330d4ea87030f0d089921e23 assets/tfmg/models/item/surface_scanner.json +4074d5f3004972a4caeb054129a2a415ad20ed89 assets/tfmg/models/item/synthetic_leather.json +5f0ee848bf0cb4b1f7dee26a9555c6ca8ce2cd31 assets/tfmg/models/item/synthetic_string.json +72da5f91f1992b502e90c8fc84d654e075163eb7 assets/tfmg/models/item/thermite_grenade.json +31ca5e14f8583f2e73a3aeea14e129026ec79974 assets/tfmg/models/item/thermite_powder.json +dc7cec557984ae6aeaa1cb4136acc12e95123f9c assets/tfmg/models/item/traffic_light.json +ceca2b38bca3eca6e17419064b782ad745dd229b assets/tfmg/models/item/transformer.json +cd6944ca5fe85883cdc520778f9b2ecf4830c2de assets/tfmg/models/item/transistor_item.json +ef555cf9bc5e1028584a71a58758718cb4bfe463 assets/tfmg/models/item/transmission.json +7bffba77b51ec27a99bd5a20f62c23315c31fe13 assets/tfmg/models/item/turbine_blade.json +513398ed9f251ca092e818a3f9279641096687e7 assets/tfmg/models/item/turbine_engine.json +f56b4e352ffdd38cf71b10c4e2789eade1949e27 assets/tfmg/models/item/turbo.json +a11cee5b22052675790c9115cf615b3a2beeee01 assets/tfmg/models/item/unfinished_capacitor.json +a9cc68e1b57cff560ad2b8ce68caba6d48291acf assets/tfmg/models/item/unfinished_circuit_board.json +ce1c112f8068e82082834562d661e7d94bf2a262 assets/tfmg/models/item/unfinished_electric_motor.json +7968d43750fcdc48219320458967f7880a7563da assets/tfmg/models/item/unfinished_electromagnetic_coil.json +d4562d6022360cefd8fe93fc7257a89aa9caa5df assets/tfmg/models/item/unfinished_generator.json +e1315ad9ba1bb749c3c746bb4dd1f1333293fc9e assets/tfmg/models/item/unfinished_insulator.json +f268aff3ae208a366d98b816356594de497507dd assets/tfmg/models/item/unfinished_potentiometer.json +83751c3e8ecd4157c95d286451222978ecb9d62c assets/tfmg/models/item/unfinished_resistor.json +108b74837387c74cbcfe24bdd4dc0cb5c0ee2b93 assets/tfmg/models/item/unfinished_steel_mechanism.json +4bbea3b514f7799fa37718ae2371c8ef20486e0a assets/tfmg/models/item/unfinished_transistor.json +43eac4a385f1b4d6b5637218e1601f0eafbfa85c assets/tfmg/models/item/unfired_insulator.json +5a772b5ff15b50bbfb3c8ff5c67d499aae4082d2 assets/tfmg/models/item/unprocessed_heavy_plate.json +0374bdc855791f3d90600a025a46f56a4fbfc324 assets/tfmg/models/item/voltage_observer.json +0ae8adf5d09cd1ced828eae47298be7a77e52bc1 assets/tfmg/models/item/voltmeter.json +abc7aeba84770fef277f2892536738c7af407d9f assets/tfmg/models/item/white_caution_block.json +3364d43896991c64fd99480fdb7f5f9af1ab17a2 assets/tfmg/models/item/white_concrete.json +eed7ac8dbb27b6af5ca4037db1e2b4949ea7c16a assets/tfmg/models/item/white_concrete_slab.json +4e02717d5f18da45095a831b81e55335f686ab31 assets/tfmg/models/item/white_concrete_stairs.json +2d071678053e2c64df26025232ee54634fbbb16c assets/tfmg/models/item/white_concrete_wall.json +766e0dc44effbda00d900bf5b9a4f4cb32b453db assets/tfmg/models/item/white_multimeter.json +11ffde3589430be056441e97449f607898c97b40 assets/tfmg/models/item/white_rebar_concrete.json +eed7ac8dbb27b6af5ca4037db1e2b4949ea7c16a assets/tfmg/models/item/white_rebar_concrete_slab.json +4e02717d5f18da45095a831b81e55335f686ab31 assets/tfmg/models/item/white_rebar_concrete_stairs.json +2d071678053e2c64df26025232ee54634fbbb16c assets/tfmg/models/item/white_rebar_concrete_wall.json +5e988c155dcd8836bacf6e9d683ac6418c66482b assets/tfmg/models/item/winding_machine.json +8996962c58bcedeb25fdb2de8eddc6e4aee502b6 assets/tfmg/models/item/yellow_caution_block.json +b109faa224eec911c1ee74044ae3a4f2eb357124 assets/tfmg/models/item/yellow_concrete.json +ece959a56af46e02f993c12fe921dc1660019686 assets/tfmg/models/item/yellow_concrete_slab.json +40b923b4bf305d225a3e9bd18e757159d97963b5 assets/tfmg/models/item/yellow_concrete_stairs.json +78c30e30b8cd20f404ead48c4e99a56dee2de5fd assets/tfmg/models/item/yellow_concrete_wall.json +b745268074c22381eec9db266f918b8d6d05c99a assets/tfmg/models/item/yellow_multimeter.json +faf83319a446101f99714689aceea00ff770e918 assets/tfmg/models/item/yellow_rebar_concrete.json +ece959a56af46e02f993c12fe921dc1660019686 assets/tfmg/models/item/yellow_rebar_concrete_slab.json +40b923b4bf305d225a3e9bd18e757159d97963b5 assets/tfmg/models/item/yellow_rebar_concrete_stairs.json +78c30e30b8cd20f404ead48c4e99a56dee2de5fd assets/tfmg/models/item/yellow_rebar_concrete_wall.json +712257ed5b09656e8fd275a20107129087bdac06 assets/tfmg/models/item/zinc_electrode.json +1d674e02bbdd59621e64b2519437ae95b7b62391 assets/tfmg/models/item/zinc_frame.json +f189171410564631c6074593da126b8d13fe9f8b assets/tfmg/models/item/zinc_grenade.json +96ca77a24090ca3617ea07b4fc40582209af3825 assets/tfmg/models/item/zinc_truss.json +12ccc31f8e00edef9ceb5c3f23af8a4a2897b853 data/create/tags/block/casing.json +f89b8482c9709a46bb2161a70330596c2a723657 data/create/tags/block/fan_transparent.json +7f2ce9c0c2595d78a2230a5e478bd1ece53f63d1 data/create/tags/block/non_movable.json +92db31919c2410ef20a6a586eac2f4a9f231bf63 data/create/tags/block/safe_nbt.json +4c51fc6154c49a68dc342c5e0e001073f8942e3e data/create/tags/block/wrench_pickup.json +12ccc31f8e00edef9ceb5c3f23af8a4a2897b853 data/create/tags/item/casing.json +733eedc50a1e81b450633c52efdedf016d0af5fa data/create/tags/item/contraption_controlled.json +dd1f4f2989edaecd2273411a846f47d0fbc69fbc data/create/tags/item/create_ingots.json +c4cd22d062b4e5471e0ff25690ba3a07f253e6ec data/c/tags/block/concrete.json +d2665ad28704027f558ced594fdf4566a9900a0d data/c/tags/block/ores.json +0dee12a43ee8f732dcbbde658c237412715306cd data/c/tags/block/ores/lead.json +d24579a31b2842ed918f938ad204e91ab405cc32 data/c/tags/block/ores/lithium.json +4a4923c9c00653a98fb9b247ee5ac9191d7c2ede data/c/tags/block/ores/nickel.json +94ba62223301585f0de8d7bee24c39cce84f6ae8 data/c/tags/block/ores_in_ground/deepslate.json +eefda4e96e7bc3a3c3c130eb5593a811b50255ce data/c/tags/block/ores_in_ground/stone.json +a2029f4d5ac94eb5514d525fa8296d78e65d338f data/c/tags/block/storage_blocks.json +5f36040d029001793eb338e1a8c5d95b9abcc9b3 data/c/tags/block/storage_blocks/aluminum.json +7c5615c56bb169570a061f052ebb1f5115760c16 data/c/tags/block/storage_blocks/cast_iron.json +7a845319af298c75773bf83634b350380b69d373 data/c/tags/block/storage_blocks/coal_coke.json +b9900e5c7523b9c0a71b5695576d1d9923ea7625 data/c/tags/block/storage_blocks/constantan.json +d26621b9617890011a68780cf7ab40fbb4658edc data/c/tags/block/storage_blocks/lead.json +d90a1f9c03f64fad5c3248d46176b6332004b78d data/c/tags/block/storage_blocks/lithium.json +87e39c96c409f7e862d71e20bcf8a96d5936f2f9 data/c/tags/block/storage_blocks/nickel.json +5d9ffd0da6bdb068c0aa92a6919a722339b5a039 data/c/tags/block/storage_blocks/plastic.json +23308e52c71940a45a2ec590c5ca89966e115451 data/c/tags/block/storage_blocks/raw_lead.json +c06711f911c6e48111c6441978c6185cc1ef8641 data/c/tags/block/storage_blocks/raw_lithium.json +a1f3c8498ccc83ea4a9015e4214c596753f58a81 data/c/tags/block/storage_blocks/raw_nickel.json +37b1c9c3ae722d8110db48015993ede3e194c0a0 data/c/tags/block/storage_blocks/steel.json +0dbeb4d509a69bb10f685895e56386abbfdc9571 data/c/tags/fluid/air.json +c180be2f5133e6e078968569d4cd06350c19cc0c data/c/tags/fluid/cooling_fluid.json +98d0545decb38ccb6b4da967c598af78bac888ea data/c/tags/fluid/creosote.json +d0e3e4382c78a56c7e341aa2009c6e3c8cf75cb4 data/c/tags/fluid/crude_oil.json +71db87b21ddeb2537e4f4b83479106d3827c14e5 data/c/tags/fluid/diesel.json +983b6f3bc3274aac8e6da8564192d04edafdcc87 data/c/tags/fluid/fuel.json +a199be216c3e67c6b874b71c4d577a6942cfe884 data/c/tags/fluid/furnace_gas.json +01926303c50719ac274cd63eb7297bd59271a056 data/c/tags/fluid/gasoline.json +5dd542885e85fba3798b2b01d1a1b9b0a6388701 data/c/tags/fluid/heavy_oil.json +2ed9c924fe33eac4bb37bdb8f05c37aa982f36dd data/c/tags/fluid/kerosene.json +952e56f0890ff94599fc645aa477803c3487b6ef data/c/tags/fluid/lpg.json +ff655d555cc50377eaba1b26a56f74fc774ce61b data/c/tags/fluid/lubrication_oil.json +c848bf475de8d0982e3f73321e4afb810c2038cf data/c/tags/fluid/molten_steel.json +52e8aadfad4ff6d5682390367fbe3b6110d7272f data/c/tags/fluid/naphtha.json +58f6a9b975a914f32676eaff475e5481e7273f61 data/c/tags/item/buckets/air.json +cfbc5454221701aaef17ff1fcf201028eb75c051 data/c/tags/item/buckets/butane.json +b6a7a18507e76e2f2ce320b73433adda408bd787 data/c/tags/item/buckets/carbon_dioxide.json +31e41d50c85d4637a68e9b240605bb39c47d016c data/c/tags/item/buckets/cooling_fluid.json +ad304cdb12762632aacd67b6031115194cbc3553 data/c/tags/item/buckets/creosote.json +3c34ec9c0746b3715921c81364d0de046d5f4991 data/c/tags/item/buckets/crude_oil.json +72ff73d6648b7d6c8a20c50b611805e4e026ea91 data/c/tags/item/buckets/diesel.json +f2506fe0df01dabb765200e6ec944fbb1dc33e1d data/c/tags/item/buckets/ethylene.json +6b2ca84a62117abd493a0f438a7ef8104fde212b data/c/tags/item/buckets/furnace_gas.json +db62bb3dc10e7c3642d2b49ff7ce03825ffe9325 data/c/tags/item/buckets/gasoline.json +67807434bda7509c5be5d021368cc68e57be02d4 data/c/tags/item/buckets/heavy_oil.json +bec8cc532529cddd98ddb498632efd782e9386cc data/c/tags/item/buckets/hot_air.json +b46a3c9b785004adba4a2513740c512c228af847 data/c/tags/item/buckets/hydrogen.json +fe799186308cfd70f041f1dcf56129a0ccbaf219 data/c/tags/item/buckets/kerosene.json +5346de86d444b4e0b18a097f565d5779bc6b184b data/c/tags/item/buckets/liquid_asphalt.json +7640ab3943d40ef5d7254677971c64f8b8971f3a data/c/tags/item/buckets/liquid_concrete.json +1adc4ae835bf207f797c701dee66edfb81552e82 data/c/tags/item/buckets/liquid_silicon.json +9b337d583ed62c1726747431175808edd4734f3c data/c/tags/item/buckets/lpg.json +ba4ad273ee1dbad67aa6524964f3a4ee7a92c69f data/c/tags/item/buckets/lubrication_oil.json +501d8aba859b805addd745276a27980f17188a85 data/c/tags/item/buckets/molten_plastic.json +f47a7e3accdfb1d5f8209a9b8fc3d1594d288b47 data/c/tags/item/buckets/molten_slag.json +64e0c354fef911262db2521c91084355a61e8eaa data/c/tags/item/buckets/molten_steel.json +a779b7e09e7de79b73efb212644edff6739da610 data/c/tags/item/buckets/napalm.json +fdf3b8fdf1975b0eee671f428803caa4e17dc5bd data/c/tags/item/buckets/naphtha.json +429b811c48c96119f546c9520f24b666843d6456 data/c/tags/item/buckets/neon.json +71f2f6d389d517b1ef5ab5c55594806a93c1791a data/c/tags/item/buckets/propane.json +791b0c269e39301f39ca49195d9b0b64aa38675e data/c/tags/item/buckets/propylene.json +7ea46c564e02bfa27b4e5847d7379a06633646f3 data/c/tags/item/buckets/sulfuric_acid.json +c4cd22d062b4e5471e0ff25690ba3a07f253e6ec data/c/tags/item/concrete.json +f1cc6d710a5e49ab33dbaceea796f0c0b589c82b data/c/tags/item/dusts/coal_coke.json +1680fbeada809052df4b6b3669545f26f910b801 data/c/tags/item/dusts/sulfur.json +70e609465aa949ff4acc873fb19d4afc07f79aa1 data/c/tags/item/ingots/aluminum.json +2da28c9441f79389929080f6f31da841bbee19e7 data/c/tags/item/ingots/cast_iron.json +fb19e0080a429f94e31248c2644063e766decc6d data/c/tags/item/ingots/constantan.json +6746e7b0c2ed4053e7b438c3e99e86889fa9d454 data/c/tags/item/ingots/lead.json +109bd25c986f7ed20e924cf761f5e0ed409168fc data/c/tags/item/ingots/lithium.json +c7028fbc6c441f77e4cb1eb94c0842611cabd780 data/c/tags/item/ingots/nickel.json +ff4c520db3f2bb2b7f0e145e546447a67217f54a data/c/tags/item/ingots/plastic.json +8868e3106eee8f82c44dde0e7191fa7be9bdacba data/c/tags/item/ingots/rubber.json +5ebaae9aae4f5ee54b9fccd128d202e3b33169f7 data/c/tags/item/ingots/silicon.json +db02fa414c4049eef32e5270451417518bbcec4b data/c/tags/item/ingots/steel.json +6e765d685d327ab489f10f39e883f3feac27824e data/c/tags/item/leather.json +6e765d685d327ab489f10f39e883f3feac27824e data/c/tags/item/leathers.json +bce1eb237b24177298631df74e156c2513de2b2c data/c/tags/item/nuggets/aluminum.json +7937b3b14b13d836a619d425918d3b4594ff53f2 data/c/tags/item/nuggets/cast_iron.json +175588458a9cf48c7ced4318ba2ac90421009d52 data/c/tags/item/nuggets/constantan.json +f660b13870194e09dc45bded8c4467a1c0d3dd6d data/c/tags/item/nuggets/lead.json +2ae04713e17be3531ab8abd44062b75d0dafa1c6 data/c/tags/item/nuggets/lithium.json +06d7f25e44cdcdfe32cb1a15367273664761d612 data/c/tags/item/nuggets/nickel.json +e8369d49c091559602f21dfd515cf01c7aab7777 data/c/tags/item/nuggets/steel.json +d2665ad28704027f558ced594fdf4566a9900a0d data/c/tags/item/ores.json +0dee12a43ee8f732dcbbde658c237412715306cd data/c/tags/item/ores/lead.json +d24579a31b2842ed918f938ad204e91ab405cc32 data/c/tags/item/ores/lithium.json +4a4923c9c00653a98fb9b247ee5ac9191d7c2ede data/c/tags/item/ores/nickel.json +94ba62223301585f0de8d7bee24c39cce84f6ae8 data/c/tags/item/ores_in_ground/deepslate.json +eefda4e96e7bc3a3c3c130eb5593a811b50255ce data/c/tags/item/ores_in_ground/stone.json +94e25db7b89d3a7c6bd16051ab827e7d252d5dae data/c/tags/item/plates/aluminum.json +c925bfceef2c034d86c923d427bb12318bec9d57 data/c/tags/item/plates/cast_iron.json +069748d745ddccbfefe61a406abd80da061216fa data/c/tags/item/plates/lead.json +68d192ebd031c3d50f346427716671944ca17fc6 data/c/tags/item/plates/nickel.json +bcd97e4d08daef6f60e6e0239222009540dac177 data/c/tags/item/plates/steel.json +6b11b654451f4c8b7fdc47a88ab873cd5da03fa2 data/c/tags/item/raw_materials.json +3f7807c4bc7aece02066f3dc5e0f436a0d5fa078 data/c/tags/item/raw_materials/lead.json +808564cbcb70936b3da0a2a1bfa063752a0688d3 data/c/tags/item/raw_materials/lithium.json +88f3d6f99c74dabb2491637c6b2ba766a1f662f1 data/c/tags/item/raw_materials/nickel.json +9e63c1b017f9b54bb1e81f6c34cc8ac4cb810ac1 data/c/tags/item/rods/steel.json +a2029f4d5ac94eb5514d525fa8296d78e65d338f data/c/tags/item/storage_blocks.json +5f36040d029001793eb338e1a8c5d95b9abcc9b3 data/c/tags/item/storage_blocks/aluminum.json +7c5615c56bb169570a061f052ebb1f5115760c16 data/c/tags/item/storage_blocks/cast_iron.json +7a845319af298c75773bf83634b350380b69d373 data/c/tags/item/storage_blocks/coal_coke.json +b9900e5c7523b9c0a71b5695576d1d9923ea7625 data/c/tags/item/storage_blocks/constantan.json +d26621b9617890011a68780cf7ab40fbb4658edc data/c/tags/item/storage_blocks/lead.json +d90a1f9c03f64fad5c3248d46176b6332004b78d data/c/tags/item/storage_blocks/lithium.json +87e39c96c409f7e862d71e20bcf8a96d5936f2f9 data/c/tags/item/storage_blocks/nickel.json +5d9ffd0da6bdb068c0aa92a6919a722339b5a039 data/c/tags/item/storage_blocks/plastic.json +23308e52c71940a45a2ec590c5ca89966e115451 data/c/tags/item/storage_blocks/raw_lead.json +c06711f911c6e48111c6441978c6185cc1ef8641 data/c/tags/item/storage_blocks/raw_lithium.json +a1f3c8498ccc83ea4a9015e4214c596753f58a81 data/c/tags/item/storage_blocks/raw_nickel.json +37b1c9c3ae722d8110db48015993ede3e194c0a0 data/c/tags/item/storage_blocks/steel.json +d030bcdb3da4c37703a22037cc3a26830c7a9498 data/c/tags/item/string.json +d030bcdb3da4c37703a22037cc3a26830c7a9498 data/c/tags/item/strings.json +ffb77323df69802d55e95d7fc30a45b3fbca8db8 data/c/tags/item/wires/aluminum.json +ccae2d221dc320981c331f4b8e07fe159176557a data/c/tags/item/wires/constantan.json +863e668119b306cf119cb6a7a62a2d1e12bee1ff data/c/tags/item/wires/copper.json +543dbb3bba839c96d454f6e26e7e97ce5ae9dc4e data/minecraft/tags/block/azalea_root_replaceable.json +0b452fe131e1fd26fe896792aa41e5cd8fe16acf data/minecraft/tags/block/beacon_base_blocks.json +09572a447cc241e5ffb07bf81ce31d38685a64b6 data/minecraft/tags/block/climbable.json +733eedc50a1e81b450633c52efdedf016d0af5fa data/minecraft/tags/block/doors.json +7f2ce9c0c2595d78a2230a5e478bd1ece53f63d1 data/minecraft/tags/block/dragon_immune.json +543dbb3bba839c96d454f6e26e7e97ce5ae9dc4e data/minecraft/tags/block/dripstone_replaceable_blocks.json +7f2ce9c0c2595d78a2230a5e478bd1ece53f63d1 data/minecraft/tags/block/features_cannot_replace.json +7f2ce9c0c2595d78a2230a5e478bd1ece53f63d1 data/minecraft/tags/block/infiniburn_overworld.json +543dbb3bba839c96d454f6e26e7e97ce5ae9dc4e data/minecraft/tags/block/lush_ground_replaceable.json +ce9859e451c5416d7b62258a3f2f2486739b19cc data/minecraft/tags/block/mineable/axe.json +562c65919fafef25a588ef077c51de4113da06c6 data/minecraft/tags/block/mineable/pickaxe.json +9c7d1d075d20521106a7076ae12804d8e2ac6764 data/minecraft/tags/block/mineable/shovel.json +543dbb3bba839c96d454f6e26e7e97ce5ae9dc4e data/minecraft/tags/block/moss_replaceable.json +dfca9f1cc79d30334f344f024c13a7c717bf4027 data/minecraft/tags/block/needs_iron_tool.json +59381ef60e906987a1de4baa6353d0a35e590182 data/minecraft/tags/block/needs_stone_tool.json +ceb2c85935fdf6441581cb0989515981abd70d76 data/minecraft/tags/block/slabs.json +02c5d29c3149a973f70eb4b29a63c4ccc8a87d51 data/minecraft/tags/block/stairs.json +d75ac2fd181405edb6efaffcf2f659e1a64ae69a data/minecraft/tags/block/trapdoors.json +0cf0e743e52b00fd740a91b847fa55511e9dcf3e data/minecraft/tags/block/walls.json +7f2ce9c0c2595d78a2230a5e478bd1ece53f63d1 data/minecraft/tags/block/wither_immune.json +733eedc50a1e81b450633c52efdedf016d0af5fa data/minecraft/tags/block/wooden_doors.json +733eedc50a1e81b450633c52efdedf016d0af5fa data/minecraft/tags/item/doors.json +9480fc3484245c6bda20447787a84a65740bfa78 data/minecraft/tags/item/slabs.json +6d79cd77a7fe348b9f0bc829b70486aec245c70f data/minecraft/tags/item/stairs.json +d75ac2fd181405edb6efaffcf2f659e1a64ae69a data/minecraft/tags/item/trapdoors.json +39578c3e522d04fdec3a94af42d633793b49c68e data/minecraft/tags/item/walls.json +733eedc50a1e81b450633c52efdedf016d0af5fa data/quark/tags/block/non_double_door.json +92e1fa9bfef57bd93d9607099a896ffb9be3f652 data/tfmg/advancement/recipes/building_blocks/aluminum_wire_from_ingots_aluminum_stonecutting.json +a870b7351d6b685b4aa9345fd5ad6ebab96ef9de data/tfmg/advancement/recipes/building_blocks/asphalt_slab_from_asphalt_stonecutting.json +ce932af5df89aff94feefccd4ceb8144d423c811 data/tfmg/advancement/recipes/building_blocks/asphalt_stairs_from_asphalt_stonecutting.json +7e758bb82d9a5d746fab1bec358bcee576cebaea data/tfmg/advancement/recipes/building_blocks/asphalt_wall_from_asphalt_stonecutting.json +221d0de110e07e4401700701ce4bcbbb8130dc1e data/tfmg/advancement/recipes/building_blocks/bauxite_from_stone_types_bauxite_stonecutting.json +ba50221512595d7ffd423a8eff05dbc643faec13 data/tfmg/advancement/recipes/building_blocks/bauxite_pillar_from_stone_types_bauxite_stonecutting.json +bf43da5611037bf19cbf96e2093c298ffcabf998 data/tfmg/advancement/recipes/building_blocks/black_concrete_slab_from_black_concrete_stonecutting.json +c4935cd28c5b68723e9d1cab2edc7f5f2f2fc509 data/tfmg/advancement/recipes/building_blocks/black_concrete_stairs_from_black_concrete_stonecutting.json +972145c336da41fb4815f36a65312adb061e8c96 data/tfmg/advancement/recipes/building_blocks/black_concrete_wall_from_black_concrete_stonecutting.json +e99a4d575bb73d2dbc3b370d4529b12567ddc904 data/tfmg/advancement/recipes/building_blocks/black_rebar_concrete_slab_from_black_rebar_concrete_stonecutting.json +c2e5c7e02967ae34dbd223e1aea4104674599c2e data/tfmg/advancement/recipes/building_blocks/black_rebar_concrete_stairs_from_black_rebar_concrete_stonecutting.json +4b0a2f6731d35e07f1fda1a1517c5c7d3d79b37d data/tfmg/advancement/recipes/building_blocks/black_rebar_concrete_wall_from_black_rebar_concrete_stonecutting.json +4aadfa652afd3ab9f7e9b0f124620b23c150fbe6 data/tfmg/advancement/recipes/building_blocks/blue_caution_block_from_ingots_aluminum_stonecutting.json +6c218f5c55365c89268d33b16adc54ab3da22579 data/tfmg/advancement/recipes/building_blocks/blue_concrete_slab_from_blue_concrete_stonecutting.json +04aadc9171491d31175ab6243fbbe6cf274cde47 data/tfmg/advancement/recipes/building_blocks/blue_concrete_stairs_from_blue_concrete_stonecutting.json +735297a91ea24f8060f8f7ebaeffaee9d20c64b2 data/tfmg/advancement/recipes/building_blocks/blue_concrete_wall_from_blue_concrete_stonecutting.json +f7ece7ab7e05b5c2d95e547f1568b480df2d056b data/tfmg/advancement/recipes/building_blocks/blue_rebar_concrete_slab_from_blue_rebar_concrete_stonecutting.json +1d77bbd1db00d5c6b15387fbb67655af565352f1 data/tfmg/advancement/recipes/building_blocks/blue_rebar_concrete_stairs_from_blue_rebar_concrete_stonecutting.json +64929d0c43b4d8f498712976d458ec4229526b0e data/tfmg/advancement/recipes/building_blocks/blue_rebar_concrete_wall_from_blue_rebar_concrete_stonecutting.json +88f8ab8721c7228e813d9e08d01f37b9ae1dcd57 data/tfmg/advancement/recipes/building_blocks/brown_caution_block_from_ingots_aluminum_stonecutting.json +abcff42500fa0a19c78d3fb1bc920a328336be82 data/tfmg/advancement/recipes/building_blocks/brown_concrete_slab_from_brown_concrete_stonecutting.json +04a00c5a3e47837ccb47f9c1e12b23cf51fb7277 data/tfmg/advancement/recipes/building_blocks/brown_concrete_stairs_from_brown_concrete_stonecutting.json +b8d8a271b3d09bf18413f8c55484eb17678c7064 data/tfmg/advancement/recipes/building_blocks/brown_concrete_wall_from_brown_concrete_stonecutting.json +9b4cc373d434ad072ff3550828b5a1b47dfbf0dd data/tfmg/advancement/recipes/building_blocks/brown_rebar_concrete_slab_from_brown_rebar_concrete_stonecutting.json +d8d14f59eca885d8b3f87f00c5c04261e28a494b data/tfmg/advancement/recipes/building_blocks/brown_rebar_concrete_stairs_from_brown_rebar_concrete_stonecutting.json +a9e60b6cbc478c6f43b1c9e7cdb4c2b323568ad6 data/tfmg/advancement/recipes/building_blocks/brown_rebar_concrete_wall_from_brown_rebar_concrete_stonecutting.json +27de9d7fb59e808ce47aecbb7441e34f334732ad data/tfmg/advancement/recipes/building_blocks/cinderblock_from_concrete_stonecutting.json +7dbbca25f992b71f7e1d0bc886a90358bd773a72 data/tfmg/advancement/recipes/building_blocks/concrete_slab_from_concrete_stonecutting.json +717f06563a75699f4fbb7c89df1ba51aeb17418b data/tfmg/advancement/recipes/building_blocks/concrete_stairs_from_concrete_stonecutting.json +1aaf83327a34b8058b5a2677322cdac5965b6650 data/tfmg/advancement/recipes/building_blocks/concrete_wall_from_concrete_stonecutting.json +6bd540ff1774659e436b14b6d07d2fdfaa6c26fb data/tfmg/advancement/recipes/building_blocks/constantan_wire_from_ingots_constantan_stonecutting.json +4fe6c714c6087cef697136b70a8303b82a0885a0 data/tfmg/advancement/recipes/building_blocks/copper_electrode_from_storage_blocks_copper_stonecutting.json +4bf2c6de601363c8a43d3bc87adf75a44550c791 data/tfmg/advancement/recipes/building_blocks/copper_wire_from_ingots_copper_stonecutting.json +ea1ee6522495c58db8ea100287f10c20d5b57301 data/tfmg/advancement/recipes/building_blocks/cut_bauxite_bricks_from_stone_types_bauxite_stonecutting.json +6185842c8fd7e75bc036b31d56afdfaabe308749 data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_slab.json +17f0b556facdad9ea598dce5db6d8eb1fb7acd41 data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json +5109032d8971e41a785367207ff5fe9f4bc82f1a data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_slab_recycling.json +5b6c080268d553ca4f337305a7547557b55ca098 data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_stairs.json +d3e77b5744eb0bb500409670e28276c239a8a92e data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json +76178a2e0f9d6bdb41b4897e9d96472ae95884bb data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_wall.json +df381db4a0be7cd2a17fcadd7a95baf2a0ec5ca0 data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_wall_from_stone_types_bauxite_stonecutting.json +605b1a33f421eaf3a02bd9511feb8b12a33df725 data/tfmg/advancement/recipes/building_blocks/cut_bauxite_from_stone_types_bauxite_stonecutting.json +7bfabd4c2889926071ad4c29a93f932f1da3be4b data/tfmg/advancement/recipes/building_blocks/cut_bauxite_slab.json +dd7d77a27df51f8726b29a2c8d850d0b456d5fd5 data/tfmg/advancement/recipes/building_blocks/cut_bauxite_slab_from_stone_types_bauxite_stonecutting.json +06693125c4d6b4a00e9b150fb7a222ec766969aa data/tfmg/advancement/recipes/building_blocks/cut_bauxite_slab_recycling.json +15bd9c7060c8fbd23e24cfb3af8f4246d760bb30 data/tfmg/advancement/recipes/building_blocks/cut_bauxite_stairs.json +a60ef5bd745b9c82b0d94150b4107b5f2755eec5 data/tfmg/advancement/recipes/building_blocks/cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json +90e4132b637f531c7821bffe2d15f02828f73f65 data/tfmg/advancement/recipes/building_blocks/cut_bauxite_wall.json +01cb0ff2bc77ff95de68ef3436a4ff1a04510d49 data/tfmg/advancement/recipes/building_blocks/cut_bauxite_wall_from_stone_types_bauxite_stonecutting.json +2237de1d0ed7f1c8321447a0008037d8119c4264 data/tfmg/advancement/recipes/building_blocks/cut_galena_bricks_from_stone_types_galena_stonecutting.json +921b10bcdb23a13fa0ad571a39cc5e39c21bd972 data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_slab.json +12c5f645adbc93061652d547f7c4f08d410c147e data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_slab_from_stone_types_galena_stonecutting.json +aedee68d33e72a0dd8c44bd5f44f03bf70abd117 data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_slab_recycling.json +233410f0feb1868c8c71111caff2a45fa0dfda08 data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_stairs.json +dc025eadb15d59ba7d4f51dca5ce996c6899a18e data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_stairs_from_stone_types_galena_stonecutting.json +0a9b7aa6e98619155d8cfc4f05ff78ae28e2e379 data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_wall.json +f6079da752de2faad3a43c3321c446ed15ab7a7c data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_wall_from_stone_types_galena_stonecutting.json +47c4dd0d1c352696bc46f683b14f8b190a1533cb data/tfmg/advancement/recipes/building_blocks/cut_galena_from_stone_types_galena_stonecutting.json +87818f08255103b88a8061e4399b50eec37e6d99 data/tfmg/advancement/recipes/building_blocks/cut_galena_slab.json +49c76c67c4f350372ceb6729a240631289c7253d data/tfmg/advancement/recipes/building_blocks/cut_galena_slab_from_stone_types_galena_stonecutting.json +5aeaa54f7ff26ad46f2af86568e8cebb43fcefd5 data/tfmg/advancement/recipes/building_blocks/cut_galena_slab_recycling.json +9e6788831209e4ecd256713089907918ec045c73 data/tfmg/advancement/recipes/building_blocks/cut_galena_stairs.json +94677f95041a5e912e4eedabeec9c64d910f4c51 data/tfmg/advancement/recipes/building_blocks/cut_galena_stairs_from_stone_types_galena_stonecutting.json +199635aa290ba10f39eeadb0359c4d634c80ce34 data/tfmg/advancement/recipes/building_blocks/cut_galena_wall.json +670532ccc00fe21993a213db4a1ddb8d1557d991 data/tfmg/advancement/recipes/building_blocks/cut_galena_wall_from_stone_types_galena_stonecutting.json +357855c83cb557a95a44311ce59032cadd273d94 data/tfmg/advancement/recipes/building_blocks/cyan_caution_block_from_ingots_aluminum_stonecutting.json +237bec5dcf4d009f7d456453cfefc0b9421e2a47 data/tfmg/advancement/recipes/building_blocks/cyan_concrete_slab_from_cyan_concrete_stonecutting.json +e8e8ea56c482ee9b831ad8b844810debf57064b7 data/tfmg/advancement/recipes/building_blocks/cyan_concrete_stairs_from_cyan_concrete_stonecutting.json +cb849004979508c1d42de2309346f8f577398f1c data/tfmg/advancement/recipes/building_blocks/cyan_concrete_wall_from_cyan_concrete_stonecutting.json +86832c46932eff4a29fd4bf116b26d957c6f6133 data/tfmg/advancement/recipes/building_blocks/cyan_rebar_concrete_slab_from_cyan_rebar_concrete_stonecutting.json +95409d5ae8bced0c3d3c9254448430e909b6ad81 data/tfmg/advancement/recipes/building_blocks/cyan_rebar_concrete_stairs_from_cyan_rebar_concrete_stonecutting.json +7cb88c9cb338cccb88ea72a2363c8f9e9e89b9df data/tfmg/advancement/recipes/building_blocks/cyan_rebar_concrete_wall_from_cyan_rebar_concrete_stonecutting.json +24f5c325bbda4ca3221da62e7e8918c33eee5211 data/tfmg/advancement/recipes/building_blocks/empty_spool_from_hardened_planks_stonecutting.json +fc585a10f73eb5af2329594647eaa00f5aa007be data/tfmg/advancement/recipes/building_blocks/factory_floor_from_ingots_aluminum_stonecutting.json +2662f870c9d20da2548eed7bbecc71b91bfe1279 data/tfmg/advancement/recipes/building_blocks/galena_from_stone_types_galena_stonecutting.json +21f71ed1913dbb8aa30a9c0a2bf3b4707974955b data/tfmg/advancement/recipes/building_blocks/galena_pillar_from_stone_types_galena_stonecutting.json +7a42cee53134e9cfd681d8e45002fdfcc57d99f8 data/tfmg/advancement/recipes/building_blocks/graphite_electrode_from_storage_blocks_coal_coke_stonecutting.json +5102eebf18224ca35387ba1092f777803edf7b1c data/tfmg/advancement/recipes/building_blocks/gray_caution_block_from_ingots_aluminum_stonecutting.json +0112737efc9816cc36a86adfcc21565fa57d55a4 data/tfmg/advancement/recipes/building_blocks/gray_concrete_slab_from_gray_concrete_stonecutting.json +3470337d6a8634eace04be6b046ae4512f602f2d data/tfmg/advancement/recipes/building_blocks/gray_concrete_stairs_from_gray_concrete_stonecutting.json +9d277a8b239c60816690845b81ef2bf5ea2ed5cc data/tfmg/advancement/recipes/building_blocks/gray_concrete_wall_from_gray_concrete_stonecutting.json +043f4cd3f3783797e5ae425b499ed3e28fa4bc44 data/tfmg/advancement/recipes/building_blocks/gray_rebar_concrete_slab_from_gray_rebar_concrete_stonecutting.json +9592aa2a85922b5f6ea76929c76f32256b3e03b9 data/tfmg/advancement/recipes/building_blocks/gray_rebar_concrete_stairs_from_gray_rebar_concrete_stonecutting.json +dda14869fa4fdbe61cf8ae3d83ae04f29cc9a935 data/tfmg/advancement/recipes/building_blocks/gray_rebar_concrete_wall_from_gray_rebar_concrete_stonecutting.json +8356de6e514b24632181f91260e4be4f2b67b304 data/tfmg/advancement/recipes/building_blocks/green_caution_block_from_ingots_aluminum_stonecutting.json +a914372cebbb0ae0328920ae3f3eaaf6303949f5 data/tfmg/advancement/recipes/building_blocks/green_concrete_slab_from_green_concrete_stonecutting.json +2c46298e4fe53296e9cced918be56afa47caf6bc data/tfmg/advancement/recipes/building_blocks/green_concrete_stairs_from_green_concrete_stonecutting.json +1d2703da6418eceb17e67dd9f5800548e329d01d data/tfmg/advancement/recipes/building_blocks/green_concrete_wall_from_green_concrete_stonecutting.json +d34881dc659a87c4847d0da3251eafa3c33671f7 data/tfmg/advancement/recipes/building_blocks/green_rebar_concrete_slab_from_green_rebar_concrete_stonecutting.json +f709cb5b2841ad8b9e1c6339340d6d869bad453e data/tfmg/advancement/recipes/building_blocks/green_rebar_concrete_stairs_from_green_rebar_concrete_stonecutting.json +7352467456a293a10c3f7a863b0a518e00d8c11c data/tfmg/advancement/recipes/building_blocks/green_rebar_concrete_wall_from_green_rebar_concrete_stonecutting.json +63cfd513b10d2e648e188a56b630e7117e6a2475 data/tfmg/advancement/recipes/building_blocks/industrial_pipe_from_ingots_steel_stonecutting.json +5061d648a27c940e51b6e5ee871c5817acaf6d94 data/tfmg/advancement/recipes/building_blocks/layered_bauxite_from_stone_types_bauxite_stonecutting.json +35bef0a0bbb7c2c682061a4ee9bb1c31f6b0a49f data/tfmg/advancement/recipes/building_blocks/layered_galena_from_stone_types_galena_stonecutting.json +e44fcd551f339f0e532c33c7cb4f109307e02a60 data/tfmg/advancement/recipes/building_blocks/light_blue_caution_block_from_ingots_aluminum_stonecutting.json +7eec591800b9255bf1b362138da660023ef14419 data/tfmg/advancement/recipes/building_blocks/light_blue_concrete_slab_from_light_blue_concrete_stonecutting.json +379d7c40499511f82dddbf1e8f29ba169d77281b data/tfmg/advancement/recipes/building_blocks/light_blue_concrete_stairs_from_light_blue_concrete_stonecutting.json +62bed23e24800cdf4f59c740bfb133193752bee6 data/tfmg/advancement/recipes/building_blocks/light_blue_concrete_wall_from_light_blue_concrete_stonecutting.json +1a0d4f753b6d7e4c5cc8c5a9cab62a560cebc107 data/tfmg/advancement/recipes/building_blocks/light_blue_rebar_concrete_slab_from_light_blue_rebar_concrete_stonecutting.json +7e9ef9e1f09b665280ac55aab8fd669ed9ba5168 data/tfmg/advancement/recipes/building_blocks/light_blue_rebar_concrete_stairs_from_light_blue_rebar_concrete_stonecutting.json +d6c44d8f9bc96473656fddb03868caca2a1da07f data/tfmg/advancement/recipes/building_blocks/light_blue_rebar_concrete_wall_from_light_blue_rebar_concrete_stonecutting.json +3433b2fe045e2f3d5577cef5e32fe6a6411086b6 data/tfmg/advancement/recipes/building_blocks/light_gray_caution_block_from_ingots_aluminum_stonecutting.json +726a830ddd6ad3d78c6dfd3a2bfdfed841d49939 data/tfmg/advancement/recipes/building_blocks/light_gray_concrete_slab_from_light_gray_concrete_stonecutting.json +5a35f8c9d49669c5e10e992c999dc9fbc2ef2ff0 data/tfmg/advancement/recipes/building_blocks/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json +ee5c7f9b4e4523ed20f37997685dd36e3129deb3 data/tfmg/advancement/recipes/building_blocks/light_gray_concrete_wall_from_light_gray_concrete_stonecutting.json +5051c05cb84e6d794ceb2d50655f061e20553e17 data/tfmg/advancement/recipes/building_blocks/light_gray_rebar_concrete_slab_from_light_gray_rebar_concrete_stonecutting.json +e0a8d78383ae787582fefde5811d4846ab52842d data/tfmg/advancement/recipes/building_blocks/light_gray_rebar_concrete_stairs_from_light_gray_rebar_concrete_stonecutting.json +aa959751c615edfcc046942c1732f7bac477849b data/tfmg/advancement/recipes/building_blocks/light_gray_rebar_concrete_wall_from_light_gray_rebar_concrete_stonecutting.json +757e196af4d79c818ba90bd1e8baac6ec4c751fd data/tfmg/advancement/recipes/building_blocks/lime_caution_block_from_ingots_aluminum_stonecutting.json +6c0866bb9ed3b13686c9ac898efe3b321bf4d5ff data/tfmg/advancement/recipes/building_blocks/lime_concrete_slab_from_lime_concrete_stonecutting.json +eb722f016d1e2b887cf4ff6867bc0c87fc339ae2 data/tfmg/advancement/recipes/building_blocks/lime_concrete_stairs_from_lime_concrete_stonecutting.json +49fee56884d0989671f8c668b8a6a0a06f81b23c data/tfmg/advancement/recipes/building_blocks/lime_concrete_wall_from_lime_concrete_stonecutting.json +e97050dbbf0070d469236c2a7ae35388192dbca1 data/tfmg/advancement/recipes/building_blocks/lime_rebar_concrete_slab_from_lime_rebar_concrete_stonecutting.json +6675376c4cef1d38647562ee64245fcb06d73c48 data/tfmg/advancement/recipes/building_blocks/lime_rebar_concrete_stairs_from_lime_rebar_concrete_stonecutting.json +36cf7a97df2eab93ec89036d40c29592d8db40b8 data/tfmg/advancement/recipes/building_blocks/lime_rebar_concrete_wall_from_lime_rebar_concrete_stonecutting.json +86e7b5a7616a6a2ad673189779427c3104d94f79 data/tfmg/advancement/recipes/building_blocks/magenta_caution_block_from_ingots_aluminum_stonecutting.json +9c9fca76b79ba930938959002ea7e9420527aeda data/tfmg/advancement/recipes/building_blocks/magenta_concrete_slab_from_magenta_concrete_stonecutting.json +91bcdb04b20792dba8b5e702316152a961956eb0 data/tfmg/advancement/recipes/building_blocks/magenta_concrete_stairs_from_magenta_concrete_stonecutting.json +e88aa7911d270eaf07cef0c246f9d51616e70e7a data/tfmg/advancement/recipes/building_blocks/magenta_concrete_wall_from_magenta_concrete_stonecutting.json +85158ef571793efb1d5a71636b11139f0ee6748a data/tfmg/advancement/recipes/building_blocks/magenta_rebar_concrete_slab_from_magenta_rebar_concrete_stonecutting.json +bd316d849f5d46addba28aa451881dbf0787584e data/tfmg/advancement/recipes/building_blocks/magenta_rebar_concrete_stairs_from_magenta_rebar_concrete_stonecutting.json +f44d8a682b040429656f940dd31dd5e3e689a825 data/tfmg/advancement/recipes/building_blocks/magenta_rebar_concrete_wall_from_magenta_rebar_concrete_stonecutting.json +60bb055b6b84b04c153df679346836dca3c7991e data/tfmg/advancement/recipes/building_blocks/orange_caution_block_from_ingots_aluminum_stonecutting.json +b8fe31f6d9610ca6ca0d873ef42aed4008def7c8 data/tfmg/advancement/recipes/building_blocks/orange_concrete_slab_from_orange_concrete_stonecutting.json +091823e38a7a6166bcf0e292ee38b96b25fa80e7 data/tfmg/advancement/recipes/building_blocks/orange_concrete_stairs_from_orange_concrete_stonecutting.json +e1709ed5edf384a5fc8510ba5b2b850288c2c31b data/tfmg/advancement/recipes/building_blocks/orange_concrete_wall_from_orange_concrete_stonecutting.json +fbf776444b0cd867636907c1b1f4f15b96617f3e data/tfmg/advancement/recipes/building_blocks/orange_rebar_concrete_slab_from_orange_rebar_concrete_stonecutting.json +60bbb69aae486c73286fdb813df19bc1f4b05f5c data/tfmg/advancement/recipes/building_blocks/orange_rebar_concrete_stairs_from_orange_rebar_concrete_stonecutting.json +bf8ea4725971a1d352b5647fedbbaddb56bf2fa7 data/tfmg/advancement/recipes/building_blocks/orange_rebar_concrete_wall_from_orange_rebar_concrete_stonecutting.json +389cd4e0c1f42e121837aaf6dd9e0317044a953c data/tfmg/advancement/recipes/building_blocks/pink_caution_block_from_ingots_aluminum_stonecutting.json +991a7989eca8672ecbd61846be4da071e8e5c5d3 data/tfmg/advancement/recipes/building_blocks/pink_concrete_slab_from_pink_concrete_stonecutting.json +9ea4c5f8d75b047e4ba801f41f25032a5f49bf13 data/tfmg/advancement/recipes/building_blocks/pink_concrete_stairs_from_pink_concrete_stonecutting.json +fa031a652bc71566b08290f81770d25baf2cc505 data/tfmg/advancement/recipes/building_blocks/pink_concrete_wall_from_pink_concrete_stonecutting.json +ae550dcbd7877028880fd84cdaf256da4dd2c5a5 data/tfmg/advancement/recipes/building_blocks/pink_rebar_concrete_slab_from_pink_rebar_concrete_stonecutting.json +1fa161461cb92cd6d4c6c7527467492486994430 data/tfmg/advancement/recipes/building_blocks/pink_rebar_concrete_stairs_from_pink_rebar_concrete_stonecutting.json +bf8a919da1bb82d79b841af026d2eb76f0c284df data/tfmg/advancement/recipes/building_blocks/pink_rebar_concrete_wall_from_pink_rebar_concrete_stonecutting.json +5debdbc6adcc4d5a25b6498f4739a6ed7e857332 data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_from_stone_types_bauxite_stonecutting.json +aa2c8bf9d41d35000dcf947211ef8a1f1cb08758 data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_slab.json +002196ac0ad8ac5c651511306510a00e8625267f data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_slab_from_stone_types_bauxite_stonecutting.json +f20b9fb4d016227216fa4bcad9955c93e7a18511 data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_slab_recycling.json +b08105b327193312a849b7effc7085efd6c0c568 data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_stairs.json +872cf8cf9a7f84b1a0ac8c9eb551499792eb261c data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json +30554619e99217e10d96a37372ad68cf46b61af7 data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_wall.json +824a89ef533768e09880e1a65967eca6d4cfacf8 data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_wall_from_stone_types_bauxite_stonecutting.json +3a17b1b33d8afe7ae6ccdd8265029c6760b9a96e data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_from_stone_types_galena_stonecutting.json +65695fc977cfa8d4645dea6ca60f9140b21d08d8 data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_slab.json +81f3ecae876409c94734ae932ef1697ab5185e13 data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_slab_from_stone_types_galena_stonecutting.json +5f91591402a79e42f20aff448a9dbb0f930743cf data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_slab_recycling.json +170e9f0cea5a118d040cfde33ff607de51ee35b4 data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_stairs.json +11aff3e5c2ae8f7c03608798a0ead0fca1105334 data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_stairs_from_stone_types_galena_stonecutting.json +06d2ba713291de16c8d465ccaf806dc811803982 data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_wall.json +3001d1074357851ff3569ca20bfa2a2cb687d2a0 data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_wall_from_stone_types_galena_stonecutting.json +63021039f27bc9c8dc0a706a48d698dd00248ab2 data/tfmg/advancement/recipes/building_blocks/purple_caution_block_from_ingots_aluminum_stonecutting.json +9976e6d734c91cd771d0c5f6fa66c0405f224e50 data/tfmg/advancement/recipes/building_blocks/purple_concrete_slab_from_purple_concrete_stonecutting.json +514c02e113be09e57a33b5bacb33abf21d74e36b data/tfmg/advancement/recipes/building_blocks/purple_concrete_stairs_from_purple_concrete_stonecutting.json +65d63112a8eb6d9e72b381052aa195b33e8324d8 data/tfmg/advancement/recipes/building_blocks/purple_concrete_wall_from_purple_concrete_stonecutting.json +4e182e6eb9e547323d2b9b981ab1d119a11e6b9f data/tfmg/advancement/recipes/building_blocks/purple_rebar_concrete_slab_from_purple_rebar_concrete_stonecutting.json +4b1f3556e74867cd410fc68f01042ff7de37857a data/tfmg/advancement/recipes/building_blocks/purple_rebar_concrete_stairs_from_purple_rebar_concrete_stonecutting.json +e981b0e8ec4174f7cae78d423fc53386c69aa4c1 data/tfmg/advancement/recipes/building_blocks/purple_rebar_concrete_wall_from_purple_rebar_concrete_stonecutting.json +d3184163d5c019a82cb1316c656cd0be49418523 data/tfmg/advancement/recipes/building_blocks/rebar_concrete_slab_from_rebar_concrete_stonecutting.json +625711a9da74b86f2586dee690fe3d104d33841d data/tfmg/advancement/recipes/building_blocks/rebar_concrete_stairs_from_rebar_concrete_stonecutting.json +063923f2403803c05a60f231644d69f1dcf33573 data/tfmg/advancement/recipes/building_blocks/rebar_concrete_wall_from_rebar_concrete_stonecutting.json +df0c46afc5cebebbe708b8d81167d963b0765d64 data/tfmg/advancement/recipes/building_blocks/rebar_from_ingots_steel_stonecutting.json +46f7e241c5b09f229f134fd30ee7924a5b4282d2 data/tfmg/advancement/recipes/building_blocks/red_caution_block_from_ingots_aluminum_stonecutting.json +a4a32862fd3fed91a385f0f25aa84e5477deca82 data/tfmg/advancement/recipes/building_blocks/red_concrete_slab_from_red_concrete_stonecutting.json +a604a98648b36d86db5a32fcf9d07803a5398251 data/tfmg/advancement/recipes/building_blocks/red_concrete_stairs_from_red_concrete_stonecutting.json +a6a805e28ae96202997abf167219a334f97cce51 data/tfmg/advancement/recipes/building_blocks/red_concrete_wall_from_red_concrete_stonecutting.json +c638ffd77fd2f43b0d69105f34db053920867338 data/tfmg/advancement/recipes/building_blocks/red_rebar_concrete_slab_from_red_rebar_concrete_stonecutting.json +d173c98d23ad4623998f07902351b51b61488c8f data/tfmg/advancement/recipes/building_blocks/red_rebar_concrete_stairs_from_red_rebar_concrete_stonecutting.json +4d3f1492152537f4a627405fe16222e4e0c5b013 data/tfmg/advancement/recipes/building_blocks/red_rebar_concrete_wall_from_red_rebar_concrete_stonecutting.json +82585e327b90cd14b8ce411b1e9f25739686cbef data/tfmg/advancement/recipes/building_blocks/screw_from_ingots_steel_stonecutting.json +e2320faf686c70186914ac85d750a5a9251c952b data/tfmg/advancement/recipes/building_blocks/slag_bricks_from_slag_block_stonecutting.json +91b7ea5b10a72f5a7766f66874e0b5ee57f4f971 data/tfmg/advancement/recipes/building_blocks/small_bauxite_bricks_from_stone_types_bauxite_stonecutting.json +eadd833199d1778651a2c3fc87ae93e2ce78dd64 data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_slab.json +5c584b1db5ab2a5f9649cac6b45d8a63792a1882 data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json +9f5c331abacccd37e7c3d7c0d62dc09c37107cd5 data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_slab_recycling.json +db37e857a0205f80291cf86cc23146eb88de71ac data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_stairs.json +6bf152adf6863447597fc7ab3e6312ab6a074624 data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json +92eef6f4996c7ef6e6b835347878e75d8f690cf0 data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_wall.json +adc20cb12f7c0326b65dbf2230b408e79299fe5a data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_wall_from_stone_types_bauxite_stonecutting.json +0f0dda41b614d89ca8798bb5716fbfe3a38938dd data/tfmg/advancement/recipes/building_blocks/small_galena_bricks_from_stone_types_galena_stonecutting.json +f0c7383c26626b13d9139f2d8258fd848342e152 data/tfmg/advancement/recipes/building_blocks/small_galena_brick_slab.json +035f8a4ceef53c58f6ab31afefc622b18b5b9861 data/tfmg/advancement/recipes/building_blocks/small_galena_brick_slab_from_stone_types_galena_stonecutting.json +a6db08b16885b3e9f8ffc193d8da95423e3cb5ae data/tfmg/advancement/recipes/building_blocks/small_galena_brick_slab_recycling.json +7f961a4fea5475b3043b9e6469c91c090dcf446e data/tfmg/advancement/recipes/building_blocks/small_galena_brick_stairs.json +15aadd4efd9ccccc1d4b087800636cc840d7779e data/tfmg/advancement/recipes/building_blocks/small_galena_brick_stairs_from_stone_types_galena_stonecutting.json +a7a1b1523b4b9d0a3463e40d4eb4d713621062e7 data/tfmg/advancement/recipes/building_blocks/small_galena_brick_wall.json +61def45c0769f8b4c472d57b5cd8da48067376d5 data/tfmg/advancement/recipes/building_blocks/small_galena_brick_wall_from_stone_types_galena_stonecutting.json +8effc4f9a5d26b2847581ffe149f1fe265ffad91 data/tfmg/advancement/recipes/building_blocks/unfired_insulator_from_clay_stonecutting.json +90c9e6f6f58f89df916ceea52b22eca0a5b12478 data/tfmg/advancement/recipes/building_blocks/white_caution_block_from_ingots_aluminum_stonecutting.json +f93b2a05855c139d06dc4f0195482202783dba32 data/tfmg/advancement/recipes/building_blocks/white_concrete_slab_from_white_concrete_stonecutting.json +e95110d3004da9a0db29c9deab0ce50052deec8b data/tfmg/advancement/recipes/building_blocks/white_concrete_stairs_from_white_concrete_stonecutting.json +a2aa88f764df5e7f4480f527af75d0332422134e data/tfmg/advancement/recipes/building_blocks/white_concrete_wall_from_white_concrete_stonecutting.json +faece1a03345bbfa1769dc7c8a66f2b404b99e8b data/tfmg/advancement/recipes/building_blocks/white_rebar_concrete_slab_from_white_rebar_concrete_stonecutting.json +c568633c9f7ef33e345630a3654737b170d8ece1 data/tfmg/advancement/recipes/building_blocks/white_rebar_concrete_stairs_from_white_rebar_concrete_stonecutting.json +8d8737126853efdb466c8408fbcdb8cac1912b71 data/tfmg/advancement/recipes/building_blocks/white_rebar_concrete_wall_from_white_rebar_concrete_stonecutting.json +44cf1af1b4c33d338dd423051013b208206ef56c data/tfmg/advancement/recipes/building_blocks/yellow_caution_block_from_ingots_aluminum_stonecutting.json +6fd4838f2224e97d7df9074aa9b7c1f1ee53f893 data/tfmg/advancement/recipes/building_blocks/yellow_concrete_slab_from_yellow_concrete_stonecutting.json +df6b4853814021afe31d294526ec9001bf5737d9 data/tfmg/advancement/recipes/building_blocks/yellow_concrete_stairs_from_yellow_concrete_stonecutting.json +760333cb67e45cff00af80389c6b339e5c92836c data/tfmg/advancement/recipes/building_blocks/yellow_concrete_wall_from_yellow_concrete_stonecutting.json +464361a43056c7ab2e23ff5e11acfbe6b338d431 data/tfmg/advancement/recipes/building_blocks/yellow_rebar_concrete_slab_from_yellow_rebar_concrete_stonecutting.json +857c210f4efd8fd4a302fd75ea9ad321dff881f7 data/tfmg/advancement/recipes/building_blocks/yellow_rebar_concrete_stairs_from_yellow_rebar_concrete_stonecutting.json +6af81a54c70b9d3101fddfca899ce0de487f0bb5 data/tfmg/advancement/recipes/building_blocks/yellow_rebar_concrete_wall_from_yellow_rebar_concrete_stonecutting.json +5b1a783bd51045d21a736bb61a65cadb5fd52fb1 data/tfmg/advancement/recipes/building_blocks/zinc_electrode_from_storage_blocks_zinc_stonecutting.json +0fbfe5de58dc4933cd09e2ff6304a39d52bb76b5 data/tfmg/advancement/recipes/decorations/aluminum_bars_from_ingots_aluminum_stonecutting.json +246a67d3c0b6191b51c30a7d51e199705125f4b2 data/tfmg/advancement/recipes/decorations/aluminum_ladder_from_ingots_aluminum_stonecutting.json +bacca2ff6f979ef6966d5b375591f73f341bcbec data/tfmg/advancement/recipes/decorations/aluminum_scaffolding_from_ingots_aluminum_stonecutting.json +6884ba2872a24f1ddc2b269d410cb637b37e92cc data/tfmg/advancement/recipes/decorations/cast_iron_bars_from_ingots_cast_iron_stonecutting.json +aa735a88ca65d32d98015cc6045accf69c9a1329 data/tfmg/advancement/recipes/decorations/cast_iron_ladder_from_ingots_cast_iron_stonecutting.json +2801b89cf5c797efb165f47981f853fc1683cb5e data/tfmg/advancement/recipes/decorations/constantan_ladder_from_ingots_constantan_stonecutting.json +39208469ecb0377277907346f89bccf876bfdbd6 data/tfmg/advancement/recipes/decorations/large_pumpjack_hammer_part_from_storage_blocks_steel_stonecutting.json +81c8397c6e566010c4c17335458c4dc389c0f6d8 data/tfmg/advancement/recipes/decorations/lead_bars_from_ingots_lead_stonecutting.json +8707c8d460209dd214366adfcc35f723fc519dc2 data/tfmg/advancement/recipes/decorations/lead_ladder_from_ingots_lead_stonecutting.json +884c3e038321761bbe3bd8086716db1270e2729d data/tfmg/advancement/recipes/decorations/nickel_bars_from_ingots_nickel_stonecutting.json +465e029239baa8f34bfbad61da32cd171c2d766b data/tfmg/advancement/recipes/decorations/nickel_ladder_from_ingots_nickel_stonecutting.json +a251a194671018f46b77835461bbe9ddde810d4e data/tfmg/advancement/recipes/decorations/pumpjack_hammer_part_from_storage_blocks_steel_stonecutting.json +1a73abbf3cba8aaa2d6b913920524740e36ffca4 data/tfmg/advancement/recipes/decorations/steel_bars_from_ingots_steel_stonecutting.json +fc9cd41201db5e669da0ddd31f5586f471627639 data/tfmg/advancement/recipes/decorations/steel_ladder_from_ingots_steel_stonecutting.json +52db19cf02d29afb75c627d79427b47269f5a5a2 data/tfmg/advancement/recipes/decorations/steel_scaffolding_from_ingots_steel_stonecutting.json +3747b1b781a0c9545461612fc0a894a0550f1bfb data/tfmg/advancement/recipes/misc/synthetic_string_from_ingots_rubber_stonecutting.json +958e1e7513e7598126dfe19327cdbe0876621ac3 data/tfmg/loot_table/blocks/accumulator.json +f68fbabec2678d5dc6dbf3d3e9966dff35e89355 data/tfmg/loot_table/blocks/air_intake.json +e200ffe6c6405746fce4a263faae7d4dff66f51d data/tfmg/loot_table/blocks/aluminum_bars.json +31903ff0a773f10a1a1ac1e92ad970cee5835334 data/tfmg/loot_table/blocks/aluminum_block.json +be23e3b5317eba939a6346e64dae79aef11db8d8 data/tfmg/loot_table/blocks/aluminum_cable_hub.json +b13ae9d700d1a6edb951aa551e3535f9f1d1ea62 data/tfmg/loot_table/blocks/aluminum_cogwheel.json +788ef0ecaf89e6e062d55bc06465d9e99a468c32 data/tfmg/loot_table/blocks/aluminum_door.json +e716b63d8f72bc1eb16a0d1da83d91dc6fbf626d data/tfmg/loot_table/blocks/aluminum_fluid_tank.json +e5f09483be013600ef78ba4c4f71664133237395 data/tfmg/loot_table/blocks/aluminum_flywheel.json +5eca5c3890ff1d47ad4aeaacf0d74d11db6c62ec data/tfmg/loot_table/blocks/aluminum_frame.json +fb191f144cb8e4370f50240bbffad5f27118592e data/tfmg/loot_table/blocks/aluminum_ladder.json +e90462a06bc0714f104983a827554d8eeab4ec8f data/tfmg/loot_table/blocks/aluminum_lamp.json +b40fa8287b65660cda4b1b14d5b388d2177d9d92 data/tfmg/loot_table/blocks/aluminum_mechanical_pump.json +0a7c5dd43215dfe258d238d2a42c9b2d30ce05ca data/tfmg/loot_table/blocks/aluminum_pipe.json +c8d89c9555ef3c9dae2195356dd46be40db7661d data/tfmg/loot_table/blocks/aluminum_scaffolding.json +dff421c1c1a3e688c4351fc8de9105c901430298 data/tfmg/loot_table/blocks/aluminum_smart_fluid_pipe.json +4af2e7c6378e79c55ea139c906a1a9aac6899232 data/tfmg/loot_table/blocks/aluminum_truss.json +4321a24e1cd3ff8c1bef11fb7d526d32603df56d data/tfmg/loot_table/blocks/asphalt.json +4b826d0767cec1158c40085bb488f81845f53e7d data/tfmg/loot_table/blocks/asphalt_slab.json +3b301cd37ea73f1323d494256f7f746078122a3a data/tfmg/loot_table/blocks/asphalt_stairs.json +4c0fc33bfcae7b06f25a872b7c293b6bab98ec0f data/tfmg/loot_table/blocks/asphalt_wall.json +8f6e908b88246b95618a5314f29ecc6b20c6b8f1 data/tfmg/loot_table/blocks/bauxite.json +5a652cb51ba09b38f8a08a67990376de88e3c1d4 data/tfmg/loot_table/blocks/bauxite_pillar.json +9883d43502380c9077699a42684dc695bb5ff8eb data/tfmg/loot_table/blocks/black_concrete.json +d2780c40730ccbc93b4403e5d2f5c7e36b87332c data/tfmg/loot_table/blocks/black_concrete_slab.json +8d6bd0d602722ec9cb181a4d8b38d6abb109f6cb data/tfmg/loot_table/blocks/black_concrete_stairs.json +f81c1ded8a6ae7b826f3e956e4dba81dfa10dc1a data/tfmg/loot_table/blocks/black_concrete_wall.json +382defeb358485b8cda1807cbf890b902ab881b0 data/tfmg/loot_table/blocks/black_rebar_concrete.json +995ce7ffc38854028b077fa1a6806628fa8310e7 data/tfmg/loot_table/blocks/black_rebar_concrete_slab.json +27e989d2692cd42f39b5bc1b57da6dedd223b51f data/tfmg/loot_table/blocks/black_rebar_concrete_stairs.json +510c1cbe471d8af5567ac9f1a00d2eb0a04cc95b data/tfmg/loot_table/blocks/black_rebar_concrete_wall.json +b62a735fbed9c1554cc6842934097df19f88c329 data/tfmg/loot_table/blocks/blast_furnace_hatch.json +a13961aee14f9ed34b8f9e43447b7962428bf36b data/tfmg/loot_table/blocks/blast_furnace_output.json +82d10441aeaf4933fea0272b714fe33cd0c87cf7 data/tfmg/loot_table/blocks/blast_furnace_reinforcement.json +d0bc3f13112f629bf86921cd6e2dac61c31c1de4 data/tfmg/loot_table/blocks/blast_furnace_reinforcement_wall.json +9b54a5100b44915d71e50ac7ae04c5f6d7108ece data/tfmg/loot_table/blocks/blast_stove.json +4f202ceb86653526a0c0593e2f0b65fb3b38f2e0 data/tfmg/loot_table/blocks/blue_caution_block.json +3ddfa4a556aff5fab353d51bdb52f728d7751044 data/tfmg/loot_table/blocks/blue_concrete.json +7a047fab84687cb3245f077265475e197b65d1cf data/tfmg/loot_table/blocks/blue_concrete_slab.json +93138c9e23c90e6e7123bdff78c4587db5e86899 data/tfmg/loot_table/blocks/blue_concrete_stairs.json +1067aff3a52c85c0c3dda64f5cc2bfd74b317d76 data/tfmg/loot_table/blocks/blue_concrete_wall.json +74c6f9fc92befd90d3ea673036491804168b5a41 data/tfmg/loot_table/blocks/blue_rebar_concrete.json +2d2bd54c9efa0524b68c83d4584250f3e28e0f00 data/tfmg/loot_table/blocks/blue_rebar_concrete_slab.json +f0c809408ad22e7fa389bb17c8aaa2f06d0d3963 data/tfmg/loot_table/blocks/blue_rebar_concrete_stairs.json +f3808bf9ce4df9af423a8d71e6d2e97a8c297420 data/tfmg/loot_table/blocks/blue_rebar_concrete_wall.json +eaabebac9e1f3ae3ffd5e7cb96aac0cd2baa0136 data/tfmg/loot_table/blocks/brass_cable_hub.json +d85016cecf49614a9d84030ddb666d73ef703c53 data/tfmg/loot_table/blocks/brass_frame.json +ef6c38d8a05fe1b453ff553d9ea70975aee0e8fd data/tfmg/loot_table/blocks/brass_mechanical_pump.json +67076f34b5a91873333ad34131e05dceff6a9a9c data/tfmg/loot_table/blocks/brass_pipe.json +58f35f0ff07ae3d16eb87bb9ee256621565d54b3 data/tfmg/loot_table/blocks/brass_smart_fluid_pipe.json +f8ba5f669545a12338ebc15508c38a4962249be4 data/tfmg/loot_table/blocks/brass_truss.json +8cdddd531dd3673920084008b78babea8e5de3fc data/tfmg/loot_table/blocks/brick_smokestack.json +64c0fefc76f833a1651401537b6b2ebcc8c8b451 data/tfmg/loot_table/blocks/brown_caution_block.json +9732b5f18e66aeaac9bfe166a8774b10c98c496b data/tfmg/loot_table/blocks/brown_concrete.json +b54c4eb3e743890e14c6a4d43a16d330c9b4f3e0 data/tfmg/loot_table/blocks/brown_concrete_slab.json +0488e0f1f300d88e17c8891590bf90d55f081a16 data/tfmg/loot_table/blocks/brown_concrete_stairs.json +425bfdc3096e9a429e21ac378521e1ea04da0c5d data/tfmg/loot_table/blocks/brown_concrete_wall.json +881da6bfa80492f92fdf6f010044f3da0d1561c8 data/tfmg/loot_table/blocks/brown_rebar_concrete.json +e5646155562d73e93dfed4902a15ca5e7850d4dd data/tfmg/loot_table/blocks/brown_rebar_concrete_slab.json +cb4724e5731c064fc2c1ddd98694a5b2966fa7a7 data/tfmg/loot_table/blocks/brown_rebar_concrete_stairs.json +254306bf453467a500c4778c48c017520348214f data/tfmg/loot_table/blocks/brown_rebar_concrete_wall.json +f24f187ad8a9829d42352e0f251de918f38c132f data/tfmg/loot_table/blocks/cable_connector.json +0ab478cab89b9f5ee24be81d5cf34998a26f196b data/tfmg/loot_table/blocks/cable_tube.json +e0f12443e509c9fb46c5f77c686c4d03e9778f02 data/tfmg/loot_table/blocks/casting_basin.json +0ab666cb925caa8691e5790dfd2f61fc01d2a613 data/tfmg/loot_table/blocks/cast_iron_bars.json +0e2f9f04eef5f490a4665f449b2e7eb2aaa22dfa data/tfmg/loot_table/blocks/cast_iron_block.json +567a65060847a3ed19e8fd270c8da6b7ee7bf59b data/tfmg/loot_table/blocks/cast_iron_chemical_vat.json +35aba26e31c48f207029b48f68732ecc4e94c98a data/tfmg/loot_table/blocks/cast_iron_fluid_tank.json +e259c86af2aa84b6df3cb61a6df792ce34636bae data/tfmg/loot_table/blocks/cast_iron_flywheel.json +779b7df2fcf1d879b19526ad5947a42a298a9724 data/tfmg/loot_table/blocks/cast_iron_frame.json +b3114368d48ec3588fbeb34853590ad82e50866d data/tfmg/loot_table/blocks/cast_iron_ladder.json +62fee40a1d380e8e4b7b8948a99746573a13f06e data/tfmg/loot_table/blocks/cast_iron_mechanical_pump.json +7560e5accb6bf5c482937bdd9ba6b3762cd4c872 data/tfmg/loot_table/blocks/cast_iron_pipe.json +8d75101d024a2fedf77a57cad2bb35824cb27950 data/tfmg/loot_table/blocks/cast_iron_smart_fluid_pipe.json +d219b1a4f2400204f7eb84ba463c9338c19b0fa5 data/tfmg/loot_table/blocks/cast_iron_truss.json +945a8e1f868f72dcb5f951290744f5e23b4ada4d data/tfmg/loot_table/blocks/cement.json +177ed46d0f732499315b63cd9d311d25b2750ae7 data/tfmg/loot_table/blocks/cinderflour_block.json +8a764606334d85d229124bf84aa7d4a16f8611ad data/tfmg/loot_table/blocks/cinder_block.json +66e732f96d5e649576f0180ba2b5e35faa3f0789 data/tfmg/loot_table/blocks/circular_light.json +474d0da97641e0fd2cb76aec91b1127b1e99fe52 data/tfmg/loot_table/blocks/coal_coke_block.json +7144ef8ca8dd4795684ff86e6cd0cb7acc160dbb data/tfmg/loot_table/blocks/coke_oven.json +a64156eb2eb8071c54b6726cf3c01c072c3c96d3 data/tfmg/loot_table/blocks/concrete.json +b2b99ee3c548edd611a5601f9aa5efa19687c2dc data/tfmg/loot_table/blocks/concrete_encased_cable_tube.json +52ec56daa4c8f985e063c62d88996d6f4c14959e data/tfmg/loot_table/blocks/concrete_encased_electric_post.json +3ebb9c4b2ce245230f95a5507863cef34dabfe88 data/tfmg/loot_table/blocks/concrete_encased_industrial_pipe.json +a26bbb17cb091dc44faa0211c3c1481fb0d4e017 data/tfmg/loot_table/blocks/concrete_hose.json +2a812a55d2f78f2bb00c90e61e5c1e49c527d825 data/tfmg/loot_table/blocks/concrete_slab.json +3531c7c379d6cf0e989b8c60f8c6f7eae8237af6 data/tfmg/loot_table/blocks/concrete_smokestack.json +4b5541f3fc406b842adb95186cefc81fb37d527d data/tfmg/loot_table/blocks/concrete_stairs.json +72e5e0969b2ecb12b7d621fab172c3c6bcfc20f6 data/tfmg/loot_table/blocks/concrete_wall.json +2608c5d44fe9a75003031b8c690ae571150cebcd data/tfmg/loot_table/blocks/constantan_block.json +5e1c3e074ff1f5a2778cb9c8a9b06dba6dbac0b4 data/tfmg/loot_table/blocks/constantan_frame.json +51cc26c05d868b26a9928045c071ca574a269a1f data/tfmg/loot_table/blocks/constantan_ladder.json +467b8e3858a8d712b09aabdef9c57a14a3e1ad14 data/tfmg/loot_table/blocks/constantan_truss.json +6e1ec2a21b3ad3bd0df2e6e2d40f53f71bb0b8c1 data/tfmg/loot_table/blocks/converter.json +73e770fe84929435e079304c35fdb3ae6c16cb86 data/tfmg/loot_table/blocks/copper_cable_hub.json +b1ca7d57591fa444b6e1cb6e7073e0aafb4e149a data/tfmg/loot_table/blocks/copper_encased_aluminum_pipe.json +2b284725c7823fa65778e737018acfa018e0f394 data/tfmg/loot_table/blocks/copper_encased_brass_pipe.json +6e7cb44b822b3a6cdc2bb7d7429a7a3342380e25 data/tfmg/loot_table/blocks/copper_encased_cast_iron_pipe.json +99a6f4441fe61c53d300cb95dc39337703c58676 data/tfmg/loot_table/blocks/copper_encased_plastic_pipe.json +8389fc272d983d9137551fb9eff8c5c29a6404ab data/tfmg/loot_table/blocks/copper_encased_steel_pipe.json +6f8260ed2477e9980e1b2ba5caddf018130c39b0 data/tfmg/loot_table/blocks/copper_frame.json +5ef528dac7a07d3f6276a591c515b57a0232f217 data/tfmg/loot_table/blocks/copper_truss.json +f1648d2a817fbd3e73998515175546f0db4a5d89 data/tfmg/loot_table/blocks/copycat_cable_base.json +40097204f87c08bfa7a398fc72ecaff7c3a6bb49 data/tfmg/loot_table/blocks/copycat_cable_block.json +e3d8605c9ca9206c059bed870ec68f1a1ee01f1c data/tfmg/loot_table/blocks/creative_generator.json +721347336ee749165c6ac8447b0666f6d4c9e673 data/tfmg/loot_table/blocks/cut_bauxite.json +82da0500317157c4246fc37dc1dc3fb12fddfcc1 data/tfmg/loot_table/blocks/cut_bauxite_bricks.json +05c79b72544a50434de8979fba961d435a14c7df data/tfmg/loot_table/blocks/cut_bauxite_brick_slab.json +f92af510a10bebf64cf37cbee4fb57f364285167 data/tfmg/loot_table/blocks/cut_bauxite_brick_stairs.json +072ef89b1fccefc130efded6ea65db2135848b6b data/tfmg/loot_table/blocks/cut_bauxite_brick_wall.json +9cc6173b4ac1948a988ee0721f4a95c6632c1f19 data/tfmg/loot_table/blocks/cut_bauxite_slab.json +119b76788f571327ff660c66fb8a7a5bbbc961bc data/tfmg/loot_table/blocks/cut_bauxite_stairs.json +91130dbf805f939df06db6a82cdbfa10df5db50c data/tfmg/loot_table/blocks/cut_bauxite_wall.json +353228a304b462bdf597f7d8640992ef211a6d32 data/tfmg/loot_table/blocks/cut_galena.json +8d5d87173100cc83c0dc9cccb1723cdb85b65f69 data/tfmg/loot_table/blocks/cut_galena_bricks.json +45de71aecec4e2eee9e54d5e340d3cb8bb8c5a92 data/tfmg/loot_table/blocks/cut_galena_brick_slab.json +f1a61a3bba4391bcf23fc796de49f9c62458f3be data/tfmg/loot_table/blocks/cut_galena_brick_stairs.json +26e0a2e4e5df0939fc1e355abe552796953de0c0 data/tfmg/loot_table/blocks/cut_galena_brick_wall.json +12d03d228574234b5dc0b4fd8cdc3a713e19b6a1 data/tfmg/loot_table/blocks/cut_galena_slab.json +fafe7fc49f754068e8c8c6f318e09279a20731cb data/tfmg/loot_table/blocks/cut_galena_stairs.json +759cae124230f2cc029cf8763b8a0e3c69019ebb data/tfmg/loot_table/blocks/cut_galena_wall.json +3b4616e386d0ff1b5257658231f99f1c5d242c87 data/tfmg/loot_table/blocks/cyan_caution_block.json +66e11be2ed78dda72a8b71851a89076ab869bcb1 data/tfmg/loot_table/blocks/cyan_concrete.json +c2919e00e013fdfd52ce94c2b87cefaee10aa70f data/tfmg/loot_table/blocks/cyan_concrete_slab.json +68881b95c8e993ac8e56849d95352ba385347e81 data/tfmg/loot_table/blocks/cyan_concrete_stairs.json +2e3523e27e2496b37a9dc2c2187ecc3600a9c569 data/tfmg/loot_table/blocks/cyan_concrete_wall.json +24f960ee7d288da30c81440bc2ce90cd7c10b16f data/tfmg/loot_table/blocks/cyan_rebar_concrete.json +ecf05e33ca74a249d0a03f0d3199248dba67bf3d data/tfmg/loot_table/blocks/cyan_rebar_concrete_slab.json +bfc26d79526b9d48f1bb8aaf0bfefb1502216bc9 data/tfmg/loot_table/blocks/cyan_rebar_concrete_stairs.json +0747e77373737ab08685f334a88d3ed6a890eb0c data/tfmg/loot_table/blocks/cyan_rebar_concrete_wall.json +22760cfbace948b75d0260969fae5a13ab91f9cb data/tfmg/loot_table/blocks/deepslate_lead_ore.json +a42089cf1e3d74e056a21a11a8e8ab1ebd63c745 data/tfmg/loot_table/blocks/deepslate_lithium_ore.json +95144a910f109be96f010b8ce10cd0ea370f86b4 data/tfmg/loot_table/blocks/deepslate_nickel_ore.json +32dce4aa90a68ed0c3988863fbcf05f3a8d22b40 data/tfmg/loot_table/blocks/diagonal_cable_block.json +a1aa5b0d4cee5067aff0598d083e27bf318bde04 data/tfmg/loot_table/blocks/electrical_switch.json +5d500af70bee2658fe37e7be1dd252a2ccb75a7e data/tfmg/loot_table/blocks/electric_diode.json +b8bdebe81f97872eb5dbb1b645b871922b2fb4b7 data/tfmg/loot_table/blocks/electric_motor.json +4166590bfa4d891f7ddc21d8f116e08a57bbc9db data/tfmg/loot_table/blocks/electric_post.json +261790b99184c00192f41e8938b0bcb30d7e2a93 data/tfmg/loot_table/blocks/electric_pump.json +657af76ea4fdd97034dadac49f2663671f404212 data/tfmg/loot_table/blocks/electrode_holder.json +7b5b916ebb11d9f7a634add40226533fee29aa82 data/tfmg/loot_table/blocks/encased_diode.json +28a38b257764d5c13546a5328166b54d718584da data/tfmg/loot_table/blocks/encased_potentiometer.json +1f83380841098a03623c745ed8513b69b768f921 data/tfmg/loot_table/blocks/engine_controller.json +a0702614a6cb5299a45b06f2a67feb79c4938f1c data/tfmg/loot_table/blocks/engine_gearbox.json +f110a1f94b2b12bc3301728fdbf0c885c1c5e461 data/tfmg/loot_table/blocks/exhaust.json +dd2ace3ebd61456b31d0069bfd8abe19111f748c data/tfmg/loot_table/blocks/factory_floor.json +f13e712d2d0cf08d5c685f7366677f6dadc248ea data/tfmg/loot_table/blocks/firebox.json +b413d50a081288a2d2599995dd001edc76f543d0 data/tfmg/loot_table/blocks/fireclay.json +da3f506656a11eae1e9dd6dfa504f001446d54e7 data/tfmg/loot_table/blocks/fireproof_bricks.json +484c04b2a260e205cfcb9c1597a0b1f39a3f4690 data/tfmg/loot_table/blocks/fireproof_brick_reinforcement.json +243ea41f96c336dfe7df20ad40b370ed631dea05 data/tfmg/loot_table/blocks/fireproof_chemical_vat.json +c80724662af3f9c56f560c1272c6a89e26bc8268 data/tfmg/loot_table/blocks/flarestack.json +9f2b65dbcf81aa1cb79c57787b944ddba8d8fb68 data/tfmg/loot_table/blocks/fossilstone.json +77c23cc954e4f16bbbecfb01d760307e78ac2d79 data/tfmg/loot_table/blocks/galena.json +f8274f88b8a4171676976b58bd30ab283571f6b8 data/tfmg/loot_table/blocks/galena_pillar.json +90322865e154696c6845fbadc81cafd8b5c9f78d data/tfmg/loot_table/blocks/generator.json +2eb72789f8dd117af17aafd0adbddbbbe574ad27 data/tfmg/loot_table/blocks/glass_aluminum_pipe.json +dc7461e6cd019a5af3f71de7e6f04c0d89607d51 data/tfmg/loot_table/blocks/glass_brass_pipe.json +c74c62e9958bd621f69a29c6626e12d9196e37a9 data/tfmg/loot_table/blocks/glass_cable_insulator.json +e8aa3a5242276f5ca80d096b0cfa03211fedbf12 data/tfmg/loot_table/blocks/glass_cast_iron_pipe.json +518d85c4092bc22a07f3d5dec1375d7c728bb613 data/tfmg/loot_table/blocks/glass_plastic_pipe.json +1854d11f8657d6d8a3c9ec3fac12e412f65be8fd data/tfmg/loot_table/blocks/glass_steel_pipe.json +4f4fc1f7a69ffed8ba689897f3666281a9485ec0 data/tfmg/loot_table/blocks/gray_caution_block.json +cc3f25c6490697b6a034b310af5d621763b6b319 data/tfmg/loot_table/blocks/gray_concrete.json +6e8ae6ef3a660aea78ded1be59b570563a4d1d79 data/tfmg/loot_table/blocks/gray_concrete_slab.json +85058901523b05417f4ccd4001f7f2b701d2048a data/tfmg/loot_table/blocks/gray_concrete_stairs.json +ce7901902e80bf22996387ef45f2ebdcbae556aa data/tfmg/loot_table/blocks/gray_concrete_wall.json +570ab90d4127894fbd2275cefe8c85e77aaa192f data/tfmg/loot_table/blocks/gray_rebar_concrete.json +2b513eefaf93353c0e4bc90980b3a05c1215ed89 data/tfmg/loot_table/blocks/gray_rebar_concrete_slab.json +fe19a7ff35a84baf4de9076429e84fa3bc1fbfc8 data/tfmg/loot_table/blocks/gray_rebar_concrete_stairs.json +d807976dbda62c8679aa67193d101bcfc309f3a5 data/tfmg/loot_table/blocks/gray_rebar_concrete_wall.json +ce197c6239ce35d388017feebf064c0384357691 data/tfmg/loot_table/blocks/green_caution_block.json +3004479031d85dff8db0e61381e8b61bdc0249c2 data/tfmg/loot_table/blocks/green_concrete.json +126148c7c18b111a3531666a468c0a2feb61fc12 data/tfmg/loot_table/blocks/green_concrete_slab.json +1e2352f1c7a268dfc06a92c83d314771245c408d data/tfmg/loot_table/blocks/green_concrete_stairs.json +d3843aac8068be9b82b90e4bac881ca182776874 data/tfmg/loot_table/blocks/green_concrete_wall.json +a26a8ae8e701c788e9a47cbf256148f6d01d356b data/tfmg/loot_table/blocks/green_rebar_concrete.json +c9912d5b2856df5bb4505f3192f82125d241f0fa data/tfmg/loot_table/blocks/green_rebar_concrete_slab.json +01f74ee677abd0ca42563708a109176c82305a29 data/tfmg/loot_table/blocks/green_rebar_concrete_stairs.json +5e60050b35df92147a5fc9637332a4fbf66e0943 data/tfmg/loot_table/blocks/green_rebar_concrete_wall.json +29be2c91b45ff9699fcd07e93c2574c68a264ccb data/tfmg/loot_table/blocks/hardened_planks.json +88cc8eaaba8ce1b1c146d8204f7f4f3042e53305 data/tfmg/loot_table/blocks/heavy_cable_hub.json +cdfccaf59f8ef007bf9ac423875402259938f2b5 data/tfmg/loot_table/blocks/heavy_casing_door.json +7368dd968fae561b4e12b70ad981809ec4171cc4 data/tfmg/loot_table/blocks/heavy_casing_encased_aluminum_cogwheel.json +3e3ff99c6f5d58fd0d3f0e30bdf7a36b54a201a6 data/tfmg/loot_table/blocks/heavy_casing_encased_large_aluminum_cogwheel.json +67f7495720c0c1b15e09b297513f4971c9e00070 data/tfmg/loot_table/blocks/heavy_casing_encased_large_steel_cogwheel.json +cca64379aa429d655a4b4c47e28cdb53b1868d45 data/tfmg/loot_table/blocks/heavy_casing_encased_shaft.json +ded54d55e938b6230d52d34f61157c0b782915e0 data/tfmg/loot_table/blocks/heavy_casing_encased_steel_cogwheel.json +cd94c82a3dc5bdffefa6b0c83b6ee6344e2a2ab2 data/tfmg/loot_table/blocks/heavy_machinery_casing.json +7bc0d3bc78a59325da2a27f351709a69bcc8bff6 data/tfmg/loot_table/blocks/heavy_plated_door.json +d73891669ebf59df113542a3691c2d5468cb2d8e data/tfmg/loot_table/blocks/industrial_aluminum_casing.json +420d9fa0684b987e2ad005b6758c72ed079d456f data/tfmg/loot_table/blocks/industrial_mixer.json +54946533501d87545fc892747be171fcc53ff92b data/tfmg/loot_table/blocks/industrial_pipe.json +0dec251573b5d84ed94575bf89a3c411d5672926 data/tfmg/loot_table/blocks/large_aluminum_cogwheel.json +e729b578337bd10b5db803bc5be050f80e33132e data/tfmg/loot_table/blocks/large_engine.json +9d9c47c50a39b3f58067665f90b635897ec7639d data/tfmg/loot_table/blocks/large_pumpjack_hammer_connector.json +f8a0c50f30de29c35c3fef51d91b321a73a1e8e3 data/tfmg/loot_table/blocks/large_pumpjack_hammer_head.json +006d1655851bc1fbde0eac8f7c7fe41494c8c39b data/tfmg/loot_table/blocks/large_pumpjack_hammer_part.json +7c22db4257ec83fbad57d45907f2a2d8d36efbbe data/tfmg/loot_table/blocks/large_steel_cogwheel.json +0eb8ff993e4ee4283d893958ef7f4b43ef8fb76a data/tfmg/loot_table/blocks/layered_bauxite.json +554333fa846d9e2cb7ee56415b406a6664ece1f6 data/tfmg/loot_table/blocks/layered_galena.json +e16462cf4b1bcc65f54eb9b25f35a564e1988b0e data/tfmg/loot_table/blocks/lead_bars.json +2b7ed14066d12ea8e413b82d2c5526c5e598592c data/tfmg/loot_table/blocks/lead_block.json +938969c8adb8f8a3eea1b8bca55abfafc3d8694f data/tfmg/loot_table/blocks/lead_flywheel.json +84684c57398f8f763b49dce2d59e21bae1e1efec data/tfmg/loot_table/blocks/lead_frame.json +39e75daefdd642e689e4324b713e342d887c6b10 data/tfmg/loot_table/blocks/lead_ladder.json +0ff38bf2e6018b244bd14125b045feb6c1758f7b data/tfmg/loot_table/blocks/lead_ore.json +8038615384b3cf812f9e3e199b72b9b50bfeb1d8 data/tfmg/loot_table/blocks/lead_truss.json +52b22346584e16e46d6f687438448e55461c814e data/tfmg/loot_table/blocks/light_blue_caution_block.json +479ee165f12f62dca901656a787a3f9d3a92664d data/tfmg/loot_table/blocks/light_blue_concrete.json +9be67d1d64a4e385146d7beb09975c5c8fa4b34f data/tfmg/loot_table/blocks/light_blue_concrete_slab.json +e2b7c255b674e458702ffc21291003a299c4be57 data/tfmg/loot_table/blocks/light_blue_concrete_stairs.json +fafc039a368d88d0a285ab04a6de11c6c6f2ca21 data/tfmg/loot_table/blocks/light_blue_concrete_wall.json +76aa07fc93fa7f40511636c60b8611361542a704 data/tfmg/loot_table/blocks/light_blue_rebar_concrete.json +5c8067c3305b332e0e7f8a25ce41ca91f8ec9656 data/tfmg/loot_table/blocks/light_blue_rebar_concrete_slab.json +1cc55a8bb7ca9f1c8e01cf6673c4d5286222b897 data/tfmg/loot_table/blocks/light_blue_rebar_concrete_stairs.json +c6566e0453bf71ee17108a614c30c71c6f47882c data/tfmg/loot_table/blocks/light_blue_rebar_concrete_wall.json +0504e2ff0075c01e3bccd3029aa1cd551c90cf93 data/tfmg/loot_table/blocks/light_bulb.json +5ba05331b95f6de3faf888e3a675ae2d275eea7d data/tfmg/loot_table/blocks/light_gray_caution_block.json +023cd61586543f2a818fd03b67ce41309d598fe2 data/tfmg/loot_table/blocks/light_gray_concrete.json +306950f0ae0dde6021fa2283e11469c81e61b841 data/tfmg/loot_table/blocks/light_gray_concrete_slab.json +dbd82281ceec4783909a3adf9ec77faa07dedb4b data/tfmg/loot_table/blocks/light_gray_concrete_stairs.json +16f6e1e7ca0728038a5847408808611d6cf80796 data/tfmg/loot_table/blocks/light_gray_concrete_wall.json +390e3b26fef8b6b2413ff7fbf91d214f674b65c9 data/tfmg/loot_table/blocks/light_gray_rebar_concrete.json +d9fb157229106fdc3d11d3c053a87ed4b719aee3 data/tfmg/loot_table/blocks/light_gray_rebar_concrete_slab.json +6789ce862244b0d08769e9029e57a5a8c2ae2c38 data/tfmg/loot_table/blocks/light_gray_rebar_concrete_stairs.json +cda862f440d16ef94d7b1ae78cc4c7d55bbd23a6 data/tfmg/loot_table/blocks/light_gray_rebar_concrete_wall.json +8abe462183e49ece660c22a5300dbd8b880f1e56 data/tfmg/loot_table/blocks/lignite.json +73e40e82df71afbff749443a254fbf96fe453fa8 data/tfmg/loot_table/blocks/lime_caution_block.json +3128e2fab465b07b297b173e1f352e20881be7e1 data/tfmg/loot_table/blocks/lime_concrete.json +ff8741e0260fb0776b4fd17bf8f9e87a39f125a1 data/tfmg/loot_table/blocks/lime_concrete_slab.json +c2d2f1af771b83046dbaeead1eb8c75cefadf1d3 data/tfmg/loot_table/blocks/lime_concrete_stairs.json +b9e91980ce8ae1e4b98ec1e83e43ed0f89d9a8ca data/tfmg/loot_table/blocks/lime_concrete_wall.json +59196487cf741ff3f4b0c07ab413860dcfd6970f data/tfmg/loot_table/blocks/lime_rebar_concrete.json +0d253e94474a5909095551751fb8a20e81af03d9 data/tfmg/loot_table/blocks/lime_rebar_concrete_slab.json +cf4cc701f50b41fe922963417fc27daafc5a1cfc data/tfmg/loot_table/blocks/lime_rebar_concrete_stairs.json +3443a0c0a52a3e0c4b7fada266bb4308b78eba7b data/tfmg/loot_table/blocks/lime_rebar_concrete_wall.json +e1a503d8816dccf446e5dd3bacf122fe77d17909 data/tfmg/loot_table/blocks/lithium_block.json +943af45cf6fb40774dcadaf8480bbacea2c8f5d2 data/tfmg/loot_table/blocks/lithium_ore.json +592b2b6b2002f6c1658a52a0d1d066470eb9485e data/tfmg/loot_table/blocks/lithium_torch.json +a00e41e0acf9db1799ef0be1a02729bba2024441 data/tfmg/loot_table/blocks/machine_input.json +e1b68bac016f13c2e38399d8c1b35962868cbfe6 data/tfmg/loot_table/blocks/magenta_caution_block.json +c2dc4d95424cc5406375ae262a2167f425f4bd25 data/tfmg/loot_table/blocks/magenta_concrete.json +6c431bb8d310133d567c2b2f3213281fffdee1a5 data/tfmg/loot_table/blocks/magenta_concrete_slab.json +cd79c867508088901b01b6d102061c5f5a1bbc24 data/tfmg/loot_table/blocks/magenta_concrete_stairs.json +fa2ab4bc3da24a1870702d7fd65628ed55b6ac41 data/tfmg/loot_table/blocks/magenta_concrete_wall.json +4145b49a0d870c6ef8f82df31725b71563d51443 data/tfmg/loot_table/blocks/magenta_rebar_concrete.json +1ee9fb7d4689f998836b59b923ea2b7cf93bd5ff data/tfmg/loot_table/blocks/magenta_rebar_concrete_slab.json +464a2639caac80d12dee930c64249fe6cb03322e data/tfmg/loot_table/blocks/magenta_rebar_concrete_stairs.json +9233ba3c6c86a82ddf28654bf9997920250ae9bc data/tfmg/loot_table/blocks/magenta_rebar_concrete_wall.json +647b27bf2a5ff3376cde7422c44dbeffd8130ecd data/tfmg/loot_table/blocks/metal_smokestack.json +04588ccbc6f960a7a415d5f1cd83c38553aea219 data/tfmg/loot_table/blocks/modern_light.json +35d8d0fc24380f370f65f6ff8d3f2cee4a765a78 data/tfmg/loot_table/blocks/napalm_bomb.json +33a1d653364c4f28cb3c35067ed789bdbca77990 data/tfmg/loot_table/blocks/neon_tube.json +0ae9b931267bc7e518b9e2a98a401bcbd3e91318 data/tfmg/loot_table/blocks/nickel_bars.json +303f10e7adba41c5776d77e326b2f1f5a2bcb276 data/tfmg/loot_table/blocks/nickel_block.json +b897a01f80c17acb0695f99df2d1ae5bcd7c3151 data/tfmg/loot_table/blocks/nickel_flywheel.json +5e0b196ef4076f6c0c43d10a5e012a4619f65092 data/tfmg/loot_table/blocks/nickel_frame.json +ab933d32d869f1f3d14f9b873a1ce8b16e3d92f0 data/tfmg/loot_table/blocks/nickel_ladder.json +85770ed801f9a2f466ce019140c5b6269878961f data/tfmg/loot_table/blocks/nickel_ore.json +e6600a8166be2ccd22b97632d4ad23dd09387b1b data/tfmg/loot_table/blocks/nickel_truss.json +33193464c857799b9a051dde8f92e576cfa19367 data/tfmg/loot_table/blocks/oil_deposit.json +04f881ad099669a6596a08212311b4c9388c3e39 data/tfmg/loot_table/blocks/orange_caution_block.json +52a9593c3e96b7fc75a569b7daf1463c5e6191a7 data/tfmg/loot_table/blocks/orange_concrete.json +74a85e5b77d9505c456354151d387401c0c06279 data/tfmg/loot_table/blocks/orange_concrete_slab.json +e547f13789312a60d578d7274a408223ca9493ce data/tfmg/loot_table/blocks/orange_concrete_stairs.json +c9cf1aefe21398104b449b9ac91382d43ecbbd1a data/tfmg/loot_table/blocks/orange_concrete_wall.json +8f8b9d28842e2769ab862836f2e911e4b037c696 data/tfmg/loot_table/blocks/orange_rebar_concrete.json +44c71aa0a6c13583b1f282d4594903be49d6fc2c data/tfmg/loot_table/blocks/orange_rebar_concrete_slab.json +b2b684d345a0a113bcc383d397e32bf9f7df287a data/tfmg/loot_table/blocks/orange_rebar_concrete_stairs.json +515ac56267ae9472a06819e20e24abc47088c58b data/tfmg/loot_table/blocks/orange_rebar_concrete_wall.json +69ed7f9f87afc9e1f92e3fb3ff1cf3bb7ce1e799 data/tfmg/loot_table/blocks/pink_caution_block.json +60fb36f794ff55d05bb076711d5ada6d42653bf8 data/tfmg/loot_table/blocks/pink_concrete.json +73863c829a4bba975bac5d904eae275f33574a23 data/tfmg/loot_table/blocks/pink_concrete_slab.json +9a1ccd8328b183362070b2514eda25cf289ecce5 data/tfmg/loot_table/blocks/pink_concrete_stairs.json +caabb3d6941b481d0df6a0efd51c974970464633 data/tfmg/loot_table/blocks/pink_concrete_wall.json +c5bec502dee2d059a0915897d9e14188971c0fe2 data/tfmg/loot_table/blocks/pink_rebar_concrete.json +cc6c21b3baea05eb4da41a0c8aa2f786125da638 data/tfmg/loot_table/blocks/pink_rebar_concrete_slab.json +e47d4bb38ba2126595e6a454f1e0641270e5f8af data/tfmg/loot_table/blocks/pink_rebar_concrete_stairs.json +5e71e2085bb44a0ae774252cf22362e57badb7d5 data/tfmg/loot_table/blocks/pink_rebar_concrete_wall.json +5c425373743a7207507da4616e8701374c351cda data/tfmg/loot_table/blocks/plastic_block.json +62989ce4bcc79610ff0b73897df09d7277be73a0 data/tfmg/loot_table/blocks/plastic_mechanical_pump.json +4ec43919359dabba6c8410dc56d7299158cd874a data/tfmg/loot_table/blocks/plastic_pipe.json +7757f5bc3f76838ff25e442dfde14ec78f16d6bb data/tfmg/loot_table/blocks/plastic_smart_fluid_pipe.json +ba66e16bc9bbbddedc3db056ddecf30068e3841f data/tfmg/loot_table/blocks/polarizer.json +11704e3699bd2f871b4f5af9c7996651c0d2d69a data/tfmg/loot_table/blocks/polished_cut_bauxite.json +fdec0959eb33dd71d21c483c954a307ca79a7630 data/tfmg/loot_table/blocks/polished_cut_bauxite_slab.json +90903b031da75454f6c3ed5fe780599fc8c5b0e8 data/tfmg/loot_table/blocks/polished_cut_bauxite_stairs.json +04f1ced6b9599a376eb20cf3989a3ddc076c00be data/tfmg/loot_table/blocks/polished_cut_bauxite_wall.json +748e9008cf8dcaee108bceaa0532c53e7069ea61 data/tfmg/loot_table/blocks/polished_cut_galena.json +6f96d36b6b17f12f7083f8806cb6aac8b5511a4d data/tfmg/loot_table/blocks/polished_cut_galena_slab.json +e7d540c06e7ce14a84b961dfbd57b0f21dd4c7ce data/tfmg/loot_table/blocks/polished_cut_galena_stairs.json +39085d864a824134dc2fbe5af21c46415e714d4c data/tfmg/loot_table/blocks/polished_cut_galena_wall.json +eba74936d7734a130b026c17c092640965a10898 data/tfmg/loot_table/blocks/potentiometer.json +51a05e6defa8177daeb08bc01b34d77f0e944444 data/tfmg/loot_table/blocks/pumpjack_base.json +e77a4fe20d8f0274b325b2964161ba88499e51b9 data/tfmg/loot_table/blocks/pumpjack_crank.json +c68cb91911c547d7433316fca6c4139608cbea08 data/tfmg/loot_table/blocks/pumpjack_hammer.json +c0d39686c06fab07f5b22601255c9fd7a1b06b0f data/tfmg/loot_table/blocks/pumpjack_hammer_connector.json +4183e6c4296497ea2c12a99120479472a52378aa data/tfmg/loot_table/blocks/pumpjack_hammer_head.json +2b7d3caad431fb03f0817367f8b8872c91f16b49 data/tfmg/loot_table/blocks/pumpjack_hammer_part.json +300b520db1bd4f65f308c778b7d9d1024ea8d121 data/tfmg/loot_table/blocks/purple_caution_block.json +0cd3f26f34107c5dc20f5a5564dfde2b73c327f3 data/tfmg/loot_table/blocks/purple_concrete.json +bf60ae731efeac0968effc7ed300b9af351163e9 data/tfmg/loot_table/blocks/purple_concrete_slab.json +fe680d135d2cbc3e1d16b22dc55264857da885f1 data/tfmg/loot_table/blocks/purple_concrete_stairs.json +78bee62f0f98cac597adb50396fff1b27e3ce24e data/tfmg/loot_table/blocks/purple_concrete_wall.json +88a6ad7f6d19d0fc2a5592bd66054f1ab8b3a6dc data/tfmg/loot_table/blocks/purple_rebar_concrete.json +d2fa9f08a6af6b93f6f7c9d5bd4d5224762073d1 data/tfmg/loot_table/blocks/purple_rebar_concrete_slab.json +1815c93721aa88d56ba19bb531748309f2dc5d53 data/tfmg/loot_table/blocks/purple_rebar_concrete_stairs.json +e2d793873db74a1225db5984149c86333683a610 data/tfmg/loot_table/blocks/purple_rebar_concrete_wall.json +b50d4b74c02f074de0da5de385aeb19f9a5fa26f data/tfmg/loot_table/blocks/radial_engine.json +c151aeccce85ffc594ea4a02fb55c2d83ac43d04 data/tfmg/loot_table/blocks/raw_lead_block.json +fea2cdc5d851988d3274f3809aaf3dab4edcf611 data/tfmg/loot_table/blocks/raw_lithium_block.json +2075bb2a9d6c60f0aece85373668a96a8dcdd192 data/tfmg/loot_table/blocks/raw_nickel_block.json +58657ba63913ebfb0cabd48e262bcb5032609e37 data/tfmg/loot_table/blocks/rebar_block.json +9701e07427b96c5beccd0aab015be98cf51402f4 data/tfmg/loot_table/blocks/rebar_concrete.json +23ea2541f57bb395658a582d12b102649862a7df data/tfmg/loot_table/blocks/rebar_concrete_slab.json +496290a326d9a135d62384376487a2662feaa164 data/tfmg/loot_table/blocks/rebar_concrete_stairs.json +1c31dca13a3ed3f322deb2aa037374527a067f1a data/tfmg/loot_table/blocks/rebar_concrete_wall.json +5f6731b8d059f1ffde4631819adafd4d64648012 data/tfmg/loot_table/blocks/rebar_floor.json +fd0e9c911609dd011683629786d8119c33e82a9b data/tfmg/loot_table/blocks/rebar_pile.json +7c4983686895688648c6496fbb872acd963cbb90 data/tfmg/loot_table/blocks/rebar_pillar.json +a4b13ac7a5f8dc873f080b0885e86ad1e1401025 data/tfmg/loot_table/blocks/rebar_stairs.json +4554ff99bb6f1ed22ac6095b6d9001a9292051f8 data/tfmg/loot_table/blocks/rebar_wall.json +bddc8658ce4866db0736711f68c260e03e1b5027 data/tfmg/loot_table/blocks/red_caution_block.json +deb53e320340051d155d4470be07cd62bcdb63db data/tfmg/loot_table/blocks/red_concrete.json +3064ec3ca7c40192d67786d25aa8e999424f371a data/tfmg/loot_table/blocks/red_concrete_slab.json +bc49decb49d2607d14d3780698eb26912fdb3cca data/tfmg/loot_table/blocks/red_concrete_stairs.json +0561b72aeae6c481a7d4e8b7f366ceb62cf8a590 data/tfmg/loot_table/blocks/red_concrete_wall.json +06b83127ea1970ad573e2e098923679f5996200a data/tfmg/loot_table/blocks/red_rebar_concrete.json +3deb12e91e4858545c2a61682bbe2bf04b3060c3 data/tfmg/loot_table/blocks/red_rebar_concrete_slab.json +f63074e38a6744cbc32057af22f41af4007d93ba data/tfmg/loot_table/blocks/red_rebar_concrete_stairs.json +6dee967a5b4fadcd7dcbd2ee129e2b258a5e08a7 data/tfmg/loot_table/blocks/red_rebar_concrete_wall.json +1afc78bc733fbc3e959b62bf69144ff351175c62 data/tfmg/loot_table/blocks/regular_engine.json +0a3ac7d03abd946b9cfd9911123c36b1f88868cc data/tfmg/loot_table/blocks/reinforced_fireproof_bricks.json +4f8eff58e1d70359fcc311cfd3c06934575283a6 data/tfmg/loot_table/blocks/resistor.json +1ecc1271eac2241115656726bb694b78974d0fa7 data/tfmg/loot_table/blocks/rotor.json +4318592a9e3d008736a5d523e4c86a1410376aee data/tfmg/loot_table/blocks/rusted_blast_furnace_reinforcement.json +1c74eb77c0be823e02bbf6746688a1762d931060 data/tfmg/loot_table/blocks/rusted_blast_furnace_reinforcement_wall.json +b59142de22c713838e1d2aed80967cc1988867ef data/tfmg/loot_table/blocks/segmented_display.json +630f7af68e021a40a994ffaa36aecba276c180d7 data/tfmg/loot_table/blocks/simple_large_engine.json +8243feb84772c561d556050afb7be5da682b97e1 data/tfmg/loot_table/blocks/slag_block.json +b51a8c49e316fb073ba28bdb93a2b0869e063e4d data/tfmg/loot_table/blocks/slag_bricks.json +59e5c7c3e5ef8aaf000fe25117a5e1b6e4ad87e7 data/tfmg/loot_table/blocks/small_bauxite_bricks.json +42034d36454996ce6128ecd3910b21ef2b2317c7 data/tfmg/loot_table/blocks/small_bauxite_brick_slab.json +ba76e6c59d3ba6a7946a1aea218ab5df3e0451be data/tfmg/loot_table/blocks/small_bauxite_brick_stairs.json +8923a8739359772bfd9c17f1059d0f370a72c3d0 data/tfmg/loot_table/blocks/small_bauxite_brick_wall.json +aab46978aac05b478a7c0743db17380b920f568b data/tfmg/loot_table/blocks/small_galena_bricks.json +38a97f0389bb647c34aaff1ad01d87a7b18fc61a data/tfmg/loot_table/blocks/small_galena_brick_slab.json +75de47074e574bb9ed8e6d08e496ea1be9214556 data/tfmg/loot_table/blocks/small_galena_brick_stairs.json +221c22a982b651ed7e0e8d6b8021634e4018ec73 data/tfmg/loot_table/blocks/small_galena_brick_wall.json +b5502f5eaffc8e664f0814ad7cd073712cc0ab0b data/tfmg/loot_table/blocks/stator.json +08b26b854409c24f46a0772acdf368615e3b066a data/tfmg/loot_table/blocks/steel_bars.json +907a9c0285da8025ea7dd05f8cdb739ee1765527 data/tfmg/loot_table/blocks/steel_block.json +1bd6da288bcbbe7142b377c40b5879c134707d62 data/tfmg/loot_table/blocks/steel_cable_hub.json +311abdcb0a50fc3a4b39c86ea274dc92d89e88ce data/tfmg/loot_table/blocks/steel_casing.json +877c35fd0ddc5363419fd1d68f9fc52484f46525 data/tfmg/loot_table/blocks/steel_casing_cable_hub.json +5c4dc6c516ffe1e6a9dfde72d320dd8733534419 data/tfmg/loot_table/blocks/steel_chemical_vat.json +77bad2068691e0eb7f9c0f3887fcda4293a2702f data/tfmg/loot_table/blocks/steel_cogwheel.json +01a59e91100a5bce2d3e39a17e18a734e7b9ca50 data/tfmg/loot_table/blocks/steel_distillation_controller.json +a68825e075a9b8610e1a90bd5ae6561851e861ff data/tfmg/loot_table/blocks/steel_distillation_output.json +aec8d1f9638ae76cd8dde07db6676ebda4cdb576 data/tfmg/loot_table/blocks/steel_door.json +ab8f1f5b36e45f4f04000722523e6ab51c16cd1e data/tfmg/loot_table/blocks/steel_encased_aluminum_cogwheel.json +4b0f2e2b967fb1e58bfebf7b6edb6ca5a55f4bf2 data/tfmg/loot_table/blocks/steel_encased_large_aluminum_cogwheel.json +e7eb9c82ecd0cd37cdc5479f1dcde1f1834728d1 data/tfmg/loot_table/blocks/steel_encased_large_steel_cogwheel.json +95d7c20cb7fa33ba0db4152e384cac0f5318d9c6 data/tfmg/loot_table/blocks/steel_encased_shaft.json +ac74e4ea69db5d6334b0ff7fac7193ea31fd055f data/tfmg/loot_table/blocks/steel_encased_steel_cogwheel.json +8e69c03f9611854b620ff6e211c8d30dfd510725 data/tfmg/loot_table/blocks/steel_fluid_tank.json +fe85febd25b30c6f2c4105b4c1831e7089a429cc data/tfmg/loot_table/blocks/steel_flywheel.json +2edee1ffab4ef46c18dbed3760318d4733a755f1 data/tfmg/loot_table/blocks/steel_frame.json +fc69d4f1f2f4d883097820f1f512ab1d8f1ba9ff data/tfmg/loot_table/blocks/steel_gearbox.json +3085aaaf421f4c5fc9e17b8d465daf42746fac1f data/tfmg/loot_table/blocks/steel_ladder.json +555c6158d69a02a5c5c9a668b0a70e3c5656a185 data/tfmg/loot_table/blocks/steel_mechanical_pump.json +7dc9e7afa448dfd41aad12d73c6386fa9e41d2b4 data/tfmg/loot_table/blocks/steel_pipe.json +407c9e0073e52cc12d41c9dea48a77e2fcff469d data/tfmg/loot_table/blocks/steel_scaffolding.json +e8d3f005131d766caa2cdebb156a205a908d65d4 data/tfmg/loot_table/blocks/steel_smart_fluid_pipe.json +aad98868e2a12899a9ae9f30ce409b936d9ba7bd data/tfmg/loot_table/blocks/steel_trapdoor.json +4fc73fc7c1ae78f0571798470423a1245d27f6f6 data/tfmg/loot_table/blocks/steel_truss.json +65ebbfb787101b8df455632f211bb3bfb511d3b3 data/tfmg/loot_table/blocks/sulfur.json +b9d01fccfddf5458a705560da5cd2450bdfde9ec data/tfmg/loot_table/blocks/surface_scanner.json +ed5b75cddc07db30b57b633c9ce5572546899aa2 data/tfmg/loot_table/blocks/traffic_light.json +b112d5170c07072a431a3e36476a653ff2647160 data/tfmg/loot_table/blocks/transformer.json +bfdb6c14c176353d389320901ef97072adcd05c8 data/tfmg/loot_table/blocks/turbine_engine.json +b5310b6e5e668d1b4fa3225e9672fd185f6831c2 data/tfmg/loot_table/blocks/voltage_observer.json +e8d2138992850b78009c0af31dcf3a743a41ecde data/tfmg/loot_table/blocks/voltmeter.json +295dc761fbdb402edc3f990ec2d676e0f6fc29bf data/tfmg/loot_table/blocks/white_caution_block.json +fd2fb6c0994493120deeb157598e679bdb9f7f6b data/tfmg/loot_table/blocks/white_concrete.json +396ddaa69cbf3ef1e75608597214f4eb9b48efc9 data/tfmg/loot_table/blocks/white_concrete_slab.json +e2fe06d34bac1b21888854799bb990f5262f9a6b data/tfmg/loot_table/blocks/white_concrete_stairs.json +f31b4d717136e913c76ba8d824a71618548f045a data/tfmg/loot_table/blocks/white_concrete_wall.json +ae0c6ca42991ba0998b04fa6e11c31887ba48826 data/tfmg/loot_table/blocks/white_rebar_concrete.json +99ab877ae74c842bbb3e444d4d81f71cd4285c97 data/tfmg/loot_table/blocks/white_rebar_concrete_slab.json +29b9d841617ea11e102abfe575da03f9163de129 data/tfmg/loot_table/blocks/white_rebar_concrete_stairs.json +25529a9ee3330ae7d47f044d9874cc5e0fa9125b data/tfmg/loot_table/blocks/white_rebar_concrete_wall.json +c2fa303292b5e0d7cc845b2359e993a93ac17143 data/tfmg/loot_table/blocks/winding_machine.json +e80882ac608f24c23133fc944c2c0d43638364f3 data/tfmg/loot_table/blocks/yellow_caution_block.json +01922dce8b528d752fbd63e85b7e9337f1a72f15 data/tfmg/loot_table/blocks/yellow_concrete.json +f4b6769aee0354874e25c134e38ea0decdd56c2e data/tfmg/loot_table/blocks/yellow_concrete_slab.json +d3b883aa3e467323bc7ec2ed0dc7352a5782ff91 data/tfmg/loot_table/blocks/yellow_concrete_stairs.json +401f7e0837e0f44de7416f2da015ba64dc035630 data/tfmg/loot_table/blocks/yellow_concrete_wall.json +3cb79501e7057130cf2b748d46fb2b8ad0140eef data/tfmg/loot_table/blocks/yellow_rebar_concrete.json +d47a4526e84bb4ae86d0fd3cdc6dcef163b6c916 data/tfmg/loot_table/blocks/yellow_rebar_concrete_slab.json +ac71a7cb17ded7c522dfe453237ff6e110f465e3 data/tfmg/loot_table/blocks/yellow_rebar_concrete_stairs.json +ad40cb94d1cf8f080d967b20412e48d7ea3fc6d2 data/tfmg/loot_table/blocks/yellow_rebar_concrete_wall.json +476e015c6e6526402898ea75be67610706df202c data/tfmg/loot_table/blocks/zinc_frame.json +665c4e1215f97086e6a465c36168ad6a52fc1347 data/tfmg/loot_table/blocks/zinc_truss.json +87f0bcdbd5cfdc2569469bf6beda9014146b946b data/tfmg/recipe/aluminum_bars_from_ingots_aluminum_stonecutting.json +3fe4442520c2505c8ff2885b23eaabe349d3f62e data/tfmg/recipe/aluminum_ladder_from_ingots_aluminum_stonecutting.json +54c727587feae67f239c64f0b2581413550ce058 data/tfmg/recipe/aluminum_scaffolding_from_ingots_aluminum_stonecutting.json +c86cb208b5a06040d74acf66a6cabb44c737fa1f data/tfmg/recipe/aluminum_wire_from_ingots_aluminum_stonecutting.json +221bc87e38a2c887ebf69299e41850ed2b297a28 data/tfmg/recipe/asphalt_slab_from_asphalt_stonecutting.json +e3309318c44ff1811815a1e39b936c65ca8e6352 data/tfmg/recipe/asphalt_stairs_from_asphalt_stonecutting.json +b9109d135afa6642bf1a6ccac24ba5b9a8a6e89d data/tfmg/recipe/asphalt_wall_from_asphalt_stonecutting.json +2b2dc7639243406772ec7ed8f12b7955cc4e90d9 data/tfmg/recipe/bauxite_from_stone_types_bauxite_stonecutting.json +bb5740c678f3f316074dc25da5c896077cb76fd4 data/tfmg/recipe/bauxite_pillar_from_stone_types_bauxite_stonecutting.json +dce008bd32686261a8b5d21757d67fc19b94bdfc data/tfmg/recipe/black_concrete_slab_from_black_concrete_stonecutting.json +9011f2c9dfd770458c9454874e9322416faf4429 data/tfmg/recipe/black_concrete_stairs_from_black_concrete_stonecutting.json +aab6de96d37f21c710e7e7850e8078c1820fae1d data/tfmg/recipe/black_concrete_wall_from_black_concrete_stonecutting.json +b6e63028a81baf5de2ec5b45e9e7a8532dc69240 data/tfmg/recipe/black_rebar_concrete_slab_from_black_rebar_concrete_stonecutting.json +bcc31bf12d878c2a09ffc5c1d221b069db14ef13 data/tfmg/recipe/black_rebar_concrete_stairs_from_black_rebar_concrete_stonecutting.json +b55fce6ef3e5c3f238e47d118ac26419f29f5f2a data/tfmg/recipe/black_rebar_concrete_wall_from_black_rebar_concrete_stonecutting.json +cf90535f6409e3eef145b0d7dfdc20068b931e21 data/tfmg/recipe/blue_caution_block_from_ingots_aluminum_stonecutting.json +c29e8c8f2880a2f9672ea42d4d16723ef116a1cd data/tfmg/recipe/blue_concrete_slab_from_blue_concrete_stonecutting.json +ba76bc0b168acf5956d509b37b35c0981fb01e47 data/tfmg/recipe/blue_concrete_stairs_from_blue_concrete_stonecutting.json +2cd3f00b19e9ed260b9a44851de4484a859e192c data/tfmg/recipe/blue_concrete_wall_from_blue_concrete_stonecutting.json +3e97f61dfc75457c71e3f862ddce401c102c641a data/tfmg/recipe/blue_rebar_concrete_slab_from_blue_rebar_concrete_stonecutting.json +67e0047ee4bd03dee39e6982191975cb2ba03607 data/tfmg/recipe/blue_rebar_concrete_stairs_from_blue_rebar_concrete_stonecutting.json +fefd619a4f00f62fc75c9d54665ff54732a04bbb data/tfmg/recipe/blue_rebar_concrete_wall_from_blue_rebar_concrete_stonecutting.json +4cfa4d20a365e17d3850489c66f509fa31fe6196 data/tfmg/recipe/brown_caution_block_from_ingots_aluminum_stonecutting.json +bec3d829ab20fdebecfd48f4fc3e1a93dd75a871 data/tfmg/recipe/brown_concrete_slab_from_brown_concrete_stonecutting.json +590a9aaaa0363605e63175f12179f968934ed839 data/tfmg/recipe/brown_concrete_stairs_from_brown_concrete_stonecutting.json +5902d48070176ef0860ee1a3393070a15e39b9af data/tfmg/recipe/brown_concrete_wall_from_brown_concrete_stonecutting.json +a76a2e51ae6f12eda35bb9357c35ad6d66c49fbf data/tfmg/recipe/brown_rebar_concrete_slab_from_brown_rebar_concrete_stonecutting.json +b6073fb1630c96161d6132d1d6a8c3ea89c31bc1 data/tfmg/recipe/brown_rebar_concrete_stairs_from_brown_rebar_concrete_stonecutting.json +dfeb159f9ffa4f7f256eaf7eaeb437370fb7891c data/tfmg/recipe/brown_rebar_concrete_wall_from_brown_rebar_concrete_stonecutting.json +0d2782257b592d410c701d2d8157cde352ece9d1 data/tfmg/recipe/cast_iron_bars_from_ingots_cast_iron_stonecutting.json +98bf43e05c849a321afbaa96b21ab2b515d2768f data/tfmg/recipe/cast_iron_ladder_from_ingots_cast_iron_stonecutting.json +bc7e938b25f13f7cd3f05c85946a6704524a1388 data/tfmg/recipe/cinderblock_from_concrete_stonecutting.json +cefd70bd26ac9183492f129bcf9062fb7c0ef506 data/tfmg/recipe/concrete_slab_from_concrete_stonecutting.json +ff404af851ca3d97b892017ada072baac8df7b83 data/tfmg/recipe/concrete_stairs_from_concrete_stonecutting.json +618f813cf58d19948494d961487165de0069dec0 data/tfmg/recipe/concrete_wall_from_concrete_stonecutting.json +b07387140f9967c422a2eb289939e7f5c8a9f52b data/tfmg/recipe/constantan_ladder_from_ingots_constantan_stonecutting.json +3825ba199fcbfc7a787c93857526e1273e4bd468 data/tfmg/recipe/constantan_wire_from_ingots_constantan_stonecutting.json +ee7c220a551ba9657a574549de94a3f726d6948a data/tfmg/recipe/copper_electrode_from_storage_blocks_copper_stonecutting.json +9d563791345949af0f3c095fa3d06f08e29cc121 data/tfmg/recipe/copper_wire_from_ingots_copper_stonecutting.json +f06ac12dfe69ea693b258afc9b6d3147e5d77167 data/tfmg/recipe/cut_bauxite_bricks_from_stone_types_bauxite_stonecutting.json +f9399cb2994fe4ce08340a3fc20ba9806d34c26b data/tfmg/recipe/cut_bauxite_brick_slab.json +ce241ed3fa716ac84bd6a7ef2093809d423c1f05 data/tfmg/recipe/cut_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json +4f15f49f86596c2f80b08358c0688fea43b71765 data/tfmg/recipe/cut_bauxite_brick_slab_recycling.json +dd7405cf8b143f7fb687988547545e4805f7828c data/tfmg/recipe/cut_bauxite_brick_stairs.json +4986c44c71c3517711331b2e4f2856441aa1865e data/tfmg/recipe/cut_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json +f22ff5a88c59c18b78ace7d8ee8eab90851e3075 data/tfmg/recipe/cut_bauxite_brick_wall.json +504163ca3044690ec1fb2372c684383d20125b16 data/tfmg/recipe/cut_bauxite_brick_wall_from_stone_types_bauxite_stonecutting.json +2bdf8512e74ac6d5fcb3fac41993875e7b8d7948 data/tfmg/recipe/cut_bauxite_from_stone_types_bauxite_stonecutting.json +828543f8db23990027bc52dbe862e7c4fb7e5fe4 data/tfmg/recipe/cut_bauxite_slab.json +7e1da07bd343a288943324b6d2c24e1e484afffe data/tfmg/recipe/cut_bauxite_slab_from_stone_types_bauxite_stonecutting.json +2bd68e3315a8f4669c8f663f7a7898c8d5738ae2 data/tfmg/recipe/cut_bauxite_slab_recycling.json +c058184d5487de3272fb66bd5f9e09dd84a0fd4c data/tfmg/recipe/cut_bauxite_stairs.json +a296e12fc00cbd54df1b8b9579659a793fecde51 data/tfmg/recipe/cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json +183f723c3e37aa6805589e684d8d8eb545326d2e data/tfmg/recipe/cut_bauxite_wall.json +e0b4e4f82fbd33a9ebe4092026e9f8135c61b6d6 data/tfmg/recipe/cut_bauxite_wall_from_stone_types_bauxite_stonecutting.json +43e21caca811cae6ec87d7fbe6b065ae830f0c3b data/tfmg/recipe/cut_galena_bricks_from_stone_types_galena_stonecutting.json +c1be3117cf64ad95fced8ce1b456c5ba2864f9b2 data/tfmg/recipe/cut_galena_brick_slab.json +eca6c5b7f652ce9f674de284c2a7b7afd97c8bb0 data/tfmg/recipe/cut_galena_brick_slab_from_stone_types_galena_stonecutting.json +6d4468bce7f24fa7ec973503082d2f49d7243a85 data/tfmg/recipe/cut_galena_brick_slab_recycling.json +577d63554c4fb06ff810c5b17d953c96b522acb9 data/tfmg/recipe/cut_galena_brick_stairs.json +101482d3ea040bb452ba7ea510f6d5bde8b87a88 data/tfmg/recipe/cut_galena_brick_stairs_from_stone_types_galena_stonecutting.json +dc02aca722782ff4e72a282caf8152050c1c0cd4 data/tfmg/recipe/cut_galena_brick_wall.json +c9ba11e56c0e4e1b94131fa3959551041a2d13b8 data/tfmg/recipe/cut_galena_brick_wall_from_stone_types_galena_stonecutting.json +7f2512968ba2234fbbc264cca62b3742dea588b9 data/tfmg/recipe/cut_galena_from_stone_types_galena_stonecutting.json +c0f2afe82f3cb21d8f314ebc17eff6f5d687229d data/tfmg/recipe/cut_galena_slab.json +6d3916b5dff8f3f2792ef8bc12f8e5c2d3046e4c data/tfmg/recipe/cut_galena_slab_from_stone_types_galena_stonecutting.json +94afc891b5257df76c7ab8daee734b222bd1b07c data/tfmg/recipe/cut_galena_slab_recycling.json +2cf62a18544f80282aec7ea81f8da2a2ca049301 data/tfmg/recipe/cut_galena_stairs.json +b251f4ad1891c232503ece28fb95677d0e04dc01 data/tfmg/recipe/cut_galena_stairs_from_stone_types_galena_stonecutting.json +4a362b2168a0b6182e853db7ecd9da93470d59e1 data/tfmg/recipe/cut_galena_wall.json +bc2f3e10244f4227aab606617d512c9902bc174e data/tfmg/recipe/cut_galena_wall_from_stone_types_galena_stonecutting.json +34782076d7471a096778a17bba4fd9b9979836eb data/tfmg/recipe/cyan_caution_block_from_ingots_aluminum_stonecutting.json +a11f36a499b9f4e090605d1eeaf3a999dee89eb3 data/tfmg/recipe/cyan_concrete_slab_from_cyan_concrete_stonecutting.json +cbb749922e96052c125864c1f63a865b8d3fabc3 data/tfmg/recipe/cyan_concrete_stairs_from_cyan_concrete_stonecutting.json +f1f00727fa2f79df5af3804e5260f058d4da61e3 data/tfmg/recipe/cyan_concrete_wall_from_cyan_concrete_stonecutting.json +eb7137c8713e20823ec76087ac6e8fa163f0ad4a data/tfmg/recipe/cyan_rebar_concrete_slab_from_cyan_rebar_concrete_stonecutting.json +fbc8bee307a0df6e51cf064b71d034fb744945fa data/tfmg/recipe/cyan_rebar_concrete_stairs_from_cyan_rebar_concrete_stonecutting.json +789b3f814b97ea76d4b0bc065694f8cc9d6de594 data/tfmg/recipe/cyan_rebar_concrete_wall_from_cyan_rebar_concrete_stonecutting.json +45144d04637747726f17eaa1fae3dfaa8fa807d1 data/tfmg/recipe/empty_spool_from_hardened_planks_stonecutting.json +807e766e67e027efefac60bf67180b2f76df68bb data/tfmg/recipe/factory_floor_from_ingots_aluminum_stonecutting.json +221e4bd5d0d5dc1b34564feed2378294d53f41ea data/tfmg/recipe/galena_from_stone_types_galena_stonecutting.json +e7c56102cf2fe7e2243bbd607124f1cfbc9be3a0 data/tfmg/recipe/galena_pillar_from_stone_types_galena_stonecutting.json +10dd1e1be67c2ba4ca82acb45d64180a59ff7a8c data/tfmg/recipe/graphite_electrode_from_storage_blocks_coal_coke_stonecutting.json +6a71e466ffe122aedaa99fe0a10ae948efd0ae6d data/tfmg/recipe/gray_caution_block_from_ingots_aluminum_stonecutting.json +11d7f57ced8baea6f46f4bc930da1bf04b3b73bc data/tfmg/recipe/gray_concrete_slab_from_gray_concrete_stonecutting.json +1488eb28ad0365048b305ebab36ca5cb0cede150 data/tfmg/recipe/gray_concrete_stairs_from_gray_concrete_stonecutting.json +e85caab29c0ecf97831da321c0a8d0a66c50fa83 data/tfmg/recipe/gray_concrete_wall_from_gray_concrete_stonecutting.json +e2a32584a53be6034c167c860420845e2834214f data/tfmg/recipe/gray_rebar_concrete_slab_from_gray_rebar_concrete_stonecutting.json +ad9578737ece4f6c7af7ab75dd6d02eccd0e76ee data/tfmg/recipe/gray_rebar_concrete_stairs_from_gray_rebar_concrete_stonecutting.json +fb4ef4b4264b5ca8524c69fe6a949467cf176be9 data/tfmg/recipe/gray_rebar_concrete_wall_from_gray_rebar_concrete_stonecutting.json +d0fbe80bc076e6a9b8af1f709920361bbeda3bc9 data/tfmg/recipe/green_caution_block_from_ingots_aluminum_stonecutting.json +799298affd8c0502a2587e4906b5a9079ce1e497 data/tfmg/recipe/green_concrete_slab_from_green_concrete_stonecutting.json +919635f20152472908f4e0dd16c22633fb30a38d data/tfmg/recipe/green_concrete_stairs_from_green_concrete_stonecutting.json +518de3664dd7977fda676dcc9781cb44e5304434 data/tfmg/recipe/green_concrete_wall_from_green_concrete_stonecutting.json +fa136ea484ba6b2f8f7134a957eb8868184d9598 data/tfmg/recipe/green_rebar_concrete_slab_from_green_rebar_concrete_stonecutting.json +a986c6e056c0d2cc10ad81a674c8d283489c20d0 data/tfmg/recipe/green_rebar_concrete_stairs_from_green_rebar_concrete_stonecutting.json +caaca7ac8153c1b0a382b451f5ecde352751105d data/tfmg/recipe/green_rebar_concrete_wall_from_green_rebar_concrete_stonecutting.json +2c473af2353d6416a2729c4bb4278dd28b086781 data/tfmg/recipe/industrial_pipe_from_ingots_steel_stonecutting.json +7aa7dedb7fc297cbbcce5766692e7bbaa13d0cd5 data/tfmg/recipe/large_pumpjack_hammer_part_from_storage_blocks_steel_stonecutting.json +a9d7a484e292449ee38e95e90455e2624afe3580 data/tfmg/recipe/layered_bauxite_from_stone_types_bauxite_stonecutting.json +423df4a6c6cfc2c1651e71e5d5924d919a0b5042 data/tfmg/recipe/layered_galena_from_stone_types_galena_stonecutting.json +30be8d8315d413a2fb0e7167e64832d393839a61 data/tfmg/recipe/lead_bars_from_ingots_lead_stonecutting.json +04405e662da692443861a3212d93c3791df2ca49 data/tfmg/recipe/lead_ladder_from_ingots_lead_stonecutting.json +4a91fed8550fc1693eb743392aa502f38519296e data/tfmg/recipe/light_blue_caution_block_from_ingots_aluminum_stonecutting.json +945a0604de5cac5431332a2c89156e3db549bfdd data/tfmg/recipe/light_blue_concrete_slab_from_light_blue_concrete_stonecutting.json +ef383d16ac0a11a3a2f6715c1139e086a4f2a7fd data/tfmg/recipe/light_blue_concrete_stairs_from_light_blue_concrete_stonecutting.json +b2d58775b0f42bdc1dbc124b7a8bae69223f7083 data/tfmg/recipe/light_blue_concrete_wall_from_light_blue_concrete_stonecutting.json +c6e644b3a2419ed33aeec0c9287e61799b800f64 data/tfmg/recipe/light_blue_rebar_concrete_slab_from_light_blue_rebar_concrete_stonecutting.json +ba3ddf155c7c1ca5019f64ad4560cac0afc5c557 data/tfmg/recipe/light_blue_rebar_concrete_stairs_from_light_blue_rebar_concrete_stonecutting.json +c895e6c2c38a5df589767e5dd0fb8aad6869fbbf data/tfmg/recipe/light_blue_rebar_concrete_wall_from_light_blue_rebar_concrete_stonecutting.json +8260fa6ca8e7b9f3ead5b760ccbdfc46599da262 data/tfmg/recipe/light_gray_caution_block_from_ingots_aluminum_stonecutting.json +006564f4b2a23d92492072e59c86058b522e6893 data/tfmg/recipe/light_gray_concrete_slab_from_light_gray_concrete_stonecutting.json +a0c1a6e80ad9483fdbca99dd40ac515b6a626d59 data/tfmg/recipe/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json +15587a2d5649fc9929f8b6077322220df7074447 data/tfmg/recipe/light_gray_concrete_wall_from_light_gray_concrete_stonecutting.json +f5be106b4f74b1c0444e47d3f3f1bb67ff33e187 data/tfmg/recipe/light_gray_rebar_concrete_slab_from_light_gray_rebar_concrete_stonecutting.json +6f3422b3b263119202a3766d9690959a26da848a data/tfmg/recipe/light_gray_rebar_concrete_stairs_from_light_gray_rebar_concrete_stonecutting.json +ded86846c4c2c828e2d4cbb6f04e9f2f3f030f32 data/tfmg/recipe/light_gray_rebar_concrete_wall_from_light_gray_rebar_concrete_stonecutting.json +740cfa42f4b7a7e79ac9cfc60323a6ccf95d84fd data/tfmg/recipe/lime_caution_block_from_ingots_aluminum_stonecutting.json +85affd1eaae969eec438767fb42d8fa8db7cd92e data/tfmg/recipe/lime_concrete_slab_from_lime_concrete_stonecutting.json +f003494226ebf248770bee6d972a59e3ef09e870 data/tfmg/recipe/lime_concrete_stairs_from_lime_concrete_stonecutting.json +5f368fe5cf6f4b119055520ef75aaf62a1876190 data/tfmg/recipe/lime_concrete_wall_from_lime_concrete_stonecutting.json +21047d0bf516c46f2cd19d2f76b247fe081f2e4d data/tfmg/recipe/lime_rebar_concrete_slab_from_lime_rebar_concrete_stonecutting.json +98cc0b8ff8855c81ec7003943b2e52ba5d4a788d data/tfmg/recipe/lime_rebar_concrete_stairs_from_lime_rebar_concrete_stonecutting.json +9a63bc6b1f6a0358af091f84382ba96a7b3092b3 data/tfmg/recipe/lime_rebar_concrete_wall_from_lime_rebar_concrete_stonecutting.json +1b279fc317a2ac95a737bf330f4f90743386b2f4 data/tfmg/recipe/magenta_caution_block_from_ingots_aluminum_stonecutting.json +bf8e8334e6d8a41c071d49e33481e0bed73463d6 data/tfmg/recipe/magenta_concrete_slab_from_magenta_concrete_stonecutting.json +44c0b99416450155fedcb6d08b836c2f3bf74962 data/tfmg/recipe/magenta_concrete_stairs_from_magenta_concrete_stonecutting.json +af506f9ec69a058e5abe57f116d603439d4497d9 data/tfmg/recipe/magenta_concrete_wall_from_magenta_concrete_stonecutting.json +8d18a2618955d492b623807ae1b1333eb6d1aabc data/tfmg/recipe/magenta_rebar_concrete_slab_from_magenta_rebar_concrete_stonecutting.json +9f87a93c47a6414a3a8030c93dbc6b0a95e1c7e4 data/tfmg/recipe/magenta_rebar_concrete_stairs_from_magenta_rebar_concrete_stonecutting.json +732e3b5456b1578f079302601430fb227150f6f8 data/tfmg/recipe/magenta_rebar_concrete_wall_from_magenta_rebar_concrete_stonecutting.json +95a46dd16cee08cead697a72145492feeb5eb177 data/tfmg/recipe/nickel_bars_from_ingots_nickel_stonecutting.json +51314ee884f1ab71ba24d4f761ab222086f22f60 data/tfmg/recipe/nickel_ladder_from_ingots_nickel_stonecutting.json +eaa601c49cb2a4b8e5f004dc27b8da9488fe0bed data/tfmg/recipe/orange_caution_block_from_ingots_aluminum_stonecutting.json +c08c1943d49ca6eedcd5cb795e0f052823f238a5 data/tfmg/recipe/orange_concrete_slab_from_orange_concrete_stonecutting.json +73cabd27d074cba114940496084728f181292753 data/tfmg/recipe/orange_concrete_stairs_from_orange_concrete_stonecutting.json +fda29d9d989711de94c18302670406a495cf4150 data/tfmg/recipe/orange_concrete_wall_from_orange_concrete_stonecutting.json +68df0eb6e8f996590c7cefe165ac9ad8031217ac data/tfmg/recipe/orange_rebar_concrete_slab_from_orange_rebar_concrete_stonecutting.json +2f64211c703c30771418dafe29fec5acbb5ddc25 data/tfmg/recipe/orange_rebar_concrete_stairs_from_orange_rebar_concrete_stonecutting.json +59704a8883e6025b54ffef849a314f7ee18ee256 data/tfmg/recipe/orange_rebar_concrete_wall_from_orange_rebar_concrete_stonecutting.json +64af07ff19ac8fc7de974fa02742f8a09f436166 data/tfmg/recipe/pink_caution_block_from_ingots_aluminum_stonecutting.json +69da175fc5d6570d314916f265ce747d1ce2fd13 data/tfmg/recipe/pink_concrete_slab_from_pink_concrete_stonecutting.json +5fde7fa1c227c63a96c6f1a7ce37f0a378240027 data/tfmg/recipe/pink_concrete_stairs_from_pink_concrete_stonecutting.json +a6880300140e4da99cd316d3fc936e45bf2fe6cc data/tfmg/recipe/pink_concrete_wall_from_pink_concrete_stonecutting.json +4d87a81c2b625f6d626d8cc1b1e4539fda3ec9c9 data/tfmg/recipe/pink_rebar_concrete_slab_from_pink_rebar_concrete_stonecutting.json +21798989e27ae5896df64b82b401559ebd6c2a73 data/tfmg/recipe/pink_rebar_concrete_stairs_from_pink_rebar_concrete_stonecutting.json +b44804db1438c39fef317b069b7adcb9bc1da9c1 data/tfmg/recipe/pink_rebar_concrete_wall_from_pink_rebar_concrete_stonecutting.json +6cf6e7000a9b0e170248ce01a5aad52f6b9fc4a7 data/tfmg/recipe/polished_cut_bauxite_from_stone_types_bauxite_stonecutting.json +14bf95859759b5378320a4d2cb40e0bbaef8fab1 data/tfmg/recipe/polished_cut_bauxite_slab.json +e03f673baef95e2ccffe1f79806fe0ad813b1ace data/tfmg/recipe/polished_cut_bauxite_slab_from_stone_types_bauxite_stonecutting.json +e2d78b81546fcaa22ee3953321b930fd29b84bc2 data/tfmg/recipe/polished_cut_bauxite_slab_recycling.json +a082cd6aaae5ecd0a87b887d8971c9b69334b84b data/tfmg/recipe/polished_cut_bauxite_stairs.json +f339aba32f1a9c28349346247d8a723357ff8eb1 data/tfmg/recipe/polished_cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json +b7c20ff3561fe0a2cfcb186d95b8934041a40e3d data/tfmg/recipe/polished_cut_bauxite_wall.json +9adb30f3f41c9d8008fe62d50f9db6714af0129b data/tfmg/recipe/polished_cut_bauxite_wall_from_stone_types_bauxite_stonecutting.json +c7f1b5ade2a7f155806482e453e6ebaba31d8042 data/tfmg/recipe/polished_cut_galena_from_stone_types_galena_stonecutting.json +f3eaf0545dc8824b09a9bdf28f897e70e73162d2 data/tfmg/recipe/polished_cut_galena_slab.json +8f78d9429f5b78e399a9b49b0d43dd47cf009d93 data/tfmg/recipe/polished_cut_galena_slab_from_stone_types_galena_stonecutting.json +1a8c4b1cbb07438e2db767f01c6395be6ea65100 data/tfmg/recipe/polished_cut_galena_slab_recycling.json +af63c9d5af5e2e774d817701751248b89627aae2 data/tfmg/recipe/polished_cut_galena_stairs.json +568dc512f772551ad844af1a7a770560fcaefcd0 data/tfmg/recipe/polished_cut_galena_stairs_from_stone_types_galena_stonecutting.json +f81c1c8dd41d27664e2e51fe1fc8d5bfc6262f76 data/tfmg/recipe/polished_cut_galena_wall.json +4e747591d1e5eb08b5a7fd600b52aecf9c8b3f5c data/tfmg/recipe/polished_cut_galena_wall_from_stone_types_galena_stonecutting.json +1d1820256640e76850df571e46220e6d8572aace data/tfmg/recipe/pumpjack_hammer_part_from_storage_blocks_steel_stonecutting.json +39bf94d50f40b32f2334e304123e59e9edc2a499 data/tfmg/recipe/purple_caution_block_from_ingots_aluminum_stonecutting.json +1b598c65827e096419c31bb17170da1a4cd32fca data/tfmg/recipe/purple_concrete_slab_from_purple_concrete_stonecutting.json +7f1aa9f009a8b1142e66f1659d6f81759c0b0ec4 data/tfmg/recipe/purple_concrete_stairs_from_purple_concrete_stonecutting.json +d2baca05f76d1b3481e8b919b8bd43216e8aacf4 data/tfmg/recipe/purple_concrete_wall_from_purple_concrete_stonecutting.json +50e50afe29fc97771adbecbaa80380072a65964c data/tfmg/recipe/purple_rebar_concrete_slab_from_purple_rebar_concrete_stonecutting.json +b99fbfc2b44d5d2fcb16998a210a1b2cda26bc7c data/tfmg/recipe/purple_rebar_concrete_stairs_from_purple_rebar_concrete_stonecutting.json +6a5b3630e1128e4c2bfebe6bd4aeb0d82f99fd95 data/tfmg/recipe/purple_rebar_concrete_wall_from_purple_rebar_concrete_stonecutting.json +a054bda896d75cdc7cb3a6f2156261dd1ee9272d data/tfmg/recipe/rebar_concrete_slab_from_rebar_concrete_stonecutting.json +b2f56fe2e6bede58eabe3b741246d8e9a965ab2e data/tfmg/recipe/rebar_concrete_stairs_from_rebar_concrete_stonecutting.json +4ea842bcec72ba762e80049b5754a38f5245b011 data/tfmg/recipe/rebar_concrete_wall_from_rebar_concrete_stonecutting.json +43212059184fde7ab8d1a10ec7628963c52e0a6f data/tfmg/recipe/rebar_from_ingots_steel_stonecutting.json +e29289af7246878495b53f9ef99aacbb9599daaa data/tfmg/recipe/red_caution_block_from_ingots_aluminum_stonecutting.json +773228fad93d6a78200a3fd0312c86f823be01f3 data/tfmg/recipe/red_concrete_slab_from_red_concrete_stonecutting.json +e7dc98d6bb7b0db6a2af7e7f762723c4ad65c5ac data/tfmg/recipe/red_concrete_stairs_from_red_concrete_stonecutting.json +4fda2325ca4be22bf16fee4f9bf10f52555be9f1 data/tfmg/recipe/red_concrete_wall_from_red_concrete_stonecutting.json +a155fb10f08e7adc6b2bc6e42c953a2c397cc500 data/tfmg/recipe/red_rebar_concrete_slab_from_red_rebar_concrete_stonecutting.json +001842be94e4248ca0d9c14563a642e2de3153a8 data/tfmg/recipe/red_rebar_concrete_stairs_from_red_rebar_concrete_stonecutting.json +ba477b39e71528cac19a739118dd4f41b624cee4 data/tfmg/recipe/red_rebar_concrete_wall_from_red_rebar_concrete_stonecutting.json +e5322baf377fd30812a84cdaf0500f9e99905373 data/tfmg/recipe/screw_from_ingots_steel_stonecutting.json +7eb08cecac95b569f0d6dbfc9ec2c6185dff68a9 data/tfmg/recipe/slag_bricks_from_slag_block_stonecutting.json +3a0556ab175c97a44057d8666b2b67a724e95a56 data/tfmg/recipe/small_bauxite_bricks_from_stone_types_bauxite_stonecutting.json +efc7e6b315492a48b98a8ad163b1235292bbc912 data/tfmg/recipe/small_bauxite_brick_slab.json +fec2e11e81d552567411784d6b319fa4d8eeff74 data/tfmg/recipe/small_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json +7fa718d9e264a8affad23ddf910894760b87d8a5 data/tfmg/recipe/small_bauxite_brick_slab_recycling.json +c002792da3ddfc56cb094ff429111bec409fb171 data/tfmg/recipe/small_bauxite_brick_stairs.json +ed07ba80932c78e22136f4f78a7e52a3bc734bf4 data/tfmg/recipe/small_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json +5559aafa1571f4a3e6e20843bff1adb0889f81d8 data/tfmg/recipe/small_bauxite_brick_wall.json +27a8f045fd0f7e213aa293bd544176723b08b5c0 data/tfmg/recipe/small_bauxite_brick_wall_from_stone_types_bauxite_stonecutting.json +a016d0cfc352e5f368d0d9b659f692dddc9ecd96 data/tfmg/recipe/small_galena_bricks_from_stone_types_galena_stonecutting.json +968f35d576367bd7f8326c4ad60d8b65dc63d4f7 data/tfmg/recipe/small_galena_brick_slab.json +6522bc68c2c28e16de5e2f85e508f3f08300b819 data/tfmg/recipe/small_galena_brick_slab_from_stone_types_galena_stonecutting.json +0257d64b065b26d7ee66a7601a1973a7e228d5a9 data/tfmg/recipe/small_galena_brick_slab_recycling.json +b7ce3cfa125197a02b0702beb63cf92973f59727 data/tfmg/recipe/small_galena_brick_stairs.json +6a4a4a9b42bdc8f1a49ad2b7e464f5089855aee5 data/tfmg/recipe/small_galena_brick_stairs_from_stone_types_galena_stonecutting.json +cab6d8b2f39851877ed56727579d0006112d19e4 data/tfmg/recipe/small_galena_brick_wall.json +2692e3fc704c2f13e95cba76bd9bf0db37189d1c data/tfmg/recipe/small_galena_brick_wall_from_stone_types_galena_stonecutting.json +15f023e8e1a64a70feb9fb623734fcd252ab7c6a data/tfmg/recipe/steel_bars_from_ingots_steel_stonecutting.json +561517e3289e0f2d6a6ad1cecb5007f8cd273e32 data/tfmg/recipe/steel_ladder_from_ingots_steel_stonecutting.json +bf4a34a99b11798604daf9b0d96afea4cf4fc5ac data/tfmg/recipe/steel_scaffolding_from_ingots_steel_stonecutting.json +fcfee12d98c042ba471d49bb099df8ab1f2bebd2 data/tfmg/recipe/synthetic_string_from_ingots_rubber_stonecutting.json +206250d888aec729af28ece8e082a1907c6d6406 data/tfmg/recipe/unfired_insulator_from_clay_stonecutting.json +1fd00ef6c3aeb46c4a9d6e63f0219dc5ce26ec20 data/tfmg/recipe/white_caution_block_from_ingots_aluminum_stonecutting.json +5f6e689dfdc9d36fd2ce231405e4505f27fc2657 data/tfmg/recipe/white_concrete_slab_from_white_concrete_stonecutting.json +58865d00080c95cc7864d687c35f435202e9e3a5 data/tfmg/recipe/white_concrete_stairs_from_white_concrete_stonecutting.json +3a884dba1c9efd54b2a9f8a41ec391218adf5240 data/tfmg/recipe/white_concrete_wall_from_white_concrete_stonecutting.json +b2b6a3bb3a6a0557032ba54de8c05b34ca7ac59f data/tfmg/recipe/white_rebar_concrete_slab_from_white_rebar_concrete_stonecutting.json +a227286cd99cbab369d93cfb3ce1a86f8fdbf9d9 data/tfmg/recipe/white_rebar_concrete_stairs_from_white_rebar_concrete_stonecutting.json +13ef2d3a7c109973c1a4a28369140a4c86d13969 data/tfmg/recipe/white_rebar_concrete_wall_from_white_rebar_concrete_stonecutting.json +c1452ea66a020da5e5e1d77dbd1eee2f62a820ad data/tfmg/recipe/yellow_caution_block_from_ingots_aluminum_stonecutting.json +784eb430a311b5b5ba6d9b13b1dab01df652b9a9 data/tfmg/recipe/yellow_concrete_slab_from_yellow_concrete_stonecutting.json +27d012df24aef6ab071b1b3baa790199d1c9cc40 data/tfmg/recipe/yellow_concrete_stairs_from_yellow_concrete_stonecutting.json +9233fc0a1f3f62870b5657e9f9798339cf7fbeb8 data/tfmg/recipe/yellow_concrete_wall_from_yellow_concrete_stonecutting.json +3d179d204e740a771351bfb862363c2c6da26ed1 data/tfmg/recipe/yellow_rebar_concrete_slab_from_yellow_rebar_concrete_stonecutting.json +8368f8d7bc9f728984ca0f0145fb93a2841035fd data/tfmg/recipe/yellow_rebar_concrete_stairs_from_yellow_rebar_concrete_stonecutting.json +f284b54eed2bdf08f2333c77e9321b0efdd932b7 data/tfmg/recipe/yellow_rebar_concrete_wall_from_yellow_rebar_concrete_stonecutting.json +98b5f33631ead70fedd300b7c9f2cc740d76fceb data/tfmg/recipe/zinc_electrode_from_storage_blocks_zinc_stonecutting.json +f14e6c5dbe88027a11af2da9e84c00c2d6433aaf data/tfmg/tags/block/blast_furnace_support.json +94c78caa8f136ea9d4a95248b725ba1f67eec627 data/tfmg/tags/block/blast_furnace_wall.json +6a3f63435a8b1701cbe62f35afff57b5b9c13b8e data/tfmg/tags/block/industrial_pipe.json +2aaad6fb89ea3ffcdfb47f42190752cb77cf34d2 data/tfmg/tags/block/pumpjack_connector.json +9ebdf5d24748c8ecb4607c31472ad3cb00d7b469 data/tfmg/tags/block/pumpjack_head.json +8ad5028c1737401d5fb77988c019348db3d89d3f data/tfmg/tags/block/pumpjack_part.json +c1ecfe210d13887f3f8a3dfca66e7af7d2195cb7 data/tfmg/tags/block/pumpjack_small_part.json +c37f2e140a6aaecaccc655cbb9684500dd3d19ed data/tfmg/tags/block/reinforced_blast_furnace_support.json +4aa7cea7ccfc543fbab527f74ed33f4ab9371941 data/tfmg/tags/block/reinforced_blast_furnace_wall.json +0f71eaf3e17ca08b75de5d85e660cbd958528ae4 data/tfmg/tags/block/surface_scanner_findable.json +038838a2733f8cbcaf59013d75b6da974ff2ba11 data/tfmg/tags/fluid/blast_stove_fuel.json +7d081933f30d771b92bcb6fde6e0b3407a0dc539 data/tfmg/tags/fluid/firebox_fuel.json +e47077392b67db8a4a4502d4740011aa917db584 data/tfmg/tags/fluid/flammable.json +ec60cf5465a061d532877d3bb10f9cd4d8bb6f18 data/tfmg/tags/fluid/gas.json +f1cc6d710a5e49ab33dbaceea796f0c0b589c82b data/tfmg/tags/item/blast_furnace_fuel.json +aaf2d6fe33212a0b0164df550ba6e39d61775d71 data/tfmg/tags/item/flux.json +1ad920aa65e2706dabb6265f3b12546ab33e8936 data/tfmg/tags/item/rods.json +ba7b700bc10c169f73e9dc2cf0be37554378f009 data/tfmg/tags/item/spools.json +1b01f27da52b48305c3efbba7d07ecd82d90d2f1 data/tfmg/tags/item/stone_types/bauxite.json +7a139871af9c0eeb286726645a1949fefb33ca56 data/tfmg/tags/item/stone_types/galena.json diff --git a/src/generated/resources/.cache/7f64eb4aa3056533c06f9e8c978f0b46cdcfc23d b/src/generated/resources/.cache/7f64eb4aa3056533c06f9e8c978f0b46cdcfc23d new file mode 100644 index 00000000..48e31bca --- /dev/null +++ b/src/generated/resources/.cache/7f64eb4aa3056533c06f9e8c978f0b46cdcfc23d @@ -0,0 +1,25 @@ +// 1.21.1 2025-06-23T18:13:40.2923367 TFMG's Generated Registry Entries +03f0181e37952f9e7fabf4292538df1a63dfe854 data/tfmg/damage_type/acid.json +3597357d17e8d9d166905c8cfd89df04ce0dc113 data/tfmg/damage_type/blast_furnace.json +059ddd2bfc9abe546988d9dd0ab8459eb553cb65 data/tfmg/damage_type/concrete.json +f2d31e1f7b9c1db91a1e0ceb6266134abd0adc0b data/tfmg/neoforge/biome_modifier/lead_ore.json +572cfbd21b647b3252d7131f167024a7c0b9cc14 data/tfmg/neoforge/biome_modifier/lithium_ore.json +b9ea7f1cb4a7170795d4a6ab96f2597fc00fb54e data/tfmg/neoforge/biome_modifier/nickel_ore.json +2f63f90fbdee492bb8f93e4c58ab5b3b56d1401e data/tfmg/neoforge/biome_modifier/oil_deposit.json +b207687b857b58395e85622a42b0a06a9801d5fb data/tfmg/neoforge/biome_modifier/oil_well.json +6eff2ce4d797cb1a0990b0356444719760ab0863 data/tfmg/neoforge/biome_modifier/tfmg_striated_ores_nether.json +a726e37db9897d6660be2b612127a2cc207a4ed2 data/tfmg/neoforge/biome_modifier/tfmg_striated_ores_overworld.json +c3ee7d50456a7e0aafd3bbe9ab71bf2b96a01470 data/tfmg/worldgen/configured_feature/lead_ore.json +c3b14f129d7c60f33dc2b572e4f9ef0ce08bec1b data/tfmg/worldgen/configured_feature/lithium_ore.json +a4042949e1e7bce134b8a05a7627fb8c50201e1c data/tfmg/worldgen/configured_feature/nickel_ore.json +b1d0a22fcd0a33c72686dc910f5beb3c4ace9a3c data/tfmg/worldgen/configured_feature/oil_deposit.json +970c5ca8bd5004e4164b7d0f8ca1a99ce1ac4a19 data/tfmg/worldgen/configured_feature/oil_well.json +2811e9fd2c2e3b876ae8b364b877aa5776b6af15 data/tfmg/worldgen/configured_feature/tfmg_striated_ores_nether.json +a106ee08545287c881b5dd458efe7f425d8c1f77 data/tfmg/worldgen/configured_feature/tfmg_striated_ores_overworld.json +6f5615fecd27fe4a37938194fb5a94b030d85fed data/tfmg/worldgen/placed_feature/lead_ore.json +65afa2f400018fc5eceab759d81dacbac6eecb70 data/tfmg/worldgen/placed_feature/lithium_ore.json +682f96a9873f5beafc62f11a0a4a0d36bf8c39c5 data/tfmg/worldgen/placed_feature/nickel_ore.json +4b271e4cc8c0996047a425aec7046969ed454c4f data/tfmg/worldgen/placed_feature/oil_deposit.json +77bf7a74b343b8089126d600ee0f21309386afe4 data/tfmg/worldgen/placed_feature/oil_well.json +edb32f0ee214a45f221db3ca9cfc31b981f89a71 data/tfmg/worldgen/placed_feature/tfmg_striated_ores_nether.json +48d58485fb85baf0aa48234cd347c2cde37ee7c8 data/tfmg/worldgen/placed_feature/tfmg_striated_ores_overworld.json diff --git a/src/generated/resources/.cache/8fefaf7d926386af25e860b5e039f833bbb6d06a b/src/generated/resources/.cache/8fefaf7d926386af25e860b5e039f833bbb6d06a new file mode 100644 index 00000000..483813a7 --- /dev/null +++ b/src/generated/resources/.cache/8fefaf7d926386af25e860b5e039f833bbb6d06a @@ -0,0 +1,9 @@ +// 1.21.1 2025-06-24T22:39:26.934358 tfmg's sequenced assembly recipes +460d3695c2d15e8ce1ee257e45fd2cbee851c903 data/tfmg/recipe/sequenced_assembly/capacitor.json +c1fda7b4180b0239299005c8d1ab842b86e4d13a data/tfmg/recipe/sequenced_assembly/generator.json +2fee7f4ef7cdc9edb7d910f9174af9b6540e0c25 data/tfmg/recipe/sequenced_assembly/heavy_plate.json +9007b884578dde9e5a96acdac369abf98802acad data/tfmg/recipe/sequenced_assembly/motor.json +7d09427be8a4bd3ede347d031a42465e373e8e51 data/tfmg/recipe/sequenced_assembly/potentiometer.json +6711957305ea7e7db6d339e06e67bec64ec3a088 data/tfmg/recipe/sequenced_assembly/steel_mechanism.json +cd367e0a1d36219847400447a1bd20754ee80094 data/tfmg/recipe/sequenced_assembly/transistor.json +99169fa3272802154ff44090f351b27dc0ac238f data/tfmg/recipe/sequenced_assembly/unfinished_circuit_board.json diff --git a/src/generated/resources/.cache/c5d1eddcf072f02c4997a7ec80c1b21ad739b1b3 b/src/generated/resources/.cache/c5d1eddcf072f02c4997a7ec80c1b21ad739b1b3 new file mode 100644 index 00000000..0f61dd60 --- /dev/null +++ b/src/generated/resources/.cache/c5d1eddcf072f02c4997a7ec80c1b21ad739b1b3 @@ -0,0 +1,515 @@ +// 1.21.1 2025-06-30T15:04:10.6625255 TFMG'S Standard Recipes +1ba4d033b7372e3e76f656e6d6f9eb1b8a2efe0a data/tfmg/advancement/recipes/misc/blasting/lead_ingot_blasting.json +e83131f3f345326695a796d8dac58b0868861458 data/tfmg/advancement/recipes/misc/blasting/lead_ingot_from_crushed_blasting.json +975643162ee77b2111d0bfebfb57da861544490a data/tfmg/advancement/recipes/misc/blasting/lithium_ingot_blasting.json +341f3bf3c91447d6184207919fdd47885f34e41f data/tfmg/advancement/recipes/misc/blasting/nickel_ingot_blasting.json +ae1d6b3f1f2569d0b18fad4d2c0af33cb349eca0 data/tfmg/advancement/recipes/misc/blasting/nickel_ingot_from_crushed_blasting.json +10bd2bbd6d600c04da6c42992ffb0d846d9d3fb7 data/tfmg/advancement/recipes/misc/crafting/materials/accumulator.json +6e055de56037e71377746a499ce3970fdc421d65 data/tfmg/advancement/recipes/misc/crafting/materials/accumulatorfrom_lithium.json +6581c5c8a5ecbd4cf0099c151896cf7e1758eef6 data/tfmg/advancement/recipes/misc/crafting/materials/air_intake.json +9ecf97839409e553a9d4062ed11785bdf0a4a500 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_axe.json +66db94dc52ae41cec71a3a5e4e73b5f0ac28b06d data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_block_from_compacting.json +5fe96e63b033e5d2e949fa9d9366f3bc5680dd68 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_cable_hub.json +819008864a677090daa4f945cc3094a401432656 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_cogwheel.json +681e6d711fabdfa569d03b8655fd469c0078e1ae data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_door.json +a70723e2daaed99bb2f63b6d3d6b60b3c2abc3fe data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_fluid_tank.json +64222d3ce0beba6ab163f26846e8b24eead61a71 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_flywheel.json +55f2186ff61067031e8ef9ffbec08e73cb496a6a data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_frame.json +15d10fa6dbdb2d7698f9e787d182eeb9417c571d data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_hoe.json +c5106fa02f73e852d1fa0cc7ab0de4ba51158b9a data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_ingot_from_compacting.json +0e87476a9f0c32d6725abd6a1b128217e0ee52f3 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_ingot_from_decompacting.json +a7c4181e01134f321982a443410669884ccbd919 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_lamp.json +192f2a0604bf014c9c38cbd7af837ad1e845da83 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_nugget_from_decompacting.json +9c3ac62187020b7dbd5f8f1b0030007633c9ba07 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_pickaxe.json +07f5c64345a0ce0894ae4b9dee87f463af067ab8 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_shovel.json +9614368e6b4a3f833588bcf556508afca5014135 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_spool.json +022368ea9eb516bfe32cb8cb6fdc14659ea226f7 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_sword.json +20d65fd203a7172e3eb8119a3828fcb88200aab7 data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_truss.json +766b93e1a4fe05f100c1678cf3b01065c373c6a9 data/tfmg/advancement/recipes/misc/crafting/materials/black_concrete.json +eed9387b9eb583355e575ddd72cbd5b1443cf36a data/tfmg/advancement/recipes/misc/crafting/materials/black_multimeter.json +867e9a045a2117bfa453a2b7ed11ddad6868272d data/tfmg/advancement/recipes/misc/crafting/materials/black_rebar_concrete.json +b0d05b322d49df8dcc35bc49ce69f841320995a0 data/tfmg/advancement/recipes/misc/crafting/materials/blast_furnace_hatch.json +33a71456d2d779d14797427b837b7c278a952a8f data/tfmg/advancement/recipes/misc/crafting/materials/blast_furnace_output.json +02d880b4edf4367681e54abea99df8d08f5d7b0d data/tfmg/advancement/recipes/misc/crafting/materials/blast_furnace_reinforcement.json +282d0da4d486a1d1a95b7ff81fd2bb3d92ef1944 data/tfmg/advancement/recipes/misc/crafting/materials/blast_stove.json +99b963c7eed6543f0f207c15dc45051c373dee91 data/tfmg/advancement/recipes/misc/crafting/materials/blue_concrete.json +8514e65743850b4ea7a198fb8c293cc99cb3050b data/tfmg/advancement/recipes/misc/crafting/materials/blue_multimeter.json +c69ff9dfca6f9e864621e36e0b71a2f36d8b0357 data/tfmg/advancement/recipes/misc/crafting/materials/blue_rebar_concrete.json +b9a7cfce24712e56b393cd9fdcea49f2eddfa985 data/tfmg/advancement/recipes/misc/crafting/materials/brass_cable_hub.json +23691b4e1ad2e2578a55bd0c774429fbb650953d data/tfmg/advancement/recipes/misc/crafting/materials/brass_frame.json +2aac6c07c7c29f34f9b9a438b5813eee7efc8f6b data/tfmg/advancement/recipes/misc/crafting/materials/brass_truss.json +fea4f2a75a40a71c322da022033a67a37264c276 data/tfmg/advancement/recipes/misc/crafting/materials/brick_smokestack.json +c66fb2ea1cf956f53764aaaf5f28d70099b36b24 data/tfmg/advancement/recipes/misc/crafting/materials/brown_concrete.json +6021c92d83a6e0c338d18cd41ab84f57609e7ac8 data/tfmg/advancement/recipes/misc/crafting/materials/brown_multimeter.json +734de5893678b28aec289779ecdbee5981d40e35 data/tfmg/advancement/recipes/misc/crafting/materials/brown_rebar_concrete.json +739a00cda189f72c1f4cd38898c0712bffb31f42 data/tfmg/advancement/recipes/misc/crafting/materials/cable_connector.json +24914906f9d01e569ab83ccd37e7744674f8aece data/tfmg/advancement/recipes/misc/crafting/materials/cable_tube.json +04e35e4b7457906935003e0a7651d3cd60005607 data/tfmg/advancement/recipes/misc/crafting/materials/casting_basin.json +04febba3ad12a3ed6d802d76ed93f3200faedb3d data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_block_from_compacting.json +05de7ce92c56492e36ccc00070782e4e42a72daf data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_chemical_vat.json +4be640969f9200b0de32f20720d9fbdfcfab44f7 data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_fluid_tank.json +30ba68537862b68b59af4deb23f4046566c388ea data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_flywheel.json +718628af4fde3012865c3b9769940629fbd45bdb data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_frame.json +fd3fd7562048ea5d7b4f5de3944e6f3fdbd01914 data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_ingot_from_compacting.json +b0adfd6cf795d873f1bfc1732aca91fa02661f9f data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_ingot_from_decompacting.json +c3eb6195e42a6b2b930bb267bae2abff334d7196 data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_nugget_from_decompacting.json +5879584f09b67f4e83aa3cfe33a414699c5f52a2 data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_truss.json +1751159e37c1d9cf3c392726d9ee2ccb25bd044a data/tfmg/advancement/recipes/misc/crafting/materials/centrifuge.json +deb6ee513df35af15592b1f448b7b5da67c6d47b data/tfmg/advancement/recipes/misc/crafting/materials/cinderflour_block.json +0e6ee66a203ad045ffd8064e677d23f16060ccfe data/tfmg/advancement/recipes/misc/crafting/materials/cinder_block.json +6d3a1ea551b3388d226edc667eb445fffbf9eac3 data/tfmg/advancement/recipes/misc/crafting/materials/circular_light.json +27bf3c9801770718566d07821818de76af3d0bf0 data/tfmg/advancement/recipes/misc/crafting/materials/coal_coke.json +92e3306e1eb4c714f0e154aea29ed5f2958e21c6 data/tfmg/advancement/recipes/misc/crafting/materials/coal_coke_block.json +0da79c216abc5da65281795395639f14474e8af8 data/tfmg/advancement/recipes/misc/crafting/materials/coke_oven.json +8ac3434745d07283746318dcf04d8c706d87acd4 data/tfmg/advancement/recipes/misc/crafting/materials/concrete_hose.json +41177c9f8e12c5352b4d8f6f4fc390b96bf305e2 data/tfmg/advancement/recipes/misc/crafting/materials/concrete_smokestack.json +d80539f29b718d1c2ef51c44a08ce43b648219c3 data/tfmg/advancement/recipes/misc/crafting/materials/constantan_block_from_compacting.json +8010276d114f6e4b5c810ae645ef5bcd75655bed data/tfmg/advancement/recipes/misc/crafting/materials/constantan_frame.json +39058fbdea4a5675019f35938aaae7453e871bd5 data/tfmg/advancement/recipes/misc/crafting/materials/constantan_ingot_from_compacting.json +8f7b51b57de3ba242462908c5297f651ff29be72 data/tfmg/advancement/recipes/misc/crafting/materials/constantan_ingot_from_decompacting.json +bf2a101060dbfb52b3afd78fca24e1e496f71103 data/tfmg/advancement/recipes/misc/crafting/materials/constantan_nugget_from_decompacting.json +9526d014d0b78485e0478643b40381c45910011d data/tfmg/advancement/recipes/misc/crafting/materials/constantan_spool.json +0663d334a61948e61ee60229e65d21b75bddb7ac data/tfmg/advancement/recipes/misc/crafting/materials/constantan_truss.json +4aa859d17c9d8a094189df700453e7347a5a516e data/tfmg/advancement/recipes/misc/crafting/materials/converter.json +9f902c1897ab37214d3fc88a2bf37adc39438c8e data/tfmg/advancement/recipes/misc/crafting/materials/cooling_fluid_bottle.json +637002d04dbabae9d9be444890ff801e79dfcd43 data/tfmg/advancement/recipes/misc/crafting/materials/copper_cable_hub.json +e60311ef8f41384dc589fec4871ea4ae0fb70e0f data/tfmg/advancement/recipes/misc/crafting/materials/copper_frame.json +dd71f52393218cf573043ff3a398d80463bad2d6 data/tfmg/advancement/recipes/misc/crafting/materials/copper_grenade.json +ea1913c2461706ca54bc4354dea7962a70cb8afb data/tfmg/advancement/recipes/misc/crafting/materials/copper_spool.json +aa160503040d4977b61ccb05f13098a24cc9df88 data/tfmg/advancement/recipes/misc/crafting/materials/copper_truss.json +316dad2fc4a2aaba2a575109dd691fe093a2042f data/tfmg/advancement/recipes/misc/crafting/materials/copycat_cable_block.json +e3fef1a13983c1a9b325a4c756957d7354929a9e data/tfmg/advancement/recipes/misc/crafting/materials/crankshaft.json +fef9c0f151b60f49b774d4b51de4fa6240720e1c data/tfmg/advancement/recipes/misc/crafting/materials/cyan_concrete.json +05b06795f2a5caa5c12ded0efe73ca77f79cbfa0 data/tfmg/advancement/recipes/misc/crafting/materials/cyan_multimeter.json +f86f0b48bab60d04c8d78bf080480276f5489f06 data/tfmg/advancement/recipes/misc/crafting/materials/cyan_rebar_concrete.json +9dfe2905cd7500a93af662f7b3c4092c5c187bad data/tfmg/advancement/recipes/misc/crafting/materials/diagonal_cable_block.json +b206903e84dfa60d16a6538c5cf5471aad005fc7 data/tfmg/advancement/recipes/misc/crafting/materials/electrical_switch.json +c6edec32f743f4237f82221ca5545f9f360ce9c0 data/tfmg/advancement/recipes/misc/crafting/materials/electricians_wrench.json +87e2ceef418c504f75b207c7a67cc033ab4b48de data/tfmg/advancement/recipes/misc/crafting/materials/electric_diode.json +c6299d55ad53f07fa881ce9d52d7431b8304dd33 data/tfmg/advancement/recipes/misc/crafting/materials/electric_post.json +fec141af53a939b18f0c82adcae33dc6b8eb0d37 data/tfmg/advancement/recipes/misc/crafting/materials/electric_pump.json +a4571766b188a07babf0f91b93b18aa15e29218f data/tfmg/advancement/recipes/misc/crafting/materials/electrode_holder.json +0753a07d9908e21d4b036dbbdac366ece7658816 data/tfmg/advancement/recipes/misc/crafting/materials/empty_circuit_board.json +1b25e33e402a7c2149742ba75d961dc920079835 data/tfmg/advancement/recipes/misc/crafting/materials/engine_gearbox.json +c7cba29e6f7d2aa2b4fd2cdf34a71a17583d5450 data/tfmg/advancement/recipes/misc/crafting/materials/exhaust.json +884395f8fc0702edfbc5f5a8dcd061d81a0d1f93 data/tfmg/advancement/recipes/misc/crafting/materials/firebox.json +c65b18147b7b89fd505071f34a0d9f5bfff070ca data/tfmg/advancement/recipes/misc/crafting/materials/fireclay.json +05e9bad955ee982ba3ae172aff5551bdc66f7594 data/tfmg/advancement/recipes/misc/crafting/materials/fireproof_bricks.json +9e8c3b007ff62f37d5963a510837088e65a0b8e5 data/tfmg/advancement/recipes/misc/crafting/materials/fireproof_brick_reinforcement.json +fbbe810e1208507b4d7e7f6ec51183ab8310605c data/tfmg/advancement/recipes/misc/crafting/materials/fireproof_chemical_vat.json +c2a88b7d49ac16aaaabc5eb41ff44b81e448c2e7 data/tfmg/advancement/recipes/misc/crafting/materials/flarestack.json +34f8c61a0662d74bc5f8868bcc252d1c5e8a3211 data/tfmg/advancement/recipes/misc/crafting/materials/glass_cable_insulator.json +1c6d72c59241276ed97eb12028221af210a0837a data/tfmg/advancement/recipes/misc/crafting/materials/glass_insulator_segment.json +621d720793c003cf0e66365bd33dbdafbac0e742 data/tfmg/advancement/recipes/misc/crafting/materials/gray_concrete.json +afa4710298fcaa77660a93ce877c525474704e48 data/tfmg/advancement/recipes/misc/crafting/materials/gray_multimeter.json +01b1951017fae118b0372e6100ca60d16a32459f data/tfmg/advancement/recipes/misc/crafting/materials/gray_rebar_concrete.json +0c7ec9685284478c517f49b7d7ef08582b98837a data/tfmg/advancement/recipes/misc/crafting/materials/green_concrete.json +22170ac52bcaa7e1f48da11e9e363e67ffb1cfb2 data/tfmg/advancement/recipes/misc/crafting/materials/green_multimeter.json +ab67d5f0305a8188a0f8401cbf08e3154ce415ff data/tfmg/advancement/recipes/misc/crafting/materials/green_rebar_concrete.json +91d27b5c3598954ba0f72ff218e01a8ea7b111ae data/tfmg/advancement/recipes/misc/crafting/materials/heavy_cable_hub.json +7e039b604f1b897e1b94d0370bb5293a01e61486 data/tfmg/advancement/recipes/misc/crafting/materials/heavy_casing_door.json +ec32d19e3bcdb9408a5c980531f644395adf2d6e data/tfmg/advancement/recipes/misc/crafting/materials/heavy_plated_door.json +dd45a928d43f7558bde9bbbfff08991c137d36b2 data/tfmg/advancement/recipes/misc/crafting/materials/industrial_mixer.json +aa4b0182e6132667ce3a8774be8609c76e83a4ec data/tfmg/advancement/recipes/misc/crafting/materials/large_aluminum_cogwheel.json +8ce850d1d6892132c7b040af32e6376acbe0e9dd data/tfmg/advancement/recipes/misc/crafting/materials/large_pumpjack_hammer_connector.json +72f870034c3b74e74b59f2e8972b033a00d5dfc7 data/tfmg/advancement/recipes/misc/crafting/materials/large_pumpjack_hammer_head.json +c0bea63558a8afdea454500f2582f42c50e15f92 data/tfmg/advancement/recipes/misc/crafting/materials/large_steel_cogwheel.json +f052642688690b03ab7ccaa8f0b3c380307d5e9c data/tfmg/advancement/recipes/misc/crafting/materials/lead_axe.json +7737f4ec843701dda1a6205fc75cff8043f22210 data/tfmg/advancement/recipes/misc/crafting/materials/lead_block_from_compacting.json +6a3deb508cb27be73e287fd8eb90402aa2fb3fd2 data/tfmg/advancement/recipes/misc/crafting/materials/lead_flywheel.json +72a2bd6364a14d22d06a0e539cc06680b69e2f20 data/tfmg/advancement/recipes/misc/crafting/materials/lead_frame.json +66ec4781863c9b0cfaf83519103e07893f468e56 data/tfmg/advancement/recipes/misc/crafting/materials/lead_hoe.json +ad2263a7375a058567c68f3632c0734cc6acb256 data/tfmg/advancement/recipes/misc/crafting/materials/lead_ingot_from_compacting.json +b3eeb0e694b0bad6e9909e3d1867b86e3679153a data/tfmg/advancement/recipes/misc/crafting/materials/lead_ingot_from_decompacting.json +6a50e76176ca108e54ad03296487393323ba80cb data/tfmg/advancement/recipes/misc/crafting/materials/lead_nugget_from_decompacting.json +2fb4d6df936bdc2cc3648df5f5eae9cf738397f9 data/tfmg/advancement/recipes/misc/crafting/materials/lead_pickaxe.json +75cb8749fde2ee7e0348ffb3981c0a669ac6b30e data/tfmg/advancement/recipes/misc/crafting/materials/lead_shovel.json +049b54fecf312ef5335e358f8385093f28d5a162 data/tfmg/advancement/recipes/misc/crafting/materials/lead_sword.json +7ca39d780331bddaa59d21057ffe78d959f3df78 data/tfmg/advancement/recipes/misc/crafting/materials/lead_truss.json +a159a885e35b451d3735c8587b132e7a5cc0baca data/tfmg/advancement/recipes/misc/crafting/materials/light_blue_concrete.json +e0a703c7b2fbc72130fffd9e4d4d720217f7e622 data/tfmg/advancement/recipes/misc/crafting/materials/light_blue_multimeter.json +da91a2dd07046cd0a5fc4d9cb2daad7c632ac7d8 data/tfmg/advancement/recipes/misc/crafting/materials/light_blue_rebar_concrete.json +93ddae1b0eb5c6ffe9ff3c2f344727cc39e1f7cc data/tfmg/advancement/recipes/misc/crafting/materials/light_bulb.json +ec555fbacadf85c1a59d18534b5c5749f80b66b3 data/tfmg/advancement/recipes/misc/crafting/materials/light_gray_concrete.json +6949d2d02c0bf766039ef1e9253323c7fb29a8f8 data/tfmg/advancement/recipes/misc/crafting/materials/light_gray_multimeter.json +7a8a4f22874bb0def372ccf31cb4ccbee6fa4a01 data/tfmg/advancement/recipes/misc/crafting/materials/light_gray_rebar_concrete.json +1b4a051efdb330488bc5077e7511ebc88b983b53 data/tfmg/advancement/recipes/misc/crafting/materials/lime_concrete.json +684472d428cf9c509c14028cd29e879ca2dfc5a7 data/tfmg/advancement/recipes/misc/crafting/materials/lime_multimeter.json +6a742b9f97bfacf48517e5545d296059d227c3f8 data/tfmg/advancement/recipes/misc/crafting/materials/lime_rebar_concrete.json +c1454df94da933c12c0876e43dc80f4fcb58638d data/tfmg/advancement/recipes/misc/crafting/materials/lithium_blade.json +ed1deea39a9364f052c78d142e78b0967a133cc6 data/tfmg/advancement/recipes/misc/crafting/materials/lithium_block_from_compacting.json +cbddb4295abe43f1dae30a989bb75750d4ac210d data/tfmg/advancement/recipes/misc/crafting/materials/lithium_charge.json +762b3a31ad1cfbb4ae6d5114a8fa81332fee5c01 data/tfmg/advancement/recipes/misc/crafting/materials/lithium_ingot_from_compacting.json +d2a5ad3c82a1b6f642c3d6e90d07b91e8e33eb0b data/tfmg/advancement/recipes/misc/crafting/materials/lithium_ingot_from_decompacting.json +7f37da4673fb3cf9472365c38a3da91444a7df0b data/tfmg/advancement/recipes/misc/crafting/materials/lithium_nugget_from_decompacting.json +26a2078c01f5f49aedce3f73f597eae2bc26d155 data/tfmg/advancement/recipes/misc/crafting/materials/lithium_torch.json +4578f4ae380f28e6d2ce2d1c14980bc4b8f2c995 data/tfmg/advancement/recipes/misc/crafting/materials/machine_input.json +38b3415de84bd4cdbfd3199f54aa5bc446695c0b data/tfmg/advancement/recipes/misc/crafting/materials/magenta_concrete.json +4fb6e596001f2822c8b1b705ec76972064315f6c data/tfmg/advancement/recipes/misc/crafting/materials/magenta_multimeter.json +0b4d160084dd099087205d50b043d7416b3c74bd data/tfmg/advancement/recipes/misc/crafting/materials/magenta_rebar_concrete.json +a13bf24d8d13571ac6c7760f7f54bdcd5ae4e53f data/tfmg/advancement/recipes/misc/crafting/materials/metal_smokestack.json +68d6fa1171334ea1be1caadfc70da920be034fd6 data/tfmg/advancement/recipes/misc/crafting/materials/mixer_blade.json +80065730056b18fd579f8d7324157211bf9194c9 data/tfmg/advancement/recipes/misc/crafting/materials/modern_light.json +87c2f538d678449112ee089d3aa6ae98ddf06eed data/tfmg/advancement/recipes/misc/crafting/materials/multimeter.json +ae2ec065e1c5570e623c35c385eb260e0e69ad18 data/tfmg/advancement/recipes/misc/crafting/materials/napalm_bomb.json +78bee77974c6664f17d83235cd0a42e50de649ec data/tfmg/advancement/recipes/misc/crafting/materials/neon_tube.json +cd97138073edb2df282bda57f94b1e6dfd5acef6 data/tfmg/advancement/recipes/misc/crafting/materials/nickel_block_from_compacting.json +cda957eb43c07f92f765b12afc15bf4b7ee69ad4 data/tfmg/advancement/recipes/misc/crafting/materials/nickel_flywheel.json +5aeb6f6dd0d67044d08dd94edcd521d97b6eae89 data/tfmg/advancement/recipes/misc/crafting/materials/nickel_frame.json +b5ff824a7d33c9d2161540e83d28d054c6a29880 data/tfmg/advancement/recipes/misc/crafting/materials/nickel_ingot_from_compacting.json +6691caa72021eabd3b53bd1d2f5225ebc6973450 data/tfmg/advancement/recipes/misc/crafting/materials/nickel_ingot_from_decompacting.json +595a1937399c3cc532151b618f5948f56e8122a9 data/tfmg/advancement/recipes/misc/crafting/materials/nickel_nugget_from_decompacting.json +d7959c1f1d53d452c773ab0632f40abd3cc10dfb data/tfmg/advancement/recipes/misc/crafting/materials/nickel_truss.json +d9694d0293cc699e468836e9f8f344f85481e5cb data/tfmg/advancement/recipes/misc/crafting/materials/oil_can.json +b2384676e3745e58240363609dcf97c6713d10c0 data/tfmg/advancement/recipes/misc/crafting/materials/oil_hammer.json +d6bf7b4bdf24c78d46d9bd2575543864b2257767 data/tfmg/advancement/recipes/misc/crafting/materials/orange_concrete.json +73358283a2e2743e79b884ce05d1bca211ae55db data/tfmg/advancement/recipes/misc/crafting/materials/orange_multimeter.json +6066be34dab1e14de24abb8179f3bdbae1c4826b data/tfmg/advancement/recipes/misc/crafting/materials/orange_rebar_concrete.json +38bb95da15e27fb32565714608eed19b8e582c6e data/tfmg/advancement/recipes/misc/crafting/materials/pink_concrete.json +85bc0371e278bd1046ddff0b1d0b6598b52b54f8 data/tfmg/advancement/recipes/misc/crafting/materials/pink_multimeter.json +3b6457e6c6a123db48dacf11feadd16df253892a data/tfmg/advancement/recipes/misc/crafting/materials/pink_rebar_concrete.json +c2c63f9fb303ed0cd7144a4becd56647678d9e17 data/tfmg/advancement/recipes/misc/crafting/materials/pipe_bomb.json +d4aa0bf50dba392e0fb6eb0b0d21eb3deaec16ec data/tfmg/advancement/recipes/misc/crafting/materials/plastic_block.json +119c3d1de8050659210b785d905eed7157af7117 data/tfmg/advancement/recipes/misc/crafting/materials/plastic_sheet.json +e99c1b472d9467501e1ebbf8dc12437a1dcef5d5 data/tfmg/advancement/recipes/misc/crafting/materials/polarizer.json +379cf185c2701bc07bfd722be0ba594b3dd62b04 data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_base.json +bd22949da5dc31fef4c569f1b30ca16f038d9285 data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_crank.json +0b59e2e7d3d579d1a61f0a0ca3ebb6260ced4b76 data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_hammer.json +cdb93bb498da2b4f929c16b8941611ac9c4b67f8 data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_hammer_connector.json +6308c342d54767577ec94ab2f1aa5da24bdf1808 data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_hammer_head.json +8b93592849facfcdd255649c4829da450e85af0c data/tfmg/advancement/recipes/misc/crafting/materials/purple_concrete.json +2ef74c6937951efab8c3686891ccccc154a3cc68 data/tfmg/advancement/recipes/misc/crafting/materials/purple_multimeter.json +bd10fd39aef892b39f592e42656c110edc126377 data/tfmg/advancement/recipes/misc/crafting/materials/purple_rebar_concrete.json +cd970d28e19289dfcdd5ff5bb4c7f4f5fc9b3bff data/tfmg/advancement/recipes/misc/crafting/materials/radial_engine.json +e9476245b4a21f828626d8d22ed156226ed0a8d8 data/tfmg/advancement/recipes/misc/crafting/materials/raw_lead.json +2d8f235d312dc979cba8243bef6c4a9170d3461e data/tfmg/advancement/recipes/misc/crafting/materials/raw_lead_block.json +687906fbc87983c694dadf24bdb25650f8b2426c data/tfmg/advancement/recipes/misc/crafting/materials/raw_lithium.json +4e5e886da80de0c13fab1c7046e3206408d31641 data/tfmg/advancement/recipes/misc/crafting/materials/raw_lithium_block.json +161afa320e72f0c8bd0d3d1ac94479f4c1652c43 data/tfmg/advancement/recipes/misc/crafting/materials/raw_nickel.json +eb470478956e99c952e650bffc37207cc0ce198e data/tfmg/advancement/recipes/misc/crafting/materials/raw_nickel_block.json +3fb65e924a5b02cd103602ab65afa0aee350c92d data/tfmg/advancement/recipes/misc/crafting/materials/rebar.json +0eec85efde58168501b9795d93f05c99ef3c0727 data/tfmg/advancement/recipes/misc/crafting/materials/rebar_block.json +d6c4e3088ac4a3d3c36b8cd5a6ee0acb3da9883c data/tfmg/advancement/recipes/misc/crafting/materials/rebar_floor.json +3cf168d83b6f98ab04191a1d02a7d2a379fb89ea data/tfmg/advancement/recipes/misc/crafting/materials/rebar_pile.json +e48f497e37290566146a0be074694fddea2ca1e5 data/tfmg/advancement/recipes/misc/crafting/materials/rebar_pillar.json +1c029151bd593c3f15e6e322b3fb1c2ea0ee8ed3 data/tfmg/advancement/recipes/misc/crafting/materials/rebar_stairs.json +6a0453687fdfbc75cdeb10f3f2eede266b64ad3f data/tfmg/advancement/recipes/misc/crafting/materials/rebar_wall.json +3ae4e10abba58937f04c6e822aa7ca75c43c32d8 data/tfmg/advancement/recipes/misc/crafting/materials/red_concrete.json +404ac0e2485aa91e2f73114afe4a86cb43dd6552 data/tfmg/advancement/recipes/misc/crafting/materials/red_multimeter.json +00f495b34745ab410ffce6c96b03fac2c3599920 data/tfmg/advancement/recipes/misc/crafting/materials/red_rebar_concrete.json +7e336a7bfcdeabb8743194862f83f0a9ed06a6ae data/tfmg/advancement/recipes/misc/crafting/materials/regular_engine.json +9ee5b4b6923fdbbaa4c608d9be82afba1819fab6 data/tfmg/advancement/recipes/misc/crafting/materials/rusted_blast_furnace_reinforcement.json +1f5891a0392f48b0dc1eb5a213725d188837ec06 data/tfmg/advancement/recipes/misc/crafting/materials/screwdriver.json +93970f6a3c33af9c8a4d3fe888e554de551ed35f data/tfmg/advancement/recipes/misc/crafting/materials/screwdriverfrom_brass.json +d90e3ca22d1edc684c089a985b95a9573bf94dfd data/tfmg/advancement/recipes/misc/crafting/materials/segmented_display.json +94ca5eed35ed4358b9c94f6fe120d06261c65dc3 data/tfmg/advancement/recipes/misc/crafting/materials/steel_axe.json +a9709b109852fce282d3969f929e07b949d22567 data/tfmg/advancement/recipes/misc/crafting/materials/steel_block_from_compacting.json +fbafe2a9474c759cea160489f8159850c32d3bfc data/tfmg/advancement/recipes/misc/crafting/materials/steel_cable_hub.json +796883cc61bc9d620681039abea77f49f57a92ae data/tfmg/advancement/recipes/misc/crafting/materials/steel_casing_cable_hub.json +fa6626a32aa4010c068f367e514c478e2857e903 data/tfmg/advancement/recipes/misc/crafting/materials/steel_chemical_vat.json +e3bb2b6dfb06e384b056827b939c69ba8cbd86d1 data/tfmg/advancement/recipes/misc/crafting/materials/steel_cogwheel.json +8f47e9b04e3186655b3e7e97e65d823d056413c4 data/tfmg/advancement/recipes/misc/crafting/materials/steel_distillation_controller.json +567ecb9c0dd2e3c1d05d1fc0bd38faed0aab2fa3 data/tfmg/advancement/recipes/misc/crafting/materials/steel_distillation_output.json +15071185aaeb0aff405630d0fb7a3ed1de388b9e data/tfmg/advancement/recipes/misc/crafting/materials/steel_door.json +6f3d27529a79de118a613acc6331fd7ae5721913 data/tfmg/advancement/recipes/misc/crafting/materials/steel_fluid_tank.json +1d91b1752d7fd3468303a357d6235ce6851c68cb data/tfmg/advancement/recipes/misc/crafting/materials/steel_flywheel.json +0be679170b26160abe9524f3235138a41f7e7d78 data/tfmg/advancement/recipes/misc/crafting/materials/steel_frame.json +a2fe8e7d942c300272a8f75556b7d3b4fe1fba67 data/tfmg/advancement/recipes/misc/crafting/materials/steel_gearbox.json +2fde5da35c5bb54e97b5ea024f2a5a6e14fdc6bf data/tfmg/advancement/recipes/misc/crafting/materials/steel_hoe.json +27db390d78185acbd1a5517896a26854cd0f4413 data/tfmg/advancement/recipes/misc/crafting/materials/steel_ingot_from_compacting.json +bf96d3be6cbbc0c28b5d14f51a4cdcad7e6c1b10 data/tfmg/advancement/recipes/misc/crafting/materials/steel_ingot_from_decompacting.json +95e4f90325a09c41d894a2b29126933df4a41c8a data/tfmg/advancement/recipes/misc/crafting/materials/steel_nugget_from_decompacting.json +b716df5714af0dcb7b5e27245a108829b2f2d6d3 data/tfmg/advancement/recipes/misc/crafting/materials/steel_pickaxe.json +e01da2c61fbf74c8ddd2fcc298c3dcea91e9b175 data/tfmg/advancement/recipes/misc/crafting/materials/steel_shovel.json +885861f0b2275fda0a041b9fed2f7ccafe895f08 data/tfmg/advancement/recipes/misc/crafting/materials/steel_sword.json +8ee691e06b6281c058a3abfa4f01c38ed1a034a4 data/tfmg/advancement/recipes/misc/crafting/materials/steel_trapdoor.json +97bc8a978894f71fc0798ac432ad91f723d4a023 data/tfmg/advancement/recipes/misc/crafting/materials/steel_truss.json +946f0230e73df8e14908a225e4ecc2d6fb50d7da data/tfmg/advancement/recipes/misc/crafting/materials/surface_scanner.json +c9ce3253bed9ed63c89eb5449f719030c788e32e data/tfmg/advancement/recipes/misc/crafting/materials/thermite_grenade.json +cc0912afd54ca449102420dcb86bedd4fa28466c data/tfmg/advancement/recipes/misc/crafting/materials/traffic_light.json +1c6accdff145aeecedec5e8fcbf0f75322485212 data/tfmg/advancement/recipes/misc/crafting/materials/transformer.json +de79bb6623b91d11aa41cebbcf7b7914ccce4546 data/tfmg/advancement/recipes/misc/crafting/materials/transmission.json +aabfe2c1d21303278d0322183d3e7db901db1259 data/tfmg/advancement/recipes/misc/crafting/materials/turbine_engine.json +f624be55db5ffeed17457c1a0dafb89898f26bc0 data/tfmg/advancement/recipes/misc/crafting/materials/turbo.json +5aa3eccc945b3eab8c8b4d8f1c5ae85491351b94 data/tfmg/advancement/recipes/misc/crafting/materials/unfinished_electromagnetic_coil.json +d6fb2554c98e1615be35a068c9f822af85035188 data/tfmg/advancement/recipes/misc/crafting/materials/unfinished_resistor.json +239461226762283f3dd0b160714491828454f28e data/tfmg/advancement/recipes/misc/crafting/materials/unfinished_resistorfrom_slime.json +2ab5b936a5c5eaaa9e87054c18e437cb2595a328 data/tfmg/advancement/recipes/misc/crafting/materials/voltage_observer.json +1bacf66478df941bc649d6345b37329e8f041b97 data/tfmg/advancement/recipes/misc/crafting/materials/voltmeter.json +eff2a5b8584f7a9fe8be9382388c84fa05aac891 data/tfmg/advancement/recipes/misc/crafting/materials/white_concrete.json +489f84a45e46dd0c5d6ab6acb864d002e5c8440b data/tfmg/advancement/recipes/misc/crafting/materials/white_multimeter.json +817f0b94d99d978233e7d279156c87861af7a0f7 data/tfmg/advancement/recipes/misc/crafting/materials/white_rebar_concrete.json +56dfa5ec6e8d47ee5b968dc117caba998aa7f69e data/tfmg/advancement/recipes/misc/crafting/materials/winding_machine.json +e7bcf14c5cf481d6b8fcbb8458684e8a34912211 data/tfmg/advancement/recipes/misc/crafting/materials/yellow_concrete.json +b711ac0b4700990b1cb8b8839f7ee88730e8e588 data/tfmg/advancement/recipes/misc/crafting/materials/yellow_multimeter.json +9560a15dc9c409730ed52ac71944117a065a7cce data/tfmg/advancement/recipes/misc/crafting/materials/yellow_rebar_concrete.json +7155bc1ec5db4d990c88286650a9ff1a799f874f data/tfmg/advancement/recipes/misc/crafting/materials/zinc_frame.json +d54db7ca65d852881fe4e8635a487146ef3ef153 data/tfmg/advancement/recipes/misc/crafting/materials/zinc_grenade.json +002391cb592362488efbb7a01f82016212efd29c data/tfmg/advancement/recipes/misc/crafting/materials/zinc_truss.json +fbe4387c69c1d35e797bda5fee5f166d27cfc823 data/tfmg/advancement/recipes/misc/smelting/fireproof_brick.json +3507cd7119c6ccb08dbd9c2298bf55c9e674d0e9 data/tfmg/advancement/recipes/misc/smelting/lead_ingot.json +01da5054374723da5de0db7935d3c9d097138e1d data/tfmg/advancement/recipes/misc/smelting/lead_ingot_blasting.json +b697f184fcf580d1a2015d11bd992a76b7c218ec data/tfmg/advancement/recipes/misc/smelting/lead_ingot_from_crushed_blasting.json +a6bf8200a0a352dc10bf9dd69809da7598be6436 data/tfmg/advancement/recipes/misc/smelting/lithium_ingot.json +66c9f69eb27bfca2e4c8fde80d88bebbc024d38d data/tfmg/advancement/recipes/misc/smelting/lithium_ingot_blasting.json +cef3238bbd0377fd70e42759ab896cee8533d2f2 data/tfmg/advancement/recipes/misc/smelting/nickel_ingot.json +7b9e9d7087c3bb068f0f23b8be79c07b4ad4a9de data/tfmg/advancement/recipes/misc/smelting/nickel_ingot_blasting.json +d37951c8cadc7171c7d76f3dccb940d63e081546 data/tfmg/advancement/recipes/misc/smelting/nickel_ingot_from_crushed_blasting.json +8e64cc13455d9ac939c3b3779c176a7f0ac94c71 data/tfmg/advancement/recipes/misc/smelting/unfinished_insulator.json +5fd4775deac479175db652d1d60848f30b950a9a data/tfmg/recipe/blasting/lead_ingot_blasting.json +8236c6a98ad8b7c775c33f12dc5443a9814896ba data/tfmg/recipe/blasting/lead_ingot_from_crushed_blasting.json +2875431d39bdec9424b3c1ff51a33d8b8f2838b7 data/tfmg/recipe/blasting/lithium_ingot_blasting.json +8e00b06eda2399bcfdc71013ef1f060c99275f06 data/tfmg/recipe/blasting/nickel_ingot_blasting.json +e8ce85caeb22bc0c54fbb9aeceeeb3f7ea8a1495 data/tfmg/recipe/blasting/nickel_ingot_from_crushed_blasting.json +d106d48e609d7094b0bb707708512a55942d1c15 data/tfmg/recipe/crafting/materials/accumulator.json +20d2cb1f6dd696e0acbdc740eed1932724460559 data/tfmg/recipe/crafting/materials/accumulatorfrom_lithium.json +b23810c7693decbee3fa5ff712471a8abf078509 data/tfmg/recipe/crafting/materials/air_intake.json +c79ce6d267134fe7757c60b99d500eba7fd5e3bd data/tfmg/recipe/crafting/materials/aluminum_axe.json +5abf71eaf49ebde9d803d65692f8ce27c9fdde8b data/tfmg/recipe/crafting/materials/aluminum_block_from_compacting.json +61a2e9d897aa5f58a8125f8f9fc239c59176989d data/tfmg/recipe/crafting/materials/aluminum_cable_hub.json +3ce776d453a8793ee83457c9669fb34f1e5aa750 data/tfmg/recipe/crafting/materials/aluminum_cogwheel.json +e7c8aad1d6c6d214ebbd90d20460c201328a9e0d data/tfmg/recipe/crafting/materials/aluminum_door.json +85c44ae3b2c25483a93da282f2dbc489c943c4aa data/tfmg/recipe/crafting/materials/aluminum_fluid_tank.json +3cba18f633557d792211cbb703a76a2a73cfc3a8 data/tfmg/recipe/crafting/materials/aluminum_flywheel.json +448f2dbf1cb991d9d03ad38d3a7041094533a7ce data/tfmg/recipe/crafting/materials/aluminum_frame.json +0f4a25f4187c3e503c7880c90efc7008e8c41431 data/tfmg/recipe/crafting/materials/aluminum_hoe.json +16d88911e6ad8a9527478388020c3fcd6ed9aadd data/tfmg/recipe/crafting/materials/aluminum_ingot_from_compacting.json +6cbe3b795122382451a65b2402ca90922855e1d0 data/tfmg/recipe/crafting/materials/aluminum_ingot_from_decompacting.json +99828fb9105c78ca2c9a8fefc2076d9e4f0d7bef data/tfmg/recipe/crafting/materials/aluminum_lamp.json +bdbe5170df749d96362887273b885f3dc892bcb7 data/tfmg/recipe/crafting/materials/aluminum_nugget_from_decompacting.json +c4eb965d88eb501683a576ee8c0b80d61f7f92f5 data/tfmg/recipe/crafting/materials/aluminum_pickaxe.json +076c585d13541c358fc4df29b0eb857eb6b51022 data/tfmg/recipe/crafting/materials/aluminum_shovel.json +e5b684822100ee184d35a6129e71881420d4da9e data/tfmg/recipe/crafting/materials/aluminum_spool.json +0ec1566f3714470b185df94ee83c1c84f1277a78 data/tfmg/recipe/crafting/materials/aluminum_sword.json +c7314b55fc65dc3bad2c4d0d004a19a020516e44 data/tfmg/recipe/crafting/materials/aluminum_truss.json +d175595ea677f486ce9a10debd8d3643328824ac data/tfmg/recipe/crafting/materials/black_concrete.json +d2660859c561c4bd68813f400c03bad40e27d120 data/tfmg/recipe/crafting/materials/black_multimeter.json +5ac9abddb8aa449ec5ea472df17986c71e883638 data/tfmg/recipe/crafting/materials/black_rebar_concrete.json +1e2a794b2fba89002b53b1fb7983a447caf45c4a data/tfmg/recipe/crafting/materials/blast_furnace_hatch.json +f1372bc1f490e7831c7b5d9cd45ba58eaa710f07 data/tfmg/recipe/crafting/materials/blast_furnace_output.json +96487a711d26500380a1b7c9c67d72b3a1884af2 data/tfmg/recipe/crafting/materials/blast_furnace_reinforcement.json +18ce4d0dff5f3d95b408638cf7fb4857dccc38b4 data/tfmg/recipe/crafting/materials/blast_stove.json +7821f4885876f7445188a5c1f09c709d49d30409 data/tfmg/recipe/crafting/materials/blue_concrete.json +8901995d191b4b1892480cde3c8c09d95149fd1e data/tfmg/recipe/crafting/materials/blue_multimeter.json +014fa7939f6878f56e0331e2089d1e7b67a00692 data/tfmg/recipe/crafting/materials/blue_rebar_concrete.json +e2c43925defaac733d7a9e28679acc45511734ed data/tfmg/recipe/crafting/materials/brass_cable_hub.json +decd43dfe044ee6fdb1e6abfbac1e150bf61471f data/tfmg/recipe/crafting/materials/brass_frame.json +4f8acc3174e6b4153e8f117c6df0f57cd7fc0970 data/tfmg/recipe/crafting/materials/brass_truss.json +494e6c9b70eb5c992d5fdd19678c0bbc0037d088 data/tfmg/recipe/crafting/materials/brick_smokestack.json +df251ad3fcd97250b3d5c3105f1c29d325df39aa data/tfmg/recipe/crafting/materials/brown_concrete.json +ff2febdab0cca0421a0dd038100cfb6f8dc42faf data/tfmg/recipe/crafting/materials/brown_multimeter.json +537344919a2cee36e64d9931a4030561fbaa6925 data/tfmg/recipe/crafting/materials/brown_rebar_concrete.json +049e09b06c5d28a684a29605e9d1a50b8d8a3395 data/tfmg/recipe/crafting/materials/cable_connector.json +d73bd8005058bd2896092fd213b79039f078cccb data/tfmg/recipe/crafting/materials/cable_tube.json +54b1e6b3b1a0044a950241cadb39ee9bcc4f9933 data/tfmg/recipe/crafting/materials/casting_basin.json +6477ed4f5debc7b645ed864b0f1168fcfd17a5d0 data/tfmg/recipe/crafting/materials/cast_iron_block_from_compacting.json +20cf9808563515b5abbfc4907d88a45a47017938 data/tfmg/recipe/crafting/materials/cast_iron_chemical_vat.json +385df8fd169bf139183a9784c08bec10c1217dc0 data/tfmg/recipe/crafting/materials/cast_iron_fluid_tank.json +98acf8aa7e94ae8df5adb434d912bb690d1ae4dc data/tfmg/recipe/crafting/materials/cast_iron_flywheel.json +705510773f20579136c8f65a579fecf4a39b9a5b data/tfmg/recipe/crafting/materials/cast_iron_frame.json +6d70868e9a875b0eae0da514349e285db67e3661 data/tfmg/recipe/crafting/materials/cast_iron_ingot_from_compacting.json +a7f91fe3b66258765110f7eb3651b3309e7f18d2 data/tfmg/recipe/crafting/materials/cast_iron_ingot_from_decompacting.json +c5560b49308fd54211fd173fb48a3651e385f412 data/tfmg/recipe/crafting/materials/cast_iron_nugget_from_decompacting.json +b5a76d18a47375bd9d6c214039fdccbf67c21063 data/tfmg/recipe/crafting/materials/cast_iron_truss.json +d8049fae9b2c9c70547b97e62c56c7f7a9678cdd data/tfmg/recipe/crafting/materials/centrifuge.json +7a4a6be2415cf4b60cfb72c5e42caa4d1ac2daef data/tfmg/recipe/crafting/materials/cinderflour_block.json +52cefcfc28178016a82a07095669ceb76b35b125 data/tfmg/recipe/crafting/materials/cinder_block.json +163373fb1e28e5595b59e7b9b7b1701df06f4d6a data/tfmg/recipe/crafting/materials/circular_light.json +e69a1fa2ae46c128362c480dbeaa3dae46db9c1f data/tfmg/recipe/crafting/materials/coal_coke.json +9f21479f2d99a4be59ec3746d961cc256b21146d data/tfmg/recipe/crafting/materials/coal_coke_block.json +6e5ee4e853a86c20bd08cd00744df36e09ade6b2 data/tfmg/recipe/crafting/materials/coke_oven.json +116835faa845c6577723cf826a67bbd85f608feb data/tfmg/recipe/crafting/materials/concrete_hose.json +aa6119a180048584ddd7f8f396c8b865cdab0b04 data/tfmg/recipe/crafting/materials/concrete_smokestack.json +cd8026d05aa11602093496f7bb540779eb4b921f data/tfmg/recipe/crafting/materials/constantan_block_from_compacting.json +d102bbba5f703d9155dbfd89f3eeb53618c0c613 data/tfmg/recipe/crafting/materials/constantan_frame.json +8f8eb1d64849c2a993a22414f33eb0b0ced5db95 data/tfmg/recipe/crafting/materials/constantan_ingot_from_compacting.json +a283f9cc32d537b4bb91d7f277e2aa27e9e06ad1 data/tfmg/recipe/crafting/materials/constantan_ingot_from_decompacting.json +10208b260c8590f4dea15949d627c2660dd5a6db data/tfmg/recipe/crafting/materials/constantan_nugget_from_decompacting.json +576a88aa50473a462b05acde251d6941cf646eea data/tfmg/recipe/crafting/materials/constantan_spool.json +ed3b9755ae75894fe5e81133b0b7a10b09142336 data/tfmg/recipe/crafting/materials/constantan_truss.json +0cbf2af89469abe06f849a2d462d8616887ce81d data/tfmg/recipe/crafting/materials/converter.json +a6b7df4a66559f0a57c0e2d4dee85ae49004f84d data/tfmg/recipe/crafting/materials/cooling_fluid_bottle.json +8c981a9139ee9aec63647302eb9d604f84298ee4 data/tfmg/recipe/crafting/materials/copper_cable_hub.json +3bc0af5e78e0a5c22ef4b6ca5050f493c435d5bd data/tfmg/recipe/crafting/materials/copper_frame.json +e75f2251bcdf8cdb47d8de057735cf7efe1fb62f data/tfmg/recipe/crafting/materials/copper_grenade.json +28a6bb6757e75d754b10c536083c5be3d5ca0745 data/tfmg/recipe/crafting/materials/copper_spool.json +be689dc5df3bb0be1474c7b60d972eb9533d8868 data/tfmg/recipe/crafting/materials/copper_truss.json +103bb487b1b53aae642b1df1919c6442dd0e7b3a data/tfmg/recipe/crafting/materials/copycat_cable_block.json +f365d32e6c3f0f570e535b6fc083a640983b1541 data/tfmg/recipe/crafting/materials/crankshaft.json +19cfed240c8dcc7163fd2dad23adf6a827ed2743 data/tfmg/recipe/crafting/materials/cyan_concrete.json +6ae5384d34916efcf8af5825ca8a537dd9ed71fa data/tfmg/recipe/crafting/materials/cyan_multimeter.json +2ad93375bef2e81366458ef4ac711f9670fd5b7d data/tfmg/recipe/crafting/materials/cyan_rebar_concrete.json +ac7373fe6f7c2aa7e190d32950571029ebcf8dd2 data/tfmg/recipe/crafting/materials/diagonal_cable_block.json +57fefddb8873f5b1227737c9bbb7a92f61d43c04 data/tfmg/recipe/crafting/materials/electrical_switch.json +273a761fc931acb13b5dcc7e1ec89c142ee6d5c4 data/tfmg/recipe/crafting/materials/electricians_wrench.json +f9e958dc22be2067aecb38b14fab807e2ec952d1 data/tfmg/recipe/crafting/materials/electric_diode.json +81ed8e97c469a2c43aca94861f8ca81d3c41e6c7 data/tfmg/recipe/crafting/materials/electric_post.json +401d36d81a832fb61fa6d03429551079c99f40ca data/tfmg/recipe/crafting/materials/electric_pump.json +6792ed39b44236f2e5cd3236d952af259f1915f1 data/tfmg/recipe/crafting/materials/electrode_holder.json +e6bcab69512584362e0b6647d653a0bb32145a1f data/tfmg/recipe/crafting/materials/empty_circuit_board.json +e54ec249a95cdee71ac0fea1242bf6d8e28dbd24 data/tfmg/recipe/crafting/materials/engine_gearbox.json +de62177fb0426844d7c481b69a8da8c60474c44b data/tfmg/recipe/crafting/materials/exhaust.json +164ee58837512d583308bf1828f779a82e5df0f1 data/tfmg/recipe/crafting/materials/firebox.json +58bb0c6aa51262ff91bc6a133592329f621271c7 data/tfmg/recipe/crafting/materials/fireclay.json +2ed06fc71610f7d5ebe0a7ba05d0eadf4f8a41a6 data/tfmg/recipe/crafting/materials/fireproof_bricks.json +75eae476980dcc22b61d472ba4f60d297a8f60aa data/tfmg/recipe/crafting/materials/fireproof_brick_reinforcement.json +d09d2edeae31a276ea8c763c95df2aa119f40899 data/tfmg/recipe/crafting/materials/fireproof_chemical_vat.json +9449860c915eff49f557fde951f7c7ca329a8d2e data/tfmg/recipe/crafting/materials/flarestack.json +a9679bba91a9c4459dc12305eceea70c211ffe11 data/tfmg/recipe/crafting/materials/glass_cable_insulator.json +4df43d6d3a37fafaddd71dcb7679103aaabfa0f3 data/tfmg/recipe/crafting/materials/glass_insulator_segment.json +76f9c9a0de818ebf008156d50248fb6b34b145fd data/tfmg/recipe/crafting/materials/gray_concrete.json +6e182fd1827243b25252a600fa02d2354a632dea data/tfmg/recipe/crafting/materials/gray_multimeter.json +02d3990452037497731371ca87a0bdcb9994c62c data/tfmg/recipe/crafting/materials/gray_rebar_concrete.json +49231ae62616e48b0d37ad7db5406bfefd5759ce data/tfmg/recipe/crafting/materials/green_concrete.json +8996fd2ebdf1188a8bc262da95275ae6ffdbb04b data/tfmg/recipe/crafting/materials/green_multimeter.json +4a649fa1e19b634299df35d3897cec642f994219 data/tfmg/recipe/crafting/materials/green_rebar_concrete.json +d90f0635b9732cb6a036d4fcd90418c9ade73b3c data/tfmg/recipe/crafting/materials/heavy_cable_hub.json +c0ab0292bffca8798fcd50bee97955dc4fbf1fd8 data/tfmg/recipe/crafting/materials/heavy_casing_door.json +d02cba7d6e92651a7e5f7f4ebdc2511a085d7579 data/tfmg/recipe/crafting/materials/heavy_plated_door.json +693b34df5f8f775eeef89c0157ebeb1498adc6e7 data/tfmg/recipe/crafting/materials/industrial_mixer.json +76c8b00179d98204f3d4b66ee470ae6e7b631c70 data/tfmg/recipe/crafting/materials/large_aluminum_cogwheel.json +f4a0b0f3aba7ac9d275d67480f8014bb938a14b3 data/tfmg/recipe/crafting/materials/large_pumpjack_hammer_connector.json +96aeb5049913f5e5d933d6f89b8104ec85b27d92 data/tfmg/recipe/crafting/materials/large_pumpjack_hammer_head.json +87a436e57580c73275ebb3caca577c06eadd0412 data/tfmg/recipe/crafting/materials/large_steel_cogwheel.json +cdda82ae60bd65e3e022a2573ced6c86b4e75a17 data/tfmg/recipe/crafting/materials/lead_axe.json +2e05132f93d01876e2dad728b1eb8812430f741d data/tfmg/recipe/crafting/materials/lead_block_from_compacting.json +3f407cf9b54aed3b2d1cc034f57fe2300d48aa03 data/tfmg/recipe/crafting/materials/lead_flywheel.json +99897d44dc47c52ef21a039d601d367559c48106 data/tfmg/recipe/crafting/materials/lead_frame.json +cad7b01d5bf72e94182139d1215b8bab5accd1ba data/tfmg/recipe/crafting/materials/lead_hoe.json +ee7833341651079b5e352917e3272967ab989ca4 data/tfmg/recipe/crafting/materials/lead_ingot_from_compacting.json +9bf467d8c9b21f455afa381eee0e346729f61488 data/tfmg/recipe/crafting/materials/lead_ingot_from_decompacting.json +46795e075fa8d2ee1a6ceca7f292e7992a562e24 data/tfmg/recipe/crafting/materials/lead_nugget_from_decompacting.json +9f598a3243c78dcc7747c2e2865dc8754460ba34 data/tfmg/recipe/crafting/materials/lead_pickaxe.json +0cad798f8fae18f8b15fbb5169dc89a904c73901 data/tfmg/recipe/crafting/materials/lead_shovel.json +2e3359b4c70b84c529595555a3da11fe69468d91 data/tfmg/recipe/crafting/materials/lead_sword.json +b4c1c457beb1c942fca62f1c951ebdb92ab95d9b data/tfmg/recipe/crafting/materials/lead_truss.json +61f68ee5c58af91fb300c68e7a4b60ac6d1aafb6 data/tfmg/recipe/crafting/materials/light_blue_concrete.json +7b7df6e12b4f3ca388aa0630d019d468de730214 data/tfmg/recipe/crafting/materials/light_blue_multimeter.json +4a2c38de2745ced68ac15e162d76a2c5fe38bfd0 data/tfmg/recipe/crafting/materials/light_blue_rebar_concrete.json +cab35ad2b85deb90c4ab35c1d4a4f914ad7ef649 data/tfmg/recipe/crafting/materials/light_bulb.json +ef9e2b4530754aecbe4701ca33982333e08f0e87 data/tfmg/recipe/crafting/materials/light_gray_concrete.json +3d88d33485d11d49c50c0dcc79072e4c929bc448 data/tfmg/recipe/crafting/materials/light_gray_multimeter.json +4c3dbe871240aad96c21dcef317ebed78d2d6086 data/tfmg/recipe/crafting/materials/light_gray_rebar_concrete.json +eab72d8c767a6d3daed71ff32ad7cfe8d1f5dafb data/tfmg/recipe/crafting/materials/lime_concrete.json +fc37b695afdcc2370a903ac5e10b2feb14b326b3 data/tfmg/recipe/crafting/materials/lime_multimeter.json +784f5101bb1fe0309b5275721d48f3d2a6a9d5ef data/tfmg/recipe/crafting/materials/lime_rebar_concrete.json +699ce68a0cd7407d02a6bb27dce17caddab9127a data/tfmg/recipe/crafting/materials/lithium_blade.json +55b5c5bf8026c4733a9624409ce145d4616f453e data/tfmg/recipe/crafting/materials/lithium_block_from_compacting.json +a05ab5e201c2c4ded90ac916140a96d5fa6ed81f data/tfmg/recipe/crafting/materials/lithium_charge.json +c7b8b14ab5c5c5a200be1c71eb7bdbc132b02aec data/tfmg/recipe/crafting/materials/lithium_ingot_from_compacting.json +bd567c33469df6b8da6b6b5d93023312481ff084 data/tfmg/recipe/crafting/materials/lithium_ingot_from_decompacting.json +65ae6d28e9aeb3d5ee378bbf0c63ff0e30c407fe data/tfmg/recipe/crafting/materials/lithium_nugget_from_decompacting.json +432775d6bfa98688cea5de9c8f3bd88f9f9ea76e data/tfmg/recipe/crafting/materials/lithium_torch.json +a222a4ab2eca7456c1858153bd46c442ff07b462 data/tfmg/recipe/crafting/materials/machine_input.json +4b17d78379a67adccca6ee891138391e3263ff8c data/tfmg/recipe/crafting/materials/magenta_concrete.json +c4553d9b30796bf59fb090c876fbf84cc90ba189 data/tfmg/recipe/crafting/materials/magenta_multimeter.json +9defd369c8cae18d25c40be22360b91409653d4a data/tfmg/recipe/crafting/materials/magenta_rebar_concrete.json +2792d5753a7e48f0cc27afb21aaeb84dae6f912c data/tfmg/recipe/crafting/materials/metal_smokestack.json +f685194c17f83a02387a608a93c73676bb580bad data/tfmg/recipe/crafting/materials/mixer_blade.json +70916e3db2a264e19b8e1aea4e8e2581fe00b42d data/tfmg/recipe/crafting/materials/modern_light.json +67cb408efd2a8c30612c1502d94c9a01a470057c data/tfmg/recipe/crafting/materials/multimeter.json +537c1782e33cd3d87c00bb82ae7931ccb22753c4 data/tfmg/recipe/crafting/materials/napalm_bomb.json +6abb2c6f7c328843138f5366ee7094cd56c542dd data/tfmg/recipe/crafting/materials/neon_tube.json +ca7929c5c97a8398faaaf95f66eb07bc50aecc4b data/tfmg/recipe/crafting/materials/nickel_block_from_compacting.json +70bb0a2c65aa87bdbb9ddd0352975078d274f76f data/tfmg/recipe/crafting/materials/nickel_flywheel.json +22437ca9008cda24b9c8e87d67ef909b6a353f87 data/tfmg/recipe/crafting/materials/nickel_frame.json +df71480bb8b83e3ab70f479d16ad369a98b57674 data/tfmg/recipe/crafting/materials/nickel_ingot_from_compacting.json +8edf81be373ba5620a2e39c4b6d70d7c43574bdd data/tfmg/recipe/crafting/materials/nickel_ingot_from_decompacting.json +c7434ac1e9a5fc3d45ee5b6d2e642073526a1685 data/tfmg/recipe/crafting/materials/nickel_nugget_from_decompacting.json +7638f3541fd022faa7fe55b3555889084acb6747 data/tfmg/recipe/crafting/materials/nickel_truss.json +1fae93ad9217c404319fbbd3372a1bf5aa67a615 data/tfmg/recipe/crafting/materials/oil_can.json +4ed8c5b277af83f9f0b4354220eafda8a864503f data/tfmg/recipe/crafting/materials/oil_hammer.json +79a0ffb9bc675a34d85109b2ca5812f93a84d189 data/tfmg/recipe/crafting/materials/orange_concrete.json +10d9904e8ee9210ac18cd67c4f2823b18aa0c79a data/tfmg/recipe/crafting/materials/orange_multimeter.json +48e5a6aec7962ba79a86decbae82b174d7ac6f12 data/tfmg/recipe/crafting/materials/orange_rebar_concrete.json +c2c9d2c53acdcc582ca075b173f8ca8a4fc8e6d9 data/tfmg/recipe/crafting/materials/pink_concrete.json +fd22d270c7e925a6ae7b01e7b87866a9dc898fd2 data/tfmg/recipe/crafting/materials/pink_multimeter.json +9c74c0ffc2f71d6c599286b371266d136904c21e data/tfmg/recipe/crafting/materials/pink_rebar_concrete.json +a0490b8a3557edbdd87c3e4650313cd8ad1265b2 data/tfmg/recipe/crafting/materials/pipe_bomb.json +205a133cc1c17dd7246aa4728b0e542aae42ca15 data/tfmg/recipe/crafting/materials/plastic_block.json +1f5aa2449853410d91b81a93eb242990b6a1fc42 data/tfmg/recipe/crafting/materials/plastic_sheet.json +bd9ec3c0903940cbe06c140378177b99f1fd9a33 data/tfmg/recipe/crafting/materials/polarizer.json +64fa6fe41ff6e6c71fd31f9464b3a4a728a525ac data/tfmg/recipe/crafting/materials/pumpjack_base.json +a3cbf7c3a0c1743e032ab03803504870fd067aa7 data/tfmg/recipe/crafting/materials/pumpjack_crank.json +b5136197f8cd6d84bf8c11bff9b09f783445f55d data/tfmg/recipe/crafting/materials/pumpjack_hammer.json +6f6e0ff50309763bd742744ee89ea66616390c38 data/tfmg/recipe/crafting/materials/pumpjack_hammer_connector.json +784b8fd8de0aa669536c4b57d866e48f2c64c940 data/tfmg/recipe/crafting/materials/pumpjack_hammer_head.json +71af9f516cecbb600a99fa5fe039affe08b8a376 data/tfmg/recipe/crafting/materials/purple_concrete.json +a65c4ddb22a682aedd6422a07b19a2daef486589 data/tfmg/recipe/crafting/materials/purple_multimeter.json +599e1f5996961901edc9bbbff89c61b21a1a7c6f data/tfmg/recipe/crafting/materials/purple_rebar_concrete.json +bcd45743b40b24b7b2a265ecd63631e101d8410e data/tfmg/recipe/crafting/materials/radial_engine.json +f0d28622e3a7c48d6e9293e28449f0bcd5a63216 data/tfmg/recipe/crafting/materials/raw_lead.json +6d4407efb37ab8e7cfae1b01ec01f5afd94b9505 data/tfmg/recipe/crafting/materials/raw_lead_block.json +76258d776f3074d5141ae2ef995230ac7ce9a83c data/tfmg/recipe/crafting/materials/raw_lithium.json +39a74b20017afbe44d6a034be114abbd4abcf688 data/tfmg/recipe/crafting/materials/raw_lithium_block.json +e267154237a0370f1ec5e3334d624bf96cb7bcb5 data/tfmg/recipe/crafting/materials/raw_nickel.json +43ad9810bff66a3af6eabf436f427b43de7feb8a data/tfmg/recipe/crafting/materials/raw_nickel_block.json +14b50cd2dc1f3bab20cd5bce5c785922a5eb8b59 data/tfmg/recipe/crafting/materials/rebar.json +2aceadebd06de865ed5f87ca059cf567158bfbd0 data/tfmg/recipe/crafting/materials/rebar_block.json +2117d420a3f5a2d2d83b98cc2f0e3b8c02a45316 data/tfmg/recipe/crafting/materials/rebar_floor.json +48bacb1e0351e98afa0171514ea883bf9a046f62 data/tfmg/recipe/crafting/materials/rebar_pile.json +797023f6b87ed40745d3d57b19717c29af2263fb data/tfmg/recipe/crafting/materials/rebar_pillar.json +958dc1e2647b53af576b87e25cf7c61f18921489 data/tfmg/recipe/crafting/materials/rebar_stairs.json +982a511f2c976523b22fc80655c8b6ffde1cf8b7 data/tfmg/recipe/crafting/materials/rebar_wall.json +75bc2b21d2a6bd24ab0f5840a00dbbce7c7b8285 data/tfmg/recipe/crafting/materials/red_concrete.json +8949d0c95ce2bf17913fc442b2f780e7ad8f319d data/tfmg/recipe/crafting/materials/red_multimeter.json +077c3c2caeedcfbca8cfb40d4b199fc5bc918d3d data/tfmg/recipe/crafting/materials/red_rebar_concrete.json +f5d3c70ee7ec9092b7a522a82575a9e8fc43bc4f data/tfmg/recipe/crafting/materials/regular_engine.json +889f7c90ccee8555c6aa44d514ede05ccf269950 data/tfmg/recipe/crafting/materials/rusted_blast_furnace_reinforcement.json +0a34a712cabc2de13adaaa2065afa7bd2ae9156b data/tfmg/recipe/crafting/materials/screwdriver.json +7d9e4373134de097f74b364471551e3e44a1cab9 data/tfmg/recipe/crafting/materials/screwdriverfrom_brass.json +5843df447531f1f232c5bb4f874e1a3e64d2fc2d data/tfmg/recipe/crafting/materials/segmented_display.json +aab890f5bbfe58690b55e64411a91c4e9f4fba12 data/tfmg/recipe/crafting/materials/steel_axe.json +cce73975d317457949828490a420c52383bc7a44 data/tfmg/recipe/crafting/materials/steel_block_from_compacting.json +6b0add358b22efaf8d6ae2ac26e260f6bd7b982b data/tfmg/recipe/crafting/materials/steel_cable_hub.json +87920c01cf41a8e5b09ec19a54a48baf5e040a06 data/tfmg/recipe/crafting/materials/steel_casing_cable_hub.json +b46ba3dda18d6d7a29be504bd9dbbf7fee8e8281 data/tfmg/recipe/crafting/materials/steel_chemical_vat.json +4689e7d7b92724a49ce6dc3781a1b12df277633a data/tfmg/recipe/crafting/materials/steel_cogwheel.json +cb47257d448ada80339267b3f60d19ca014ca947 data/tfmg/recipe/crafting/materials/steel_distillation_controller.json +1311dd0176040bbeb89d1ffecccf3c53d85c91b9 data/tfmg/recipe/crafting/materials/steel_distillation_output.json +49a6d60e27d43c1e5b0e49576d24fbaa25816e8d data/tfmg/recipe/crafting/materials/steel_door.json +8b04967a63326d6882bfe2ced45ea95fa06f2a13 data/tfmg/recipe/crafting/materials/steel_fluid_tank.json +a5a51de643646781c968d15ac8ea2ab8011b0d68 data/tfmg/recipe/crafting/materials/steel_flywheel.json +1da2269c9760de28df984114fe6bd93a76141806 data/tfmg/recipe/crafting/materials/steel_frame.json +7dd88acebf3ec59809c58c207bad6c859920bde3 data/tfmg/recipe/crafting/materials/steel_gearbox.json +2eea444590ef1ff3ba042c0505afde174c722540 data/tfmg/recipe/crafting/materials/steel_hoe.json +a7bc08368aa212d6752b07996c0770b86bda627b data/tfmg/recipe/crafting/materials/steel_ingot_from_compacting.json +e9f0a4281209f8b93e6813b878df388b6cf244db data/tfmg/recipe/crafting/materials/steel_ingot_from_decompacting.json +4f740d7416ab3402e90a545a4c5f9a9fabbc1fd5 data/tfmg/recipe/crafting/materials/steel_nugget_from_decompacting.json +525675a63ef58fb3d18c9c9f057dedbeabc2337d data/tfmg/recipe/crafting/materials/steel_pickaxe.json +b476a375c8d50679e97aadfa1b06422555f5e5de data/tfmg/recipe/crafting/materials/steel_shovel.json +fd3bbbc39fdc8fdbbba3b25455aaf1750ee60bf4 data/tfmg/recipe/crafting/materials/steel_sword.json +766986efb85631549d4bd1c87a086b2402a2245e data/tfmg/recipe/crafting/materials/steel_trapdoor.json +628348980a4d38ce6f74f8d3ecfb510b94bb2bc6 data/tfmg/recipe/crafting/materials/steel_truss.json +26efee6aa8ae5a87421ce94816ec679fb8b45b97 data/tfmg/recipe/crafting/materials/surface_scanner.json +d0a83ed4d0e3ef511fffa88b739a00e8ac3f27e8 data/tfmg/recipe/crafting/materials/thermite_grenade.json +51873c54d7b434616fdff4f495c811f6b0db4050 data/tfmg/recipe/crafting/materials/traffic_light.json +6a0b9fd463d44658bf018eee535a47fefe4ce80b data/tfmg/recipe/crafting/materials/transformer.json +18c5229e5df52f4e26cb018af948b6dcb02170b9 data/tfmg/recipe/crafting/materials/transmission.json +a4d5490aef122658c1a10fbdc1fea617ee81ec2c data/tfmg/recipe/crafting/materials/turbine_engine.json +a24ee2a009886c77f180d051c64f4cca5c09744f data/tfmg/recipe/crafting/materials/turbo.json +f1551819f3bc0560de5222a74df0a89c42cf3895 data/tfmg/recipe/crafting/materials/unfinished_electromagnetic_coil.json +7490f3a38c94bcf8205aefd4cfd98876644d8552 data/tfmg/recipe/crafting/materials/unfinished_resistor.json +eb01cd90e9cac40c67f444458cfaad7781fc7771 data/tfmg/recipe/crafting/materials/unfinished_resistorfrom_slime.json +a12273269fd0687008dfc79bb1ca174b65fdd67f data/tfmg/recipe/crafting/materials/voltage_observer.json +4d57095e90fb9544069af4cefbc420ecb56512e4 data/tfmg/recipe/crafting/materials/voltmeter.json +b147baaf165d978f7ae4751cbc69358181ba4994 data/tfmg/recipe/crafting/materials/white_concrete.json +907938c0001639c6bf6b999778bf1b27acc3eace data/tfmg/recipe/crafting/materials/white_multimeter.json +ba5f8bf741f8bd7770d7b1335695521dc3cd7920 data/tfmg/recipe/crafting/materials/white_rebar_concrete.json +95c2c4c95731b032f3b85e399772c90dc89cf667 data/tfmg/recipe/crafting/materials/winding_machine.json +f94eeb4703090b7df927a8247de04dd17f424ccc data/tfmg/recipe/crafting/materials/yellow_concrete.json +34fc462fceb88c36765ab2cd5382480fe3c77938 data/tfmg/recipe/crafting/materials/yellow_multimeter.json +ba40667157de76d5d65dc0259b50c91fc3934a7d data/tfmg/recipe/crafting/materials/yellow_rebar_concrete.json +a26c1895e13e570f50d289254ba2e9776c6bf66e data/tfmg/recipe/crafting/materials/zinc_frame.json +ace7e758ed0c85515233a31a363f1790e12dd0b9 data/tfmg/recipe/crafting/materials/zinc_grenade.json +4d115edcb1461d5028f467c81741b078ad11783b data/tfmg/recipe/crafting/materials/zinc_truss.json +2a1b94d55a3a9d713cf5dc752e688ea05f4b99d3 data/tfmg/recipe/smelting/fireproof_brick.json +76d648e7a227a2461eb2c4a74b42887bad2704b0 data/tfmg/recipe/smelting/lead_ingot.json +76d648e7a227a2461eb2c4a74b42887bad2704b0 data/tfmg/recipe/smelting/lead_ingot_blasting.json +eceb059d38a4e2a6c555cea2edd88045e5569efc data/tfmg/recipe/smelting/lead_ingot_from_crushed_blasting.json +9224b8efd174aff56ac137cf1a174110c20399d3 data/tfmg/recipe/smelting/lithium_ingot.json +9224b8efd174aff56ac137cf1a174110c20399d3 data/tfmg/recipe/smelting/lithium_ingot_blasting.json +00a2f106e8a399c5f64829312665e4b11383bed7 data/tfmg/recipe/smelting/nickel_ingot.json +00a2f106e8a399c5f64829312665e4b11383bed7 data/tfmg/recipe/smelting/nickel_ingot_blasting.json +e1e3cf099b19f5796da3e04a144ecf8dc733663e data/tfmg/recipe/smelting/nickel_ingot_from_crushed_blasting.json +90472e03445b95da996c802bc449ad55898e8755 data/tfmg/recipe/smelting/unfinished_insulator.json diff --git a/src/generated/resources/assets/tfmg/blockstates/accumulator.json b/src/generated/resources/assets/tfmg/blockstates/accumulator.json new file mode 100644 index 00000000..2f01379b --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/accumulator.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "tfmg:block/accumulator/block", + "x": 180 + }, + "facing=east": { + "model": "tfmg:block/accumulator/block", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/accumulator/block", + "x": 90 + }, + "facing=south": { + "model": "tfmg:block/accumulator/block", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "tfmg:block/accumulator/block" + }, + "facing=west": { + "model": "tfmg:block/accumulator/block", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/air_intake.json b/src/generated/resources/assets/tfmg/blockstates/air_intake.json new file mode 100644 index 00000000..7f6671a4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/air_intake.json @@ -0,0 +1,56 @@ +{ + "variants": { + "facing=down,invisible=false": { + "model": "tfmg:block/air_intake/block", + "x": 180 + }, + "facing=down,invisible=true": { + "model": "tfmg:block/air_intake/block_empty", + "x": 180 + }, + "facing=east,invisible=false": { + "model": "tfmg:block/air_intake/block", + "x": 90, + "y": 90 + }, + "facing=east,invisible=true": { + "model": "tfmg:block/air_intake/block_empty", + "x": 90, + "y": 90 + }, + "facing=north,invisible=false": { + "model": "tfmg:block/air_intake/block", + "x": 90 + }, + "facing=north,invisible=true": { + "model": "tfmg:block/air_intake/block_empty", + "x": 90 + }, + "facing=south,invisible=false": { + "model": "tfmg:block/air_intake/block", + "x": 90, + "y": 180 + }, + "facing=south,invisible=true": { + "model": "tfmg:block/air_intake/block_empty", + "x": 90, + "y": 180 + }, + "facing=up,invisible=false": { + "model": "tfmg:block/air_intake/block" + }, + "facing=up,invisible=true": { + "model": "tfmg:block/air_intake/block_empty" + }, + "facing=west,invisible=false": { + "model": "tfmg:block/air_intake/block", + "x": 90, + "y": 270 + }, + "facing=west,invisible=true": { + "model": "tfmg:block/air_intake/block_empty", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/aluminum_bars.json b/src/generated/resources/assets/tfmg/blockstates/aluminum_bars.json new file mode 100644 index 00000000..4c3802f8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/aluminum_bars.json @@ -0,0 +1,100 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/aluminum_post_ends" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_post" + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_cap" + }, + "when": { + "east": "false", + "north": "true", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_cap", + "y": 90 + }, + "when": { + "east": "true", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_cap_alt" + }, + "when": { + "east": "false", + "north": "false", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_cap_alt", + "y": 90 + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_side" + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_side", + "y": 90 + }, + "when": { + "east": "true" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_side_alt" + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_side_alt", + "y": 90 + }, + "when": { + "west": "true" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/aluminum_block.json b/src/generated/resources/assets/tfmg/blockstates/aluminum_block.json new file mode 100644 index 00000000..b21fa9a2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/aluminum_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/aluminum_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/aluminum_cable_hub.json b/src/generated/resources/assets/tfmg/blockstates/aluminum_cable_hub.json new file mode 100644 index 00000000..0605b13e --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/aluminum_cable_hub.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/aluminum_cable_hub" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/aluminum_cogwheel.json b/src/generated/resources/assets/tfmg/blockstates/aluminum_cogwheel.json new file mode 100644 index 00000000..ab16ef6c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/aluminum_cogwheel.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/aluminum_cogwheel", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/aluminum_cogwheel" + }, + "axis=z": { + "model": "tfmg:block/aluminum_cogwheel", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/aluminum_door.json b/src/generated/resources/assets/tfmg/blockstates/aluminum_door.json new file mode 100644 index 00000000..b30f2593 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/aluminum_door.json @@ -0,0 +1,244 @@ +{ + "variants": { + "facing=east,half=lower,hinge=left,open=false,visible=false": { + "model": "tfmg:block/aluminum_door/block_bottom" + }, + "facing=east,half=lower,hinge=left,open=false,visible=true": { + "model": "tfmg:block/aluminum_door/block_bottom" + }, + "facing=east,half=lower,hinge=left,open=true,visible=false": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 90 + }, + "facing=east,half=lower,hinge=left,open=true,visible=true": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 90 + }, + "facing=east,half=lower,hinge=right,open=false,visible=false": { + "model": "tfmg:block/aluminum_door/block_bottom" + }, + "facing=east,half=lower,hinge=right,open=false,visible=true": { + "model": "tfmg:block/aluminum_door/block_bottom" + }, + "facing=east,half=lower,hinge=right,open=true,visible=false": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 270 + }, + "facing=east,half=lower,hinge=right,open=true,visible=true": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 270 + }, + "facing=east,half=upper,hinge=left,open=false,visible=false": { + "model": "tfmg:block/aluminum_door/block_top" + }, + "facing=east,half=upper,hinge=left,open=false,visible=true": { + "model": "tfmg:block/aluminum_door/block_top" + }, + "facing=east,half=upper,hinge=left,open=true,visible=false": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 90 + }, + "facing=east,half=upper,hinge=left,open=true,visible=true": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 90 + }, + "facing=east,half=upper,hinge=right,open=false,visible=false": { + "model": "tfmg:block/aluminum_door/block_top" + }, + "facing=east,half=upper,hinge=right,open=false,visible=true": { + "model": "tfmg:block/aluminum_door/block_top" + }, + "facing=east,half=upper,hinge=right,open=true,visible=false": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 270 + }, + "facing=east,half=upper,hinge=right,open=true,visible=true": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=false,visible=false": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=false,visible=true": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=true,visible=false": { + "model": "tfmg:block/aluminum_door/block_bottom" + }, + "facing=north,half=lower,hinge=left,open=true,visible=true": { + "model": "tfmg:block/aluminum_door/block_bottom" + }, + "facing=north,half=lower,hinge=right,open=false,visible=false": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=right,open=false,visible=true": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=right,open=true,visible=false": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 180 + }, + "facing=north,half=lower,hinge=right,open=true,visible=true": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 180 + }, + "facing=north,half=upper,hinge=left,open=false,visible=false": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 270 + }, + "facing=north,half=upper,hinge=left,open=false,visible=true": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 270 + }, + "facing=north,half=upper,hinge=left,open=true,visible=false": { + "model": "tfmg:block/aluminum_door/block_top" + }, + "facing=north,half=upper,hinge=left,open=true,visible=true": { + "model": "tfmg:block/aluminum_door/block_top" + }, + "facing=north,half=upper,hinge=right,open=false,visible=false": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 270 + }, + "facing=north,half=upper,hinge=right,open=false,visible=true": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 270 + }, + "facing=north,half=upper,hinge=right,open=true,visible=false": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 180 + }, + "facing=north,half=upper,hinge=right,open=true,visible=true": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 180 + }, + "facing=south,half=lower,hinge=left,open=false,visible=false": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=left,open=false,visible=true": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=left,open=true,visible=false": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 180 + }, + "facing=south,half=lower,hinge=left,open=true,visible=true": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 180 + }, + "facing=south,half=lower,hinge=right,open=false,visible=false": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=right,open=false,visible=true": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=right,open=true,visible=false": { + "model": "tfmg:block/aluminum_door/block_bottom" + }, + "facing=south,half=lower,hinge=right,open=true,visible=true": { + "model": "tfmg:block/aluminum_door/block_bottom" + }, + "facing=south,half=upper,hinge=left,open=false,visible=false": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 90 + }, + "facing=south,half=upper,hinge=left,open=false,visible=true": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 90 + }, + "facing=south,half=upper,hinge=left,open=true,visible=false": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 180 + }, + "facing=south,half=upper,hinge=left,open=true,visible=true": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 180 + }, + "facing=south,half=upper,hinge=right,open=false,visible=false": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 90 + }, + "facing=south,half=upper,hinge=right,open=false,visible=true": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 90 + }, + "facing=south,half=upper,hinge=right,open=true,visible=false": { + "model": "tfmg:block/aluminum_door/block_top" + }, + "facing=south,half=upper,hinge=right,open=true,visible=true": { + "model": "tfmg:block/aluminum_door/block_top" + }, + "facing=west,half=lower,hinge=left,open=false,visible=false": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=left,open=false,visible=true": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=left,open=true,visible=false": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 270 + }, + "facing=west,half=lower,hinge=left,open=true,visible=true": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 270 + }, + "facing=west,half=lower,hinge=right,open=false,visible=false": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=right,open=false,visible=true": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=right,open=true,visible=false": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 90 + }, + "facing=west,half=lower,hinge=right,open=true,visible=true": { + "model": "tfmg:block/aluminum_door/block_bottom", + "y": 90 + }, + "facing=west,half=upper,hinge=left,open=false,visible=false": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 180 + }, + "facing=west,half=upper,hinge=left,open=false,visible=true": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 180 + }, + "facing=west,half=upper,hinge=left,open=true,visible=false": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 270 + }, + "facing=west,half=upper,hinge=left,open=true,visible=true": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 270 + }, + "facing=west,half=upper,hinge=right,open=false,visible=false": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 180 + }, + "facing=west,half=upper,hinge=right,open=false,visible=true": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 180 + }, + "facing=west,half=upper,hinge=right,open=true,visible=false": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 90 + }, + "facing=west,half=upper,hinge=right,open=true,visible=true": { + "model": "tfmg:block/aluminum_door/block_top", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/aluminum_fluid_tank.json b/src/generated/resources/assets/tfmg/blockstates/aluminum_fluid_tank.json new file mode 100644 index 00000000..6ff8dcd3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/aluminum_fluid_tank.json @@ -0,0 +1,76 @@ +{ + "variants": { + "bottom=false,shape=plain,top=false": { + "model": "tfmg:block/aluminum_fluid_tank/block_middle" + }, + "bottom=false,shape=plain,top=true": { + "model": "tfmg:block/aluminum_fluid_tank/block_top" + }, + "bottom=false,shape=window,top=false": { + "model": "tfmg:block/aluminum_fluid_tank/block_middle_window" + }, + "bottom=false,shape=window,top=true": { + "model": "tfmg:block/aluminum_fluid_tank/block_top_window" + }, + "bottom=false,shape=window_ne,top=false": { + "model": "tfmg:block/aluminum_fluid_tank/block_middle_window_ne" + }, + "bottom=false,shape=window_ne,top=true": { + "model": "tfmg:block/aluminum_fluid_tank/block_top_window_ne" + }, + "bottom=false,shape=window_nw,top=false": { + "model": "tfmg:block/aluminum_fluid_tank/block_middle_window_nw" + }, + "bottom=false,shape=window_nw,top=true": { + "model": "tfmg:block/aluminum_fluid_tank/block_top_window_nw" + }, + "bottom=false,shape=window_se,top=false": { + "model": "tfmg:block/aluminum_fluid_tank/block_middle_window_se" + }, + "bottom=false,shape=window_se,top=true": { + "model": "tfmg:block/aluminum_fluid_tank/block_top_window_se" + }, + "bottom=false,shape=window_sw,top=false": { + "model": "tfmg:block/aluminum_fluid_tank/block_middle_window_sw" + }, + "bottom=false,shape=window_sw,top=true": { + "model": "tfmg:block/aluminum_fluid_tank/block_top_window_sw" + }, + "bottom=true,shape=plain,top=false": { + "model": "tfmg:block/aluminum_fluid_tank/block_bottom" + }, + "bottom=true,shape=plain,top=true": { + "model": "tfmg:block/aluminum_fluid_tank/block_single" + }, + "bottom=true,shape=window,top=false": { + "model": "tfmg:block/aluminum_fluid_tank/block_bottom_window" + }, + "bottom=true,shape=window,top=true": { + "model": "tfmg:block/aluminum_fluid_tank/block_single_window" + }, + "bottom=true,shape=window_ne,top=false": { + "model": "tfmg:block/aluminum_fluid_tank/block_bottom_window_ne" + }, + "bottom=true,shape=window_ne,top=true": { + "model": "tfmg:block/aluminum_fluid_tank/block_single_window_ne" + }, + "bottom=true,shape=window_nw,top=false": { + "model": "tfmg:block/aluminum_fluid_tank/block_bottom_window_nw" + }, + "bottom=true,shape=window_nw,top=true": { + "model": "tfmg:block/aluminum_fluid_tank/block_single_window_nw" + }, + "bottom=true,shape=window_se,top=false": { + "model": "tfmg:block/aluminum_fluid_tank/block_bottom_window_se" + }, + "bottom=true,shape=window_se,top=true": { + "model": "tfmg:block/aluminum_fluid_tank/block_single_window_se" + }, + "bottom=true,shape=window_sw,top=false": { + "model": "tfmg:block/aluminum_fluid_tank/block_bottom_window_sw" + }, + "bottom=true,shape=window_sw,top=true": { + "model": "tfmg:block/aluminum_fluid_tank/block_single_window_sw" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/aluminum_flywheel.json b/src/generated/resources/assets/tfmg/blockstates/aluminum_flywheel.json new file mode 100644 index 00000000..ad256b11 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/aluminum_flywheel.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/aluminum_flywheel/block", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/aluminum_flywheel/block" + }, + "axis=z": { + "model": "tfmg:block/aluminum_flywheel/block", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/aluminum_frame.json b/src/generated/resources/assets/tfmg/blockstates/aluminum_frame.json new file mode 100644 index 00000000..64358ade --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/aluminum_frame.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/aluminum_frame/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/aluminum_ladder.json b/src/generated/resources/assets/tfmg/blockstates/aluminum_ladder.json new file mode 100644 index 00000000..5f1f1c6d --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/aluminum_ladder.json @@ -0,0 +1,34 @@ +{ + "variants": { + "facing=east,waterlogged=false": { + "model": "tfmg:block/aluminum_ladder", + "y": 90 + }, + "facing=east,waterlogged=true": { + "model": "tfmg:block/aluminum_ladder", + "y": 90 + }, + "facing=north,waterlogged=false": { + "model": "tfmg:block/aluminum_ladder" + }, + "facing=north,waterlogged=true": { + "model": "tfmg:block/aluminum_ladder" + }, + "facing=south,waterlogged=false": { + "model": "tfmg:block/aluminum_ladder", + "y": 180 + }, + "facing=south,waterlogged=true": { + "model": "tfmg:block/aluminum_ladder", + "y": 180 + }, + "facing=west,waterlogged=false": { + "model": "tfmg:block/aluminum_ladder", + "y": 270 + }, + "facing=west,waterlogged=true": { + "model": "tfmg:block/aluminum_ladder", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/aluminum_lamp.json b/src/generated/resources/assets/tfmg/blockstates/aluminum_lamp.json new file mode 100644 index 00000000..15716716 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/aluminum_lamp.json @@ -0,0 +1,836 @@ +{ + "variants": { + "facing=down,level=0,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block", + "x": 180 + }, + "facing=down,level=0,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block", + "x": 180 + }, + "facing=down,level=1,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=1,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=10,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=10,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=11,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=11,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=12,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=12,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=13,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=13,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=14,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=14,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=15,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=15,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=2,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=2,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=3,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=3,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=4,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=4,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=5,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=5,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=6,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=6,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=7,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=7,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=8,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=8,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=9,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=down,level=9,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 180 + }, + "facing=east,level=0,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block", + "x": 90, + "y": 90 + }, + "facing=east,level=0,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block", + "x": 90, + "y": 90 + }, + "facing=east,level=1,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=1,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=10,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=10,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=11,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=11,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=12,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=12,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=13,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=13,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=14,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=14,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=15,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=15,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=2,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=2,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=3,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=3,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=4,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=4,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=5,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=5,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=6,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=6,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=7,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=7,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=8,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=8,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=9,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=9,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 90 + }, + "facing=north,level=0,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block", + "x": 90 + }, + "facing=north,level=0,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block", + "x": 90 + }, + "facing=north,level=1,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=1,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=10,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=10,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=11,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=11,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=12,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=12,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=13,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=13,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=14,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=14,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=15,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=15,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=2,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=2,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=3,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=3,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=4,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=4,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=5,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=5,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=6,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=6,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=7,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=7,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=8,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=8,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=9,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=north,level=9,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90 + }, + "facing=south,level=0,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block", + "x": 90, + "y": 180 + }, + "facing=south,level=0,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block", + "x": 90, + "y": 180 + }, + "facing=south,level=1,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=1,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=10,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=10,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=11,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=11,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=12,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=12,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=13,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=13,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=14,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=14,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=15,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=15,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=2,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=2,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=3,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=3,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=4,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=4,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=5,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=5,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=6,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=6,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=7,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=7,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=8,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=8,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=9,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=9,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 180 + }, + "facing=up,level=0,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block" + }, + "facing=up,level=0,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block" + }, + "facing=up,level=1,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=1,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=10,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=10,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=11,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=11,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=12,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=12,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=13,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=13,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=14,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=14,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=15,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=15,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=2,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=2,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=3,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=3,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=4,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=4,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=5,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=5,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=6,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=6,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=7,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=7,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=8,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=8,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=9,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=up,level=9,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered" + }, + "facing=west,level=0,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block", + "x": 90, + "y": 270 + }, + "facing=west,level=0,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block", + "x": 90, + "y": 270 + }, + "facing=west,level=1,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=1,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=10,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=10,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=11,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=11,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=12,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=12,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=13,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=13,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=14,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=14,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=15,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=15,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=2,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=2,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=3,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=3,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=4,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=4,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=5,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=5,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=6,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=6,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=7,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=7,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=8,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=8,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=9,waterlogged=false": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=9,waterlogged=true": { + "model": "tfmg:block/aluminum_lamp/block_powered", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/aluminum_mechanical_pump.json b/src/generated/resources/assets/tfmg/blockstates/aluminum_mechanical_pump.json new file mode 100644 index 00000000..c6420f16 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/aluminum_mechanical_pump.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "tfmg:block/aluminum_mechanical_pump/block", + "x": 180 + }, + "facing=east": { + "model": "tfmg:block/aluminum_mechanical_pump/block", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/aluminum_mechanical_pump/block", + "x": 90 + }, + "facing=south": { + "model": "tfmg:block/aluminum_mechanical_pump/block", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "tfmg:block/aluminum_mechanical_pump/block" + }, + "facing=west": { + "model": "tfmg:block/aluminum_mechanical_pump/block", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/aluminum_pipe.json b/src/generated/resources/assets/tfmg/blockstates/aluminum_pipe.json new file mode 100644 index 00000000..5cafb21b --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/aluminum_pipe.json @@ -0,0 +1,334 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/aluminum_pipe/lu_x" + }, + "when": { + "down": "false", + "north": "false", + "south": "true", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/ru_x" + }, + "when": { + "down": "false", + "north": "true", + "south": "false", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/ld_x" + }, + "when": { + "down": "true", + "north": "false", + "south": "true", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/rd_x" + }, + "when": { + "down": "true", + "north": "true", + "south": "false", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/ud_x" + }, + "when": { + "down": "true", + "north": "false", + "south": "false", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/u_x" + }, + "when": { + "down": "false", + "north": "false", + "south": "false", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/d_x" + }, + "when": { + "down": "true", + "north": "false", + "south": "false", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/lr_x" + }, + "when": { + "down": "false", + "north": "true", + "south": "true", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/l_x" + }, + "when": { + "down": "false", + "north": "false", + "south": "true", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/r_x" + }, + "when": { + "down": "false", + "north": "true", + "south": "false", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/lu_y" + }, + "when": { + "east": "true", + "north": "false", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/ru_y" + }, + "when": { + "east": "false", + "north": "false", + "south": "true", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/ld_y" + }, + "when": { + "east": "true", + "north": "true", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/rd_y" + }, + "when": { + "east": "false", + "north": "true", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/ud_y" + }, + "when": { + "east": "false", + "north": "true", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/u_y" + }, + "when": { + "east": "false", + "north": "false", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/d_y" + }, + "when": { + "east": "false", + "north": "true", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/lr_y" + }, + "when": { + "east": "true", + "north": "false", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/l_y" + }, + "when": { + "east": "true", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/r_y" + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/lu_z" + }, + "when": { + "down": "false", + "east": "true", + "up": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/ru_z" + }, + "when": { + "down": "false", + "east": "false", + "up": "true", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/ld_z" + }, + "when": { + "down": "true", + "east": "true", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/rd_z" + }, + "when": { + "down": "true", + "east": "false", + "up": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/ud_z" + }, + "when": { + "down": "true", + "east": "false", + "up": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/u_z" + }, + "when": { + "down": "false", + "east": "false", + "up": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/d_z" + }, + "when": { + "down": "true", + "east": "false", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/lr_z" + }, + "when": { + "down": "false", + "east": "true", + "up": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/l_z" + }, + "when": { + "down": "false", + "east": "true", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/aluminum_pipe/r_z" + }, + "when": { + "down": "false", + "east": "false", + "up": "false", + "west": "true" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/aluminum_scaffolding.json b/src/generated/resources/assets/tfmg/blockstates/aluminum_scaffolding.json new file mode 100644 index 00000000..2b374c98 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/aluminum_scaffolding.json @@ -0,0 +1,10 @@ +{ + "variants": { + "bottom=false": { + "model": "tfmg:block/aluminum_scaffolding" + }, + "bottom=true": { + "model": "tfmg:block/aluminum_scaffolding_horizontal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/aluminum_smart_fluid_pipe.json b/src/generated/resources/assets/tfmg/blockstates/aluminum_smart_fluid_pipe.json new file mode 100644 index 00000000..dc2edf62 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/aluminum_smart_fluid_pipe.json @@ -0,0 +1,110 @@ +{ + "variants": { + "face=ceiling,facing=east,waterlogged=false": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=east,waterlogged=true": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=north,waterlogged=false": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block", + "x": 180 + }, + "face=ceiling,facing=north,waterlogged=true": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block", + "x": 180 + }, + "face=ceiling,facing=south,waterlogged=false": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=south,waterlogged=true": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=west,waterlogged=false": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=west,waterlogged=true": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block", + "x": 180, + "y": 270 + }, + "face=floor,facing=east,waterlogged=false": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block", + "y": 270 + }, + "face=floor,facing=east,waterlogged=true": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block", + "y": 270 + }, + "face=floor,facing=north,waterlogged=false": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block", + "y": 180 + }, + "face=floor,facing=north,waterlogged=true": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block", + "y": 180 + }, + "face=floor,facing=south,waterlogged=false": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block" + }, + "face=floor,facing=south,waterlogged=true": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block" + }, + "face=floor,facing=west,waterlogged=false": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block", + "y": 90 + }, + "face=floor,facing=west,waterlogged=true": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block", + "y": 90 + }, + "face=wall,facing=east,waterlogged=false": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block", + "x": 270, + "y": 270 + }, + "face=wall,facing=east,waterlogged=true": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block", + "x": 270, + "y": 270 + }, + "face=wall,facing=north,waterlogged=false": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block", + "x": 270, + "y": 180 + }, + "face=wall,facing=north,waterlogged=true": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block", + "x": 270, + "y": 180 + }, + "face=wall,facing=south,waterlogged=false": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block", + "x": 270 + }, + "face=wall,facing=south,waterlogged=true": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block", + "x": 270 + }, + "face=wall,facing=west,waterlogged=false": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block", + "x": 270, + "y": 90 + }, + "face=wall,facing=west,waterlogged=true": { + "model": "tfmg:block/aluminum_smart_fluid_pipe/block", + "x": 270, + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/aluminum_truss.json b/src/generated/resources/assets/tfmg/blockstates/aluminum_truss.json new file mode 100644 index 00000000..3885be0b --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/aluminum_truss.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/aluminum_truss", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/aluminum_truss" + }, + "axis=z": { + "model": "tfmg:block/aluminum_truss", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/asphalt.json b/src/generated/resources/assets/tfmg/blockstates/asphalt.json new file mode 100644 index 00000000..39696e3c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/asphalt.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/asphalt" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/asphalt_slab.json b/src/generated/resources/assets/tfmg/blockstates/asphalt_slab.json new file mode 100644 index 00000000..aae241a0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/asphalt_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/asphalt_bottom" + }, + "type=double": { + "model": "tfmg:block/asphalt" + }, + "type=top": { + "model": "tfmg:block/asphalt_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/asphalt_stairs.json b/src/generated/resources/assets/tfmg/blockstates/asphalt_stairs.json new file mode 100644 index 00000000..d82a4954 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/asphalt_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/asphalt_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/asphalt_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/asphalt_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/asphalt_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/asphalt_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/asphalt_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/asphalt_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/asphalt_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/asphalt_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/asphalt_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/asphalt_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/asphalt_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/asphalt_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/asphalt_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/asphalt_wall.json b/src/generated/resources/assets/tfmg/blockstates/asphalt_wall.json new file mode 100644 index 00000000..765c33b2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/asphalt_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/asphalt_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/asphalt_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/asphalt_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/asphalt_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/asphalt_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/asphalt_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/asphalt_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/asphalt_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/asphalt_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/bauxite.json b/src/generated/resources/assets/tfmg/blockstates/bauxite.json new file mode 100644 index 00000000..8ec2740c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/bauxite.json @@ -0,0 +1,18 @@ +{ + "variants": { + "": [ + { + "model": "tfmg:block/bauxite_natural_0" + }, + { + "model": "tfmg:block/bauxite_natural_1" + }, + { + "model": "tfmg:block/bauxite_natural_2" + }, + { + "model": "tfmg:block/bauxite_natural_3" + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/bauxite_pillar.json b/src/generated/resources/assets/tfmg/blockstates/bauxite_pillar.json new file mode 100644 index 00000000..814e1a90 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/bauxite_pillar.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/bauxite_pillar_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/bauxite_pillar" + }, + "axis=z": { + "model": "tfmg:block/bauxite_pillar_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/black_concrete.json b/src/generated/resources/assets/tfmg/blockstates/black_concrete.json new file mode 100644 index 00000000..3c8e2953 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/black_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/black_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/black_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/black_concrete_slab.json new file mode 100644 index 00000000..5f509190 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/black_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/black_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/black_concrete" + }, + "type=top": { + "model": "tfmg:block/black_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/black_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/black_concrete_stairs.json new file mode 100644 index 00000000..e94d19cb --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/black_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/black_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/black_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/black_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/black_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/black_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/black_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/black_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/black_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/black_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/black_concrete_wall.json new file mode 100644 index 00000000..203c70f6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/black_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/black_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/black_rebar_concrete.json b/src/generated/resources/assets/tfmg/blockstates/black_rebar_concrete.json new file mode 100644 index 00000000..bf694dce --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/black_rebar_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/black_rebar_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/black_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/black_rebar_concrete_slab.json new file mode 100644 index 00000000..5f509190 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/black_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/black_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/black_concrete" + }, + "type=top": { + "model": "tfmg:block/black_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/black_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/black_rebar_concrete_stairs.json new file mode 100644 index 00000000..e94d19cb --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/black_rebar_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/black_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/black_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/black_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/black_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/black_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/black_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/black_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/black_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/black_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/black_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/black_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/black_rebar_concrete_wall.json new file mode 100644 index 00000000..203c70f6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/black_rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/black_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/black_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/blast_furnace_hatch.json b/src/generated/resources/assets/tfmg/blockstates/blast_furnace_hatch.json new file mode 100644 index 00000000..20d940ca --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/blast_furnace_hatch.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/blast_furnace_hatch" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/blast_furnace_output.json b/src/generated/resources/assets/tfmg/blockstates/blast_furnace_output.json new file mode 100644 index 00000000..a394ba3c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/blast_furnace_output.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/blast_furnace_output/block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/blast_furnace_output/block" + }, + "facing=south": { + "model": "tfmg:block/blast_furnace_output/block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/blast_furnace_output/block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/blast_furnace_reinforcement.json b/src/generated/resources/assets/tfmg/blockstates/blast_furnace_reinforcement.json new file mode 100644 index 00000000..0ff54382 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/blast_furnace_reinforcement.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/blast_furnace_reinforcement" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/blast_furnace_reinforcement_wall.json b/src/generated/resources/assets/tfmg/blockstates/blast_furnace_reinforcement_wall.json new file mode 100644 index 00000000..42413700 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/blast_furnace_reinforcement_wall.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/blast_furnace_reinforcement_wall", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/blast_furnace_reinforcement_wall" + }, + "facing=south": { + "model": "tfmg:block/blast_furnace_reinforcement_wall", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/blast_furnace_reinforcement_wall", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/blast_stove.json b/src/generated/resources/assets/tfmg/blockstates/blast_stove.json new file mode 100644 index 00000000..c956ced3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/blast_stove.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/blast_stove/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/blue_caution_block.json b/src/generated/resources/assets/tfmg/blockstates/blue_caution_block.json new file mode 100644 index 00000000..767f3591 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/blue_caution_block.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/blue_caution_block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/blue_caution_block" + }, + "facing=south": { + "model": "tfmg:block/blue_caution_block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/blue_caution_block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/blue_concrete.json b/src/generated/resources/assets/tfmg/blockstates/blue_concrete.json new file mode 100644 index 00000000..68e42ee3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/blue_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/blue_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/blue_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/blue_concrete_slab.json new file mode 100644 index 00000000..5990cea3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/blue_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/blue_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/blue_concrete" + }, + "type=top": { + "model": "tfmg:block/blue_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/blue_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/blue_concrete_stairs.json new file mode 100644 index 00000000..01360839 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/blue_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/blue_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/blue_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/blue_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/blue_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/blue_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/blue_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/blue_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/blue_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/blue_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/blue_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/blue_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/blue_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/blue_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/blue_concrete_wall.json new file mode 100644 index 00000000..d24dbe63 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/blue_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/blue_rebar_concrete.json b/src/generated/resources/assets/tfmg/blockstates/blue_rebar_concrete.json new file mode 100644 index 00000000..d43f1722 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/blue_rebar_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/blue_rebar_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/blue_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/blue_rebar_concrete_slab.json new file mode 100644 index 00000000..5990cea3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/blue_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/blue_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/blue_concrete" + }, + "type=top": { + "model": "tfmg:block/blue_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/blue_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/blue_rebar_concrete_stairs.json new file mode 100644 index 00000000..01360839 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/blue_rebar_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/blue_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/blue_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/blue_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/blue_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/blue_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/blue_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/blue_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/blue_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/blue_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/blue_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/blue_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/blue_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/blue_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/blue_rebar_concrete_wall.json new file mode 100644 index 00000000..d24dbe63 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/blue_rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/blue_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/brass_cable_hub.json b/src/generated/resources/assets/tfmg/blockstates/brass_cable_hub.json new file mode 100644 index 00000000..c797e96a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/brass_cable_hub.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/brass_cable_hub" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/brass_frame.json b/src/generated/resources/assets/tfmg/blockstates/brass_frame.json new file mode 100644 index 00000000..218af8fd --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/brass_frame.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/brass_frame/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/brass_mechanical_pump.json b/src/generated/resources/assets/tfmg/blockstates/brass_mechanical_pump.json new file mode 100644 index 00000000..c95c39dc --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/brass_mechanical_pump.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "tfmg:block/brass_mechanical_pump/block", + "x": 180 + }, + "facing=east": { + "model": "tfmg:block/brass_mechanical_pump/block", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/brass_mechanical_pump/block", + "x": 90 + }, + "facing=south": { + "model": "tfmg:block/brass_mechanical_pump/block", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "tfmg:block/brass_mechanical_pump/block" + }, + "facing=west": { + "model": "tfmg:block/brass_mechanical_pump/block", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/brass_pipe.json b/src/generated/resources/assets/tfmg/blockstates/brass_pipe.json new file mode 100644 index 00000000..695c68e9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/brass_pipe.json @@ -0,0 +1,334 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/brass_pipe/lu_x" + }, + "when": { + "down": "false", + "north": "false", + "south": "true", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/ru_x" + }, + "when": { + "down": "false", + "north": "true", + "south": "false", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/ld_x" + }, + "when": { + "down": "true", + "north": "false", + "south": "true", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/rd_x" + }, + "when": { + "down": "true", + "north": "true", + "south": "false", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/ud_x" + }, + "when": { + "down": "true", + "north": "false", + "south": "false", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/u_x" + }, + "when": { + "down": "false", + "north": "false", + "south": "false", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/d_x" + }, + "when": { + "down": "true", + "north": "false", + "south": "false", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/lr_x" + }, + "when": { + "down": "false", + "north": "true", + "south": "true", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/l_x" + }, + "when": { + "down": "false", + "north": "false", + "south": "true", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/r_x" + }, + "when": { + "down": "false", + "north": "true", + "south": "false", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/lu_y" + }, + "when": { + "east": "true", + "north": "false", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/ru_y" + }, + "when": { + "east": "false", + "north": "false", + "south": "true", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/ld_y" + }, + "when": { + "east": "true", + "north": "true", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/rd_y" + }, + "when": { + "east": "false", + "north": "true", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/ud_y" + }, + "when": { + "east": "false", + "north": "true", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/u_y" + }, + "when": { + "east": "false", + "north": "false", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/d_y" + }, + "when": { + "east": "false", + "north": "true", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/lr_y" + }, + "when": { + "east": "true", + "north": "false", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/l_y" + }, + "when": { + "east": "true", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/r_y" + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/lu_z" + }, + "when": { + "down": "false", + "east": "true", + "up": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/ru_z" + }, + "when": { + "down": "false", + "east": "false", + "up": "true", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/ld_z" + }, + "when": { + "down": "true", + "east": "true", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/rd_z" + }, + "when": { + "down": "true", + "east": "false", + "up": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/ud_z" + }, + "when": { + "down": "true", + "east": "false", + "up": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/u_z" + }, + "when": { + "down": "false", + "east": "false", + "up": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/d_z" + }, + "when": { + "down": "true", + "east": "false", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/lr_z" + }, + "when": { + "down": "false", + "east": "true", + "up": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/l_z" + }, + "when": { + "down": "false", + "east": "true", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/brass_pipe/r_z" + }, + "when": { + "down": "false", + "east": "false", + "up": "false", + "west": "true" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/brass_smart_fluid_pipe.json b/src/generated/resources/assets/tfmg/blockstates/brass_smart_fluid_pipe.json new file mode 100644 index 00000000..a47e963f --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/brass_smart_fluid_pipe.json @@ -0,0 +1,110 @@ +{ + "variants": { + "face=ceiling,facing=east,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=east,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=north,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 180 + }, + "face=ceiling,facing=north,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 180 + }, + "face=ceiling,facing=south,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=south,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=west,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=west,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 180, + "y": 270 + }, + "face=floor,facing=east,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "y": 270 + }, + "face=floor,facing=east,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "y": 270 + }, + "face=floor,facing=north,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "y": 180 + }, + "face=floor,facing=north,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "y": 180 + }, + "face=floor,facing=south,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block" + }, + "face=floor,facing=south,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block" + }, + "face=floor,facing=west,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "y": 90 + }, + "face=floor,facing=west,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "y": 90 + }, + "face=wall,facing=east,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 270, + "y": 270 + }, + "face=wall,facing=east,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 270, + "y": 270 + }, + "face=wall,facing=north,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 270, + "y": 180 + }, + "face=wall,facing=north,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 270, + "y": 180 + }, + "face=wall,facing=south,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 270 + }, + "face=wall,facing=south,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 270 + }, + "face=wall,facing=west,waterlogged=false": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 270, + "y": 90 + }, + "face=wall,facing=west,waterlogged=true": { + "model": "tfmg:block/brass_smart_fluid_pipe/block", + "x": 270, + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/brass_truss.json b/src/generated/resources/assets/tfmg/blockstates/brass_truss.json new file mode 100644 index 00000000..e08ae08a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/brass_truss.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/brass_truss", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/brass_truss" + }, + "axis=z": { + "model": "tfmg:block/brass_truss", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/brick_smokestack.json b/src/generated/resources/assets/tfmg/blockstates/brick_smokestack.json new file mode 100644 index 00000000..3950c91a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/brick_smokestack.json @@ -0,0 +1,10 @@ +{ + "variants": { + "top=false": { + "model": "tfmg:block/brick_smokestack/block" + }, + "top=true": { + "model": "tfmg:block/brick_smokestack/block_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/brown_caution_block.json b/src/generated/resources/assets/tfmg/blockstates/brown_caution_block.json new file mode 100644 index 00000000..612644da --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/brown_caution_block.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/brown_caution_block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/brown_caution_block" + }, + "facing=south": { + "model": "tfmg:block/brown_caution_block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/brown_caution_block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/brown_concrete.json b/src/generated/resources/assets/tfmg/blockstates/brown_concrete.json new file mode 100644 index 00000000..99e0979f --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/brown_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/brown_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/brown_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/brown_concrete_slab.json new file mode 100644 index 00000000..396f23f2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/brown_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/brown_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/brown_concrete" + }, + "type=top": { + "model": "tfmg:block/brown_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/brown_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/brown_concrete_stairs.json new file mode 100644 index 00000000..0f6c086a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/brown_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/brown_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/brown_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/brown_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/brown_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/brown_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/brown_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/brown_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/brown_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/brown_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/brown_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/brown_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/brown_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/brown_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/brown_concrete_wall.json new file mode 100644 index 00000000..bd575df3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/brown_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/brown_rebar_concrete.json b/src/generated/resources/assets/tfmg/blockstates/brown_rebar_concrete.json new file mode 100644 index 00000000..1d57d0c7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/brown_rebar_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/brown_rebar_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/brown_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/brown_rebar_concrete_slab.json new file mode 100644 index 00000000..396f23f2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/brown_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/brown_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/brown_concrete" + }, + "type=top": { + "model": "tfmg:block/brown_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/brown_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/brown_rebar_concrete_stairs.json new file mode 100644 index 00000000..0f6c086a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/brown_rebar_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/brown_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/brown_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/brown_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/brown_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/brown_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/brown_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/brown_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/brown_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/brown_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/brown_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/brown_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/brown_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/brown_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/brown_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/brown_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/brown_rebar_concrete_wall.json new file mode 100644 index 00000000..bd575df3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/brown_rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/brown_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cable_connector.json b/src/generated/resources/assets/tfmg/blockstates/cable_connector.json new file mode 100644 index 00000000..4b0cf223 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cable_connector.json @@ -0,0 +1,56 @@ +{ + "variants": { + "extension=false,facing=down": { + "model": "tfmg:block/cable_connector/block", + "x": 180 + }, + "extension=false,facing=east": { + "model": "tfmg:block/cable_connector/block", + "x": 90, + "y": 90 + }, + "extension=false,facing=north": { + "model": "tfmg:block/cable_connector/block", + "x": 90 + }, + "extension=false,facing=south": { + "model": "tfmg:block/cable_connector/block", + "x": 90, + "y": 180 + }, + "extension=false,facing=up": { + "model": "tfmg:block/cable_connector/block" + }, + "extension=false,facing=west": { + "model": "tfmg:block/cable_connector/block", + "x": 90, + "y": 270 + }, + "extension=true,facing=down": { + "model": "tfmg:block/cable_connector/block_extension", + "x": 180 + }, + "extension=true,facing=east": { + "model": "tfmg:block/cable_connector/block_extension", + "x": 90, + "y": 90 + }, + "extension=true,facing=north": { + "model": "tfmg:block/cable_connector/block_extension", + "x": 90 + }, + "extension=true,facing=south": { + "model": "tfmg:block/cable_connector/block_extension", + "x": 90, + "y": 180 + }, + "extension=true,facing=up": { + "model": "tfmg:block/cable_connector/block_extension" + }, + "extension=true,facing=west": { + "model": "tfmg:block/cable_connector/block_extension", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cable_tube.json b/src/generated/resources/assets/tfmg/blockstates/cable_tube.json new file mode 100644 index 00000000..c72a4f8e --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cable_tube.json @@ -0,0 +1,30 @@ +{ + "variants": { + "axis=x,concretelogged=false": { + "model": "tfmg:block/cable_tube", + "x": 90, + "y": 90 + }, + "axis=x,concretelogged=true": { + "model": "tfmg:block/cable_tube", + "x": 90, + "y": 90 + }, + "axis=y,concretelogged=false": { + "model": "tfmg:block/cable_tube" + }, + "axis=y,concretelogged=true": { + "model": "tfmg:block/cable_tube" + }, + "axis=z,concretelogged=false": { + "model": "tfmg:block/cable_tube", + "x": 90, + "y": 180 + }, + "axis=z,concretelogged=true": { + "model": "tfmg:block/cable_tube", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cast_iron_bars.json b/src/generated/resources/assets/tfmg/blockstates/cast_iron_bars.json new file mode 100644 index 00000000..356a775a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cast_iron_bars.json @@ -0,0 +1,100 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/cast_iron_post_ends" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_post" + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_cap" + }, + "when": { + "east": "false", + "north": "true", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_cap", + "y": 90 + }, + "when": { + "east": "true", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_cap_alt" + }, + "when": { + "east": "false", + "north": "false", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_cap_alt", + "y": 90 + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_side" + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_side", + "y": 90 + }, + "when": { + "east": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_side_alt" + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_side_alt", + "y": 90 + }, + "when": { + "west": "true" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cast_iron_block.json b/src/generated/resources/assets/tfmg/blockstates/cast_iron_block.json new file mode 100644 index 00000000..1d0fa4af --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cast_iron_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/cast_iron_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cast_iron_chemical_vat.json b/src/generated/resources/assets/tfmg/blockstates/cast_iron_chemical_vat.json new file mode 100644 index 00000000..96a9f2e6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cast_iron_chemical_vat.json @@ -0,0 +1,76 @@ +{ + "variants": { + "bottom=false,shape=plain,top=false": { + "model": "tfmg:block/cast_iron_chemical_vat/block_middle" + }, + "bottom=false,shape=plain,top=true": { + "model": "tfmg:block/cast_iron_chemical_vat/block_top" + }, + "bottom=false,shape=window,top=false": { + "model": "tfmg:block/cast_iron_chemical_vat/block_middle_window" + }, + "bottom=false,shape=window,top=true": { + "model": "tfmg:block/cast_iron_chemical_vat/block_top_window" + }, + "bottom=false,shape=window_ne,top=false": { + "model": "tfmg:block/cast_iron_chemical_vat/block_middle_window_ne" + }, + "bottom=false,shape=window_ne,top=true": { + "model": "tfmg:block/cast_iron_chemical_vat/block_top_window_ne" + }, + "bottom=false,shape=window_nw,top=false": { + "model": "tfmg:block/cast_iron_chemical_vat/block_middle_window_nw" + }, + "bottom=false,shape=window_nw,top=true": { + "model": "tfmg:block/cast_iron_chemical_vat/block_top_window_nw" + }, + "bottom=false,shape=window_se,top=false": { + "model": "tfmg:block/cast_iron_chemical_vat/block_middle_window_se" + }, + "bottom=false,shape=window_se,top=true": { + "model": "tfmg:block/cast_iron_chemical_vat/block_top_window_se" + }, + "bottom=false,shape=window_sw,top=false": { + "model": "tfmg:block/cast_iron_chemical_vat/block_middle_window_sw" + }, + "bottom=false,shape=window_sw,top=true": { + "model": "tfmg:block/cast_iron_chemical_vat/block_top_window_sw" + }, + "bottom=true,shape=plain,top=false": { + "model": "tfmg:block/cast_iron_chemical_vat/block_bottom" + }, + "bottom=true,shape=plain,top=true": { + "model": "tfmg:block/cast_iron_chemical_vat/block_single" + }, + "bottom=true,shape=window,top=false": { + "model": "tfmg:block/cast_iron_chemical_vat/block_bottom_window" + }, + "bottom=true,shape=window,top=true": { + "model": "tfmg:block/cast_iron_chemical_vat/block_single_window" + }, + "bottom=true,shape=window_ne,top=false": { + "model": "tfmg:block/cast_iron_chemical_vat/block_bottom_window_ne" + }, + "bottom=true,shape=window_ne,top=true": { + "model": "tfmg:block/cast_iron_chemical_vat/block_single_window_ne" + }, + "bottom=true,shape=window_nw,top=false": { + "model": "tfmg:block/cast_iron_chemical_vat/block_bottom_window_nw" + }, + "bottom=true,shape=window_nw,top=true": { + "model": "tfmg:block/cast_iron_chemical_vat/block_single_window_nw" + }, + "bottom=true,shape=window_se,top=false": { + "model": "tfmg:block/cast_iron_chemical_vat/block_bottom_window_se" + }, + "bottom=true,shape=window_se,top=true": { + "model": "tfmg:block/cast_iron_chemical_vat/block_single_window_se" + }, + "bottom=true,shape=window_sw,top=false": { + "model": "tfmg:block/cast_iron_chemical_vat/block_bottom_window_sw" + }, + "bottom=true,shape=window_sw,top=true": { + "model": "tfmg:block/cast_iron_chemical_vat/block_single_window_sw" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cast_iron_fluid_tank.json b/src/generated/resources/assets/tfmg/blockstates/cast_iron_fluid_tank.json new file mode 100644 index 00000000..baf6ef0d --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cast_iron_fluid_tank.json @@ -0,0 +1,76 @@ +{ + "variants": { + "bottom=false,shape=plain,top=false": { + "model": "tfmg:block/cast_iron_fluid_tank/block_middle" + }, + "bottom=false,shape=plain,top=true": { + "model": "tfmg:block/cast_iron_fluid_tank/block_top" + }, + "bottom=false,shape=window,top=false": { + "model": "tfmg:block/cast_iron_fluid_tank/block_middle_window" + }, + "bottom=false,shape=window,top=true": { + "model": "tfmg:block/cast_iron_fluid_tank/block_top_window" + }, + "bottom=false,shape=window_ne,top=false": { + "model": "tfmg:block/cast_iron_fluid_tank/block_middle_window_ne" + }, + "bottom=false,shape=window_ne,top=true": { + "model": "tfmg:block/cast_iron_fluid_tank/block_top_window_ne" + }, + "bottom=false,shape=window_nw,top=false": { + "model": "tfmg:block/cast_iron_fluid_tank/block_middle_window_nw" + }, + "bottom=false,shape=window_nw,top=true": { + "model": "tfmg:block/cast_iron_fluid_tank/block_top_window_nw" + }, + "bottom=false,shape=window_se,top=false": { + "model": "tfmg:block/cast_iron_fluid_tank/block_middle_window_se" + }, + "bottom=false,shape=window_se,top=true": { + "model": "tfmg:block/cast_iron_fluid_tank/block_top_window_se" + }, + "bottom=false,shape=window_sw,top=false": { + "model": "tfmg:block/cast_iron_fluid_tank/block_middle_window_sw" + }, + "bottom=false,shape=window_sw,top=true": { + "model": "tfmg:block/cast_iron_fluid_tank/block_top_window_sw" + }, + "bottom=true,shape=plain,top=false": { + "model": "tfmg:block/cast_iron_fluid_tank/block_bottom" + }, + "bottom=true,shape=plain,top=true": { + "model": "tfmg:block/cast_iron_fluid_tank/block_single" + }, + "bottom=true,shape=window,top=false": { + "model": "tfmg:block/cast_iron_fluid_tank/block_bottom_window" + }, + "bottom=true,shape=window,top=true": { + "model": "tfmg:block/cast_iron_fluid_tank/block_single_window" + }, + "bottom=true,shape=window_ne,top=false": { + "model": "tfmg:block/cast_iron_fluid_tank/block_bottom_window_ne" + }, + "bottom=true,shape=window_ne,top=true": { + "model": "tfmg:block/cast_iron_fluid_tank/block_single_window_ne" + }, + "bottom=true,shape=window_nw,top=false": { + "model": "tfmg:block/cast_iron_fluid_tank/block_bottom_window_nw" + }, + "bottom=true,shape=window_nw,top=true": { + "model": "tfmg:block/cast_iron_fluid_tank/block_single_window_nw" + }, + "bottom=true,shape=window_se,top=false": { + "model": "tfmg:block/cast_iron_fluid_tank/block_bottom_window_se" + }, + "bottom=true,shape=window_se,top=true": { + "model": "tfmg:block/cast_iron_fluid_tank/block_single_window_se" + }, + "bottom=true,shape=window_sw,top=false": { + "model": "tfmg:block/cast_iron_fluid_tank/block_bottom_window_sw" + }, + "bottom=true,shape=window_sw,top=true": { + "model": "tfmg:block/cast_iron_fluid_tank/block_single_window_sw" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cast_iron_flywheel.json b/src/generated/resources/assets/tfmg/blockstates/cast_iron_flywheel.json new file mode 100644 index 00000000..0b7920a1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cast_iron_flywheel.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/cast_iron_flywheel/block", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/cast_iron_flywheel/block" + }, + "axis=z": { + "model": "tfmg:block/cast_iron_flywheel/block", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cast_iron_frame.json b/src/generated/resources/assets/tfmg/blockstates/cast_iron_frame.json new file mode 100644 index 00000000..c0f93fef --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cast_iron_frame.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/cast_iron_frame/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cast_iron_ladder.json b/src/generated/resources/assets/tfmg/blockstates/cast_iron_ladder.json new file mode 100644 index 00000000..369cb2c5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cast_iron_ladder.json @@ -0,0 +1,34 @@ +{ + "variants": { + "facing=east,waterlogged=false": { + "model": "tfmg:block/cast_iron_ladder", + "y": 90 + }, + "facing=east,waterlogged=true": { + "model": "tfmg:block/cast_iron_ladder", + "y": 90 + }, + "facing=north,waterlogged=false": { + "model": "tfmg:block/cast_iron_ladder" + }, + "facing=north,waterlogged=true": { + "model": "tfmg:block/cast_iron_ladder" + }, + "facing=south,waterlogged=false": { + "model": "tfmg:block/cast_iron_ladder", + "y": 180 + }, + "facing=south,waterlogged=true": { + "model": "tfmg:block/cast_iron_ladder", + "y": 180 + }, + "facing=west,waterlogged=false": { + "model": "tfmg:block/cast_iron_ladder", + "y": 270 + }, + "facing=west,waterlogged=true": { + "model": "tfmg:block/cast_iron_ladder", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cast_iron_mechanical_pump.json b/src/generated/resources/assets/tfmg/blockstates/cast_iron_mechanical_pump.json new file mode 100644 index 00000000..baef385d --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cast_iron_mechanical_pump.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "tfmg:block/cast_iron_mechanical_pump/block", + "x": 180 + }, + "facing=east": { + "model": "tfmg:block/cast_iron_mechanical_pump/block", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/cast_iron_mechanical_pump/block", + "x": 90 + }, + "facing=south": { + "model": "tfmg:block/cast_iron_mechanical_pump/block", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "tfmg:block/cast_iron_mechanical_pump/block" + }, + "facing=west": { + "model": "tfmg:block/cast_iron_mechanical_pump/block", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cast_iron_pipe.json b/src/generated/resources/assets/tfmg/blockstates/cast_iron_pipe.json new file mode 100644 index 00000000..80ab73ae --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cast_iron_pipe.json @@ -0,0 +1,334 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/lu_x" + }, + "when": { + "down": "false", + "north": "false", + "south": "true", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/ru_x" + }, + "when": { + "down": "false", + "north": "true", + "south": "false", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/ld_x" + }, + "when": { + "down": "true", + "north": "false", + "south": "true", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/rd_x" + }, + "when": { + "down": "true", + "north": "true", + "south": "false", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/ud_x" + }, + "when": { + "down": "true", + "north": "false", + "south": "false", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/u_x" + }, + "when": { + "down": "false", + "north": "false", + "south": "false", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/d_x" + }, + "when": { + "down": "true", + "north": "false", + "south": "false", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/lr_x" + }, + "when": { + "down": "false", + "north": "true", + "south": "true", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/l_x" + }, + "when": { + "down": "false", + "north": "false", + "south": "true", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/r_x" + }, + "when": { + "down": "false", + "north": "true", + "south": "false", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/lu_y" + }, + "when": { + "east": "true", + "north": "false", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/ru_y" + }, + "when": { + "east": "false", + "north": "false", + "south": "true", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/ld_y" + }, + "when": { + "east": "true", + "north": "true", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/rd_y" + }, + "when": { + "east": "false", + "north": "true", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/ud_y" + }, + "when": { + "east": "false", + "north": "true", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/u_y" + }, + "when": { + "east": "false", + "north": "false", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/d_y" + }, + "when": { + "east": "false", + "north": "true", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/lr_y" + }, + "when": { + "east": "true", + "north": "false", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/l_y" + }, + "when": { + "east": "true", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/r_y" + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/lu_z" + }, + "when": { + "down": "false", + "east": "true", + "up": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/ru_z" + }, + "when": { + "down": "false", + "east": "false", + "up": "true", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/ld_z" + }, + "when": { + "down": "true", + "east": "true", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/rd_z" + }, + "when": { + "down": "true", + "east": "false", + "up": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/ud_z" + }, + "when": { + "down": "true", + "east": "false", + "up": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/u_z" + }, + "when": { + "down": "false", + "east": "false", + "up": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/d_z" + }, + "when": { + "down": "true", + "east": "false", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/lr_z" + }, + "when": { + "down": "false", + "east": "true", + "up": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/l_z" + }, + "when": { + "down": "false", + "east": "true", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/cast_iron_pipe/r_z" + }, + "when": { + "down": "false", + "east": "false", + "up": "false", + "west": "true" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cast_iron_smart_fluid_pipe.json b/src/generated/resources/assets/tfmg/blockstates/cast_iron_smart_fluid_pipe.json new file mode 100644 index 00000000..81ad273a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cast_iron_smart_fluid_pipe.json @@ -0,0 +1,110 @@ +{ + "variants": { + "face=ceiling,facing=east,waterlogged=false": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=east,waterlogged=true": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=north,waterlogged=false": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block", + "x": 180 + }, + "face=ceiling,facing=north,waterlogged=true": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block", + "x": 180 + }, + "face=ceiling,facing=south,waterlogged=false": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=south,waterlogged=true": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=west,waterlogged=false": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=west,waterlogged=true": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block", + "x": 180, + "y": 270 + }, + "face=floor,facing=east,waterlogged=false": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block", + "y": 270 + }, + "face=floor,facing=east,waterlogged=true": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block", + "y": 270 + }, + "face=floor,facing=north,waterlogged=false": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block", + "y": 180 + }, + "face=floor,facing=north,waterlogged=true": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block", + "y": 180 + }, + "face=floor,facing=south,waterlogged=false": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block" + }, + "face=floor,facing=south,waterlogged=true": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block" + }, + "face=floor,facing=west,waterlogged=false": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block", + "y": 90 + }, + "face=floor,facing=west,waterlogged=true": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block", + "y": 90 + }, + "face=wall,facing=east,waterlogged=false": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block", + "x": 270, + "y": 270 + }, + "face=wall,facing=east,waterlogged=true": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block", + "x": 270, + "y": 270 + }, + "face=wall,facing=north,waterlogged=false": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block", + "x": 270, + "y": 180 + }, + "face=wall,facing=north,waterlogged=true": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block", + "x": 270, + "y": 180 + }, + "face=wall,facing=south,waterlogged=false": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block", + "x": 270 + }, + "face=wall,facing=south,waterlogged=true": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block", + "x": 270 + }, + "face=wall,facing=west,waterlogged=false": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block", + "x": 270, + "y": 90 + }, + "face=wall,facing=west,waterlogged=true": { + "model": "tfmg:block/cast_iron_smart_fluid_pipe/block", + "x": 270, + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cast_iron_truss.json b/src/generated/resources/assets/tfmg/blockstates/cast_iron_truss.json new file mode 100644 index 00000000..93beecea --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cast_iron_truss.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/cast_iron_truss", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/cast_iron_truss" + }, + "axis=z": { + "model": "tfmg:block/cast_iron_truss", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/casting_basin.json b/src/generated/resources/assets/tfmg/blockstates/casting_basin.json new file mode 100644 index 00000000..389d1e4d --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/casting_basin.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/casting_basin/block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/casting_basin/block" + }, + "facing=south": { + "model": "tfmg:block/casting_basin/block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/casting_basin/block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cement.json b/src/generated/resources/assets/tfmg/blockstates/cement.json new file mode 100644 index 00000000..7d6c9f8c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cement.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/cement" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cinder_block.json b/src/generated/resources/assets/tfmg/blockstates/cinder_block.json new file mode 100644 index 00000000..049225d2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cinder_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/cinder_block/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cinderflour_block.json b/src/generated/resources/assets/tfmg/blockstates/cinderflour_block.json new file mode 100644 index 00000000..f8ece457 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cinderflour_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/cinderflour_block/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/circular_light.json b/src/generated/resources/assets/tfmg/blockstates/circular_light.json new file mode 100644 index 00000000..d827a1a1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/circular_light.json @@ -0,0 +1,836 @@ +{ + "variants": { + "facing=down,level=0,waterlogged=false": { + "model": "tfmg:block/circular_light/block", + "x": 180 + }, + "facing=down,level=0,waterlogged=true": { + "model": "tfmg:block/circular_light/block", + "x": 180 + }, + "facing=down,level=1,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=1,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=10,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=10,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=11,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=11,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=12,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=12,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=13,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=13,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=14,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=14,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=15,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=15,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=2,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=2,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=3,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=3,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=4,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=4,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=5,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=5,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=6,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=6,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=7,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=7,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=8,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=8,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=9,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=down,level=9,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 180 + }, + "facing=east,level=0,waterlogged=false": { + "model": "tfmg:block/circular_light/block", + "x": 90, + "y": 90 + }, + "facing=east,level=0,waterlogged=true": { + "model": "tfmg:block/circular_light/block", + "x": 90, + "y": 90 + }, + "facing=east,level=1,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=1,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=10,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=10,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=11,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=11,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=12,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=12,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=13,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=13,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=14,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=14,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=15,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=15,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=2,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=2,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=3,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=3,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=4,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=4,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=5,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=5,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=6,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=6,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=7,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=7,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=8,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=8,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=9,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=9,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=north,level=0,waterlogged=false": { + "model": "tfmg:block/circular_light/block", + "x": 90 + }, + "facing=north,level=0,waterlogged=true": { + "model": "tfmg:block/circular_light/block", + "x": 90 + }, + "facing=north,level=1,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=1,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=10,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=10,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=11,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=11,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=12,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=12,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=13,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=13,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=14,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=14,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=15,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=15,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=2,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=2,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=3,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=3,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=4,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=4,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=5,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=5,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=6,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=6,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=7,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=7,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=8,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=8,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=9,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=north,level=9,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90 + }, + "facing=south,level=0,waterlogged=false": { + "model": "tfmg:block/circular_light/block", + "x": 90, + "y": 180 + }, + "facing=south,level=0,waterlogged=true": { + "model": "tfmg:block/circular_light/block", + "x": 90, + "y": 180 + }, + "facing=south,level=1,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=1,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=10,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=10,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=11,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=11,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=12,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=12,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=13,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=13,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=14,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=14,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=15,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=15,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=2,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=2,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=3,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=3,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=4,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=4,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=5,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=5,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=6,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=6,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=7,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=7,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=8,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=8,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=9,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=9,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=up,level=0,waterlogged=false": { + "model": "tfmg:block/circular_light/block" + }, + "facing=up,level=0,waterlogged=true": { + "model": "tfmg:block/circular_light/block" + }, + "facing=up,level=1,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=1,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=10,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=10,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=11,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=11,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=12,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=12,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=13,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=13,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=14,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=14,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=15,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=15,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=2,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=2,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=3,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=3,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=4,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=4,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=5,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=5,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=6,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=6,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=7,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=7,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=8,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=8,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=9,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=up,level=9,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered" + }, + "facing=west,level=0,waterlogged=false": { + "model": "tfmg:block/circular_light/block", + "x": 90, + "y": 270 + }, + "facing=west,level=0,waterlogged=true": { + "model": "tfmg:block/circular_light/block", + "x": 90, + "y": 270 + }, + "facing=west,level=1,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=1,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=10,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=10,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=11,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=11,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=12,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=12,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=13,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=13,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=14,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=14,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=15,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=15,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=2,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=2,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=3,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=3,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=4,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=4,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=5,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=5,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=6,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=6,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=7,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=7,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=8,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=8,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=9,waterlogged=false": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=9,waterlogged=true": { + "model": "tfmg:block/circular_light/block_powered", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/coal_coke_block.json b/src/generated/resources/assets/tfmg/blockstates/coal_coke_block.json new file mode 100644 index 00000000..8fb114d6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/coal_coke_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/coal_coke_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/coke_oven.json b/src/generated/resources/assets/tfmg/blockstates/coke_oven.json new file mode 100644 index 00000000..66df01e3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/coke_oven.json @@ -0,0 +1,64 @@ +{ + "variants": { + "controller_type=bottom_on,facing=east": { + "model": "tfmg:block/coke_oven/block_bottom_on", + "y": 270 + }, + "controller_type=bottom_on,facing=north": { + "model": "tfmg:block/coke_oven/block_bottom_on", + "y": 180 + }, + "controller_type=bottom_on,facing=south": { + "model": "tfmg:block/coke_oven/block_bottom_on" + }, + "controller_type=bottom_on,facing=west": { + "model": "tfmg:block/coke_oven/block_bottom_on", + "y": 90 + }, + "controller_type=casual,facing=east": { + "model": "tfmg:block/coke_oven/block_casual", + "y": 270 + }, + "controller_type=casual,facing=north": { + "model": "tfmg:block/coke_oven/block_casual", + "y": 180 + }, + "controller_type=casual,facing=south": { + "model": "tfmg:block/coke_oven/block_casual" + }, + "controller_type=casual,facing=west": { + "model": "tfmg:block/coke_oven/block_casual", + "y": 90 + }, + "controller_type=middle_on,facing=east": { + "model": "tfmg:block/coke_oven/block_middle_on", + "y": 270 + }, + "controller_type=middle_on,facing=north": { + "model": "tfmg:block/coke_oven/block_middle_on", + "y": 180 + }, + "controller_type=middle_on,facing=south": { + "model": "tfmg:block/coke_oven/block_middle_on" + }, + "controller_type=middle_on,facing=west": { + "model": "tfmg:block/coke_oven/block_middle_on", + "y": 90 + }, + "controller_type=top_on,facing=east": { + "model": "tfmg:block/coke_oven/block_top_on", + "y": 270 + }, + "controller_type=top_on,facing=north": { + "model": "tfmg:block/coke_oven/block_top_on", + "y": 180 + }, + "controller_type=top_on,facing=south": { + "model": "tfmg:block/coke_oven/block_top_on" + }, + "controller_type=top_on,facing=west": { + "model": "tfmg:block/coke_oven/block_top_on", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/concrete.json b/src/generated/resources/assets/tfmg/blockstates/concrete.json new file mode 100644 index 00000000..4baa0690 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/concrete_encased_cable_tube.json b/src/generated/resources/assets/tfmg/blockstates/concrete_encased_cable_tube.json new file mode 100644 index 00000000..a9cd939c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/concrete_encased_cable_tube.json @@ -0,0 +1,30 @@ +{ + "variants": { + "axis=x,concretelogged=false": { + "model": "tfmg:block/concrete_encased_cable_tube", + "x": 90, + "y": 90 + }, + "axis=x,concretelogged=true": { + "model": "tfmg:block/concrete_encased_cable_tube", + "x": 90, + "y": 90 + }, + "axis=y,concretelogged=false": { + "model": "tfmg:block/concrete_encased_cable_tube" + }, + "axis=y,concretelogged=true": { + "model": "tfmg:block/concrete_encased_cable_tube" + }, + "axis=z,concretelogged=false": { + "model": "tfmg:block/concrete_encased_cable_tube", + "x": 90, + "y": 180 + }, + "axis=z,concretelogged=true": { + "model": "tfmg:block/concrete_encased_cable_tube", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/concrete_encased_electric_post.json b/src/generated/resources/assets/tfmg/blockstates/concrete_encased_electric_post.json new file mode 100644 index 00000000..98d31161 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/concrete_encased_electric_post.json @@ -0,0 +1,30 @@ +{ + "variants": { + "axis=x,concretelogged=false": { + "model": "tfmg:block/concrete_encased_electric_post", + "x": 90, + "y": 90 + }, + "axis=x,concretelogged=true": { + "model": "tfmg:block/concrete_encased_electric_post", + "x": 90, + "y": 90 + }, + "axis=y,concretelogged=false": { + "model": "tfmg:block/concrete_encased_electric_post" + }, + "axis=y,concretelogged=true": { + "model": "tfmg:block/concrete_encased_electric_post" + }, + "axis=z,concretelogged=false": { + "model": "tfmg:block/concrete_encased_electric_post", + "x": 90, + "y": 180 + }, + "axis=z,concretelogged=true": { + "model": "tfmg:block/concrete_encased_electric_post", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/concrete_encased_industrial_pipe.json b/src/generated/resources/assets/tfmg/blockstates/concrete_encased_industrial_pipe.json new file mode 100644 index 00000000..22fdc047 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/concrete_encased_industrial_pipe.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/concrete_encased_industrial_pipe/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/concrete_hose.json b/src/generated/resources/assets/tfmg/blockstates/concrete_hose.json new file mode 100644 index 00000000..49db84af --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/concrete_hose.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/concrete_hose/block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/concrete_hose/block" + }, + "facing=south": { + "model": "tfmg:block/concrete_hose/block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/concrete_hose/block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/concrete_slab.json new file mode 100644 index 00000000..1073db41 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/concrete" + }, + "type=top": { + "model": "tfmg:block/concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/concrete_smokestack.json b/src/generated/resources/assets/tfmg/blockstates/concrete_smokestack.json new file mode 100644 index 00000000..789c999c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/concrete_smokestack.json @@ -0,0 +1,10 @@ +{ + "variants": { + "top=false": { + "model": "tfmg:block/concrete_smokestack/block" + }, + "top=true": { + "model": "tfmg:block/concrete_smokestack/block_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/concrete_stairs.json new file mode 100644 index 00000000..9fd3fe2b --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/concrete_wall.json new file mode 100644 index 00000000..43d2cd8d --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/constantan_block.json b/src/generated/resources/assets/tfmg/blockstates/constantan_block.json new file mode 100644 index 00000000..289265e1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/constantan_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/constantan_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/constantan_frame.json b/src/generated/resources/assets/tfmg/blockstates/constantan_frame.json new file mode 100644 index 00000000..0b405f1c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/constantan_frame.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/constantan_frame/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/constantan_ladder.json b/src/generated/resources/assets/tfmg/blockstates/constantan_ladder.json new file mode 100644 index 00000000..6a5404e5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/constantan_ladder.json @@ -0,0 +1,34 @@ +{ + "variants": { + "facing=east,waterlogged=false": { + "model": "tfmg:block/constantan_ladder", + "y": 90 + }, + "facing=east,waterlogged=true": { + "model": "tfmg:block/constantan_ladder", + "y": 90 + }, + "facing=north,waterlogged=false": { + "model": "tfmg:block/constantan_ladder" + }, + "facing=north,waterlogged=true": { + "model": "tfmg:block/constantan_ladder" + }, + "facing=south,waterlogged=false": { + "model": "tfmg:block/constantan_ladder", + "y": 180 + }, + "facing=south,waterlogged=true": { + "model": "tfmg:block/constantan_ladder", + "y": 180 + }, + "facing=west,waterlogged=false": { + "model": "tfmg:block/constantan_ladder", + "y": 270 + }, + "facing=west,waterlogged=true": { + "model": "tfmg:block/constantan_ladder", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/constantan_truss.json b/src/generated/resources/assets/tfmg/blockstates/constantan_truss.json new file mode 100644 index 00000000..b2c0670a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/constantan_truss.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/constantan_truss", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/constantan_truss" + }, + "axis=z": { + "model": "tfmg:block/constantan_truss", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/converter.json b/src/generated/resources/assets/tfmg/blockstates/converter.json new file mode 100644 index 00000000..1e0b2921 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/converter.json @@ -0,0 +1,34 @@ +{ + "variants": { + "facing=east,input=false": { + "model": "tfmg:block/converter/block", + "y": 90 + }, + "facing=east,input=true": { + "model": "tfmg:block/converter/block_rotated", + "y": 90 + }, + "facing=north,input=false": { + "model": "tfmg:block/converter/block" + }, + "facing=north,input=true": { + "model": "tfmg:block/converter/block_rotated" + }, + "facing=south,input=false": { + "model": "tfmg:block/converter/block", + "y": 180 + }, + "facing=south,input=true": { + "model": "tfmg:block/converter/block_rotated", + "y": 180 + }, + "facing=west,input=false": { + "model": "tfmg:block/converter/block", + "y": 270 + }, + "facing=west,input=true": { + "model": "tfmg:block/converter/block_rotated", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cooling_fluid.json b/src/generated/resources/assets/tfmg/blockstates/cooling_fluid.json new file mode 100644 index 00000000..b4e6808f --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cooling_fluid.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/cooling_fluid" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/copper_cable_hub.json b/src/generated/resources/assets/tfmg/blockstates/copper_cable_hub.json new file mode 100644 index 00000000..75401eb0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/copper_cable_hub.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/copper_cable_hub" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/copper_encased_aluminum_pipe.json b/src/generated/resources/assets/tfmg/blockstates/copper_encased_aluminum_pipe.json new file mode 100644 index 00000000..7ea55670 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/copper_encased_aluminum_pipe.json @@ -0,0 +1,110 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/copper_encased_aluminum_pipe/block_flat", + "x": -90 + }, + "when": { + "down": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_aluminum_pipe/block_flat", + "x": 90 + }, + "when": { + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_aluminum_pipe/block_flat", + "y": 180 + }, + "when": { + "north": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_aluminum_pipe/block_flat" + }, + "when": { + "south": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_aluminum_pipe/block_flat", + "y": 90 + }, + "when": { + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_aluminum_pipe/block_flat", + "y": 270 + }, + "when": { + "east": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_aluminum_pipe/block_open", + "x": -90 + }, + "when": { + "down": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_aluminum_pipe/block_open", + "x": 90 + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_aluminum_pipe/block_open", + "y": 180 + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_aluminum_pipe/block_open" + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_aluminum_pipe/block_open", + "y": 90 + }, + "when": { + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_aluminum_pipe/block_open", + "y": 270 + }, + "when": { + "east": "true" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/copper_encased_brass_pipe.json b/src/generated/resources/assets/tfmg/blockstates/copper_encased_brass_pipe.json new file mode 100644 index 00000000..59d8590f --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/copper_encased_brass_pipe.json @@ -0,0 +1,110 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/copper_encased_brass_pipe/block_flat", + "x": -90 + }, + "when": { + "down": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_brass_pipe/block_flat", + "x": 90 + }, + "when": { + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_brass_pipe/block_flat", + "y": 180 + }, + "when": { + "north": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_brass_pipe/block_flat" + }, + "when": { + "south": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_brass_pipe/block_flat", + "y": 90 + }, + "when": { + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_brass_pipe/block_flat", + "y": 270 + }, + "when": { + "east": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_brass_pipe/block_open", + "x": -90 + }, + "when": { + "down": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_brass_pipe/block_open", + "x": 90 + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_brass_pipe/block_open", + "y": 180 + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_brass_pipe/block_open" + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_brass_pipe/block_open", + "y": 90 + }, + "when": { + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_brass_pipe/block_open", + "y": 270 + }, + "when": { + "east": "true" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/copper_encased_cast_iron_pipe.json b/src/generated/resources/assets/tfmg/blockstates/copper_encased_cast_iron_pipe.json new file mode 100644 index 00000000..9626bb9f --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/copper_encased_cast_iron_pipe.json @@ -0,0 +1,110 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_flat", + "x": -90 + }, + "when": { + "down": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_flat", + "x": 90 + }, + "when": { + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_flat", + "y": 180 + }, + "when": { + "north": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_flat" + }, + "when": { + "south": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_flat", + "y": 90 + }, + "when": { + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_flat", + "y": 270 + }, + "when": { + "east": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_open", + "x": -90 + }, + "when": { + "down": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_open", + "x": 90 + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_open", + "y": 180 + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_open" + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_open", + "y": 90 + }, + "when": { + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_cast_iron_pipe/block_open", + "y": 270 + }, + "when": { + "east": "true" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/copper_encased_plastic_pipe.json b/src/generated/resources/assets/tfmg/blockstates/copper_encased_plastic_pipe.json new file mode 100644 index 00000000..0a40bf5b --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/copper_encased_plastic_pipe.json @@ -0,0 +1,110 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_flat", + "x": -90 + }, + "when": { + "down": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_flat", + "x": 90 + }, + "when": { + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_flat", + "y": 180 + }, + "when": { + "north": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_flat" + }, + "when": { + "south": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_flat", + "y": 90 + }, + "when": { + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_flat", + "y": 270 + }, + "when": { + "east": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_open", + "x": -90 + }, + "when": { + "down": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_open", + "x": 90 + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_open", + "y": 180 + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_open" + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_open", + "y": 90 + }, + "when": { + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_plastic_pipe/block_open", + "y": 270 + }, + "when": { + "east": "true" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/copper_encased_steel_pipe.json b/src/generated/resources/assets/tfmg/blockstates/copper_encased_steel_pipe.json new file mode 100644 index 00000000..82007811 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/copper_encased_steel_pipe.json @@ -0,0 +1,110 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/copper_encased_steel_pipe/block_flat", + "x": -90 + }, + "when": { + "down": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_steel_pipe/block_flat", + "x": 90 + }, + "when": { + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_steel_pipe/block_flat", + "y": 180 + }, + "when": { + "north": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_steel_pipe/block_flat" + }, + "when": { + "south": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_steel_pipe/block_flat", + "y": 90 + }, + "when": { + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_steel_pipe/block_flat", + "y": 270 + }, + "when": { + "east": "false" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_steel_pipe/block_open", + "x": -90 + }, + "when": { + "down": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_steel_pipe/block_open", + "x": 90 + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_steel_pipe/block_open", + "y": 180 + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_steel_pipe/block_open" + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_steel_pipe/block_open", + "y": 90 + }, + "when": { + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/copper_encased_steel_pipe/block_open", + "y": 270 + }, + "when": { + "east": "true" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/copper_frame.json b/src/generated/resources/assets/tfmg/blockstates/copper_frame.json new file mode 100644 index 00000000..5d43339c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/copper_frame.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/copper_frame/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/copper_truss.json b/src/generated/resources/assets/tfmg/blockstates/copper_truss.json new file mode 100644 index 00000000..81d763c9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/copper_truss.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/copper_truss", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/copper_truss" + }, + "axis=z": { + "model": "tfmg:block/copper_truss", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/copycat_cable_base.json b/src/generated/resources/assets/tfmg/blockstates/copycat_cable_base.json new file mode 100644 index 00000000..a1e9c322 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/copycat_cable_base.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/copycat_cable_base/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/copycat_cable_block.json b/src/generated/resources/assets/tfmg/blockstates/copycat_cable_block.json new file mode 100644 index 00000000..2c8f02f0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/copycat_cable_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "minecraft:block/air" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/creative_generator.json b/src/generated/resources/assets/tfmg/blockstates/creative_generator.json new file mode 100644 index 00000000..be582125 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/creative_generator.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/creative_generator" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/creosote.json b/src/generated/resources/assets/tfmg/blockstates/creosote.json new file mode 100644 index 00000000..7daea690 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/creosote.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/creosote" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/crude_oil.json b/src/generated/resources/assets/tfmg/blockstates/crude_oil.json new file mode 100644 index 00000000..09e36eca --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/crude_oil.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/crude_oil" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cut_bauxite.json b/src/generated/resources/assets/tfmg/blockstates/cut_bauxite.json new file mode 100644 index 00000000..7a692a11 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cut_bauxite.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/cut_bauxite" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cut_bauxite_brick_slab.json b/src/generated/resources/assets/tfmg/blockstates/cut_bauxite_brick_slab.json new file mode 100644 index 00000000..975f9e25 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cut_bauxite_brick_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/cut_bauxite_brick_slab" + }, + "type=double": { + "model": "tfmg:block/cut_bauxite_bricks" + }, + "type=top": { + "model": "tfmg:block/cut_bauxite_brick_slab_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cut_bauxite_brick_stairs.json b/src/generated/resources/assets/tfmg/blockstates/cut_bauxite_brick_stairs.json new file mode 100644 index 00000000..b2effb80 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cut_bauxite_brick_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/cut_bauxite_brick_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/cut_bauxite_brick_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/cut_bauxite_brick_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/cut_bauxite_brick_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/cut_bauxite_brick_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/cut_bauxite_brick_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/cut_bauxite_brick_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/cut_bauxite_brick_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cut_bauxite_brick_wall.json b/src/generated/resources/assets/tfmg/blockstates/cut_bauxite_brick_wall.json new file mode 100644 index 00000000..540359de --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cut_bauxite_brick_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/cut_bauxite_bricks_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cut_bauxite_bricks_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_bauxite_bricks_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cut_bauxite_bricks_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_bauxite_bricks_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cut_bauxite_bricks_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_bauxite_bricks_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cut_bauxite_bricks_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_bauxite_bricks_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cut_bauxite_bricks.json b/src/generated/resources/assets/tfmg/blockstates/cut_bauxite_bricks.json new file mode 100644 index 00000000..10db8921 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cut_bauxite_bricks.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/cut_bauxite_bricks" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cut_bauxite_slab.json b/src/generated/resources/assets/tfmg/blockstates/cut_bauxite_slab.json new file mode 100644 index 00000000..27a66133 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cut_bauxite_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/cut_bauxite_slab" + }, + "type=double": { + "model": "tfmg:block/cut_bauxite" + }, + "type=top": { + "model": "tfmg:block/cut_bauxite_slab_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cut_bauxite_stairs.json b/src/generated/resources/assets/tfmg/blockstates/cut_bauxite_stairs.json new file mode 100644 index 00000000..2a0e96a4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cut_bauxite_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/cut_bauxite_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/cut_bauxite_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/cut_bauxite_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/cut_bauxite_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/cut_bauxite_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/cut_bauxite_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/cut_bauxite_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/cut_bauxite_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cut_bauxite_wall.json b/src/generated/resources/assets/tfmg/blockstates/cut_bauxite_wall.json new file mode 100644 index 00000000..667e3bd1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cut_bauxite_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/cut_bauxite_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cut_bauxite_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_bauxite_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cut_bauxite_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_bauxite_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cut_bauxite_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_bauxite_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cut_bauxite_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_bauxite_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cut_galena.json b/src/generated/resources/assets/tfmg/blockstates/cut_galena.json new file mode 100644 index 00000000..80e17b41 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cut_galena.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/cut_galena" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cut_galena_brick_slab.json b/src/generated/resources/assets/tfmg/blockstates/cut_galena_brick_slab.json new file mode 100644 index 00000000..c844c89d --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cut_galena_brick_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/cut_galena_brick_slab" + }, + "type=double": { + "model": "tfmg:block/cut_galena_bricks" + }, + "type=top": { + "model": "tfmg:block/cut_galena_brick_slab_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cut_galena_brick_stairs.json b/src/generated/resources/assets/tfmg/blockstates/cut_galena_brick_stairs.json new file mode 100644 index 00000000..7e0a1b04 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cut_galena_brick_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/cut_galena_brick_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/cut_galena_brick_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/cut_galena_brick_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/cut_galena_brick_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/cut_galena_brick_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/cut_galena_brick_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/cut_galena_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/cut_galena_brick_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/cut_galena_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/cut_galena_brick_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/cut_galena_brick_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/cut_galena_brick_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/cut_galena_brick_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/cut_galena_brick_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/cut_galena_brick_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/cut_galena_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/cut_galena_brick_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/cut_galena_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/cut_galena_brick_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/cut_galena_brick_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/cut_galena_brick_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/cut_galena_brick_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/cut_galena_brick_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/cut_galena_brick_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/cut_galena_brick_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/cut_galena_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/cut_galena_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/cut_galena_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/cut_galena_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/cut_galena_brick_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/cut_galena_brick_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/cut_galena_brick_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/cut_galena_brick_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/cut_galena_brick_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/cut_galena_brick_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/cut_galena_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/cut_galena_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/cut_galena_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/cut_galena_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/cut_galena_brick_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cut_galena_brick_wall.json b/src/generated/resources/assets/tfmg/blockstates/cut_galena_brick_wall.json new file mode 100644 index 00000000..a85ee86d --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cut_galena_brick_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/cut_galena_bricks_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_bricks_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_bricks_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_bricks_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_bricks_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_bricks_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_bricks_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_bricks_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_bricks_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cut_galena_bricks.json b/src/generated/resources/assets/tfmg/blockstates/cut_galena_bricks.json new file mode 100644 index 00000000..d4e39b1a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cut_galena_bricks.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/cut_galena_bricks" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cut_galena_slab.json b/src/generated/resources/assets/tfmg/blockstates/cut_galena_slab.json new file mode 100644 index 00000000..f2da8cfa --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cut_galena_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/cut_galena_slab" + }, + "type=double": { + "model": "tfmg:block/cut_galena" + }, + "type=top": { + "model": "tfmg:block/cut_galena_slab_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cut_galena_stairs.json b/src/generated/resources/assets/tfmg/blockstates/cut_galena_stairs.json new file mode 100644 index 00000000..1ec322e8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cut_galena_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/cut_galena_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/cut_galena_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/cut_galena_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/cut_galena_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/cut_galena_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/cut_galena_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/cut_galena_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/cut_galena_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/cut_galena_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/cut_galena_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/cut_galena_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/cut_galena_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/cut_galena_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/cut_galena_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/cut_galena_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/cut_galena_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/cut_galena_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/cut_galena_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/cut_galena_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/cut_galena_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/cut_galena_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/cut_galena_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/cut_galena_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/cut_galena_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/cut_galena_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/cut_galena_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/cut_galena_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/cut_galena_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/cut_galena_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/cut_galena_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/cut_galena_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/cut_galena_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/cut_galena_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/cut_galena_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/cut_galena_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/cut_galena_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/cut_galena_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/cut_galena_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/cut_galena_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/cut_galena_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cut_galena_wall.json b/src/generated/resources/assets/tfmg/blockstates/cut_galena_wall.json new file mode 100644 index 00000000..788c8c8b --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cut_galena_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/cut_galena_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cut_galena_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cyan_caution_block.json b/src/generated/resources/assets/tfmg/blockstates/cyan_caution_block.json new file mode 100644 index 00000000..f19d96ae --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cyan_caution_block.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/cyan_caution_block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/cyan_caution_block" + }, + "facing=south": { + "model": "tfmg:block/cyan_caution_block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/cyan_caution_block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cyan_concrete.json b/src/generated/resources/assets/tfmg/blockstates/cyan_concrete.json new file mode 100644 index 00000000..56d6156b --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cyan_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/cyan_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cyan_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/cyan_concrete_slab.json new file mode 100644 index 00000000..5fd79900 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cyan_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/cyan_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/cyan_concrete" + }, + "type=top": { + "model": "tfmg:block/cyan_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cyan_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/cyan_concrete_stairs.json new file mode 100644 index 00000000..7e5a5f9d --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cyan_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cyan_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/cyan_concrete_wall.json new file mode 100644 index 00000000..b2ccf7f3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cyan_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/cyan_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cyan_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cyan_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cyan_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cyan_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cyan_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cyan_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cyan_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cyan_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cyan_rebar_concrete.json b/src/generated/resources/assets/tfmg/blockstates/cyan_rebar_concrete.json new file mode 100644 index 00000000..a29e47ee --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cyan_rebar_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/cyan_rebar_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cyan_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/cyan_rebar_concrete_slab.json new file mode 100644 index 00000000..5fd79900 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cyan_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/cyan_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/cyan_concrete" + }, + "type=top": { + "model": "tfmg:block/cyan_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cyan_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/cyan_rebar_concrete_stairs.json new file mode 100644 index 00000000..7e5a5f9d --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cyan_rebar_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/cyan_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/cyan_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/cyan_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cyan_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/cyan_rebar_concrete_wall.json new file mode 100644 index 00000000..b2ccf7f3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cyan_rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/cyan_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/cyan_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cyan_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cyan_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cyan_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cyan_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cyan_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/cyan_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/cyan_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/deepslate_lead_ore.json b/src/generated/resources/assets/tfmg/blockstates/deepslate_lead_ore.json new file mode 100644 index 00000000..adaa1af6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/deepslate_lead_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/deepslate_lead_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/deepslate_lithium_ore.json b/src/generated/resources/assets/tfmg/blockstates/deepslate_lithium_ore.json new file mode 100644 index 00000000..a3225f08 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/deepslate_lithium_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/deepslate_lithium_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/deepslate_nickel_ore.json b/src/generated/resources/assets/tfmg/blockstates/deepslate_nickel_ore.json new file mode 100644 index 00000000..d565f05d --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/deepslate_nickel_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/deepslate_nickel_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/diagonal_cable_block.json b/src/generated/resources/assets/tfmg/blockstates/diagonal_cable_block.json new file mode 100644 index 00000000..a3aae76a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/diagonal_cable_block.json @@ -0,0 +1,88 @@ +{ + "variants": { + "facing=down,facing_up=false,waterlogged=false": { + "model": "tfmg:block/diagonal_cable_block/block" + }, + "facing=down,facing_up=false,waterlogged=true": { + "model": "tfmg:block/diagonal_cable_block/block" + }, + "facing=down,facing_up=true,waterlogged=false": { + "model": "tfmg:block/diagonal_cable_block/block_up" + }, + "facing=down,facing_up=true,waterlogged=true": { + "model": "tfmg:block/diagonal_cable_block/block_up" + }, + "facing=east,facing_up=false,waterlogged=false": { + "model": "tfmg:block/diagonal_cable_block/block" + }, + "facing=east,facing_up=false,waterlogged=true": { + "model": "tfmg:block/diagonal_cable_block/block" + }, + "facing=east,facing_up=true,waterlogged=false": { + "model": "tfmg:block/diagonal_cable_block/block_up" + }, + "facing=east,facing_up=true,waterlogged=true": { + "model": "tfmg:block/diagonal_cable_block/block_up" + }, + "facing=north,facing_up=false,waterlogged=false": { + "model": "tfmg:block/diagonal_cable_block/block", + "y": 270 + }, + "facing=north,facing_up=false,waterlogged=true": { + "model": "tfmg:block/diagonal_cable_block/block", + "y": 270 + }, + "facing=north,facing_up=true,waterlogged=false": { + "model": "tfmg:block/diagonal_cable_block/block_up", + "y": 270 + }, + "facing=north,facing_up=true,waterlogged=true": { + "model": "tfmg:block/diagonal_cable_block/block_up", + "y": 270 + }, + "facing=south,facing_up=false,waterlogged=false": { + "model": "tfmg:block/diagonal_cable_block/block", + "y": 90 + }, + "facing=south,facing_up=false,waterlogged=true": { + "model": "tfmg:block/diagonal_cable_block/block", + "y": 90 + }, + "facing=south,facing_up=true,waterlogged=false": { + "model": "tfmg:block/diagonal_cable_block/block_up", + "y": 90 + }, + "facing=south,facing_up=true,waterlogged=true": { + "model": "tfmg:block/diagonal_cable_block/block_up", + "y": 90 + }, + "facing=up,facing_up=false,waterlogged=false": { + "model": "tfmg:block/diagonal_cable_block/block" + }, + "facing=up,facing_up=false,waterlogged=true": { + "model": "tfmg:block/diagonal_cable_block/block" + }, + "facing=up,facing_up=true,waterlogged=false": { + "model": "tfmg:block/diagonal_cable_block/block_up" + }, + "facing=up,facing_up=true,waterlogged=true": { + "model": "tfmg:block/diagonal_cable_block/block_up" + }, + "facing=west,facing_up=false,waterlogged=false": { + "model": "tfmg:block/diagonal_cable_block/block", + "y": 180 + }, + "facing=west,facing_up=false,waterlogged=true": { + "model": "tfmg:block/diagonal_cable_block/block", + "y": 180 + }, + "facing=west,facing_up=true,waterlogged=false": { + "model": "tfmg:block/diagonal_cable_block/block_up", + "y": 180 + }, + "facing=west,facing_up=true,waterlogged=true": { + "model": "tfmg:block/diagonal_cable_block/block_up", + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/diesel.json b/src/generated/resources/assets/tfmg/blockstates/diesel.json new file mode 100644 index 00000000..6b056422 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/diesel.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/diesel" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/electric_diode.json b/src/generated/resources/assets/tfmg/blockstates/electric_diode.json new file mode 100644 index 00000000..afb8fcfa --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/electric_diode.json @@ -0,0 +1,26 @@ +{ + "variants": { + "facing=down": { + "model": "tfmg:block/electric_diode/block_vertical", + "x": 180 + }, + "facing=east": { + "model": "tfmg:block/electric_diode/block", + "y": 270 + }, + "facing=north": { + "model": "tfmg:block/electric_diode/block", + "y": 180 + }, + "facing=south": { + "model": "tfmg:block/electric_diode/block" + }, + "facing=up": { + "model": "tfmg:block/electric_diode/block_vertical" + }, + "facing=west": { + "model": "tfmg:block/electric_diode/block", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/electric_motor.json b/src/generated/resources/assets/tfmg/blockstates/electric_motor.json new file mode 100644 index 00000000..b2acd44d --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/electric_motor.json @@ -0,0 +1,26 @@ +{ + "variants": { + "facing=down": { + "model": "tfmg:block/electric_motor/block_vertical", + "x": 180 + }, + "facing=east": { + "model": "tfmg:block/electric_motor/block", + "y": 270 + }, + "facing=north": { + "model": "tfmg:block/electric_motor/block", + "y": 180 + }, + "facing=south": { + "model": "tfmg:block/electric_motor/block" + }, + "facing=up": { + "model": "tfmg:block/electric_motor/block_vertical" + }, + "facing=west": { + "model": "tfmg:block/electric_motor/block", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/electric_post.json b/src/generated/resources/assets/tfmg/blockstates/electric_post.json new file mode 100644 index 00000000..873c5fa9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/electric_post.json @@ -0,0 +1,30 @@ +{ + "variants": { + "axis=x,concretelogged=false": { + "model": "tfmg:block/electric_post", + "x": 90, + "y": 90 + }, + "axis=x,concretelogged=true": { + "model": "tfmg:block/electric_post", + "x": 90, + "y": 90 + }, + "axis=y,concretelogged=false": { + "model": "tfmg:block/electric_post" + }, + "axis=y,concretelogged=true": { + "model": "tfmg:block/electric_post" + }, + "axis=z,concretelogged=false": { + "model": "tfmg:block/electric_post", + "x": 90, + "y": 180 + }, + "axis=z,concretelogged=true": { + "model": "tfmg:block/electric_post", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/electric_pump.json b/src/generated/resources/assets/tfmg/blockstates/electric_pump.json new file mode 100644 index 00000000..805d605c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/electric_pump.json @@ -0,0 +1,56 @@ +{ + "variants": { + "facing=down,waterlogged=false": { + "model": "tfmg:block/electric_pump/block", + "x": 180 + }, + "facing=down,waterlogged=true": { + "model": "tfmg:block/electric_pump/block", + "x": 180 + }, + "facing=east,waterlogged=false": { + "model": "tfmg:block/electric_pump/block", + "x": 90, + "y": 90 + }, + "facing=east,waterlogged=true": { + "model": "tfmg:block/electric_pump/block", + "x": 90, + "y": 90 + }, + "facing=north,waterlogged=false": { + "model": "tfmg:block/electric_pump/block", + "x": 90 + }, + "facing=north,waterlogged=true": { + "model": "tfmg:block/electric_pump/block", + "x": 90 + }, + "facing=south,waterlogged=false": { + "model": "tfmg:block/electric_pump/block", + "x": 90, + "y": 180 + }, + "facing=south,waterlogged=true": { + "model": "tfmg:block/electric_pump/block", + "x": 90, + "y": 180 + }, + "facing=up,waterlogged=false": { + "model": "tfmg:block/electric_pump/block" + }, + "facing=up,waterlogged=true": { + "model": "tfmg:block/electric_pump/block" + }, + "facing=west,waterlogged=false": { + "model": "tfmg:block/electric_pump/block", + "x": 90, + "y": 270 + }, + "facing=west,waterlogged=true": { + "model": "tfmg:block/electric_pump/block", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/electrical_switch.json b/src/generated/resources/assets/tfmg/blockstates/electrical_switch.json new file mode 100644 index 00000000..1ee12f75 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/electrical_switch.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "tfmg:block/electrical_switch/block", + "x": 180 + }, + "facing=east": { + "model": "tfmg:block/electrical_switch/block", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/electrical_switch/block", + "x": 90 + }, + "facing=south": { + "model": "tfmg:block/electrical_switch/block", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "tfmg:block/electrical_switch/block" + }, + "facing=west": { + "model": "tfmg:block/electrical_switch/block", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/electrode_holder.json b/src/generated/resources/assets/tfmg/blockstates/electrode_holder.json new file mode 100644 index 00000000..781571ee --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/electrode_holder.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/electrode_holder/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/encased_diode.json b/src/generated/resources/assets/tfmg/blockstates/encased_diode.json new file mode 100644 index 00000000..170653c4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/encased_diode.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "tfmg:block/encased_diode", + "x": 180 + }, + "facing=east": { + "model": "tfmg:block/encased_diode", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/encased_diode", + "x": 90 + }, + "facing=south": { + "model": "tfmg:block/encased_diode", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "tfmg:block/encased_diode" + }, + "facing=west": { + "model": "tfmg:block/encased_diode", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/encased_potentiometer.json b/src/generated/resources/assets/tfmg/blockstates/encased_potentiometer.json new file mode 100644 index 00000000..7478219d --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/encased_potentiometer.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "tfmg:block/encased_potentiometer", + "x": 180 + }, + "facing=east": { + "model": "tfmg:block/encased_potentiometer", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/encased_potentiometer", + "x": 90 + }, + "facing=south": { + "model": "tfmg:block/encased_potentiometer", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "tfmg:block/encased_potentiometer" + }, + "facing=west": { + "model": "tfmg:block/encased_potentiometer", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/engine_controller.json b/src/generated/resources/assets/tfmg/blockstates/engine_controller.json new file mode 100644 index 00000000..b1b6c7fd --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/engine_controller.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/engine_controller/block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/engine_controller/block" + }, + "facing=south": { + "model": "tfmg:block/engine_controller/block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/engine_controller/block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/engine_gearbox.json b/src/generated/resources/assets/tfmg/blockstates/engine_gearbox.json new file mode 100644 index 00000000..1f5b3a10 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/engine_gearbox.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/engine_gearbox/block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/engine_gearbox/block" + }, + "facing=south": { + "model": "tfmg:block/engine_gearbox/block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/engine_gearbox/block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/exhaust.json b/src/generated/resources/assets/tfmg/blockstates/exhaust.json new file mode 100644 index 00000000..3ae3f9c0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/exhaust.json @@ -0,0 +1,56 @@ +{ + "variants": { + "facing=down,waterlogged=false": { + "model": "tfmg:block/exhaust", + "x": 180 + }, + "facing=down,waterlogged=true": { + "model": "tfmg:block/exhaust", + "x": 180 + }, + "facing=east,waterlogged=false": { + "model": "tfmg:block/exhaust", + "x": 90, + "y": 90 + }, + "facing=east,waterlogged=true": { + "model": "tfmg:block/exhaust", + "x": 90, + "y": 90 + }, + "facing=north,waterlogged=false": { + "model": "tfmg:block/exhaust", + "x": 90 + }, + "facing=north,waterlogged=true": { + "model": "tfmg:block/exhaust", + "x": 90 + }, + "facing=south,waterlogged=false": { + "model": "tfmg:block/exhaust", + "x": 90, + "y": 180 + }, + "facing=south,waterlogged=true": { + "model": "tfmg:block/exhaust", + "x": 90, + "y": 180 + }, + "facing=up,waterlogged=false": { + "model": "tfmg:block/exhaust" + }, + "facing=up,waterlogged=true": { + "model": "tfmg:block/exhaust" + }, + "facing=west,waterlogged=false": { + "model": "tfmg:block/exhaust", + "x": 90, + "y": 270 + }, + "facing=west,waterlogged=true": { + "model": "tfmg:block/exhaust", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/factory_floor.json b/src/generated/resources/assets/tfmg/blockstates/factory_floor.json new file mode 100644 index 00000000..d4651c53 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/factory_floor.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/factory_floor" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/firebox.json b/src/generated/resources/assets/tfmg/blockstates/firebox.json new file mode 100644 index 00000000..dd003870 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/firebox.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/firebox/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/fireclay.json b/src/generated/resources/assets/tfmg/blockstates/fireclay.json new file mode 100644 index 00000000..e82a435a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/fireclay.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/fireclay" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/fireproof_brick_reinforcement.json b/src/generated/resources/assets/tfmg/blockstates/fireproof_brick_reinforcement.json new file mode 100644 index 00000000..182ce71c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/fireproof_brick_reinforcement.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/fireproof_brick_reinforcement_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/fireproof_brick_reinforcement_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/fireproof_brick_reinforcement_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/fireproof_brick_reinforcement_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/fireproof_brick_reinforcement_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/fireproof_brick_reinforcement_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/fireproof_brick_reinforcement_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/fireproof_brick_reinforcement_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/fireproof_brick_reinforcement_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/fireproof_bricks.json b/src/generated/resources/assets/tfmg/blockstates/fireproof_bricks.json new file mode 100644 index 00000000..881e492a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/fireproof_bricks.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/fireproof_bricks" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/fireproof_chemical_vat.json b/src/generated/resources/assets/tfmg/blockstates/fireproof_chemical_vat.json new file mode 100644 index 00000000..8aa63c62 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/fireproof_chemical_vat.json @@ -0,0 +1,76 @@ +{ + "variants": { + "bottom=false,shape=plain,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_middle" + }, + "bottom=false,shape=plain,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_top" + }, + "bottom=false,shape=window,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_middle_window" + }, + "bottom=false,shape=window,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_top_window" + }, + "bottom=false,shape=window_ne,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_middle_window_ne" + }, + "bottom=false,shape=window_ne,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_top_window_ne" + }, + "bottom=false,shape=window_nw,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_middle_window_nw" + }, + "bottom=false,shape=window_nw,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_top_window_nw" + }, + "bottom=false,shape=window_se,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_middle_window_se" + }, + "bottom=false,shape=window_se,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_top_window_se" + }, + "bottom=false,shape=window_sw,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_middle_window_sw" + }, + "bottom=false,shape=window_sw,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_top_window_sw" + }, + "bottom=true,shape=plain,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_bottom" + }, + "bottom=true,shape=plain,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_single" + }, + "bottom=true,shape=window,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_bottom_window" + }, + "bottom=true,shape=window,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_single_window" + }, + "bottom=true,shape=window_ne,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_bottom_window_ne" + }, + "bottom=true,shape=window_ne,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_single_window_ne" + }, + "bottom=true,shape=window_nw,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_bottom_window_nw" + }, + "bottom=true,shape=window_nw,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_single_window_nw" + }, + "bottom=true,shape=window_se,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_bottom_window_se" + }, + "bottom=true,shape=window_se,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_single_window_se" + }, + "bottom=true,shape=window_sw,top=false": { + "model": "tfmg:block/fireproof_chemical_vat/block_bottom_window_sw" + }, + "bottom=true,shape=window_sw,top=true": { + "model": "tfmg:block/fireproof_chemical_vat/block_single_window_sw" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/flarestack.json b/src/generated/resources/assets/tfmg/blockstates/flarestack.json new file mode 100644 index 00000000..591852f7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/flarestack.json @@ -0,0 +1,10 @@ +{ + "variants": { + "lit=false": { + "model": "tfmg:block/flarestack/block" + }, + "lit=true": { + "model": "tfmg:block/flarestack/block_lit" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/fossilstone.json b/src/generated/resources/assets/tfmg/blockstates/fossilstone.json new file mode 100644 index 00000000..421af0dc --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/fossilstone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/fossilstone" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/galena.json b/src/generated/resources/assets/tfmg/blockstates/galena.json new file mode 100644 index 00000000..ee0542ae --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/galena.json @@ -0,0 +1,18 @@ +{ + "variants": { + "": [ + { + "model": "tfmg:block/galena_natural_0" + }, + { + "model": "tfmg:block/galena_natural_1" + }, + { + "model": "tfmg:block/galena_natural_2" + }, + { + "model": "tfmg:block/galena_natural_3" + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/galena_pillar.json b/src/generated/resources/assets/tfmg/blockstates/galena_pillar.json new file mode 100644 index 00000000..975f64fc --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/galena_pillar.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/galena_pillar_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/galena_pillar" + }, + "axis=z": { + "model": "tfmg:block/galena_pillar_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/gasoline.json b/src/generated/resources/assets/tfmg/blockstates/gasoline.json new file mode 100644 index 00000000..a3c9e258 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/gasoline.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/gasoline" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/generator.json b/src/generated/resources/assets/tfmg/blockstates/generator.json new file mode 100644 index 00000000..b96239f8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/generator.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "tfmg:block/generator/block", + "x": 180 + }, + "facing=east": { + "model": "tfmg:block/generator/block", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/generator/block", + "x": 90 + }, + "facing=south": { + "model": "tfmg:block/generator/block", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "tfmg:block/generator/block" + }, + "facing=west": { + "model": "tfmg:block/generator/block", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/glass_aluminum_pipe.json b/src/generated/resources/assets/tfmg/blockstates/glass_aluminum_pipe.json new file mode 100644 index 00000000..348275ca --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/glass_aluminum_pipe.json @@ -0,0 +1,28 @@ +{ + "variants": { + "alt=false,axis=x": { + "model": "tfmg:block/aluminum_pipe/window", + "x": 90, + "y": 90 + }, + "alt=false,axis=y": { + "model": "tfmg:block/aluminum_pipe/window" + }, + "alt=false,axis=z": { + "model": "tfmg:block/aluminum_pipe/window", + "x": 90 + }, + "alt=true,axis=x": { + "model": "tfmg:block/aluminum_pipe/window", + "x": 90, + "y": 90 + }, + "alt=true,axis=y": { + "model": "tfmg:block/aluminum_pipe/window" + }, + "alt=true,axis=z": { + "model": "tfmg:block/aluminum_pipe/window", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/glass_brass_pipe.json b/src/generated/resources/assets/tfmg/blockstates/glass_brass_pipe.json new file mode 100644 index 00000000..27d61e17 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/glass_brass_pipe.json @@ -0,0 +1,28 @@ +{ + "variants": { + "alt=false,axis=x": { + "model": "tfmg:block/brass_pipe/window", + "x": 90, + "y": 90 + }, + "alt=false,axis=y": { + "model": "tfmg:block/brass_pipe/window" + }, + "alt=false,axis=z": { + "model": "tfmg:block/brass_pipe/window", + "x": 90 + }, + "alt=true,axis=x": { + "model": "tfmg:block/brass_pipe/window", + "x": 90, + "y": 90 + }, + "alt=true,axis=y": { + "model": "tfmg:block/brass_pipe/window" + }, + "alt=true,axis=z": { + "model": "tfmg:block/brass_pipe/window", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/glass_cable_insulator.json b/src/generated/resources/assets/tfmg/blockstates/glass_cable_insulator.json new file mode 100644 index 00000000..1801aa05 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/glass_cable_insulator.json @@ -0,0 +1,56 @@ +{ + "variants": { + "extension=false,facing=down": { + "model": "tfmg:block/glass_cable_insulator/block", + "x": 180 + }, + "extension=false,facing=east": { + "model": "tfmg:block/glass_cable_insulator/block", + "x": 90, + "y": 90 + }, + "extension=false,facing=north": { + "model": "tfmg:block/glass_cable_insulator/block", + "x": 90 + }, + "extension=false,facing=south": { + "model": "tfmg:block/glass_cable_insulator/block", + "x": 90, + "y": 180 + }, + "extension=false,facing=up": { + "model": "tfmg:block/glass_cable_insulator/block" + }, + "extension=false,facing=west": { + "model": "tfmg:block/glass_cable_insulator/block", + "x": 90, + "y": 270 + }, + "extension=true,facing=down": { + "model": "tfmg:block/glass_cable_insulator/block_extension", + "x": 180 + }, + "extension=true,facing=east": { + "model": "tfmg:block/glass_cable_insulator/block_extension", + "x": 90, + "y": 90 + }, + "extension=true,facing=north": { + "model": "tfmg:block/glass_cable_insulator/block_extension", + "x": 90 + }, + "extension=true,facing=south": { + "model": "tfmg:block/glass_cable_insulator/block_extension", + "x": 90, + "y": 180 + }, + "extension=true,facing=up": { + "model": "tfmg:block/glass_cable_insulator/block_extension" + }, + "extension=true,facing=west": { + "model": "tfmg:block/glass_cable_insulator/block_extension", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/glass_cast_iron_pipe.json b/src/generated/resources/assets/tfmg/blockstates/glass_cast_iron_pipe.json new file mode 100644 index 00000000..8976a158 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/glass_cast_iron_pipe.json @@ -0,0 +1,28 @@ +{ + "variants": { + "alt=false,axis=x": { + "model": "tfmg:block/cast_iron_pipe/window", + "x": 90, + "y": 90 + }, + "alt=false,axis=y": { + "model": "tfmg:block/cast_iron_pipe/window" + }, + "alt=false,axis=z": { + "model": "tfmg:block/cast_iron_pipe/window", + "x": 90 + }, + "alt=true,axis=x": { + "model": "tfmg:block/cast_iron_pipe/window", + "x": 90, + "y": 90 + }, + "alt=true,axis=y": { + "model": "tfmg:block/cast_iron_pipe/window" + }, + "alt=true,axis=z": { + "model": "tfmg:block/cast_iron_pipe/window", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/glass_plastic_pipe.json b/src/generated/resources/assets/tfmg/blockstates/glass_plastic_pipe.json new file mode 100644 index 00000000..6c28a3ca --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/glass_plastic_pipe.json @@ -0,0 +1,28 @@ +{ + "variants": { + "alt=false,axis=x": { + "model": "tfmg:block/plastic_pipe/window", + "x": 90, + "y": 90 + }, + "alt=false,axis=y": { + "model": "tfmg:block/plastic_pipe/window" + }, + "alt=false,axis=z": { + "model": "tfmg:block/plastic_pipe/window", + "x": 90 + }, + "alt=true,axis=x": { + "model": "tfmg:block/plastic_pipe/window", + "x": 90, + "y": 90 + }, + "alt=true,axis=y": { + "model": "tfmg:block/plastic_pipe/window" + }, + "alt=true,axis=z": { + "model": "tfmg:block/plastic_pipe/window", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/glass_steel_pipe.json b/src/generated/resources/assets/tfmg/blockstates/glass_steel_pipe.json new file mode 100644 index 00000000..ef312e5b --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/glass_steel_pipe.json @@ -0,0 +1,28 @@ +{ + "variants": { + "alt=false,axis=x": { + "model": "tfmg:block/steel_pipe/window", + "x": 90, + "y": 90 + }, + "alt=false,axis=y": { + "model": "tfmg:block/steel_pipe/window" + }, + "alt=false,axis=z": { + "model": "tfmg:block/steel_pipe/window", + "x": 90 + }, + "alt=true,axis=x": { + "model": "tfmg:block/steel_pipe/window", + "x": 90, + "y": 90 + }, + "alt=true,axis=y": { + "model": "tfmg:block/steel_pipe/window" + }, + "alt=true,axis=z": { + "model": "tfmg:block/steel_pipe/window", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/gray_caution_block.json b/src/generated/resources/assets/tfmg/blockstates/gray_caution_block.json new file mode 100644 index 00000000..9c2d94fa --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/gray_caution_block.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/gray_caution_block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/gray_caution_block" + }, + "facing=south": { + "model": "tfmg:block/gray_caution_block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/gray_caution_block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/gray_concrete.json b/src/generated/resources/assets/tfmg/blockstates/gray_concrete.json new file mode 100644 index 00000000..cea786cf --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/gray_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/gray_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/gray_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/gray_concrete_slab.json new file mode 100644 index 00000000..94fb647f --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/gray_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/gray_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/gray_concrete" + }, + "type=top": { + "model": "tfmg:block/gray_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/gray_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/gray_concrete_stairs.json new file mode 100644 index 00000000..1180463c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/gray_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/gray_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/gray_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/gray_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/gray_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/gray_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/gray_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/gray_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/gray_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/gray_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/gray_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/gray_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/gray_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/gray_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/gray_concrete_wall.json new file mode 100644 index 00000000..1fa3f2c8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/gray_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/gray_rebar_concrete.json b/src/generated/resources/assets/tfmg/blockstates/gray_rebar_concrete.json new file mode 100644 index 00000000..d2b84035 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/gray_rebar_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/gray_rebar_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/gray_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/gray_rebar_concrete_slab.json new file mode 100644 index 00000000..94fb647f --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/gray_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/gray_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/gray_concrete" + }, + "type=top": { + "model": "tfmg:block/gray_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/gray_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/gray_rebar_concrete_stairs.json new file mode 100644 index 00000000..1180463c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/gray_rebar_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/gray_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/gray_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/gray_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/gray_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/gray_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/gray_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/gray_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/gray_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/gray_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/gray_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/gray_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/gray_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/gray_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/gray_rebar_concrete_wall.json new file mode 100644 index 00000000..1fa3f2c8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/gray_rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/gray_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/green_caution_block.json b/src/generated/resources/assets/tfmg/blockstates/green_caution_block.json new file mode 100644 index 00000000..ddc9fbec --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/green_caution_block.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/green_caution_block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/green_caution_block" + }, + "facing=south": { + "model": "tfmg:block/green_caution_block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/green_caution_block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/green_concrete.json b/src/generated/resources/assets/tfmg/blockstates/green_concrete.json new file mode 100644 index 00000000..45f6507b --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/green_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/green_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/green_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/green_concrete_slab.json new file mode 100644 index 00000000..a8758b5f --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/green_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/green_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/green_concrete" + }, + "type=top": { + "model": "tfmg:block/green_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/green_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/green_concrete_stairs.json new file mode 100644 index 00000000..b0bd2790 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/green_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/green_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/green_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/green_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/green_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/green_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/green_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/green_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/green_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/green_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/green_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/green_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/green_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/green_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/green_concrete_wall.json new file mode 100644 index 00000000..d39ff687 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/green_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/green_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/green_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/green_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/green_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/green_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/green_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/green_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/green_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/green_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/green_rebar_concrete.json b/src/generated/resources/assets/tfmg/blockstates/green_rebar_concrete.json new file mode 100644 index 00000000..538879fd --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/green_rebar_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/green_rebar_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/green_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/green_rebar_concrete_slab.json new file mode 100644 index 00000000..a8758b5f --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/green_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/green_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/green_concrete" + }, + "type=top": { + "model": "tfmg:block/green_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/green_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/green_rebar_concrete_stairs.json new file mode 100644 index 00000000..b0bd2790 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/green_rebar_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/green_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/green_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/green_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/green_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/green_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/green_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/green_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/green_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/green_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/green_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/green_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/green_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/green_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/green_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/green_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/green_rebar_concrete_wall.json new file mode 100644 index 00000000..d39ff687 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/green_rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/green_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/green_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/green_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/green_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/green_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/green_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/green_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/green_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/green_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/hardened_planks.json b/src/generated/resources/assets/tfmg/blockstates/hardened_planks.json new file mode 100644 index 00000000..bf1d7e76 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/hardened_planks.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/hardened_planks" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/heavy_cable_hub.json b/src/generated/resources/assets/tfmg/blockstates/heavy_cable_hub.json new file mode 100644 index 00000000..e67e6bcf --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/heavy_cable_hub.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/heavy_cable_hub" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/heavy_casing_door.json b/src/generated/resources/assets/tfmg/blockstates/heavy_casing_door.json new file mode 100644 index 00000000..770e079e --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/heavy_casing_door.json @@ -0,0 +1,244 @@ +{ + "variants": { + "facing=east,half=lower,hinge=left,open=false,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_bottom" + }, + "facing=east,half=lower,hinge=left,open=false,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_bottom" + }, + "facing=east,half=lower,hinge=left,open=true,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 90 + }, + "facing=east,half=lower,hinge=left,open=true,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 90 + }, + "facing=east,half=lower,hinge=right,open=false,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_bottom" + }, + "facing=east,half=lower,hinge=right,open=false,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_bottom" + }, + "facing=east,half=lower,hinge=right,open=true,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 270 + }, + "facing=east,half=lower,hinge=right,open=true,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 270 + }, + "facing=east,half=upper,hinge=left,open=false,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_top" + }, + "facing=east,half=upper,hinge=left,open=false,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_top" + }, + "facing=east,half=upper,hinge=left,open=true,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 90 + }, + "facing=east,half=upper,hinge=left,open=true,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 90 + }, + "facing=east,half=upper,hinge=right,open=false,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_top" + }, + "facing=east,half=upper,hinge=right,open=false,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_top" + }, + "facing=east,half=upper,hinge=right,open=true,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 270 + }, + "facing=east,half=upper,hinge=right,open=true,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=false,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=false,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=true,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_bottom" + }, + "facing=north,half=lower,hinge=left,open=true,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_bottom" + }, + "facing=north,half=lower,hinge=right,open=false,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=right,open=false,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=right,open=true,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 180 + }, + "facing=north,half=lower,hinge=right,open=true,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 180 + }, + "facing=north,half=upper,hinge=left,open=false,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 270 + }, + "facing=north,half=upper,hinge=left,open=false,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 270 + }, + "facing=north,half=upper,hinge=left,open=true,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_top" + }, + "facing=north,half=upper,hinge=left,open=true,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_top" + }, + "facing=north,half=upper,hinge=right,open=false,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 270 + }, + "facing=north,half=upper,hinge=right,open=false,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 270 + }, + "facing=north,half=upper,hinge=right,open=true,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 180 + }, + "facing=north,half=upper,hinge=right,open=true,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 180 + }, + "facing=south,half=lower,hinge=left,open=false,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=left,open=false,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=left,open=true,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 180 + }, + "facing=south,half=lower,hinge=left,open=true,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 180 + }, + "facing=south,half=lower,hinge=right,open=false,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=right,open=false,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=right,open=true,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_bottom" + }, + "facing=south,half=lower,hinge=right,open=true,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_bottom" + }, + "facing=south,half=upper,hinge=left,open=false,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 90 + }, + "facing=south,half=upper,hinge=left,open=false,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 90 + }, + "facing=south,half=upper,hinge=left,open=true,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 180 + }, + "facing=south,half=upper,hinge=left,open=true,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 180 + }, + "facing=south,half=upper,hinge=right,open=false,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 90 + }, + "facing=south,half=upper,hinge=right,open=false,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 90 + }, + "facing=south,half=upper,hinge=right,open=true,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_top" + }, + "facing=south,half=upper,hinge=right,open=true,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_top" + }, + "facing=west,half=lower,hinge=left,open=false,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=left,open=false,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=left,open=true,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 270 + }, + "facing=west,half=lower,hinge=left,open=true,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 270 + }, + "facing=west,half=lower,hinge=right,open=false,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=right,open=false,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=right,open=true,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 90 + }, + "facing=west,half=lower,hinge=right,open=true,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_bottom", + "y": 90 + }, + "facing=west,half=upper,hinge=left,open=false,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 180 + }, + "facing=west,half=upper,hinge=left,open=false,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 180 + }, + "facing=west,half=upper,hinge=left,open=true,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 270 + }, + "facing=west,half=upper,hinge=left,open=true,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 270 + }, + "facing=west,half=upper,hinge=right,open=false,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 180 + }, + "facing=west,half=upper,hinge=right,open=false,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 180 + }, + "facing=west,half=upper,hinge=right,open=true,visible=false": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 90 + }, + "facing=west,half=upper,hinge=right,open=true,visible=true": { + "model": "tfmg:block/heavy_casing_door/block_top", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/heavy_casing_encased_aluminum_cogwheel.json b/src/generated/resources/assets/tfmg/blockstates/heavy_casing_encased_aluminum_cogwheel.json new file mode 100644 index 00000000..9b5355c3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/heavy_casing_encased_aluminum_cogwheel.json @@ -0,0 +1,56 @@ +{ + "variants": { + "axis=x,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_aluminum_cogwheel", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_aluminum_cogwheel_top", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_aluminum_cogwheel_bottom", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_aluminum_cogwheel_top_bottom", + "x": 90, + "y": 90 + }, + "axis=y,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_aluminum_cogwheel" + }, + "axis=y,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_aluminum_cogwheel_top" + }, + "axis=y,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_aluminum_cogwheel_bottom" + }, + "axis=y,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_aluminum_cogwheel_top_bottom" + }, + "axis=z,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_aluminum_cogwheel", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_aluminum_cogwheel_top", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_aluminum_cogwheel_bottom", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_aluminum_cogwheel_top_bottom", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/heavy_casing_encased_large_aluminum_cogwheel.json b/src/generated/resources/assets/tfmg/blockstates/heavy_casing_encased_large_aluminum_cogwheel.json new file mode 100644 index 00000000..042e2bb6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/heavy_casing_encased_large_aluminum_cogwheel.json @@ -0,0 +1,56 @@ +{ + "variants": { + "axis=x,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel_top", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel_bottom", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel_top_bottom", + "x": 90, + "y": 90 + }, + "axis=y,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel" + }, + "axis=y,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel_top" + }, + "axis=y,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel_bottom" + }, + "axis=y,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel_top_bottom" + }, + "axis=z,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel_top", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel_bottom", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_large_aluminum_cogwheel_top_bottom", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/heavy_casing_encased_large_steel_cogwheel.json b/src/generated/resources/assets/tfmg/blockstates/heavy_casing_encased_large_steel_cogwheel.json new file mode 100644 index 00000000..ab796227 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/heavy_casing_encased_large_steel_cogwheel.json @@ -0,0 +1,56 @@ +{ + "variants": { + "axis=x,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_large_steel_cogwheel", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_large_steel_cogwheel_top", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_large_steel_cogwheel_bottom", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_large_steel_cogwheel_top_bottom", + "x": 90, + "y": 90 + }, + "axis=y,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_large_steel_cogwheel" + }, + "axis=y,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_large_steel_cogwheel_top" + }, + "axis=y,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_large_steel_cogwheel_bottom" + }, + "axis=y,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_large_steel_cogwheel_top_bottom" + }, + "axis=z,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_large_steel_cogwheel", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_large_steel_cogwheel_top", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_large_steel_cogwheel_bottom", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_large_steel_cogwheel_top_bottom", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/heavy_casing_encased_shaft.json b/src/generated/resources/assets/tfmg/blockstates/heavy_casing_encased_shaft.json new file mode 100644 index 00000000..59941237 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/heavy_casing_encased_shaft.json @@ -0,0 +1,20 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/encased_shaft/block_heavy_casing", + "uvlock": true, + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/encased_shaft/block_heavy_casing", + "uvlock": true + }, + "axis=z": { + "model": "tfmg:block/encased_shaft/block_heavy_casing", + "uvlock": true, + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/heavy_casing_encased_steel_cogwheel.json b/src/generated/resources/assets/tfmg/blockstates/heavy_casing_encased_steel_cogwheel.json new file mode 100644 index 00000000..817ed076 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/heavy_casing_encased_steel_cogwheel.json @@ -0,0 +1,56 @@ +{ + "variants": { + "axis=x,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_steel_cogwheel", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_steel_cogwheel_top", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_steel_cogwheel_bottom", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_steel_cogwheel_top_bottom", + "x": 90, + "y": 90 + }, + "axis=y,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_steel_cogwheel" + }, + "axis=y,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_steel_cogwheel_top" + }, + "axis=y,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_steel_cogwheel_bottom" + }, + "axis=y,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_steel_cogwheel_top_bottom" + }, + "axis=z,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_steel_cogwheel", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_steel_cogwheel_top", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/heavy_casing_encased_steel_cogwheel_bottom", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/heavy_casing_encased_steel_cogwheel_top_bottom", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/heavy_machinery_casing.json b/src/generated/resources/assets/tfmg/blockstates/heavy_machinery_casing.json new file mode 100644 index 00000000..d539ef15 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/heavy_machinery_casing.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/heavy_machinery_casing" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/heavy_oil.json b/src/generated/resources/assets/tfmg/blockstates/heavy_oil.json new file mode 100644 index 00000000..62cedd5a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/heavy_oil.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/heavy_oil" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/heavy_plated_door.json b/src/generated/resources/assets/tfmg/blockstates/heavy_plated_door.json new file mode 100644 index 00000000..0b8b9147 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/heavy_plated_door.json @@ -0,0 +1,244 @@ +{ + "variants": { + "facing=east,half=lower,hinge=left,open=false,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_bottom" + }, + "facing=east,half=lower,hinge=left,open=false,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_bottom" + }, + "facing=east,half=lower,hinge=left,open=true,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 90 + }, + "facing=east,half=lower,hinge=left,open=true,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 90 + }, + "facing=east,half=lower,hinge=right,open=false,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_bottom" + }, + "facing=east,half=lower,hinge=right,open=false,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_bottom" + }, + "facing=east,half=lower,hinge=right,open=true,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 270 + }, + "facing=east,half=lower,hinge=right,open=true,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 270 + }, + "facing=east,half=upper,hinge=left,open=false,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_top" + }, + "facing=east,half=upper,hinge=left,open=false,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_top" + }, + "facing=east,half=upper,hinge=left,open=true,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 90 + }, + "facing=east,half=upper,hinge=left,open=true,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 90 + }, + "facing=east,half=upper,hinge=right,open=false,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_top" + }, + "facing=east,half=upper,hinge=right,open=false,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_top" + }, + "facing=east,half=upper,hinge=right,open=true,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 270 + }, + "facing=east,half=upper,hinge=right,open=true,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=false,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=false,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=true,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_bottom" + }, + "facing=north,half=lower,hinge=left,open=true,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_bottom" + }, + "facing=north,half=lower,hinge=right,open=false,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=right,open=false,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=right,open=true,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 180 + }, + "facing=north,half=lower,hinge=right,open=true,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 180 + }, + "facing=north,half=upper,hinge=left,open=false,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 270 + }, + "facing=north,half=upper,hinge=left,open=false,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 270 + }, + "facing=north,half=upper,hinge=left,open=true,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_top" + }, + "facing=north,half=upper,hinge=left,open=true,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_top" + }, + "facing=north,half=upper,hinge=right,open=false,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 270 + }, + "facing=north,half=upper,hinge=right,open=false,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 270 + }, + "facing=north,half=upper,hinge=right,open=true,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 180 + }, + "facing=north,half=upper,hinge=right,open=true,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 180 + }, + "facing=south,half=lower,hinge=left,open=false,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=left,open=false,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=left,open=true,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 180 + }, + "facing=south,half=lower,hinge=left,open=true,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 180 + }, + "facing=south,half=lower,hinge=right,open=false,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=right,open=false,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=right,open=true,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_bottom" + }, + "facing=south,half=lower,hinge=right,open=true,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_bottom" + }, + "facing=south,half=upper,hinge=left,open=false,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 90 + }, + "facing=south,half=upper,hinge=left,open=false,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 90 + }, + "facing=south,half=upper,hinge=left,open=true,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 180 + }, + "facing=south,half=upper,hinge=left,open=true,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 180 + }, + "facing=south,half=upper,hinge=right,open=false,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 90 + }, + "facing=south,half=upper,hinge=right,open=false,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 90 + }, + "facing=south,half=upper,hinge=right,open=true,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_top" + }, + "facing=south,half=upper,hinge=right,open=true,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_top" + }, + "facing=west,half=lower,hinge=left,open=false,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=left,open=false,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=left,open=true,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 270 + }, + "facing=west,half=lower,hinge=left,open=true,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 270 + }, + "facing=west,half=lower,hinge=right,open=false,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=right,open=false,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=right,open=true,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 90 + }, + "facing=west,half=lower,hinge=right,open=true,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_bottom", + "y": 90 + }, + "facing=west,half=upper,hinge=left,open=false,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 180 + }, + "facing=west,half=upper,hinge=left,open=false,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 180 + }, + "facing=west,half=upper,hinge=left,open=true,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 270 + }, + "facing=west,half=upper,hinge=left,open=true,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 270 + }, + "facing=west,half=upper,hinge=right,open=false,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 180 + }, + "facing=west,half=upper,hinge=right,open=false,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 180 + }, + "facing=west,half=upper,hinge=right,open=true,visible=false": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 90 + }, + "facing=west,half=upper,hinge=right,open=true,visible=true": { + "model": "tfmg:block/heavy_plated_door/block_top", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/industrial_aluminum_casing.json b/src/generated/resources/assets/tfmg/blockstates/industrial_aluminum_casing.json new file mode 100644 index 00000000..75e1f48a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/industrial_aluminum_casing.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/industrial_aluminum_casing" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/industrial_mixer.json b/src/generated/resources/assets/tfmg/blockstates/industrial_mixer.json new file mode 100644 index 00000000..0a187873 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/industrial_mixer.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/industrial_mixer/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/industrial_pipe.json b/src/generated/resources/assets/tfmg/blockstates/industrial_pipe.json new file mode 100644 index 00000000..e0872219 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/industrial_pipe.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/industrial_pipe/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/kerosene.json b/src/generated/resources/assets/tfmg/blockstates/kerosene.json new file mode 100644 index 00000000..2a78093b --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/kerosene.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/kerosene" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/large_aluminum_cogwheel.json b/src/generated/resources/assets/tfmg/blockstates/large_aluminum_cogwheel.json new file mode 100644 index 00000000..3dfae762 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/large_aluminum_cogwheel.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/large_aluminum_cogwheel", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/large_aluminum_cogwheel" + }, + "axis=z": { + "model": "tfmg:block/large_aluminum_cogwheel", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/large_engine.json b/src/generated/resources/assets/tfmg/blockstates/large_engine.json new file mode 100644 index 00000000..c70f912f --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/large_engine.json @@ -0,0 +1,110 @@ +{ + "variants": { + "face=ceiling,facing=east,waterlogged=false": { + "model": "tfmg:block/large_engine/block", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=east,waterlogged=true": { + "model": "tfmg:block/large_engine/block", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=north,waterlogged=false": { + "model": "tfmg:block/large_engine/block", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=north,waterlogged=true": { + "model": "tfmg:block/large_engine/block", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=south,waterlogged=false": { + "model": "tfmg:block/large_engine/block", + "x": 180 + }, + "face=ceiling,facing=south,waterlogged=true": { + "model": "tfmg:block/large_engine/block", + "x": 180 + }, + "face=ceiling,facing=west,waterlogged=false": { + "model": "tfmg:block/large_engine/block", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=west,waterlogged=true": { + "model": "tfmg:block/large_engine/block", + "x": 180, + "y": 90 + }, + "face=floor,facing=east,waterlogged=false": { + "model": "tfmg:block/large_engine/block", + "y": 90 + }, + "face=floor,facing=east,waterlogged=true": { + "model": "tfmg:block/large_engine/block", + "y": 90 + }, + "face=floor,facing=north,waterlogged=false": { + "model": "tfmg:block/large_engine/block" + }, + "face=floor,facing=north,waterlogged=true": { + "model": "tfmg:block/large_engine/block" + }, + "face=floor,facing=south,waterlogged=false": { + "model": "tfmg:block/large_engine/block", + "y": 180 + }, + "face=floor,facing=south,waterlogged=true": { + "model": "tfmg:block/large_engine/block", + "y": 180 + }, + "face=floor,facing=west,waterlogged=false": { + "model": "tfmg:block/large_engine/block", + "y": 270 + }, + "face=floor,facing=west,waterlogged=true": { + "model": "tfmg:block/large_engine/block", + "y": 270 + }, + "face=wall,facing=east,waterlogged=false": { + "model": "tfmg:block/large_engine/block", + "x": 90, + "y": 90 + }, + "face=wall,facing=east,waterlogged=true": { + "model": "tfmg:block/large_engine/block", + "x": 90, + "y": 90 + }, + "face=wall,facing=north,waterlogged=false": { + "model": "tfmg:block/large_engine/block", + "x": 90 + }, + "face=wall,facing=north,waterlogged=true": { + "model": "tfmg:block/large_engine/block", + "x": 90 + }, + "face=wall,facing=south,waterlogged=false": { + "model": "tfmg:block/large_engine/block", + "x": 90, + "y": 180 + }, + "face=wall,facing=south,waterlogged=true": { + "model": "tfmg:block/large_engine/block", + "x": 90, + "y": 180 + }, + "face=wall,facing=west,waterlogged=false": { + "model": "tfmg:block/large_engine/block", + "x": 90, + "y": 270 + }, + "face=wall,facing=west,waterlogged=true": { + "model": "tfmg:block/large_engine/block", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/large_pumpjack_hammer_connector.json b/src/generated/resources/assets/tfmg/blockstates/large_pumpjack_hammer_connector.json new file mode 100644 index 00000000..76e65852 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/large_pumpjack_hammer_connector.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/large_pumpjack_hammer_connector", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/large_pumpjack_hammer_connector" + }, + "facing=south": { + "model": "tfmg:block/large_pumpjack_hammer_connector", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/large_pumpjack_hammer_connector", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/large_pumpjack_hammer_head.json b/src/generated/resources/assets/tfmg/blockstates/large_pumpjack_hammer_head.json new file mode 100644 index 00000000..a06cbb69 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/large_pumpjack_hammer_head.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/large_pumpjack_hammer_head", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/large_pumpjack_hammer_head" + }, + "facing=south": { + "model": "tfmg:block/large_pumpjack_hammer_head", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/large_pumpjack_hammer_head", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/large_pumpjack_hammer_part.json b/src/generated/resources/assets/tfmg/blockstates/large_pumpjack_hammer_part.json new file mode 100644 index 00000000..07d53df4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/large_pumpjack_hammer_part.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/large_pumpjack_hammer_part", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/large_pumpjack_hammer_part" + }, + "facing=south": { + "model": "tfmg:block/large_pumpjack_hammer_part", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/large_pumpjack_hammer_part", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/large_steel_cogwheel.json b/src/generated/resources/assets/tfmg/blockstates/large_steel_cogwheel.json new file mode 100644 index 00000000..15f0c176 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/large_steel_cogwheel.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/large_steel_cogwheel", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/large_steel_cogwheel" + }, + "axis=z": { + "model": "tfmg:block/large_steel_cogwheel", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/layered_bauxite.json b/src/generated/resources/assets/tfmg/blockstates/layered_bauxite.json new file mode 100644 index 00000000..a3d0c781 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/layered_bauxite.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/layered_bauxite" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/layered_galena.json b/src/generated/resources/assets/tfmg/blockstates/layered_galena.json new file mode 100644 index 00000000..d4db8e82 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/layered_galena.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/layered_galena" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/lead_bars.json b/src/generated/resources/assets/tfmg/blockstates/lead_bars.json new file mode 100644 index 00000000..510e3ed6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/lead_bars.json @@ -0,0 +1,100 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/lead_post_ends" + } + }, + { + "apply": { + "model": "tfmg:block/lead_post" + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/lead_cap" + }, + "when": { + "east": "false", + "north": "true", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/lead_cap", + "y": 90 + }, + "when": { + "east": "true", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/lead_cap_alt" + }, + "when": { + "east": "false", + "north": "false", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/lead_cap_alt", + "y": 90 + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/lead_side" + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "tfmg:block/lead_side", + "y": 90 + }, + "when": { + "east": "true" + } + }, + { + "apply": { + "model": "tfmg:block/lead_side_alt" + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "tfmg:block/lead_side_alt", + "y": 90 + }, + "when": { + "west": "true" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/lead_block.json b/src/generated/resources/assets/tfmg/blockstates/lead_block.json new file mode 100644 index 00000000..1f65ded8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/lead_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/lead_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/lead_flywheel.json b/src/generated/resources/assets/tfmg/blockstates/lead_flywheel.json new file mode 100644 index 00000000..f4a8d3cd --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/lead_flywheel.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/lead_flywheel/block", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/lead_flywheel/block" + }, + "axis=z": { + "model": "tfmg:block/lead_flywheel/block", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/lead_frame.json b/src/generated/resources/assets/tfmg/blockstates/lead_frame.json new file mode 100644 index 00000000..13938da4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/lead_frame.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/lead_frame/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/lead_ladder.json b/src/generated/resources/assets/tfmg/blockstates/lead_ladder.json new file mode 100644 index 00000000..bf41713e --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/lead_ladder.json @@ -0,0 +1,34 @@ +{ + "variants": { + "facing=east,waterlogged=false": { + "model": "tfmg:block/lead_ladder", + "y": 90 + }, + "facing=east,waterlogged=true": { + "model": "tfmg:block/lead_ladder", + "y": 90 + }, + "facing=north,waterlogged=false": { + "model": "tfmg:block/lead_ladder" + }, + "facing=north,waterlogged=true": { + "model": "tfmg:block/lead_ladder" + }, + "facing=south,waterlogged=false": { + "model": "tfmg:block/lead_ladder", + "y": 180 + }, + "facing=south,waterlogged=true": { + "model": "tfmg:block/lead_ladder", + "y": 180 + }, + "facing=west,waterlogged=false": { + "model": "tfmg:block/lead_ladder", + "y": 270 + }, + "facing=west,waterlogged=true": { + "model": "tfmg:block/lead_ladder", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/lead_ore.json b/src/generated/resources/assets/tfmg/blockstates/lead_ore.json new file mode 100644 index 00000000..dbb4e0b5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/lead_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/lead_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/lead_truss.json b/src/generated/resources/assets/tfmg/blockstates/lead_truss.json new file mode 100644 index 00000000..7407958a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/lead_truss.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/lead_truss", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/lead_truss" + }, + "axis=z": { + "model": "tfmg:block/lead_truss", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/light_blue_caution_block.json b/src/generated/resources/assets/tfmg/blockstates/light_blue_caution_block.json new file mode 100644 index 00000000..b6bec310 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/light_blue_caution_block.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/light_blue_caution_block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/light_blue_caution_block" + }, + "facing=south": { + "model": "tfmg:block/light_blue_caution_block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/light_blue_caution_block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/light_blue_concrete.json b/src/generated/resources/assets/tfmg/blockstates/light_blue_concrete.json new file mode 100644 index 00000000..7a3e3669 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/light_blue_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/light_blue_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/light_blue_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/light_blue_concrete_slab.json new file mode 100644 index 00000000..fceb8b00 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/light_blue_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/light_blue_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/light_blue_concrete" + }, + "type=top": { + "model": "tfmg:block/light_blue_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/light_blue_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/light_blue_concrete_stairs.json new file mode 100644 index 00000000..c37ec2fe --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/light_blue_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/light_blue_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/light_blue_concrete_wall.json new file mode 100644 index 00000000..12ab190d --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/light_blue_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/light_blue_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/light_blue_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/light_blue_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/light_blue_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/light_blue_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/light_blue_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/light_blue_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/light_blue_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/light_blue_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/light_blue_rebar_concrete.json b/src/generated/resources/assets/tfmg/blockstates/light_blue_rebar_concrete.json new file mode 100644 index 00000000..038399f4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/light_blue_rebar_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/light_blue_rebar_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/light_blue_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/light_blue_rebar_concrete_slab.json new file mode 100644 index 00000000..fceb8b00 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/light_blue_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/light_blue_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/light_blue_concrete" + }, + "type=top": { + "model": "tfmg:block/light_blue_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/light_blue_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/light_blue_rebar_concrete_stairs.json new file mode 100644 index 00000000..c37ec2fe --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/light_blue_rebar_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/light_blue_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/light_blue_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/light_blue_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/light_blue_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/light_blue_rebar_concrete_wall.json new file mode 100644 index 00000000..12ab190d --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/light_blue_rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/light_blue_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/light_blue_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/light_blue_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/light_blue_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/light_blue_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/light_blue_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/light_blue_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/light_blue_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/light_blue_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/light_bulb.json b/src/generated/resources/assets/tfmg/blockstates/light_bulb.json new file mode 100644 index 00000000..f74484c4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/light_bulb.json @@ -0,0 +1,836 @@ +{ + "variants": { + "facing=down,level=0,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=0,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=1,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=1,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=10,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=10,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=11,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=11,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=12,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=12,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=13,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=13,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=14,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=14,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=15,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=15,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=2,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=2,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=3,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=3,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=4,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=4,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=5,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=5,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=6,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=6,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=7,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=7,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=8,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=8,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=9,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=down,level=9,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 180 + }, + "facing=east,level=0,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=0,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=1,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=1,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=10,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=10,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=11,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=11,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=12,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=12,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=13,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=13,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=14,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=14,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=15,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=15,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=2,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=2,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=3,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=3,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=4,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=4,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=5,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=5,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=6,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=6,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=7,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=7,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=8,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=8,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=9,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=east,level=9,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 90 + }, + "facing=north,level=0,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=0,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=1,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=1,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=10,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=10,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=11,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=11,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=12,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=12,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=13,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=13,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=14,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=14,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=15,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=15,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=2,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=2,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=3,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=3,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=4,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=4,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=5,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=5,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=6,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=6,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=7,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=7,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=8,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=8,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=9,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=north,level=9,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90 + }, + "facing=south,level=0,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=0,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=1,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=1,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=10,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=10,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=11,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=11,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=12,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=12,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=13,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=13,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=14,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=14,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=15,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=15,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=2,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=2,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=3,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=3,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=4,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=4,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=5,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=5,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=6,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=6,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=7,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=7,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=8,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=8,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=9,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=south,level=9,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 180 + }, + "facing=up,level=0,waterlogged=false": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=0,waterlogged=true": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=1,waterlogged=false": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=1,waterlogged=true": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=10,waterlogged=false": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=10,waterlogged=true": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=11,waterlogged=false": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=11,waterlogged=true": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=12,waterlogged=false": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=12,waterlogged=true": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=13,waterlogged=false": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=13,waterlogged=true": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=14,waterlogged=false": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=14,waterlogged=true": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=15,waterlogged=false": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=15,waterlogged=true": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=2,waterlogged=false": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=2,waterlogged=true": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=3,waterlogged=false": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=3,waterlogged=true": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=4,waterlogged=false": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=4,waterlogged=true": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=5,waterlogged=false": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=5,waterlogged=true": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=6,waterlogged=false": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=6,waterlogged=true": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=7,waterlogged=false": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=7,waterlogged=true": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=8,waterlogged=false": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=8,waterlogged=true": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=9,waterlogged=false": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=up,level=9,waterlogged=true": { + "model": "tfmg:block/light_bulb/block" + }, + "facing=west,level=0,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=0,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=1,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=1,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=10,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=10,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=11,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=11,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=12,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=12,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=13,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=13,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=14,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=14,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=15,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=15,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=2,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=2,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=3,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=3,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=4,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=4,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=5,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=5,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=6,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=6,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=7,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=7,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=8,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=8,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=9,waterlogged=false": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + }, + "facing=west,level=9,waterlogged=true": { + "model": "tfmg:block/light_bulb/block", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/light_gray_caution_block.json b/src/generated/resources/assets/tfmg/blockstates/light_gray_caution_block.json new file mode 100644 index 00000000..879552c2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/light_gray_caution_block.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/light_gray_caution_block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/light_gray_caution_block" + }, + "facing=south": { + "model": "tfmg:block/light_gray_caution_block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/light_gray_caution_block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/light_gray_concrete.json b/src/generated/resources/assets/tfmg/blockstates/light_gray_concrete.json new file mode 100644 index 00000000..fef40440 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/light_gray_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/light_gray_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/light_gray_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/light_gray_concrete_slab.json new file mode 100644 index 00000000..0a69f890 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/light_gray_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/light_gray_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/light_gray_concrete" + }, + "type=top": { + "model": "tfmg:block/light_gray_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/light_gray_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/light_gray_concrete_stairs.json new file mode 100644 index 00000000..411109cf --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/light_gray_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/light_gray_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/light_gray_concrete_wall.json new file mode 100644 index 00000000..7ed35d87 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/light_gray_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/light_gray_rebar_concrete.json b/src/generated/resources/assets/tfmg/blockstates/light_gray_rebar_concrete.json new file mode 100644 index 00000000..aabf30f0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/light_gray_rebar_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/light_gray_rebar_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/light_gray_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/light_gray_rebar_concrete_slab.json new file mode 100644 index 00000000..0a69f890 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/light_gray_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/light_gray_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/light_gray_concrete" + }, + "type=top": { + "model": "tfmg:block/light_gray_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/light_gray_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/light_gray_rebar_concrete_stairs.json new file mode 100644 index 00000000..411109cf --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/light_gray_rebar_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/light_gray_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/light_gray_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/light_gray_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/light_gray_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/light_gray_rebar_concrete_wall.json new file mode 100644 index 00000000..7ed35d87 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/light_gray_rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/light_gray_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/lignite.json b/src/generated/resources/assets/tfmg/blockstates/lignite.json new file mode 100644 index 00000000..cf17f3d6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/lignite.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/lignite" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/lime_caution_block.json b/src/generated/resources/assets/tfmg/blockstates/lime_caution_block.json new file mode 100644 index 00000000..55f63204 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/lime_caution_block.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/lime_caution_block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/lime_caution_block" + }, + "facing=south": { + "model": "tfmg:block/lime_caution_block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/lime_caution_block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/lime_concrete.json b/src/generated/resources/assets/tfmg/blockstates/lime_concrete.json new file mode 100644 index 00000000..65389d91 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/lime_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/lime_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/lime_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/lime_concrete_slab.json new file mode 100644 index 00000000..0936cd4b --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/lime_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/lime_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/lime_concrete" + }, + "type=top": { + "model": "tfmg:block/lime_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/lime_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/lime_concrete_stairs.json new file mode 100644 index 00000000..8d99b6b5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/lime_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/lime_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/lime_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/lime_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/lime_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/lime_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/lime_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/lime_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/lime_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/lime_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/lime_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/lime_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/lime_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/lime_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/lime_concrete_wall.json new file mode 100644 index 00000000..2975bc75 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/lime_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/lime_rebar_concrete.json b/src/generated/resources/assets/tfmg/blockstates/lime_rebar_concrete.json new file mode 100644 index 00000000..93dbfec8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/lime_rebar_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/lime_rebar_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/lime_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/lime_rebar_concrete_slab.json new file mode 100644 index 00000000..0936cd4b --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/lime_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/lime_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/lime_concrete" + }, + "type=top": { + "model": "tfmg:block/lime_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/lime_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/lime_rebar_concrete_stairs.json new file mode 100644 index 00000000..8d99b6b5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/lime_rebar_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/lime_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/lime_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/lime_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/lime_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/lime_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/lime_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/lime_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/lime_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/lime_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/lime_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/lime_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/lime_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/lime_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/lime_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/lime_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/lime_rebar_concrete_wall.json new file mode 100644 index 00000000..2975bc75 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/lime_rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/lime_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/liquid_asphalt.json b/src/generated/resources/assets/tfmg/blockstates/liquid_asphalt.json new file mode 100644 index 00000000..b399a840 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/liquid_asphalt.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/liquid_asphalt" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/liquid_concrete.json b/src/generated/resources/assets/tfmg/blockstates/liquid_concrete.json new file mode 100644 index 00000000..cb73717c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/liquid_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/liquid_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/liquid_silicon.json b/src/generated/resources/assets/tfmg/blockstates/liquid_silicon.json new file mode 100644 index 00000000..d0ab0f14 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/liquid_silicon.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/liquid_silicon" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/lithium_block.json b/src/generated/resources/assets/tfmg/blockstates/lithium_block.json new file mode 100644 index 00000000..7187fa5c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/lithium_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/lithium_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/lithium_ore.json b/src/generated/resources/assets/tfmg/blockstates/lithium_ore.json new file mode 100644 index 00000000..1d963e10 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/lithium_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/lithium_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/lithium_torch.json b/src/generated/resources/assets/tfmg/blockstates/lithium_torch.json new file mode 100644 index 00000000..615898ec --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/lithium_torch.json @@ -0,0 +1,48 @@ +{ + "variants": { + "facing=down,waterlogged=false": { + "model": "tfmg:block/lithium_torch/block", + "x": 180 + }, + "facing=down,waterlogged=true": { + "model": "tfmg:block/lithium_torch/block", + "x": 180 + }, + "facing=east,waterlogged=false": { + "model": "tfmg:block/lithium_torch/block_wall" + }, + "facing=east,waterlogged=true": { + "model": "tfmg:block/lithium_torch/block_wall" + }, + "facing=north,waterlogged=false": { + "model": "tfmg:block/lithium_torch/block_wall", + "y": 270 + }, + "facing=north,waterlogged=true": { + "model": "tfmg:block/lithium_torch/block_wall", + "y": 270 + }, + "facing=south,waterlogged=false": { + "model": "tfmg:block/lithium_torch/block_wall", + "y": 90 + }, + "facing=south,waterlogged=true": { + "model": "tfmg:block/lithium_torch/block_wall", + "y": 90 + }, + "facing=up,waterlogged=false": { + "model": "tfmg:block/lithium_torch/block" + }, + "facing=up,waterlogged=true": { + "model": "tfmg:block/lithium_torch/block" + }, + "facing=west,waterlogged=false": { + "model": "tfmg:block/lithium_torch/block_wall", + "y": 180 + }, + "facing=west,waterlogged=true": { + "model": "tfmg:block/lithium_torch/block_wall", + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/lubrication_oil.json b/src/generated/resources/assets/tfmg/blockstates/lubrication_oil.json new file mode 100644 index 00000000..6892efe5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/lubrication_oil.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/lubrication_oil" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/machine_input.json b/src/generated/resources/assets/tfmg/blockstates/machine_input.json new file mode 100644 index 00000000..2dc8043b --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/machine_input.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "tfmg:block/machine_input/block", + "x": 180 + }, + "facing=east": { + "model": "tfmg:block/machine_input/block", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/machine_input/block", + "x": 90 + }, + "facing=south": { + "model": "tfmg:block/machine_input/block", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "tfmg:block/machine_input/block" + }, + "facing=west": { + "model": "tfmg:block/machine_input/block", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/magenta_caution_block.json b/src/generated/resources/assets/tfmg/blockstates/magenta_caution_block.json new file mode 100644 index 00000000..cde48038 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/magenta_caution_block.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/magenta_caution_block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/magenta_caution_block" + }, + "facing=south": { + "model": "tfmg:block/magenta_caution_block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/magenta_caution_block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/magenta_concrete.json b/src/generated/resources/assets/tfmg/blockstates/magenta_concrete.json new file mode 100644 index 00000000..2483d32d --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/magenta_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/magenta_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/magenta_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/magenta_concrete_slab.json new file mode 100644 index 00000000..79b2ce24 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/magenta_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/magenta_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/magenta_concrete" + }, + "type=top": { + "model": "tfmg:block/magenta_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/magenta_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/magenta_concrete_stairs.json new file mode 100644 index 00000000..701c5f6e --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/magenta_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/magenta_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/magenta_concrete_wall.json new file mode 100644 index 00000000..69c3f9ec --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/magenta_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/magenta_rebar_concrete.json b/src/generated/resources/assets/tfmg/blockstates/magenta_rebar_concrete.json new file mode 100644 index 00000000..518652bc --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/magenta_rebar_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/magenta_rebar_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/magenta_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/magenta_rebar_concrete_slab.json new file mode 100644 index 00000000..79b2ce24 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/magenta_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/magenta_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/magenta_concrete" + }, + "type=top": { + "model": "tfmg:block/magenta_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/magenta_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/magenta_rebar_concrete_stairs.json new file mode 100644 index 00000000..701c5f6e --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/magenta_rebar_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/magenta_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/magenta_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/magenta_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/magenta_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/magenta_rebar_concrete_wall.json new file mode 100644 index 00000000..69c3f9ec --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/magenta_rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/magenta_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/metal_smokestack.json b/src/generated/resources/assets/tfmg/blockstates/metal_smokestack.json new file mode 100644 index 00000000..061bdc14 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/metal_smokestack.json @@ -0,0 +1,10 @@ +{ + "variants": { + "top=false": { + "model": "tfmg:block/metal_smokestack/block" + }, + "top=true": { + "model": "tfmg:block/metal_smokestack/block_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/modern_light.json b/src/generated/resources/assets/tfmg/blockstates/modern_light.json new file mode 100644 index 00000000..46cf42f9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/modern_light.json @@ -0,0 +1,836 @@ +{ + "variants": { + "facing=down,level=0,waterlogged=false": { + "model": "tfmg:block/modern_light/block", + "x": 180 + }, + "facing=down,level=0,waterlogged=true": { + "model": "tfmg:block/modern_light/block", + "x": 180 + }, + "facing=down,level=1,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=1,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=10,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=10,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=11,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=11,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=12,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=12,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=13,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=13,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=14,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=14,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=15,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=15,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=2,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=2,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=3,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=3,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=4,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=4,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=5,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=5,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=6,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=6,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=7,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=7,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=8,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=8,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=9,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=down,level=9,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 180 + }, + "facing=east,level=0,waterlogged=false": { + "model": "tfmg:block/modern_light/block", + "x": 90, + "y": 90 + }, + "facing=east,level=0,waterlogged=true": { + "model": "tfmg:block/modern_light/block", + "x": 90, + "y": 90 + }, + "facing=east,level=1,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=1,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=10,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=10,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=11,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=11,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=12,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=12,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=13,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=13,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=14,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=14,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=15,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=15,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=2,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=2,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=3,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=3,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=4,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=4,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=5,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=5,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=6,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=6,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=7,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=7,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=8,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=8,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=9,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=east,level=9,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 90 + }, + "facing=north,level=0,waterlogged=false": { + "model": "tfmg:block/modern_light/block", + "x": 90 + }, + "facing=north,level=0,waterlogged=true": { + "model": "tfmg:block/modern_light/block", + "x": 90 + }, + "facing=north,level=1,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=1,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=10,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=10,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=11,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=11,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=12,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=12,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=13,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=13,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=14,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=14,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=15,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=15,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=2,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=2,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=3,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=3,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=4,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=4,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=5,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=5,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=6,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=6,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=7,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=7,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=8,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=8,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=9,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=north,level=9,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90 + }, + "facing=south,level=0,waterlogged=false": { + "model": "tfmg:block/modern_light/block", + "x": 90, + "y": 180 + }, + "facing=south,level=0,waterlogged=true": { + "model": "tfmg:block/modern_light/block", + "x": 90, + "y": 180 + }, + "facing=south,level=1,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=1,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=10,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=10,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=11,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=11,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=12,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=12,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=13,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=13,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=14,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=14,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=15,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=15,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=2,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=2,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=3,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=3,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=4,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=4,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=5,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=5,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=6,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=6,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=7,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=7,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=8,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=8,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=9,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=south,level=9,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 180 + }, + "facing=up,level=0,waterlogged=false": { + "model": "tfmg:block/modern_light/block" + }, + "facing=up,level=0,waterlogged=true": { + "model": "tfmg:block/modern_light/block" + }, + "facing=up,level=1,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=1,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=10,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=10,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=11,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=11,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=12,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=12,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=13,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=13,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=14,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=14,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=15,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=15,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=2,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=2,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=3,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=3,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=4,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=4,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=5,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=5,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=6,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=6,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=7,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=7,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=8,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=8,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=9,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=up,level=9,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered" + }, + "facing=west,level=0,waterlogged=false": { + "model": "tfmg:block/modern_light/block", + "x": 90, + "y": 270 + }, + "facing=west,level=0,waterlogged=true": { + "model": "tfmg:block/modern_light/block", + "x": 90, + "y": 270 + }, + "facing=west,level=1,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=1,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=10,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=10,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=11,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=11,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=12,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=12,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=13,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=13,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=14,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=14,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=15,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=15,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=2,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=2,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=3,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=3,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=4,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=4,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=5,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=5,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=6,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=6,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=7,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=7,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=8,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=8,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=9,waterlogged=false": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + }, + "facing=west,level=9,waterlogged=true": { + "model": "tfmg:block/modern_light/block_powered", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/molten_plastic.json b/src/generated/resources/assets/tfmg/blockstates/molten_plastic.json new file mode 100644 index 00000000..0c34cb1c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/molten_plastic.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/molten_plastic" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/molten_slag.json b/src/generated/resources/assets/tfmg/blockstates/molten_slag.json new file mode 100644 index 00000000..87b42c00 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/molten_slag.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/molten_slag" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/molten_steel.json b/src/generated/resources/assets/tfmg/blockstates/molten_steel.json new file mode 100644 index 00000000..93059513 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/molten_steel.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/molten_steel" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/napalm.json b/src/generated/resources/assets/tfmg/blockstates/napalm.json new file mode 100644 index 00000000..15ed69ed --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/napalm.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/napalm" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/napalm_bomb.json b/src/generated/resources/assets/tfmg/blockstates/napalm_bomb.json new file mode 100644 index 00000000..50c9efdd --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/napalm_bomb.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/napalm_bomb/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/naphtha.json b/src/generated/resources/assets/tfmg/blockstates/naphtha.json new file mode 100644 index 00000000..c05715c6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/naphtha.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/naphtha" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/neon_tube.json b/src/generated/resources/assets/tfmg/blockstates/neon_tube.json new file mode 100644 index 00000000..193d1d8f --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/neon_tube.json @@ -0,0 +1,57 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/neon_tube/block_center" + } + }, + { + "apply": { + "model": "tfmg:block/neon_tube/block_north" + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "tfmg:block/neon_tube/block_south" + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "tfmg:block/neon_tube/block_west" + }, + "when": { + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/neon_tube/block_east" + }, + "when": { + "east": "true" + } + }, + { + "apply": { + "model": "tfmg:block/neon_tube/block_top" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/neon_tube/block_bottom" + }, + "when": { + "down": "true" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/nickel_bars.json b/src/generated/resources/assets/tfmg/blockstates/nickel_bars.json new file mode 100644 index 00000000..a7de6330 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/nickel_bars.json @@ -0,0 +1,100 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/nickel_post_ends" + } + }, + { + "apply": { + "model": "tfmg:block/nickel_post" + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/nickel_cap" + }, + "when": { + "east": "false", + "north": "true", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/nickel_cap", + "y": 90 + }, + "when": { + "east": "true", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/nickel_cap_alt" + }, + "when": { + "east": "false", + "north": "false", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/nickel_cap_alt", + "y": 90 + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/nickel_side" + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "tfmg:block/nickel_side", + "y": 90 + }, + "when": { + "east": "true" + } + }, + { + "apply": { + "model": "tfmg:block/nickel_side_alt" + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "tfmg:block/nickel_side_alt", + "y": 90 + }, + "when": { + "west": "true" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/nickel_block.json b/src/generated/resources/assets/tfmg/blockstates/nickel_block.json new file mode 100644 index 00000000..3b92baa5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/nickel_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/nickel_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/nickel_flywheel.json b/src/generated/resources/assets/tfmg/blockstates/nickel_flywheel.json new file mode 100644 index 00000000..5747f747 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/nickel_flywheel.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/nickel_flywheel/block", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/nickel_flywheel/block" + }, + "axis=z": { + "model": "tfmg:block/nickel_flywheel/block", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/nickel_frame.json b/src/generated/resources/assets/tfmg/blockstates/nickel_frame.json new file mode 100644 index 00000000..5831f481 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/nickel_frame.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/nickel_frame/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/nickel_ladder.json b/src/generated/resources/assets/tfmg/blockstates/nickel_ladder.json new file mode 100644 index 00000000..b6d17095 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/nickel_ladder.json @@ -0,0 +1,34 @@ +{ + "variants": { + "facing=east,waterlogged=false": { + "model": "tfmg:block/nickel_ladder", + "y": 90 + }, + "facing=east,waterlogged=true": { + "model": "tfmg:block/nickel_ladder", + "y": 90 + }, + "facing=north,waterlogged=false": { + "model": "tfmg:block/nickel_ladder" + }, + "facing=north,waterlogged=true": { + "model": "tfmg:block/nickel_ladder" + }, + "facing=south,waterlogged=false": { + "model": "tfmg:block/nickel_ladder", + "y": 180 + }, + "facing=south,waterlogged=true": { + "model": "tfmg:block/nickel_ladder", + "y": 180 + }, + "facing=west,waterlogged=false": { + "model": "tfmg:block/nickel_ladder", + "y": 270 + }, + "facing=west,waterlogged=true": { + "model": "tfmg:block/nickel_ladder", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/nickel_ore.json b/src/generated/resources/assets/tfmg/blockstates/nickel_ore.json new file mode 100644 index 00000000..5b00c33d --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/nickel_ore.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/nickel_ore" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/nickel_truss.json b/src/generated/resources/assets/tfmg/blockstates/nickel_truss.json new file mode 100644 index 00000000..96868d2e --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/nickel_truss.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/nickel_truss", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/nickel_truss" + }, + "axis=z": { + "model": "tfmg:block/nickel_truss", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/oil_deposit.json b/src/generated/resources/assets/tfmg/blockstates/oil_deposit.json new file mode 100644 index 00000000..060f4782 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/oil_deposit.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/oil_deposit" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/orange_caution_block.json b/src/generated/resources/assets/tfmg/blockstates/orange_caution_block.json new file mode 100644 index 00000000..88acc3a3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/orange_caution_block.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/orange_caution_block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/orange_caution_block" + }, + "facing=south": { + "model": "tfmg:block/orange_caution_block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/orange_caution_block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/orange_concrete.json b/src/generated/resources/assets/tfmg/blockstates/orange_concrete.json new file mode 100644 index 00000000..76be7b3a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/orange_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/orange_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/orange_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/orange_concrete_slab.json new file mode 100644 index 00000000..a749437c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/orange_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/orange_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/orange_concrete" + }, + "type=top": { + "model": "tfmg:block/orange_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/orange_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/orange_concrete_stairs.json new file mode 100644 index 00000000..c82b4fa7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/orange_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/orange_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/orange_concrete_wall.json new file mode 100644 index 00000000..e5fad77a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/orange_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/orange_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/orange_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/orange_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/orange_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/orange_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/orange_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/orange_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/orange_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/orange_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/orange_rebar_concrete.json b/src/generated/resources/assets/tfmg/blockstates/orange_rebar_concrete.json new file mode 100644 index 00000000..d4043453 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/orange_rebar_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/orange_rebar_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/orange_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/orange_rebar_concrete_slab.json new file mode 100644 index 00000000..a749437c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/orange_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/orange_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/orange_concrete" + }, + "type=top": { + "model": "tfmg:block/orange_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/orange_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/orange_rebar_concrete_stairs.json new file mode 100644 index 00000000..c82b4fa7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/orange_rebar_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/orange_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/orange_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/orange_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/orange_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/orange_rebar_concrete_wall.json new file mode 100644 index 00000000..e5fad77a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/orange_rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/orange_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/orange_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/orange_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/orange_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/orange_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/orange_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/orange_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/orange_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/orange_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/pink_caution_block.json b/src/generated/resources/assets/tfmg/blockstates/pink_caution_block.json new file mode 100644 index 00000000..67c20cf6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/pink_caution_block.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/pink_caution_block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/pink_caution_block" + }, + "facing=south": { + "model": "tfmg:block/pink_caution_block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/pink_caution_block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/pink_concrete.json b/src/generated/resources/assets/tfmg/blockstates/pink_concrete.json new file mode 100644 index 00000000..f42b0c49 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/pink_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/pink_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/pink_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/pink_concrete_slab.json new file mode 100644 index 00000000..f6a019b4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/pink_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/pink_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/pink_concrete" + }, + "type=top": { + "model": "tfmg:block/pink_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/pink_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/pink_concrete_stairs.json new file mode 100644 index 00000000..908367a5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/pink_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/pink_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/pink_concrete_wall.json new file mode 100644 index 00000000..acd2f479 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/pink_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/pink_rebar_concrete.json b/src/generated/resources/assets/tfmg/blockstates/pink_rebar_concrete.json new file mode 100644 index 00000000..99279c43 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/pink_rebar_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/pink_rebar_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/pink_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/pink_rebar_concrete_slab.json new file mode 100644 index 00000000..f6a019b4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/pink_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/pink_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/pink_concrete" + }, + "type=top": { + "model": "tfmg:block/pink_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/pink_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/pink_rebar_concrete_stairs.json new file mode 100644 index 00000000..908367a5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/pink_rebar_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/pink_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/pink_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/pink_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/pink_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/pink_rebar_concrete_wall.json new file mode 100644 index 00000000..acd2f479 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/pink_rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/pink_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/plastic_block.json b/src/generated/resources/assets/tfmg/blockstates/plastic_block.json new file mode 100644 index 00000000..06a2a179 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/plastic_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/plastic_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/plastic_mechanical_pump.json b/src/generated/resources/assets/tfmg/blockstates/plastic_mechanical_pump.json new file mode 100644 index 00000000..773b4c79 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/plastic_mechanical_pump.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "tfmg:block/plastic_mechanical_pump/block", + "x": 180 + }, + "facing=east": { + "model": "tfmg:block/plastic_mechanical_pump/block", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/plastic_mechanical_pump/block", + "x": 90 + }, + "facing=south": { + "model": "tfmg:block/plastic_mechanical_pump/block", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "tfmg:block/plastic_mechanical_pump/block" + }, + "facing=west": { + "model": "tfmg:block/plastic_mechanical_pump/block", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/plastic_pipe.json b/src/generated/resources/assets/tfmg/blockstates/plastic_pipe.json new file mode 100644 index 00000000..47d9f517 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/plastic_pipe.json @@ -0,0 +1,334 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/plastic_pipe/lu_x" + }, + "when": { + "down": "false", + "north": "false", + "south": "true", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/ru_x" + }, + "when": { + "down": "false", + "north": "true", + "south": "false", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/ld_x" + }, + "when": { + "down": "true", + "north": "false", + "south": "true", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/rd_x" + }, + "when": { + "down": "true", + "north": "true", + "south": "false", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/ud_x" + }, + "when": { + "down": "true", + "north": "false", + "south": "false", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/u_x" + }, + "when": { + "down": "false", + "north": "false", + "south": "false", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/d_x" + }, + "when": { + "down": "true", + "north": "false", + "south": "false", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/lr_x" + }, + "when": { + "down": "false", + "north": "true", + "south": "true", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/l_x" + }, + "when": { + "down": "false", + "north": "false", + "south": "true", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/r_x" + }, + "when": { + "down": "false", + "north": "true", + "south": "false", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/lu_y" + }, + "when": { + "east": "true", + "north": "false", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/ru_y" + }, + "when": { + "east": "false", + "north": "false", + "south": "true", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/ld_y" + }, + "when": { + "east": "true", + "north": "true", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/rd_y" + }, + "when": { + "east": "false", + "north": "true", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/ud_y" + }, + "when": { + "east": "false", + "north": "true", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/u_y" + }, + "when": { + "east": "false", + "north": "false", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/d_y" + }, + "when": { + "east": "false", + "north": "true", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/lr_y" + }, + "when": { + "east": "true", + "north": "false", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/l_y" + }, + "when": { + "east": "true", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/r_y" + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/lu_z" + }, + "when": { + "down": "false", + "east": "true", + "up": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/ru_z" + }, + "when": { + "down": "false", + "east": "false", + "up": "true", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/ld_z" + }, + "when": { + "down": "true", + "east": "true", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/rd_z" + }, + "when": { + "down": "true", + "east": "false", + "up": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/ud_z" + }, + "when": { + "down": "true", + "east": "false", + "up": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/u_z" + }, + "when": { + "down": "false", + "east": "false", + "up": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/d_z" + }, + "when": { + "down": "true", + "east": "false", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/lr_z" + }, + "when": { + "down": "false", + "east": "true", + "up": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/l_z" + }, + "when": { + "down": "false", + "east": "true", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/plastic_pipe/r_z" + }, + "when": { + "down": "false", + "east": "false", + "up": "false", + "west": "true" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/plastic_smart_fluid_pipe.json b/src/generated/resources/assets/tfmg/blockstates/plastic_smart_fluid_pipe.json new file mode 100644 index 00000000..ace694f7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/plastic_smart_fluid_pipe.json @@ -0,0 +1,110 @@ +{ + "variants": { + "face=ceiling,facing=east,waterlogged=false": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=east,waterlogged=true": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=north,waterlogged=false": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block", + "x": 180 + }, + "face=ceiling,facing=north,waterlogged=true": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block", + "x": 180 + }, + "face=ceiling,facing=south,waterlogged=false": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=south,waterlogged=true": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=west,waterlogged=false": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=west,waterlogged=true": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block", + "x": 180, + "y": 270 + }, + "face=floor,facing=east,waterlogged=false": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block", + "y": 270 + }, + "face=floor,facing=east,waterlogged=true": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block", + "y": 270 + }, + "face=floor,facing=north,waterlogged=false": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block", + "y": 180 + }, + "face=floor,facing=north,waterlogged=true": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block", + "y": 180 + }, + "face=floor,facing=south,waterlogged=false": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block" + }, + "face=floor,facing=south,waterlogged=true": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block" + }, + "face=floor,facing=west,waterlogged=false": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block", + "y": 90 + }, + "face=floor,facing=west,waterlogged=true": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block", + "y": 90 + }, + "face=wall,facing=east,waterlogged=false": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block", + "x": 270, + "y": 270 + }, + "face=wall,facing=east,waterlogged=true": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block", + "x": 270, + "y": 270 + }, + "face=wall,facing=north,waterlogged=false": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block", + "x": 270, + "y": 180 + }, + "face=wall,facing=north,waterlogged=true": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block", + "x": 270, + "y": 180 + }, + "face=wall,facing=south,waterlogged=false": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block", + "x": 270 + }, + "face=wall,facing=south,waterlogged=true": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block", + "x": 270 + }, + "face=wall,facing=west,waterlogged=false": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block", + "x": 270, + "y": 90 + }, + "face=wall,facing=west,waterlogged=true": { + "model": "tfmg:block/plastic_smart_fluid_pipe/block", + "x": 270, + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/polarizer.json b/src/generated/resources/assets/tfmg/blockstates/polarizer.json new file mode 100644 index 00000000..97d79aaf --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/polarizer.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/polarizer/block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/polarizer/block" + }, + "facing=south": { + "model": "tfmg:block/polarizer/block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/polarizer/block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/polished_cut_bauxite.json b/src/generated/resources/assets/tfmg/blockstates/polished_cut_bauxite.json new file mode 100644 index 00000000..e6370079 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/polished_cut_bauxite.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/polished_cut_bauxite" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/polished_cut_bauxite_slab.json b/src/generated/resources/assets/tfmg/blockstates/polished_cut_bauxite_slab.json new file mode 100644 index 00000000..7bbf0535 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/polished_cut_bauxite_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/polished_cut_bauxite_slab" + }, + "type=double": { + "model": "tfmg:block/polished_cut_bauxite_slab_double" + }, + "type=top": { + "model": "tfmg:block/polished_cut_bauxite_slab_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/polished_cut_bauxite_stairs.json b/src/generated/resources/assets/tfmg/blockstates/polished_cut_bauxite_stairs.json new file mode 100644 index 00000000..4a6153b3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/polished_cut_bauxite_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/polished_cut_bauxite_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/polished_cut_bauxite_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/polished_cut_bauxite_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/polished_cut_bauxite_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/polished_cut_bauxite_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/polished_cut_bauxite_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/polished_cut_bauxite_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/polished_cut_bauxite_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/polished_cut_bauxite_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/polished_cut_bauxite_wall.json b/src/generated/resources/assets/tfmg/blockstates/polished_cut_bauxite_wall.json new file mode 100644 index 00000000..1640ec6f --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/polished_cut_bauxite_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/polished_cut_bauxite_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/polished_cut_bauxite_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/polished_cut_bauxite_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/polished_cut_bauxite_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/polished_cut_bauxite_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/polished_cut_bauxite_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/polished_cut_bauxite_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/polished_cut_bauxite_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/polished_cut_bauxite_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/polished_cut_galena.json b/src/generated/resources/assets/tfmg/blockstates/polished_cut_galena.json new file mode 100644 index 00000000..1ffd058a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/polished_cut_galena.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/polished_cut_galena" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/polished_cut_galena_slab.json b/src/generated/resources/assets/tfmg/blockstates/polished_cut_galena_slab.json new file mode 100644 index 00000000..00231691 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/polished_cut_galena_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/polished_cut_galena_slab" + }, + "type=double": { + "model": "tfmg:block/polished_cut_galena_slab_double" + }, + "type=top": { + "model": "tfmg:block/polished_cut_galena_slab_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/polished_cut_galena_stairs.json b/src/generated/resources/assets/tfmg/blockstates/polished_cut_galena_stairs.json new file mode 100644 index 00000000..30a7761e --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/polished_cut_galena_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/polished_cut_galena_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/polished_cut_galena_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/polished_cut_galena_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/polished_cut_galena_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/polished_cut_galena_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/polished_cut_galena_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/polished_cut_galena_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/polished_cut_galena_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/polished_cut_galena_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/polished_cut_galena_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/polished_cut_galena_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/polished_cut_galena_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/polished_cut_galena_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/polished_cut_galena_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/polished_cut_galena_wall.json b/src/generated/resources/assets/tfmg/blockstates/polished_cut_galena_wall.json new file mode 100644 index 00000000..14ecd5f6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/polished_cut_galena_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/polished_cut_galena_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/polished_cut_galena_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/polished_cut_galena_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/polished_cut_galena_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/polished_cut_galena_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/polished_cut_galena_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/polished_cut_galena_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/polished_cut_galena_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/polished_cut_galena_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/potentiometer.json b/src/generated/resources/assets/tfmg/blockstates/potentiometer.json new file mode 100644 index 00000000..f8c75971 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/potentiometer.json @@ -0,0 +1,26 @@ +{ + "variants": { + "facing=down": { + "model": "tfmg:block/potentiometer/block_vertical", + "x": 180 + }, + "facing=east": { + "model": "tfmg:block/potentiometer/block", + "y": 270 + }, + "facing=north": { + "model": "tfmg:block/potentiometer/block", + "y": 180 + }, + "facing=south": { + "model": "tfmg:block/potentiometer/block" + }, + "facing=up": { + "model": "tfmg:block/potentiometer/block_vertical" + }, + "facing=west": { + "model": "tfmg:block/potentiometer/block", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/pumpjack_base.json b/src/generated/resources/assets/tfmg/blockstates/pumpjack_base.json new file mode 100644 index 00000000..ad3ae107 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/pumpjack_base.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/pumpjack_base/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/pumpjack_crank.json b/src/generated/resources/assets/tfmg/blockstates/pumpjack_crank.json new file mode 100644 index 00000000..9990086c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/pumpjack_crank.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/pumpjack_crank/block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/pumpjack_crank/block" + }, + "facing=south": { + "model": "tfmg:block/pumpjack_crank/block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/pumpjack_crank/block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/pumpjack_hammer.json b/src/generated/resources/assets/tfmg/blockstates/pumpjack_hammer.json new file mode 100644 index 00000000..ad8f6d8e --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/pumpjack_hammer.json @@ -0,0 +1,50 @@ +{ + "variants": { + "facing=down,wide=false": { + "model": "tfmg:block/pumpjack_hammer/block", + "y": 180 + }, + "facing=down,wide=true": { + "model": "tfmg:block/pumpjack_hammer/block_wide", + "y": 180 + }, + "facing=east,wide=false": { + "model": "tfmg:block/pumpjack_hammer/block" + }, + "facing=east,wide=true": { + "model": "tfmg:block/pumpjack_hammer/block_wide" + }, + "facing=north,wide=false": { + "model": "tfmg:block/pumpjack_hammer/block", + "y": 270 + }, + "facing=north,wide=true": { + "model": "tfmg:block/pumpjack_hammer/block_wide", + "y": 270 + }, + "facing=south,wide=false": { + "model": "tfmg:block/pumpjack_hammer/block", + "y": 90 + }, + "facing=south,wide=true": { + "model": "tfmg:block/pumpjack_hammer/block_wide", + "y": 90 + }, + "facing=up,wide=false": { + "model": "tfmg:block/pumpjack_hammer/block", + "y": 180 + }, + "facing=up,wide=true": { + "model": "tfmg:block/pumpjack_hammer/block_wide", + "y": 180 + }, + "facing=west,wide=false": { + "model": "tfmg:block/pumpjack_hammer/block", + "y": 180 + }, + "facing=west,wide=true": { + "model": "tfmg:block/pumpjack_hammer/block_wide", + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/pumpjack_hammer_connector.json b/src/generated/resources/assets/tfmg/blockstates/pumpjack_hammer_connector.json new file mode 100644 index 00000000..0f29cd6f --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/pumpjack_hammer_connector.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/pumpjack_hammer_connector", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/pumpjack_hammer_connector" + }, + "facing=south": { + "model": "tfmg:block/pumpjack_hammer_connector", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/pumpjack_hammer_connector", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/pumpjack_hammer_head.json b/src/generated/resources/assets/tfmg/blockstates/pumpjack_hammer_head.json new file mode 100644 index 00000000..1ca30546 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/pumpjack_hammer_head.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/pumpjack_hammer_head", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/pumpjack_hammer_head" + }, + "facing=south": { + "model": "tfmg:block/pumpjack_hammer_head", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/pumpjack_hammer_head", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/pumpjack_hammer_part.json b/src/generated/resources/assets/tfmg/blockstates/pumpjack_hammer_part.json new file mode 100644 index 00000000..e33abade --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/pumpjack_hammer_part.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/pumpjack_hammer_part", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/pumpjack_hammer_part" + }, + "facing=south": { + "model": "tfmg:block/pumpjack_hammer_part", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/pumpjack_hammer_part", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/purple_caution_block.json b/src/generated/resources/assets/tfmg/blockstates/purple_caution_block.json new file mode 100644 index 00000000..c3271a01 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/purple_caution_block.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/purple_caution_block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/purple_caution_block" + }, + "facing=south": { + "model": "tfmg:block/purple_caution_block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/purple_caution_block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/purple_concrete.json b/src/generated/resources/assets/tfmg/blockstates/purple_concrete.json new file mode 100644 index 00000000..a9f86419 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/purple_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/purple_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/purple_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/purple_concrete_slab.json new file mode 100644 index 00000000..765e9a99 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/purple_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/purple_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/purple_concrete" + }, + "type=top": { + "model": "tfmg:block/purple_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/purple_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/purple_concrete_stairs.json new file mode 100644 index 00000000..e8903664 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/purple_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/purple_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/purple_concrete_wall.json new file mode 100644 index 00000000..00d1b031 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/purple_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/purple_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/purple_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/purple_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/purple_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/purple_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/purple_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/purple_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/purple_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/purple_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/purple_rebar_concrete.json b/src/generated/resources/assets/tfmg/blockstates/purple_rebar_concrete.json new file mode 100644 index 00000000..81eab63e --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/purple_rebar_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/purple_rebar_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/purple_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/purple_rebar_concrete_slab.json new file mode 100644 index 00000000..765e9a99 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/purple_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/purple_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/purple_concrete" + }, + "type=top": { + "model": "tfmg:block/purple_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/purple_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/purple_rebar_concrete_stairs.json new file mode 100644 index 00000000..e8903664 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/purple_rebar_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/purple_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/purple_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/purple_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/purple_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/purple_rebar_concrete_wall.json new file mode 100644 index 00000000..00d1b031 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/purple_rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/purple_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/purple_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/purple_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/purple_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/purple_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/purple_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/purple_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/purple_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/purple_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/radial_engine.json b/src/generated/resources/assets/tfmg/blockstates/radial_engine.json new file mode 100644 index 00000000..c8e25fd9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/radial_engine.json @@ -0,0 +1,484 @@ +{ + "variants": { + "engine_state=back,extended=false,facing=east,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_back", + "y": 90 + }, + "engine_state=back,extended=false,facing=east,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_back" + }, + "engine_state=back,extended=false,facing=east,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_back", + "y": 180 + }, + "engine_state=back,extended=false,facing=east,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_back", + "y": 270 + }, + "engine_state=back,extended=false,facing=north,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_back", + "y": 90 + }, + "engine_state=back,extended=false,facing=north,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_back" + }, + "engine_state=back,extended=false,facing=north,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_back", + "y": 180 + }, + "engine_state=back,extended=false,facing=north,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_back", + "y": 270 + }, + "engine_state=back,extended=false,facing=south,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_back", + "y": 90 + }, + "engine_state=back,extended=false,facing=south,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_back" + }, + "engine_state=back,extended=false,facing=south,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_back", + "y": 180 + }, + "engine_state=back,extended=false,facing=south,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_back", + "y": 270 + }, + "engine_state=back,extended=false,facing=west,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_back", + "y": 90 + }, + "engine_state=back,extended=false,facing=west,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_back" + }, + "engine_state=back,extended=false,facing=west,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_back", + "y": 180 + }, + "engine_state=back,extended=false,facing=west,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_back", + "y": 270 + }, + "engine_state=back,extended=true,facing=east,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_back", + "y": 90 + }, + "engine_state=back,extended=true,facing=east,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_back" + }, + "engine_state=back,extended=true,facing=east,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_back", + "y": 180 + }, + "engine_state=back,extended=true,facing=east,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_back", + "y": 270 + }, + "engine_state=back,extended=true,facing=north,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_back", + "y": 90 + }, + "engine_state=back,extended=true,facing=north,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_back" + }, + "engine_state=back,extended=true,facing=north,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_back", + "y": 180 + }, + "engine_state=back,extended=true,facing=north,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_back", + "y": 270 + }, + "engine_state=back,extended=true,facing=south,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_back", + "y": 90 + }, + "engine_state=back,extended=true,facing=south,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_back" + }, + "engine_state=back,extended=true,facing=south,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_back", + "y": 180 + }, + "engine_state=back,extended=true,facing=south,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_back", + "y": 270 + }, + "engine_state=back,extended=true,facing=west,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_back", + "y": 90 + }, + "engine_state=back,extended=true,facing=west,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_back" + }, + "engine_state=back,extended=true,facing=west,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_back", + "y": 180 + }, + "engine_state=back,extended=true,facing=west,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_back", + "y": 270 + }, + "engine_state=front,extended=false,facing=east,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_front", + "y": 90 + }, + "engine_state=front,extended=false,facing=east,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_front" + }, + "engine_state=front,extended=false,facing=east,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_front", + "y": 180 + }, + "engine_state=front,extended=false,facing=east,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_front", + "y": 270 + }, + "engine_state=front,extended=false,facing=north,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_front", + "y": 90 + }, + "engine_state=front,extended=false,facing=north,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_front" + }, + "engine_state=front,extended=false,facing=north,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_front", + "y": 180 + }, + "engine_state=front,extended=false,facing=north,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_front", + "y": 270 + }, + "engine_state=front,extended=false,facing=south,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_front", + "y": 90 + }, + "engine_state=front,extended=false,facing=south,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_front" + }, + "engine_state=front,extended=false,facing=south,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_front", + "y": 180 + }, + "engine_state=front,extended=false,facing=south,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_front", + "y": 270 + }, + "engine_state=front,extended=false,facing=west,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_front", + "y": 90 + }, + "engine_state=front,extended=false,facing=west,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_front" + }, + "engine_state=front,extended=false,facing=west,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_front", + "y": 180 + }, + "engine_state=front,extended=false,facing=west,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_front", + "y": 270 + }, + "engine_state=front,extended=true,facing=east,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_front", + "y": 90 + }, + "engine_state=front,extended=true,facing=east,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_front" + }, + "engine_state=front,extended=true,facing=east,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_front", + "y": 180 + }, + "engine_state=front,extended=true,facing=east,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_front", + "y": 270 + }, + "engine_state=front,extended=true,facing=north,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_front", + "y": 90 + }, + "engine_state=front,extended=true,facing=north,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_front" + }, + "engine_state=front,extended=true,facing=north,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_front", + "y": 180 + }, + "engine_state=front,extended=true,facing=north,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_front", + "y": 270 + }, + "engine_state=front,extended=true,facing=south,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_front", + "y": 90 + }, + "engine_state=front,extended=true,facing=south,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_front" + }, + "engine_state=front,extended=true,facing=south,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_front", + "y": 180 + }, + "engine_state=front,extended=true,facing=south,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_front", + "y": 270 + }, + "engine_state=front,extended=true,facing=west,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_front", + "y": 90 + }, + "engine_state=front,extended=true,facing=west,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_front" + }, + "engine_state=front,extended=true,facing=west,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_front", + "y": 180 + }, + "engine_state=front,extended=true,facing=west,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_front", + "y": 270 + }, + "engine_state=normal,extended=false,facing=east,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 90 + }, + "engine_state=normal,extended=false,facing=east,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_normal" + }, + "engine_state=normal,extended=false,facing=east,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 180 + }, + "engine_state=normal,extended=false,facing=east,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 270 + }, + "engine_state=normal,extended=false,facing=north,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 90 + }, + "engine_state=normal,extended=false,facing=north,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_normal" + }, + "engine_state=normal,extended=false,facing=north,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 180 + }, + "engine_state=normal,extended=false,facing=north,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 270 + }, + "engine_state=normal,extended=false,facing=south,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 90 + }, + "engine_state=normal,extended=false,facing=south,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_normal" + }, + "engine_state=normal,extended=false,facing=south,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 180 + }, + "engine_state=normal,extended=false,facing=south,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 270 + }, + "engine_state=normal,extended=false,facing=west,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 90 + }, + "engine_state=normal,extended=false,facing=west,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_normal" + }, + "engine_state=normal,extended=false,facing=west,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 180 + }, + "engine_state=normal,extended=false,facing=west,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 270 + }, + "engine_state=normal,extended=true,facing=east,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 90 + }, + "engine_state=normal,extended=true,facing=east,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_normal" + }, + "engine_state=normal,extended=true,facing=east,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 180 + }, + "engine_state=normal,extended=true,facing=east,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 270 + }, + "engine_state=normal,extended=true,facing=north,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 90 + }, + "engine_state=normal,extended=true,facing=north,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_normal" + }, + "engine_state=normal,extended=true,facing=north,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 180 + }, + "engine_state=normal,extended=true,facing=north,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 270 + }, + "engine_state=normal,extended=true,facing=south,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 90 + }, + "engine_state=normal,extended=true,facing=south,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_normal" + }, + "engine_state=normal,extended=true,facing=south,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 180 + }, + "engine_state=normal,extended=true,facing=south,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 270 + }, + "engine_state=normal,extended=true,facing=west,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 90 + }, + "engine_state=normal,extended=true,facing=west,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_normal" + }, + "engine_state=normal,extended=true,facing=west,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 180 + }, + "engine_state=normal,extended=true,facing=west,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_normal", + "y": 270 + }, + "engine_state=single,extended=false,facing=east,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_single", + "y": 90 + }, + "engine_state=single,extended=false,facing=east,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_single" + }, + "engine_state=single,extended=false,facing=east,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_single", + "y": 180 + }, + "engine_state=single,extended=false,facing=east,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_single", + "y": 270 + }, + "engine_state=single,extended=false,facing=north,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_single", + "y": 90 + }, + "engine_state=single,extended=false,facing=north,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_single" + }, + "engine_state=single,extended=false,facing=north,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_single", + "y": 180 + }, + "engine_state=single,extended=false,facing=north,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_single", + "y": 270 + }, + "engine_state=single,extended=false,facing=south,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_single", + "y": 90 + }, + "engine_state=single,extended=false,facing=south,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_single" + }, + "engine_state=single,extended=false,facing=south,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_single", + "y": 180 + }, + "engine_state=single,extended=false,facing=south,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_single", + "y": 270 + }, + "engine_state=single,extended=false,facing=west,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_single", + "y": 90 + }, + "engine_state=single,extended=false,facing=west,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_single" + }, + "engine_state=single,extended=false,facing=west,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_single", + "y": 180 + }, + "engine_state=single,extended=false,facing=west,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_single", + "y": 270 + }, + "engine_state=single,extended=true,facing=east,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_single", + "y": 90 + }, + "engine_state=single,extended=true,facing=east,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_single" + }, + "engine_state=single,extended=true,facing=east,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_single", + "y": 180 + }, + "engine_state=single,extended=true,facing=east,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_single", + "y": 270 + }, + "engine_state=single,extended=true,facing=north,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_single", + "y": 90 + }, + "engine_state=single,extended=true,facing=north,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_single" + }, + "engine_state=single,extended=true,facing=north,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_single", + "y": 180 + }, + "engine_state=single,extended=true,facing=north,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_single", + "y": 270 + }, + "engine_state=single,extended=true,facing=south,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_single", + "y": 90 + }, + "engine_state=single,extended=true,facing=south,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_single" + }, + "engine_state=single,extended=true,facing=south,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_single", + "y": 180 + }, + "engine_state=single,extended=true,facing=south,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_single", + "y": 270 + }, + "engine_state=single,extended=true,facing=west,shaft_facing=east": { + "model": "tfmg:block/radial_engine/block_single", + "y": 90 + }, + "engine_state=single,extended=true,facing=west,shaft_facing=north": { + "model": "tfmg:block/radial_engine/block_single" + }, + "engine_state=single,extended=true,facing=west,shaft_facing=south": { + "model": "tfmg:block/radial_engine/block_single", + "y": 180 + }, + "engine_state=single,extended=true,facing=west,shaft_facing=west": { + "model": "tfmg:block/radial_engine/block_single", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/raw_lead_block.json b/src/generated/resources/assets/tfmg/blockstates/raw_lead_block.json new file mode 100644 index 00000000..cd9c2e4c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/raw_lead_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/raw_lead_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/raw_lithium_block.json b/src/generated/resources/assets/tfmg/blockstates/raw_lithium_block.json new file mode 100644 index 00000000..cb0e5375 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/raw_lithium_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/raw_lithium_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/raw_nickel_block.json b/src/generated/resources/assets/tfmg/blockstates/raw_nickel_block.json new file mode 100644 index 00000000..7a4f1fcd --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/raw_nickel_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/raw_nickel_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/rebar_block.json b/src/generated/resources/assets/tfmg/blockstates/rebar_block.json new file mode 100644 index 00000000..ec11174a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/rebar_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/rebar_block/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/rebar_concrete.json b/src/generated/resources/assets/tfmg/blockstates/rebar_concrete.json new file mode 100644 index 00000000..27d5e95a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/rebar_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/rebar_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/rebar_concrete_slab.json new file mode 100644 index 00000000..1073db41 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/concrete" + }, + "type=top": { + "model": "tfmg:block/concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/rebar_concrete_stairs.json new file mode 100644 index 00000000..1c68cbb3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/rebar_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/rebar_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/rebar_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/rebar_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/rebar_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/rebar_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/rebar_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/rebar_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/rebar_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/rebar_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/rebar_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/rebar_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/rebar_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/rebar_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/rebar_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/rebar_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/rebar_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/rebar_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/rebar_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/rebar_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/rebar_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/rebar_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/rebar_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/rebar_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/rebar_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/rebar_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/rebar_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/rebar_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/rebar_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/rebar_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/rebar_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/rebar_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/rebar_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/rebar_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/rebar_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/rebar_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/rebar_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/rebar_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/rebar_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/rebar_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/rebar_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/rebar_concrete_wall.json new file mode 100644 index 00000000..43d2cd8d --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/rebar_floor.json b/src/generated/resources/assets/tfmg/blockstates/rebar_floor.json new file mode 100644 index 00000000..651abad1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/rebar_floor.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/rebar_floor/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/rebar_pile.json b/src/generated/resources/assets/tfmg/blockstates/rebar_pile.json new file mode 100644 index 00000000..22650d7b --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/rebar_pile.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "tfmg:block/rebar_pile/block", + "x": 180 + }, + "facing=east": { + "model": "tfmg:block/rebar_pile/block", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/rebar_pile/block", + "x": 90 + }, + "facing=south": { + "model": "tfmg:block/rebar_pile/block", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "tfmg:block/rebar_pile/block" + }, + "facing=west": { + "model": "tfmg:block/rebar_pile/block", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/rebar_pillar.json b/src/generated/resources/assets/tfmg/blockstates/rebar_pillar.json new file mode 100644 index 00000000..18efc8d7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/rebar_pillar.json @@ -0,0 +1,56 @@ +{ + "variants": { + "concretelogged=false,facing=down": { + "model": "tfmg:block/rebar_pillar/block", + "x": 180 + }, + "concretelogged=false,facing=east": { + "model": "tfmg:block/rebar_pillar/block", + "x": 90, + "y": 90 + }, + "concretelogged=false,facing=north": { + "model": "tfmg:block/rebar_pillar/block", + "x": 90 + }, + "concretelogged=false,facing=south": { + "model": "tfmg:block/rebar_pillar/block", + "x": 90, + "y": 180 + }, + "concretelogged=false,facing=up": { + "model": "tfmg:block/rebar_pillar/block" + }, + "concretelogged=false,facing=west": { + "model": "tfmg:block/rebar_pillar/block", + "x": 90, + "y": 270 + }, + "concretelogged=true,facing=down": { + "model": "tfmg:block/rebar_pillar/block", + "x": 180 + }, + "concretelogged=true,facing=east": { + "model": "tfmg:block/rebar_pillar/block", + "x": 90, + "y": 90 + }, + "concretelogged=true,facing=north": { + "model": "tfmg:block/rebar_pillar/block", + "x": 90 + }, + "concretelogged=true,facing=south": { + "model": "tfmg:block/rebar_pillar/block", + "x": 90, + "y": 180 + }, + "concretelogged=true,facing=up": { + "model": "tfmg:block/rebar_pillar/block" + }, + "concretelogged=true,facing=west": { + "model": "tfmg:block/rebar_pillar/block", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/rebar_stairs.json b/src/generated/resources/assets/tfmg/blockstates/rebar_stairs.json new file mode 100644 index 00000000..fbda8c18 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/rebar_stairs.json @@ -0,0 +1,604 @@ +{ + "variants": { + "concretelogged=false,facing=east,half=bottom,shape=inner_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block" + }, + "concretelogged=false,facing=east,half=bottom,shape=inner_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block" + }, + "concretelogged=false,facing=east,half=bottom,shape=inner_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block" + }, + "concretelogged=false,facing=east,half=bottom,shape=inner_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block" + }, + "concretelogged=false,facing=east,half=bottom,shape=outer_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block" + }, + "concretelogged=false,facing=east,half=bottom,shape=outer_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block" + }, + "concretelogged=false,facing=east,half=bottom,shape=outer_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block" + }, + "concretelogged=false,facing=east,half=bottom,shape=outer_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block" + }, + "concretelogged=false,facing=east,half=bottom,shape=straight,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block" + }, + "concretelogged=false,facing=east,half=bottom,shape=straight,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block" + }, + "concretelogged=false,facing=east,half=top,shape=inner_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down" + }, + "concretelogged=false,facing=east,half=top,shape=inner_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down" + }, + "concretelogged=false,facing=east,half=top,shape=inner_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down" + }, + "concretelogged=false,facing=east,half=top,shape=inner_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down" + }, + "concretelogged=false,facing=east,half=top,shape=outer_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down" + }, + "concretelogged=false,facing=east,half=top,shape=outer_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down" + }, + "concretelogged=false,facing=east,half=top,shape=outer_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down" + }, + "concretelogged=false,facing=east,half=top,shape=outer_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down" + }, + "concretelogged=false,facing=east,half=top,shape=straight,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down" + }, + "concretelogged=false,facing=east,half=top,shape=straight,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down" + }, + "concretelogged=false,facing=north,half=bottom,shape=inner_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 270 + }, + "concretelogged=false,facing=north,half=bottom,shape=inner_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 270 + }, + "concretelogged=false,facing=north,half=bottom,shape=inner_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 270 + }, + "concretelogged=false,facing=north,half=bottom,shape=inner_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 270 + }, + "concretelogged=false,facing=north,half=bottom,shape=outer_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 270 + }, + "concretelogged=false,facing=north,half=bottom,shape=outer_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 270 + }, + "concretelogged=false,facing=north,half=bottom,shape=outer_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 270 + }, + "concretelogged=false,facing=north,half=bottom,shape=outer_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 270 + }, + "concretelogged=false,facing=north,half=bottom,shape=straight,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 270 + }, + "concretelogged=false,facing=north,half=bottom,shape=straight,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 270 + }, + "concretelogged=false,facing=north,half=top,shape=inner_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 270 + }, + "concretelogged=false,facing=north,half=top,shape=inner_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 270 + }, + "concretelogged=false,facing=north,half=top,shape=inner_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 270 + }, + "concretelogged=false,facing=north,half=top,shape=inner_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 270 + }, + "concretelogged=false,facing=north,half=top,shape=outer_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 270 + }, + "concretelogged=false,facing=north,half=top,shape=outer_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 270 + }, + "concretelogged=false,facing=north,half=top,shape=outer_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 270 + }, + "concretelogged=false,facing=north,half=top,shape=outer_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 270 + }, + "concretelogged=false,facing=north,half=top,shape=straight,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 270 + }, + "concretelogged=false,facing=north,half=top,shape=straight,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 270 + }, + "concretelogged=false,facing=south,half=bottom,shape=inner_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 90 + }, + "concretelogged=false,facing=south,half=bottom,shape=inner_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 90 + }, + "concretelogged=false,facing=south,half=bottom,shape=inner_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 90 + }, + "concretelogged=false,facing=south,half=bottom,shape=inner_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 90 + }, + "concretelogged=false,facing=south,half=bottom,shape=outer_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 90 + }, + "concretelogged=false,facing=south,half=bottom,shape=outer_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 90 + }, + "concretelogged=false,facing=south,half=bottom,shape=outer_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 90 + }, + "concretelogged=false,facing=south,half=bottom,shape=outer_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 90 + }, + "concretelogged=false,facing=south,half=bottom,shape=straight,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 90 + }, + "concretelogged=false,facing=south,half=bottom,shape=straight,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 90 + }, + "concretelogged=false,facing=south,half=top,shape=inner_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 90 + }, + "concretelogged=false,facing=south,half=top,shape=inner_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 90 + }, + "concretelogged=false,facing=south,half=top,shape=inner_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 90 + }, + "concretelogged=false,facing=south,half=top,shape=inner_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 90 + }, + "concretelogged=false,facing=south,half=top,shape=outer_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 90 + }, + "concretelogged=false,facing=south,half=top,shape=outer_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 90 + }, + "concretelogged=false,facing=south,half=top,shape=outer_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 90 + }, + "concretelogged=false,facing=south,half=top,shape=outer_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 90 + }, + "concretelogged=false,facing=south,half=top,shape=straight,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 90 + }, + "concretelogged=false,facing=south,half=top,shape=straight,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 90 + }, + "concretelogged=false,facing=west,half=bottom,shape=inner_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 180 + }, + "concretelogged=false,facing=west,half=bottom,shape=inner_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 180 + }, + "concretelogged=false,facing=west,half=bottom,shape=inner_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 180 + }, + "concretelogged=false,facing=west,half=bottom,shape=inner_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 180 + }, + "concretelogged=false,facing=west,half=bottom,shape=outer_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 180 + }, + "concretelogged=false,facing=west,half=bottom,shape=outer_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 180 + }, + "concretelogged=false,facing=west,half=bottom,shape=outer_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 180 + }, + "concretelogged=false,facing=west,half=bottom,shape=outer_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 180 + }, + "concretelogged=false,facing=west,half=bottom,shape=straight,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 180 + }, + "concretelogged=false,facing=west,half=bottom,shape=straight,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 180 + }, + "concretelogged=false,facing=west,half=top,shape=inner_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 180 + }, + "concretelogged=false,facing=west,half=top,shape=inner_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 180 + }, + "concretelogged=false,facing=west,half=top,shape=inner_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 180 + }, + "concretelogged=false,facing=west,half=top,shape=inner_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 180 + }, + "concretelogged=false,facing=west,half=top,shape=outer_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 180 + }, + "concretelogged=false,facing=west,half=top,shape=outer_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 180 + }, + "concretelogged=false,facing=west,half=top,shape=outer_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 180 + }, + "concretelogged=false,facing=west,half=top,shape=outer_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 180 + }, + "concretelogged=false,facing=west,half=top,shape=straight,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 180 + }, + "concretelogged=false,facing=west,half=top,shape=straight,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 180 + }, + "concretelogged=true,facing=east,half=bottom,shape=inner_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block" + }, + "concretelogged=true,facing=east,half=bottom,shape=inner_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block" + }, + "concretelogged=true,facing=east,half=bottom,shape=inner_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block" + }, + "concretelogged=true,facing=east,half=bottom,shape=inner_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block" + }, + "concretelogged=true,facing=east,half=bottom,shape=outer_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block" + }, + "concretelogged=true,facing=east,half=bottom,shape=outer_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block" + }, + "concretelogged=true,facing=east,half=bottom,shape=outer_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block" + }, + "concretelogged=true,facing=east,half=bottom,shape=outer_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block" + }, + "concretelogged=true,facing=east,half=bottom,shape=straight,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block" + }, + "concretelogged=true,facing=east,half=bottom,shape=straight,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block" + }, + "concretelogged=true,facing=east,half=top,shape=inner_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down" + }, + "concretelogged=true,facing=east,half=top,shape=inner_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down" + }, + "concretelogged=true,facing=east,half=top,shape=inner_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down" + }, + "concretelogged=true,facing=east,half=top,shape=inner_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down" + }, + "concretelogged=true,facing=east,half=top,shape=outer_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down" + }, + "concretelogged=true,facing=east,half=top,shape=outer_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down" + }, + "concretelogged=true,facing=east,half=top,shape=outer_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down" + }, + "concretelogged=true,facing=east,half=top,shape=outer_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down" + }, + "concretelogged=true,facing=east,half=top,shape=straight,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down" + }, + "concretelogged=true,facing=east,half=top,shape=straight,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down" + }, + "concretelogged=true,facing=north,half=bottom,shape=inner_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 270 + }, + "concretelogged=true,facing=north,half=bottom,shape=inner_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 270 + }, + "concretelogged=true,facing=north,half=bottom,shape=inner_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 270 + }, + "concretelogged=true,facing=north,half=bottom,shape=inner_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 270 + }, + "concretelogged=true,facing=north,half=bottom,shape=outer_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 270 + }, + "concretelogged=true,facing=north,half=bottom,shape=outer_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 270 + }, + "concretelogged=true,facing=north,half=bottom,shape=outer_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 270 + }, + "concretelogged=true,facing=north,half=bottom,shape=outer_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 270 + }, + "concretelogged=true,facing=north,half=bottom,shape=straight,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 270 + }, + "concretelogged=true,facing=north,half=bottom,shape=straight,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 270 + }, + "concretelogged=true,facing=north,half=top,shape=inner_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 270 + }, + "concretelogged=true,facing=north,half=top,shape=inner_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 270 + }, + "concretelogged=true,facing=north,half=top,shape=inner_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 270 + }, + "concretelogged=true,facing=north,half=top,shape=inner_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 270 + }, + "concretelogged=true,facing=north,half=top,shape=outer_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 270 + }, + "concretelogged=true,facing=north,half=top,shape=outer_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 270 + }, + "concretelogged=true,facing=north,half=top,shape=outer_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 270 + }, + "concretelogged=true,facing=north,half=top,shape=outer_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 270 + }, + "concretelogged=true,facing=north,half=top,shape=straight,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 270 + }, + "concretelogged=true,facing=north,half=top,shape=straight,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 270 + }, + "concretelogged=true,facing=south,half=bottom,shape=inner_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 90 + }, + "concretelogged=true,facing=south,half=bottom,shape=inner_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 90 + }, + "concretelogged=true,facing=south,half=bottom,shape=inner_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 90 + }, + "concretelogged=true,facing=south,half=bottom,shape=inner_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 90 + }, + "concretelogged=true,facing=south,half=bottom,shape=outer_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 90 + }, + "concretelogged=true,facing=south,half=bottom,shape=outer_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 90 + }, + "concretelogged=true,facing=south,half=bottom,shape=outer_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 90 + }, + "concretelogged=true,facing=south,half=bottom,shape=outer_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 90 + }, + "concretelogged=true,facing=south,half=bottom,shape=straight,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 90 + }, + "concretelogged=true,facing=south,half=bottom,shape=straight,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 90 + }, + "concretelogged=true,facing=south,half=top,shape=inner_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 90 + }, + "concretelogged=true,facing=south,half=top,shape=inner_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 90 + }, + "concretelogged=true,facing=south,half=top,shape=inner_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 90 + }, + "concretelogged=true,facing=south,half=top,shape=inner_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 90 + }, + "concretelogged=true,facing=south,half=top,shape=outer_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 90 + }, + "concretelogged=true,facing=south,half=top,shape=outer_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 90 + }, + "concretelogged=true,facing=south,half=top,shape=outer_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 90 + }, + "concretelogged=true,facing=south,half=top,shape=outer_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 90 + }, + "concretelogged=true,facing=south,half=top,shape=straight,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 90 + }, + "concretelogged=true,facing=south,half=top,shape=straight,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 90 + }, + "concretelogged=true,facing=west,half=bottom,shape=inner_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 180 + }, + "concretelogged=true,facing=west,half=bottom,shape=inner_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 180 + }, + "concretelogged=true,facing=west,half=bottom,shape=inner_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 180 + }, + "concretelogged=true,facing=west,half=bottom,shape=inner_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 180 + }, + "concretelogged=true,facing=west,half=bottom,shape=outer_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 180 + }, + "concretelogged=true,facing=west,half=bottom,shape=outer_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 180 + }, + "concretelogged=true,facing=west,half=bottom,shape=outer_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 180 + }, + "concretelogged=true,facing=west,half=bottom,shape=outer_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 180 + }, + "concretelogged=true,facing=west,half=bottom,shape=straight,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block", + "y": 180 + }, + "concretelogged=true,facing=west,half=bottom,shape=straight,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block", + "y": 180 + }, + "concretelogged=true,facing=west,half=top,shape=inner_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 180 + }, + "concretelogged=true,facing=west,half=top,shape=inner_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 180 + }, + "concretelogged=true,facing=west,half=top,shape=inner_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 180 + }, + "concretelogged=true,facing=west,half=top,shape=inner_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 180 + }, + "concretelogged=true,facing=west,half=top,shape=outer_left,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 180 + }, + "concretelogged=true,facing=west,half=top,shape=outer_left,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 180 + }, + "concretelogged=true,facing=west,half=top,shape=outer_right,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 180 + }, + "concretelogged=true,facing=west,half=top,shape=outer_right,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 180 + }, + "concretelogged=true,facing=west,half=top,shape=straight,waterlogged=false": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 180 + }, + "concretelogged=true,facing=west,half=top,shape=straight,waterlogged=true": { + "model": "tfmg:block/rebar_stairs/block_upside_down", + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/rebar_wall.json b/src/generated/resources/assets/tfmg/blockstates/rebar_wall.json new file mode 100644 index 00000000..24ddd760 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/rebar_wall.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/rebar_wall/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/red_caution_block.json b/src/generated/resources/assets/tfmg/blockstates/red_caution_block.json new file mode 100644 index 00000000..4de425d4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/red_caution_block.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/red_caution_block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/red_caution_block" + }, + "facing=south": { + "model": "tfmg:block/red_caution_block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/red_caution_block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/red_concrete.json b/src/generated/resources/assets/tfmg/blockstates/red_concrete.json new file mode 100644 index 00000000..458dd7fe --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/red_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/red_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/red_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/red_concrete_slab.json new file mode 100644 index 00000000..e2e64c68 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/red_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/red_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/red_concrete" + }, + "type=top": { + "model": "tfmg:block/red_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/red_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/red_concrete_stairs.json new file mode 100644 index 00000000..c81f7c85 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/red_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/red_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/red_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/red_concrete_wall.json new file mode 100644 index 00000000..1dacf99a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/red_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/red_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/red_rebar_concrete.json b/src/generated/resources/assets/tfmg/blockstates/red_rebar_concrete.json new file mode 100644 index 00000000..2fb34116 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/red_rebar_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/red_rebar_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/red_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/red_rebar_concrete_slab.json new file mode 100644 index 00000000..e2e64c68 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/red_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/red_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/red_concrete" + }, + "type=top": { + "model": "tfmg:block/red_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/red_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/red_rebar_concrete_stairs.json new file mode 100644 index 00000000..c81f7c85 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/red_rebar_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/red_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/red_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/red_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/red_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/red_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/red_rebar_concrete_wall.json new file mode 100644 index 00000000..1dacf99a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/red_rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/red_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/red_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/regular_engine.json b/src/generated/resources/assets/tfmg/blockstates/regular_engine.json new file mode 100644 index 00000000..0d67688d --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/regular_engine.json @@ -0,0 +1,484 @@ +{ + "variants": { + "engine_state=back,extended=false,facing=east,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_back", + "y": 90 + }, + "engine_state=back,extended=false,facing=east,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_back" + }, + "engine_state=back,extended=false,facing=east,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_back", + "y": 180 + }, + "engine_state=back,extended=false,facing=east,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_back", + "y": 270 + }, + "engine_state=back,extended=false,facing=north,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_back", + "y": 90 + }, + "engine_state=back,extended=false,facing=north,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_back" + }, + "engine_state=back,extended=false,facing=north,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_back", + "y": 180 + }, + "engine_state=back,extended=false,facing=north,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_back", + "y": 270 + }, + "engine_state=back,extended=false,facing=south,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_back", + "y": 90 + }, + "engine_state=back,extended=false,facing=south,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_back" + }, + "engine_state=back,extended=false,facing=south,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_back", + "y": 180 + }, + "engine_state=back,extended=false,facing=south,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_back", + "y": 270 + }, + "engine_state=back,extended=false,facing=west,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_back", + "y": 90 + }, + "engine_state=back,extended=false,facing=west,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_back" + }, + "engine_state=back,extended=false,facing=west,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_back", + "y": 180 + }, + "engine_state=back,extended=false,facing=west,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_back", + "y": 270 + }, + "engine_state=back,extended=true,facing=east,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_back_extended", + "y": 90 + }, + "engine_state=back,extended=true,facing=east,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_back_extended" + }, + "engine_state=back,extended=true,facing=east,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_back_extended", + "y": 180 + }, + "engine_state=back,extended=true,facing=east,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_back_extended", + "y": 270 + }, + "engine_state=back,extended=true,facing=north,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_back_extended", + "y": 90 + }, + "engine_state=back,extended=true,facing=north,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_back_extended" + }, + "engine_state=back,extended=true,facing=north,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_back_extended", + "y": 180 + }, + "engine_state=back,extended=true,facing=north,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_back_extended", + "y": 270 + }, + "engine_state=back,extended=true,facing=south,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_back_extended", + "y": 90 + }, + "engine_state=back,extended=true,facing=south,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_back_extended" + }, + "engine_state=back,extended=true,facing=south,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_back_extended", + "y": 180 + }, + "engine_state=back,extended=true,facing=south,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_back_extended", + "y": 270 + }, + "engine_state=back,extended=true,facing=west,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_back_extended", + "y": 90 + }, + "engine_state=back,extended=true,facing=west,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_back_extended" + }, + "engine_state=back,extended=true,facing=west,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_back_extended", + "y": 180 + }, + "engine_state=back,extended=true,facing=west,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_back_extended", + "y": 270 + }, + "engine_state=front,extended=false,facing=east,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_front", + "y": 90 + }, + "engine_state=front,extended=false,facing=east,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_front" + }, + "engine_state=front,extended=false,facing=east,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_front", + "y": 180 + }, + "engine_state=front,extended=false,facing=east,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_front", + "y": 270 + }, + "engine_state=front,extended=false,facing=north,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_front", + "y": 90 + }, + "engine_state=front,extended=false,facing=north,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_front" + }, + "engine_state=front,extended=false,facing=north,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_front", + "y": 180 + }, + "engine_state=front,extended=false,facing=north,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_front", + "y": 270 + }, + "engine_state=front,extended=false,facing=south,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_front", + "y": 90 + }, + "engine_state=front,extended=false,facing=south,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_front" + }, + "engine_state=front,extended=false,facing=south,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_front", + "y": 180 + }, + "engine_state=front,extended=false,facing=south,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_front", + "y": 270 + }, + "engine_state=front,extended=false,facing=west,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_front", + "y": 90 + }, + "engine_state=front,extended=false,facing=west,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_front" + }, + "engine_state=front,extended=false,facing=west,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_front", + "y": 180 + }, + "engine_state=front,extended=false,facing=west,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_front", + "y": 270 + }, + "engine_state=front,extended=true,facing=east,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_front_extended", + "y": 90 + }, + "engine_state=front,extended=true,facing=east,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_front_extended" + }, + "engine_state=front,extended=true,facing=east,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_front_extended", + "y": 180 + }, + "engine_state=front,extended=true,facing=east,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_front_extended", + "y": 270 + }, + "engine_state=front,extended=true,facing=north,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_front_extended", + "y": 90 + }, + "engine_state=front,extended=true,facing=north,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_front_extended" + }, + "engine_state=front,extended=true,facing=north,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_front_extended", + "y": 180 + }, + "engine_state=front,extended=true,facing=north,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_front_extended", + "y": 270 + }, + "engine_state=front,extended=true,facing=south,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_front_extended", + "y": 90 + }, + "engine_state=front,extended=true,facing=south,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_front_extended" + }, + "engine_state=front,extended=true,facing=south,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_front_extended", + "y": 180 + }, + "engine_state=front,extended=true,facing=south,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_front_extended", + "y": 270 + }, + "engine_state=front,extended=true,facing=west,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_front_extended", + "y": 90 + }, + "engine_state=front,extended=true,facing=west,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_front_extended" + }, + "engine_state=front,extended=true,facing=west,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_front_extended", + "y": 180 + }, + "engine_state=front,extended=true,facing=west,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_front_extended", + "y": 270 + }, + "engine_state=normal,extended=false,facing=east,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_normal", + "y": 90 + }, + "engine_state=normal,extended=false,facing=east,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_normal" + }, + "engine_state=normal,extended=false,facing=east,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_normal", + "y": 180 + }, + "engine_state=normal,extended=false,facing=east,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_normal", + "y": 270 + }, + "engine_state=normal,extended=false,facing=north,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_normal", + "y": 90 + }, + "engine_state=normal,extended=false,facing=north,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_normal" + }, + "engine_state=normal,extended=false,facing=north,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_normal", + "y": 180 + }, + "engine_state=normal,extended=false,facing=north,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_normal", + "y": 270 + }, + "engine_state=normal,extended=false,facing=south,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_normal", + "y": 90 + }, + "engine_state=normal,extended=false,facing=south,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_normal" + }, + "engine_state=normal,extended=false,facing=south,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_normal", + "y": 180 + }, + "engine_state=normal,extended=false,facing=south,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_normal", + "y": 270 + }, + "engine_state=normal,extended=false,facing=west,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_normal", + "y": 90 + }, + "engine_state=normal,extended=false,facing=west,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_normal" + }, + "engine_state=normal,extended=false,facing=west,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_normal", + "y": 180 + }, + "engine_state=normal,extended=false,facing=west,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_normal", + "y": 270 + }, + "engine_state=normal,extended=true,facing=east,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_normal_extended", + "y": 90 + }, + "engine_state=normal,extended=true,facing=east,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_normal_extended" + }, + "engine_state=normal,extended=true,facing=east,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_normal_extended", + "y": 180 + }, + "engine_state=normal,extended=true,facing=east,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_normal_extended", + "y": 270 + }, + "engine_state=normal,extended=true,facing=north,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_normal_extended", + "y": 90 + }, + "engine_state=normal,extended=true,facing=north,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_normal_extended" + }, + "engine_state=normal,extended=true,facing=north,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_normal_extended", + "y": 180 + }, + "engine_state=normal,extended=true,facing=north,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_normal_extended", + "y": 270 + }, + "engine_state=normal,extended=true,facing=south,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_normal_extended", + "y": 90 + }, + "engine_state=normal,extended=true,facing=south,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_normal_extended" + }, + "engine_state=normal,extended=true,facing=south,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_normal_extended", + "y": 180 + }, + "engine_state=normal,extended=true,facing=south,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_normal_extended", + "y": 270 + }, + "engine_state=normal,extended=true,facing=west,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_normal_extended", + "y": 90 + }, + "engine_state=normal,extended=true,facing=west,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_normal_extended" + }, + "engine_state=normal,extended=true,facing=west,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_normal_extended", + "y": 180 + }, + "engine_state=normal,extended=true,facing=west,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_normal_extended", + "y": 270 + }, + "engine_state=single,extended=false,facing=east,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_single", + "y": 90 + }, + "engine_state=single,extended=false,facing=east,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_single" + }, + "engine_state=single,extended=false,facing=east,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_single", + "y": 180 + }, + "engine_state=single,extended=false,facing=east,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_single", + "y": 270 + }, + "engine_state=single,extended=false,facing=north,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_single", + "y": 90 + }, + "engine_state=single,extended=false,facing=north,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_single" + }, + "engine_state=single,extended=false,facing=north,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_single", + "y": 180 + }, + "engine_state=single,extended=false,facing=north,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_single", + "y": 270 + }, + "engine_state=single,extended=false,facing=south,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_single", + "y": 90 + }, + "engine_state=single,extended=false,facing=south,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_single" + }, + "engine_state=single,extended=false,facing=south,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_single", + "y": 180 + }, + "engine_state=single,extended=false,facing=south,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_single", + "y": 270 + }, + "engine_state=single,extended=false,facing=west,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_single", + "y": 90 + }, + "engine_state=single,extended=false,facing=west,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_single" + }, + "engine_state=single,extended=false,facing=west,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_single", + "y": 180 + }, + "engine_state=single,extended=false,facing=west,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_single", + "y": 270 + }, + "engine_state=single,extended=true,facing=east,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_single_extended", + "y": 90 + }, + "engine_state=single,extended=true,facing=east,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_single_extended" + }, + "engine_state=single,extended=true,facing=east,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_single_extended", + "y": 180 + }, + "engine_state=single,extended=true,facing=east,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_single_extended", + "y": 270 + }, + "engine_state=single,extended=true,facing=north,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_single_extended", + "y": 90 + }, + "engine_state=single,extended=true,facing=north,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_single_extended" + }, + "engine_state=single,extended=true,facing=north,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_single_extended", + "y": 180 + }, + "engine_state=single,extended=true,facing=north,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_single_extended", + "y": 270 + }, + "engine_state=single,extended=true,facing=south,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_single_extended", + "y": 90 + }, + "engine_state=single,extended=true,facing=south,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_single_extended" + }, + "engine_state=single,extended=true,facing=south,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_single_extended", + "y": 180 + }, + "engine_state=single,extended=true,facing=south,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_single_extended", + "y": 270 + }, + "engine_state=single,extended=true,facing=west,shaft_facing=east": { + "model": "tfmg:block/regular_engine/block_single_extended", + "y": 90 + }, + "engine_state=single,extended=true,facing=west,shaft_facing=north": { + "model": "tfmg:block/regular_engine/block_single_extended" + }, + "engine_state=single,extended=true,facing=west,shaft_facing=south": { + "model": "tfmg:block/regular_engine/block_single_extended", + "y": 180 + }, + "engine_state=single,extended=true,facing=west,shaft_facing=west": { + "model": "tfmg:block/regular_engine/block_single_extended", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/reinforced_fireproof_bricks.json b/src/generated/resources/assets/tfmg/blockstates/reinforced_fireproof_bricks.json new file mode 100644 index 00000000..09814b6b --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/reinforced_fireproof_bricks.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/reinforced_fireproof_bricks" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/resistor.json b/src/generated/resources/assets/tfmg/blockstates/resistor.json new file mode 100644 index 00000000..ea10145e --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/resistor.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "tfmg:block/resistor/block", + "x": 180 + }, + "facing=east": { + "model": "tfmg:block/resistor/block", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/resistor/block", + "x": 90 + }, + "facing=south": { + "model": "tfmg:block/resistor/block", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "tfmg:block/resistor/block" + }, + "facing=west": { + "model": "tfmg:block/resistor/block", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/rotor.json b/src/generated/resources/assets/tfmg/blockstates/rotor.json new file mode 100644 index 00000000..902b6cb1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/rotor.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/rotor/block", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/rotor/block" + }, + "axis=z": { + "model": "tfmg:block/rotor/block", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/rusted_blast_furnace_reinforcement.json b/src/generated/resources/assets/tfmg/blockstates/rusted_blast_furnace_reinforcement.json new file mode 100644 index 00000000..34c571a1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/rusted_blast_furnace_reinforcement.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/rusted_blast_furnace_reinforcement" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/rusted_blast_furnace_reinforcement_wall.json b/src/generated/resources/assets/tfmg/blockstates/rusted_blast_furnace_reinforcement_wall.json new file mode 100644 index 00000000..48d51cd1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/rusted_blast_furnace_reinforcement_wall.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/rusted_blast_furnace_reinforcement_wall", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/rusted_blast_furnace_reinforcement_wall" + }, + "facing=south": { + "model": "tfmg:block/rusted_blast_furnace_reinforcement_wall", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/rusted_blast_furnace_reinforcement_wall", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/segmented_display.json b/src/generated/resources/assets/tfmg/blockstates/segmented_display.json new file mode 100644 index 00000000..d92c3994 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/segmented_display.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/segmented_display/block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/segmented_display/block" + }, + "facing=south": { + "model": "tfmg:block/segmented_display/block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/segmented_display/block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/simple_large_engine.json b/src/generated/resources/assets/tfmg/blockstates/simple_large_engine.json new file mode 100644 index 00000000..0d0a6d21 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/simple_large_engine.json @@ -0,0 +1,110 @@ +{ + "variants": { + "face=ceiling,facing=east,waterlogged=false": { + "model": "tfmg:block/simple_large_engine/block", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=east,waterlogged=true": { + "model": "tfmg:block/simple_large_engine/block", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=north,waterlogged=false": { + "model": "tfmg:block/simple_large_engine/block", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=north,waterlogged=true": { + "model": "tfmg:block/simple_large_engine/block", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=south,waterlogged=false": { + "model": "tfmg:block/simple_large_engine/block", + "x": 180 + }, + "face=ceiling,facing=south,waterlogged=true": { + "model": "tfmg:block/simple_large_engine/block", + "x": 180 + }, + "face=ceiling,facing=west,waterlogged=false": { + "model": "tfmg:block/simple_large_engine/block", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=west,waterlogged=true": { + "model": "tfmg:block/simple_large_engine/block", + "x": 180, + "y": 90 + }, + "face=floor,facing=east,waterlogged=false": { + "model": "tfmg:block/simple_large_engine/block", + "y": 90 + }, + "face=floor,facing=east,waterlogged=true": { + "model": "tfmg:block/simple_large_engine/block", + "y": 90 + }, + "face=floor,facing=north,waterlogged=false": { + "model": "tfmg:block/simple_large_engine/block" + }, + "face=floor,facing=north,waterlogged=true": { + "model": "tfmg:block/simple_large_engine/block" + }, + "face=floor,facing=south,waterlogged=false": { + "model": "tfmg:block/simple_large_engine/block", + "y": 180 + }, + "face=floor,facing=south,waterlogged=true": { + "model": "tfmg:block/simple_large_engine/block", + "y": 180 + }, + "face=floor,facing=west,waterlogged=false": { + "model": "tfmg:block/simple_large_engine/block", + "y": 270 + }, + "face=floor,facing=west,waterlogged=true": { + "model": "tfmg:block/simple_large_engine/block", + "y": 270 + }, + "face=wall,facing=east,waterlogged=false": { + "model": "tfmg:block/simple_large_engine/block", + "x": 90, + "y": 90 + }, + "face=wall,facing=east,waterlogged=true": { + "model": "tfmg:block/simple_large_engine/block", + "x": 90, + "y": 90 + }, + "face=wall,facing=north,waterlogged=false": { + "model": "tfmg:block/simple_large_engine/block", + "x": 90 + }, + "face=wall,facing=north,waterlogged=true": { + "model": "tfmg:block/simple_large_engine/block", + "x": 90 + }, + "face=wall,facing=south,waterlogged=false": { + "model": "tfmg:block/simple_large_engine/block", + "x": 90, + "y": 180 + }, + "face=wall,facing=south,waterlogged=true": { + "model": "tfmg:block/simple_large_engine/block", + "x": 90, + "y": 180 + }, + "face=wall,facing=west,waterlogged=false": { + "model": "tfmg:block/simple_large_engine/block", + "x": 90, + "y": 270 + }, + "face=wall,facing=west,waterlogged=true": { + "model": "tfmg:block/simple_large_engine/block", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/slag_block.json b/src/generated/resources/assets/tfmg/blockstates/slag_block.json new file mode 100644 index 00000000..2063db2c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/slag_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/slag_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/slag_bricks.json b/src/generated/resources/assets/tfmg/blockstates/slag_bricks.json new file mode 100644 index 00000000..d80e21e1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/slag_bricks.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/slag_bricks" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/small_bauxite_brick_slab.json b/src/generated/resources/assets/tfmg/blockstates/small_bauxite_brick_slab.json new file mode 100644 index 00000000..250f23f5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/small_bauxite_brick_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/small_bauxite_brick_slab" + }, + "type=double": { + "model": "tfmg:block/small_bauxite_bricks" + }, + "type=top": { + "model": "tfmg:block/small_bauxite_brick_slab_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/small_bauxite_brick_stairs.json b/src/generated/resources/assets/tfmg/blockstates/small_bauxite_brick_stairs.json new file mode 100644 index 00000000..2ff06c6d --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/small_bauxite_brick_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/small_bauxite_brick_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/small_bauxite_brick_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/small_bauxite_brick_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/small_bauxite_brick_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/small_bauxite_brick_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/small_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/small_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/small_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/small_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/small_bauxite_brick_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/small_bauxite_brick_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/small_bauxite_brick_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/small_bauxite_brick_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/small_bauxite_brick_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/small_bauxite_brick_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/small_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/small_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/small_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/small_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/small_bauxite_brick_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/small_bauxite_brick_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/small_bauxite_brick_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/small_bauxite_brick_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/small_bauxite_brick_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/small_bauxite_brick_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/small_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/small_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/small_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/small_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/small_bauxite_brick_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/small_bauxite_brick_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/small_bauxite_brick_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/small_bauxite_brick_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/small_bauxite_brick_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/small_bauxite_brick_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/small_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/small_bauxite_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/small_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/small_bauxite_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/small_bauxite_brick_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/small_bauxite_brick_wall.json b/src/generated/resources/assets/tfmg/blockstates/small_bauxite_brick_wall.json new file mode 100644 index 00000000..4848439f --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/small_bauxite_brick_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/small_bauxite_bricks_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/small_bauxite_bricks_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/small_bauxite_bricks_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/small_bauxite_bricks_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/small_bauxite_bricks_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/small_bauxite_bricks_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/small_bauxite_bricks_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/small_bauxite_bricks_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/small_bauxite_bricks_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/small_bauxite_bricks.json b/src/generated/resources/assets/tfmg/blockstates/small_bauxite_bricks.json new file mode 100644 index 00000000..6cb0ff2c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/small_bauxite_bricks.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/small_bauxite_bricks" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/small_galena_brick_slab.json b/src/generated/resources/assets/tfmg/blockstates/small_galena_brick_slab.json new file mode 100644 index 00000000..1175b6da --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/small_galena_brick_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/small_galena_brick_slab" + }, + "type=double": { + "model": "tfmg:block/small_galena_bricks" + }, + "type=top": { + "model": "tfmg:block/small_galena_brick_slab_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/small_galena_brick_stairs.json b/src/generated/resources/assets/tfmg/blockstates/small_galena_brick_stairs.json new file mode 100644 index 00000000..7b7f42e7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/small_galena_brick_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/small_galena_brick_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/small_galena_brick_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/small_galena_brick_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/small_galena_brick_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/small_galena_brick_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/small_galena_brick_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/small_galena_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/small_galena_brick_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/small_galena_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/small_galena_brick_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/small_galena_brick_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/small_galena_brick_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/small_galena_brick_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/small_galena_brick_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/small_galena_brick_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/small_galena_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/small_galena_brick_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/small_galena_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/small_galena_brick_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/small_galena_brick_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/small_galena_brick_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/small_galena_brick_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/small_galena_brick_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/small_galena_brick_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/small_galena_brick_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/small_galena_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/small_galena_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/small_galena_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/small_galena_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/small_galena_brick_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/small_galena_brick_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/small_galena_brick_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/small_galena_brick_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/small_galena_brick_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/small_galena_brick_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/small_galena_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/small_galena_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/small_galena_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/small_galena_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/small_galena_brick_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/small_galena_brick_wall.json b/src/generated/resources/assets/tfmg/blockstates/small_galena_brick_wall.json new file mode 100644 index 00000000..1f0c5ac0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/small_galena_brick_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/small_galena_bricks_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/small_galena_bricks_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/small_galena_bricks_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/small_galena_bricks_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/small_galena_bricks_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/small_galena_bricks_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/small_galena_bricks_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/small_galena_bricks_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/small_galena_bricks_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/small_galena_bricks.json b/src/generated/resources/assets/tfmg/blockstates/small_galena_bricks.json new file mode 100644 index 00000000..2c630784 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/small_galena_bricks.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/small_galena_bricks" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/stator.json b/src/generated/resources/assets/tfmg/blockstates/stator.json new file mode 100644 index 00000000..e95adbcd --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/stator.json @@ -0,0 +1,138 @@ +{ + "variants": { + "facing=down,stator_state=corner,value=false": { + "model": "tfmg:block/stator/block_corner" + }, + "facing=down,stator_state=corner,value=true": { + "model": "tfmg:block/stator/block_corner_up" + }, + "facing=down,stator_state=corner_horizontal,value=false": { + "model": "tfmg:block/stator/block_corner_horizontal", + "x": 90 + }, + "facing=down,stator_state=corner_horizontal,value=true": { + "model": "tfmg:block/stator/block_corner_horizontal", + "x": 90 + }, + "facing=down,stator_state=side,value=false": { + "model": "tfmg:block/stator/block_side", + "x": 90 + }, + "facing=down,stator_state=side,value=true": { + "model": "tfmg:block/stator/block_side_rotated", + "x": 90 + }, + "facing=east,stator_state=corner,value=false": { + "model": "tfmg:block/stator/block_corner", + "y": 90 + }, + "facing=east,stator_state=corner,value=true": { + "model": "tfmg:block/stator/block_corner_up", + "y": 90 + }, + "facing=east,stator_state=corner_horizontal,value=false": { + "model": "tfmg:block/stator/block_corner_horizontal", + "y": 90 + }, + "facing=east,stator_state=corner_horizontal,value=true": { + "model": "tfmg:block/stator/block_corner_horizontal", + "y": 90 + }, + "facing=east,stator_state=side,value=false": { + "model": "tfmg:block/stator/block_side", + "y": 90 + }, + "facing=east,stator_state=side,value=true": { + "model": "tfmg:block/stator/block_side_rotated", + "y": 90 + }, + "facing=north,stator_state=corner,value=false": { + "model": "tfmg:block/stator/block_corner" + }, + "facing=north,stator_state=corner,value=true": { + "model": "tfmg:block/stator/block_corner_up" + }, + "facing=north,stator_state=corner_horizontal,value=false": { + "model": "tfmg:block/stator/block_corner_horizontal" + }, + "facing=north,stator_state=corner_horizontal,value=true": { + "model": "tfmg:block/stator/block_corner_horizontal" + }, + "facing=north,stator_state=side,value=false": { + "model": "tfmg:block/stator/block_side" + }, + "facing=north,stator_state=side,value=true": { + "model": "tfmg:block/stator/block_side_rotated" + }, + "facing=south,stator_state=corner,value=false": { + "model": "tfmg:block/stator/block_corner", + "y": 180 + }, + "facing=south,stator_state=corner,value=true": { + "model": "tfmg:block/stator/block_corner_up", + "y": 180 + }, + "facing=south,stator_state=corner_horizontal,value=false": { + "model": "tfmg:block/stator/block_corner_horizontal", + "y": 180 + }, + "facing=south,stator_state=corner_horizontal,value=true": { + "model": "tfmg:block/stator/block_corner_horizontal", + "y": 180 + }, + "facing=south,stator_state=side,value=false": { + "model": "tfmg:block/stator/block_side", + "y": 180 + }, + "facing=south,stator_state=side,value=true": { + "model": "tfmg:block/stator/block_side_rotated", + "y": 180 + }, + "facing=up,stator_state=corner,value=false": { + "model": "tfmg:block/stator/block_corner" + }, + "facing=up,stator_state=corner,value=true": { + "model": "tfmg:block/stator/block_corner_up" + }, + "facing=up,stator_state=corner_horizontal,value=false": { + "model": "tfmg:block/stator/block_corner_horizontal", + "x": 270 + }, + "facing=up,stator_state=corner_horizontal,value=true": { + "model": "tfmg:block/stator/block_corner_horizontal", + "x": 270 + }, + "facing=up,stator_state=side,value=false": { + "model": "tfmg:block/stator/block_side", + "x": 270 + }, + "facing=up,stator_state=side,value=true": { + "model": "tfmg:block/stator/block_side_rotated", + "x": 270 + }, + "facing=west,stator_state=corner,value=false": { + "model": "tfmg:block/stator/block_corner", + "y": 270 + }, + "facing=west,stator_state=corner,value=true": { + "model": "tfmg:block/stator/block_corner_up", + "y": 270 + }, + "facing=west,stator_state=corner_horizontal,value=false": { + "model": "tfmg:block/stator/block_corner_horizontal", + "y": 270 + }, + "facing=west,stator_state=corner_horizontal,value=true": { + "model": "tfmg:block/stator/block_corner_horizontal", + "y": 270 + }, + "facing=west,stator_state=side,value=false": { + "model": "tfmg:block/stator/block_side", + "y": 270 + }, + "facing=west,stator_state=side,value=true": { + "model": "tfmg:block/stator/block_side_rotated", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_bars.json b/src/generated/resources/assets/tfmg/blockstates/steel_bars.json new file mode 100644 index 00000000..a9bc86cd --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_bars.json @@ -0,0 +1,100 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/steel_post_ends" + } + }, + { + "apply": { + "model": "tfmg:block/steel_post" + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_cap" + }, + "when": { + "east": "false", + "north": "true", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_cap", + "y": 90 + }, + "when": { + "east": "true", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_cap_alt" + }, + "when": { + "east": "false", + "north": "false", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_cap_alt", + "y": 90 + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_side" + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_side", + "y": 90 + }, + "when": { + "east": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_side_alt" + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_side_alt", + "y": 90 + }, + "when": { + "west": "true" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_block.json b/src/generated/resources/assets/tfmg/blockstates/steel_block.json new file mode 100644 index 00000000..5894d5d6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/steel_block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_cable_hub.json b/src/generated/resources/assets/tfmg/blockstates/steel_cable_hub.json new file mode 100644 index 00000000..748d283b --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_cable_hub.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/steel_cable_hub" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_casing.json b/src/generated/resources/assets/tfmg/blockstates/steel_casing.json new file mode 100644 index 00000000..65f1b899 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_casing.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/steel_casing" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_casing_cable_hub.json b/src/generated/resources/assets/tfmg/blockstates/steel_casing_cable_hub.json new file mode 100644 index 00000000..62910b9a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_casing_cable_hub.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/steel_casing_cable_hub" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_chemical_vat.json b/src/generated/resources/assets/tfmg/blockstates/steel_chemical_vat.json new file mode 100644 index 00000000..809cf979 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_chemical_vat.json @@ -0,0 +1,76 @@ +{ + "variants": { + "bottom=false,shape=plain,top=false": { + "model": "tfmg:block/steel_chemical_vat/block_middle" + }, + "bottom=false,shape=plain,top=true": { + "model": "tfmg:block/steel_chemical_vat/block_top" + }, + "bottom=false,shape=window,top=false": { + "model": "tfmg:block/steel_chemical_vat/block_middle_window" + }, + "bottom=false,shape=window,top=true": { + "model": "tfmg:block/steel_chemical_vat/block_top_window" + }, + "bottom=false,shape=window_ne,top=false": { + "model": "tfmg:block/steel_chemical_vat/block_middle_window_ne" + }, + "bottom=false,shape=window_ne,top=true": { + "model": "tfmg:block/steel_chemical_vat/block_top_window_ne" + }, + "bottom=false,shape=window_nw,top=false": { + "model": "tfmg:block/steel_chemical_vat/block_middle_window_nw" + }, + "bottom=false,shape=window_nw,top=true": { + "model": "tfmg:block/steel_chemical_vat/block_top_window_nw" + }, + "bottom=false,shape=window_se,top=false": { + "model": "tfmg:block/steel_chemical_vat/block_middle_window_se" + }, + "bottom=false,shape=window_se,top=true": { + "model": "tfmg:block/steel_chemical_vat/block_top_window_se" + }, + "bottom=false,shape=window_sw,top=false": { + "model": "tfmg:block/steel_chemical_vat/block_middle_window_sw" + }, + "bottom=false,shape=window_sw,top=true": { + "model": "tfmg:block/steel_chemical_vat/block_top_window_sw" + }, + "bottom=true,shape=plain,top=false": { + "model": "tfmg:block/steel_chemical_vat/block_bottom" + }, + "bottom=true,shape=plain,top=true": { + "model": "tfmg:block/steel_chemical_vat/block_single" + }, + "bottom=true,shape=window,top=false": { + "model": "tfmg:block/steel_chemical_vat/block_bottom_window" + }, + "bottom=true,shape=window,top=true": { + "model": "tfmg:block/steel_chemical_vat/block_single_window" + }, + "bottom=true,shape=window_ne,top=false": { + "model": "tfmg:block/steel_chemical_vat/block_bottom_window_ne" + }, + "bottom=true,shape=window_ne,top=true": { + "model": "tfmg:block/steel_chemical_vat/block_single_window_ne" + }, + "bottom=true,shape=window_nw,top=false": { + "model": "tfmg:block/steel_chemical_vat/block_bottom_window_nw" + }, + "bottom=true,shape=window_nw,top=true": { + "model": "tfmg:block/steel_chemical_vat/block_single_window_nw" + }, + "bottom=true,shape=window_se,top=false": { + "model": "tfmg:block/steel_chemical_vat/block_bottom_window_se" + }, + "bottom=true,shape=window_se,top=true": { + "model": "tfmg:block/steel_chemical_vat/block_single_window_se" + }, + "bottom=true,shape=window_sw,top=false": { + "model": "tfmg:block/steel_chemical_vat/block_bottom_window_sw" + }, + "bottom=true,shape=window_sw,top=true": { + "model": "tfmg:block/steel_chemical_vat/block_single_window_sw" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_cogwheel.json b/src/generated/resources/assets/tfmg/blockstates/steel_cogwheel.json new file mode 100644 index 00000000..fb69751f --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_cogwheel.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/steel_cogwheel", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/steel_cogwheel" + }, + "axis=z": { + "model": "tfmg:block/steel_cogwheel", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_distillation_controller.json b/src/generated/resources/assets/tfmg/blockstates/steel_distillation_controller.json new file mode 100644 index 00000000..f785a9b9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_distillation_controller.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/steel_distillation_controller/block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/steel_distillation_controller/block" + }, + "facing=south": { + "model": "tfmg:block/steel_distillation_controller/block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/steel_distillation_controller/block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_distillation_output.json b/src/generated/resources/assets/tfmg/blockstates/steel_distillation_output.json new file mode 100644 index 00000000..08650763 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_distillation_output.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/steel_distillation_output/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_door.json b/src/generated/resources/assets/tfmg/blockstates/steel_door.json new file mode 100644 index 00000000..166a04b3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_door.json @@ -0,0 +1,244 @@ +{ + "variants": { + "facing=east,half=lower,hinge=left,open=false,visible=false": { + "model": "tfmg:block/steel_door/block_bottom" + }, + "facing=east,half=lower,hinge=left,open=false,visible=true": { + "model": "tfmg:block/steel_door/block_bottom" + }, + "facing=east,half=lower,hinge=left,open=true,visible=false": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 90 + }, + "facing=east,half=lower,hinge=left,open=true,visible=true": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 90 + }, + "facing=east,half=lower,hinge=right,open=false,visible=false": { + "model": "tfmg:block/steel_door/block_bottom" + }, + "facing=east,half=lower,hinge=right,open=false,visible=true": { + "model": "tfmg:block/steel_door/block_bottom" + }, + "facing=east,half=lower,hinge=right,open=true,visible=false": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 270 + }, + "facing=east,half=lower,hinge=right,open=true,visible=true": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 270 + }, + "facing=east,half=upper,hinge=left,open=false,visible=false": { + "model": "tfmg:block/steel_door/block_top" + }, + "facing=east,half=upper,hinge=left,open=false,visible=true": { + "model": "tfmg:block/steel_door/block_top" + }, + "facing=east,half=upper,hinge=left,open=true,visible=false": { + "model": "tfmg:block/steel_door/block_top", + "y": 90 + }, + "facing=east,half=upper,hinge=left,open=true,visible=true": { + "model": "tfmg:block/steel_door/block_top", + "y": 90 + }, + "facing=east,half=upper,hinge=right,open=false,visible=false": { + "model": "tfmg:block/steel_door/block_top" + }, + "facing=east,half=upper,hinge=right,open=false,visible=true": { + "model": "tfmg:block/steel_door/block_top" + }, + "facing=east,half=upper,hinge=right,open=true,visible=false": { + "model": "tfmg:block/steel_door/block_top", + "y": 270 + }, + "facing=east,half=upper,hinge=right,open=true,visible=true": { + "model": "tfmg:block/steel_door/block_top", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=false,visible=false": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=false,visible=true": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=true,visible=false": { + "model": "tfmg:block/steel_door/block_bottom" + }, + "facing=north,half=lower,hinge=left,open=true,visible=true": { + "model": "tfmg:block/steel_door/block_bottom" + }, + "facing=north,half=lower,hinge=right,open=false,visible=false": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=right,open=false,visible=true": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 270 + }, + "facing=north,half=lower,hinge=right,open=true,visible=false": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 180 + }, + "facing=north,half=lower,hinge=right,open=true,visible=true": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 180 + }, + "facing=north,half=upper,hinge=left,open=false,visible=false": { + "model": "tfmg:block/steel_door/block_top", + "y": 270 + }, + "facing=north,half=upper,hinge=left,open=false,visible=true": { + "model": "tfmg:block/steel_door/block_top", + "y": 270 + }, + "facing=north,half=upper,hinge=left,open=true,visible=false": { + "model": "tfmg:block/steel_door/block_top" + }, + "facing=north,half=upper,hinge=left,open=true,visible=true": { + "model": "tfmg:block/steel_door/block_top" + }, + "facing=north,half=upper,hinge=right,open=false,visible=false": { + "model": "tfmg:block/steel_door/block_top", + "y": 270 + }, + "facing=north,half=upper,hinge=right,open=false,visible=true": { + "model": "tfmg:block/steel_door/block_top", + "y": 270 + }, + "facing=north,half=upper,hinge=right,open=true,visible=false": { + "model": "tfmg:block/steel_door/block_top", + "y": 180 + }, + "facing=north,half=upper,hinge=right,open=true,visible=true": { + "model": "tfmg:block/steel_door/block_top", + "y": 180 + }, + "facing=south,half=lower,hinge=left,open=false,visible=false": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=left,open=false,visible=true": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=left,open=true,visible=false": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 180 + }, + "facing=south,half=lower,hinge=left,open=true,visible=true": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 180 + }, + "facing=south,half=lower,hinge=right,open=false,visible=false": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=right,open=false,visible=true": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 90 + }, + "facing=south,half=lower,hinge=right,open=true,visible=false": { + "model": "tfmg:block/steel_door/block_bottom" + }, + "facing=south,half=lower,hinge=right,open=true,visible=true": { + "model": "tfmg:block/steel_door/block_bottom" + }, + "facing=south,half=upper,hinge=left,open=false,visible=false": { + "model": "tfmg:block/steel_door/block_top", + "y": 90 + }, + "facing=south,half=upper,hinge=left,open=false,visible=true": { + "model": "tfmg:block/steel_door/block_top", + "y": 90 + }, + "facing=south,half=upper,hinge=left,open=true,visible=false": { + "model": "tfmg:block/steel_door/block_top", + "y": 180 + }, + "facing=south,half=upper,hinge=left,open=true,visible=true": { + "model": "tfmg:block/steel_door/block_top", + "y": 180 + }, + "facing=south,half=upper,hinge=right,open=false,visible=false": { + "model": "tfmg:block/steel_door/block_top", + "y": 90 + }, + "facing=south,half=upper,hinge=right,open=false,visible=true": { + "model": "tfmg:block/steel_door/block_top", + "y": 90 + }, + "facing=south,half=upper,hinge=right,open=true,visible=false": { + "model": "tfmg:block/steel_door/block_top" + }, + "facing=south,half=upper,hinge=right,open=true,visible=true": { + "model": "tfmg:block/steel_door/block_top" + }, + "facing=west,half=lower,hinge=left,open=false,visible=false": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=left,open=false,visible=true": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=left,open=true,visible=false": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 270 + }, + "facing=west,half=lower,hinge=left,open=true,visible=true": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 270 + }, + "facing=west,half=lower,hinge=right,open=false,visible=false": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=right,open=false,visible=true": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 180 + }, + "facing=west,half=lower,hinge=right,open=true,visible=false": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 90 + }, + "facing=west,half=lower,hinge=right,open=true,visible=true": { + "model": "tfmg:block/steel_door/block_bottom", + "y": 90 + }, + "facing=west,half=upper,hinge=left,open=false,visible=false": { + "model": "tfmg:block/steel_door/block_top", + "y": 180 + }, + "facing=west,half=upper,hinge=left,open=false,visible=true": { + "model": "tfmg:block/steel_door/block_top", + "y": 180 + }, + "facing=west,half=upper,hinge=left,open=true,visible=false": { + "model": "tfmg:block/steel_door/block_top", + "y": 270 + }, + "facing=west,half=upper,hinge=left,open=true,visible=true": { + "model": "tfmg:block/steel_door/block_top", + "y": 270 + }, + "facing=west,half=upper,hinge=right,open=false,visible=false": { + "model": "tfmg:block/steel_door/block_top", + "y": 180 + }, + "facing=west,half=upper,hinge=right,open=false,visible=true": { + "model": "tfmg:block/steel_door/block_top", + "y": 180 + }, + "facing=west,half=upper,hinge=right,open=true,visible=false": { + "model": "tfmg:block/steel_door/block_top", + "y": 90 + }, + "facing=west,half=upper,hinge=right,open=true,visible=true": { + "model": "tfmg:block/steel_door/block_top", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_encased_aluminum_cogwheel.json b/src/generated/resources/assets/tfmg/blockstates/steel_encased_aluminum_cogwheel.json new file mode 100644 index 00000000..bda0082c --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_encased_aluminum_cogwheel.json @@ -0,0 +1,56 @@ +{ + "variants": { + "axis=x,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel_top", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel_bottom", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel_top_bottom", + "x": 90, + "y": 90 + }, + "axis=y,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel" + }, + "axis=y,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel_top" + }, + "axis=y,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel_bottom" + }, + "axis=y,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel_top_bottom" + }, + "axis=z,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel_top", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel_bottom", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/steel_encased_aluminum_cogwheel_top_bottom", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_encased_large_aluminum_cogwheel.json b/src/generated/resources/assets/tfmg/blockstates/steel_encased_large_aluminum_cogwheel.json new file mode 100644 index 00000000..b99d9ac0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_encased_large_aluminum_cogwheel.json @@ -0,0 +1,56 @@ +{ + "variants": { + "axis=x,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/steel_encased_large_aluminum_cogwheel", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/steel_encased_large_aluminum_cogwheel_top", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/steel_encased_large_aluminum_cogwheel_bottom", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/steel_encased_large_aluminum_cogwheel_top_bottom", + "x": 90, + "y": 90 + }, + "axis=y,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/steel_encased_large_aluminum_cogwheel" + }, + "axis=y,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/steel_encased_large_aluminum_cogwheel_top" + }, + "axis=y,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/steel_encased_large_aluminum_cogwheel_bottom" + }, + "axis=y,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/steel_encased_large_aluminum_cogwheel_top_bottom" + }, + "axis=z,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/steel_encased_large_aluminum_cogwheel", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/steel_encased_large_aluminum_cogwheel_top", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/steel_encased_large_aluminum_cogwheel_bottom", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/steel_encased_large_aluminum_cogwheel_top_bottom", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_encased_large_steel_cogwheel.json b/src/generated/resources/assets/tfmg/blockstates/steel_encased_large_steel_cogwheel.json new file mode 100644 index 00000000..98170b34 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_encased_large_steel_cogwheel.json @@ -0,0 +1,56 @@ +{ + "variants": { + "axis=x,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/steel_encased_large_steel_cogwheel", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/steel_encased_large_steel_cogwheel_top", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/steel_encased_large_steel_cogwheel_bottom", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/steel_encased_large_steel_cogwheel_top_bottom", + "x": 90, + "y": 90 + }, + "axis=y,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/steel_encased_large_steel_cogwheel" + }, + "axis=y,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/steel_encased_large_steel_cogwheel_top" + }, + "axis=y,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/steel_encased_large_steel_cogwheel_bottom" + }, + "axis=y,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/steel_encased_large_steel_cogwheel_top_bottom" + }, + "axis=z,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/steel_encased_large_steel_cogwheel", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/steel_encased_large_steel_cogwheel_top", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/steel_encased_large_steel_cogwheel_bottom", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/steel_encased_large_steel_cogwheel_top_bottom", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_encased_shaft.json b/src/generated/resources/assets/tfmg/blockstates/steel_encased_shaft.json new file mode 100644 index 00000000..60d52575 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_encased_shaft.json @@ -0,0 +1,20 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/encased_shaft/block_steel", + "uvlock": true, + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/encased_shaft/block_steel", + "uvlock": true + }, + "axis=z": { + "model": "tfmg:block/encased_shaft/block_steel", + "uvlock": true, + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_encased_steel_cogwheel.json b/src/generated/resources/assets/tfmg/blockstates/steel_encased_steel_cogwheel.json new file mode 100644 index 00000000..2a6e4442 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_encased_steel_cogwheel.json @@ -0,0 +1,56 @@ +{ + "variants": { + "axis=x,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/steel_encased_steel_cogwheel", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/steel_encased_steel_cogwheel_top", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/steel_encased_steel_cogwheel_bottom", + "x": 90, + "y": 90 + }, + "axis=x,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/steel_encased_steel_cogwheel_top_bottom", + "x": 90, + "y": 90 + }, + "axis=y,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/steel_encased_steel_cogwheel" + }, + "axis=y,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/steel_encased_steel_cogwheel_top" + }, + "axis=y,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/steel_encased_steel_cogwheel_bottom" + }, + "axis=y,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/steel_encased_steel_cogwheel_top_bottom" + }, + "axis=z,bottom_shaft=false,top_shaft=false": { + "model": "tfmg:block/steel_encased_steel_cogwheel", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=false,top_shaft=true": { + "model": "tfmg:block/steel_encased_steel_cogwheel_top", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=false": { + "model": "tfmg:block/steel_encased_steel_cogwheel_bottom", + "x": 90, + "y": 180 + }, + "axis=z,bottom_shaft=true,top_shaft=true": { + "model": "tfmg:block/steel_encased_steel_cogwheel_top_bottom", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_fluid_tank.json b/src/generated/resources/assets/tfmg/blockstates/steel_fluid_tank.json new file mode 100644 index 00000000..8846788b --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_fluid_tank.json @@ -0,0 +1,76 @@ +{ + "variants": { + "bottom=false,shape=plain,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_middle" + }, + "bottom=false,shape=plain,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_top" + }, + "bottom=false,shape=window,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_middle_window" + }, + "bottom=false,shape=window,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_top_window" + }, + "bottom=false,shape=window_ne,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_middle_window_ne" + }, + "bottom=false,shape=window_ne,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_top_window_ne" + }, + "bottom=false,shape=window_nw,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_middle_window_nw" + }, + "bottom=false,shape=window_nw,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_top_window_nw" + }, + "bottom=false,shape=window_se,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_middle_window_se" + }, + "bottom=false,shape=window_se,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_top_window_se" + }, + "bottom=false,shape=window_sw,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_middle_window_sw" + }, + "bottom=false,shape=window_sw,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_top_window_sw" + }, + "bottom=true,shape=plain,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_bottom" + }, + "bottom=true,shape=plain,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_single" + }, + "bottom=true,shape=window,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_bottom_window" + }, + "bottom=true,shape=window,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_single_window" + }, + "bottom=true,shape=window_ne,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_bottom_window_ne" + }, + "bottom=true,shape=window_ne,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_single_window_ne" + }, + "bottom=true,shape=window_nw,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_bottom_window_nw" + }, + "bottom=true,shape=window_nw,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_single_window_nw" + }, + "bottom=true,shape=window_se,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_bottom_window_se" + }, + "bottom=true,shape=window_se,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_single_window_se" + }, + "bottom=true,shape=window_sw,top=false": { + "model": "tfmg:block/steel_fluid_tank/block_bottom_window_sw" + }, + "bottom=true,shape=window_sw,top=true": { + "model": "tfmg:block/steel_fluid_tank/block_single_window_sw" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_flywheel.json b/src/generated/resources/assets/tfmg/blockstates/steel_flywheel.json new file mode 100644 index 00000000..05381a13 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_flywheel.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/steel_flywheel/block", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/steel_flywheel/block" + }, + "axis=z": { + "model": "tfmg:block/steel_flywheel/block", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_frame.json b/src/generated/resources/assets/tfmg/blockstates/steel_frame.json new file mode 100644 index 00000000..da3d9ae8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_frame.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/steel_frame/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_gearbox.json b/src/generated/resources/assets/tfmg/blockstates/steel_gearbox.json new file mode 100644 index 00000000..000587c3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_gearbox.json @@ -0,0 +1,20 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/steel_gearbox/block", + "uvlock": true, + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/steel_gearbox/block", + "uvlock": true + }, + "axis=z": { + "model": "tfmg:block/steel_gearbox/block", + "uvlock": true, + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_ladder.json b/src/generated/resources/assets/tfmg/blockstates/steel_ladder.json new file mode 100644 index 00000000..88614e34 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_ladder.json @@ -0,0 +1,34 @@ +{ + "variants": { + "facing=east,waterlogged=false": { + "model": "tfmg:block/steel_ladder", + "y": 90 + }, + "facing=east,waterlogged=true": { + "model": "tfmg:block/steel_ladder", + "y": 90 + }, + "facing=north,waterlogged=false": { + "model": "tfmg:block/steel_ladder" + }, + "facing=north,waterlogged=true": { + "model": "tfmg:block/steel_ladder" + }, + "facing=south,waterlogged=false": { + "model": "tfmg:block/steel_ladder", + "y": 180 + }, + "facing=south,waterlogged=true": { + "model": "tfmg:block/steel_ladder", + "y": 180 + }, + "facing=west,waterlogged=false": { + "model": "tfmg:block/steel_ladder", + "y": 270 + }, + "facing=west,waterlogged=true": { + "model": "tfmg:block/steel_ladder", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_mechanical_pump.json b/src/generated/resources/assets/tfmg/blockstates/steel_mechanical_pump.json new file mode 100644 index 00000000..71b3d6b1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_mechanical_pump.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "tfmg:block/steel_mechanical_pump/block", + "x": 180 + }, + "facing=east": { + "model": "tfmg:block/steel_mechanical_pump/block", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/steel_mechanical_pump/block", + "x": 90 + }, + "facing=south": { + "model": "tfmg:block/steel_mechanical_pump/block", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "tfmg:block/steel_mechanical_pump/block" + }, + "facing=west": { + "model": "tfmg:block/steel_mechanical_pump/block", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_pipe.json b/src/generated/resources/assets/tfmg/blockstates/steel_pipe.json new file mode 100644 index 00000000..d9f75b9d --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_pipe.json @@ -0,0 +1,334 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/steel_pipe/lu_x" + }, + "when": { + "down": "false", + "north": "false", + "south": "true", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/ru_x" + }, + "when": { + "down": "false", + "north": "true", + "south": "false", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/ld_x" + }, + "when": { + "down": "true", + "north": "false", + "south": "true", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/rd_x" + }, + "when": { + "down": "true", + "north": "true", + "south": "false", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/ud_x" + }, + "when": { + "down": "true", + "north": "false", + "south": "false", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/u_x" + }, + "when": { + "down": "false", + "north": "false", + "south": "false", + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/d_x" + }, + "when": { + "down": "true", + "north": "false", + "south": "false", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/lr_x" + }, + "when": { + "down": "false", + "north": "true", + "south": "true", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/l_x" + }, + "when": { + "down": "false", + "north": "false", + "south": "true", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/r_x" + }, + "when": { + "down": "false", + "north": "true", + "south": "false", + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/lu_y" + }, + "when": { + "east": "true", + "north": "false", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/ru_y" + }, + "when": { + "east": "false", + "north": "false", + "south": "true", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/ld_y" + }, + "when": { + "east": "true", + "north": "true", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/rd_y" + }, + "when": { + "east": "false", + "north": "true", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/ud_y" + }, + "when": { + "east": "false", + "north": "true", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/u_y" + }, + "when": { + "east": "false", + "north": "false", + "south": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/d_y" + }, + "when": { + "east": "false", + "north": "true", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/lr_y" + }, + "when": { + "east": "true", + "north": "false", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/l_y" + }, + "when": { + "east": "true", + "north": "false", + "south": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/r_y" + }, + "when": { + "east": "false", + "north": "false", + "south": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/lu_z" + }, + "when": { + "down": "false", + "east": "true", + "up": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/ru_z" + }, + "when": { + "down": "false", + "east": "false", + "up": "true", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/ld_z" + }, + "when": { + "down": "true", + "east": "true", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/rd_z" + }, + "when": { + "down": "true", + "east": "false", + "up": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/ud_z" + }, + "when": { + "down": "true", + "east": "false", + "up": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/u_z" + }, + "when": { + "down": "false", + "east": "false", + "up": "true", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/d_z" + }, + "when": { + "down": "true", + "east": "false", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/lr_z" + }, + "when": { + "down": "false", + "east": "true", + "up": "false", + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/l_z" + }, + "when": { + "down": "false", + "east": "true", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/steel_pipe/r_z" + }, + "when": { + "down": "false", + "east": "false", + "up": "false", + "west": "true" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_scaffolding.json b/src/generated/resources/assets/tfmg/blockstates/steel_scaffolding.json new file mode 100644 index 00000000..b758096e --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_scaffolding.json @@ -0,0 +1,10 @@ +{ + "variants": { + "bottom=false": { + "model": "tfmg:block/steel_scaffolding" + }, + "bottom=true": { + "model": "tfmg:block/steel_scaffolding_horizontal" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_smart_fluid_pipe.json b/src/generated/resources/assets/tfmg/blockstates/steel_smart_fluid_pipe.json new file mode 100644 index 00000000..571bee4f --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_smart_fluid_pipe.json @@ -0,0 +1,110 @@ +{ + "variants": { + "face=ceiling,facing=east,waterlogged=false": { + "model": "tfmg:block/steel_smart_fluid_pipe/block", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=east,waterlogged=true": { + "model": "tfmg:block/steel_smart_fluid_pipe/block", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=north,waterlogged=false": { + "model": "tfmg:block/steel_smart_fluid_pipe/block", + "x": 180 + }, + "face=ceiling,facing=north,waterlogged=true": { + "model": "tfmg:block/steel_smart_fluid_pipe/block", + "x": 180 + }, + "face=ceiling,facing=south,waterlogged=false": { + "model": "tfmg:block/steel_smart_fluid_pipe/block", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=south,waterlogged=true": { + "model": "tfmg:block/steel_smart_fluid_pipe/block", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=west,waterlogged=false": { + "model": "tfmg:block/steel_smart_fluid_pipe/block", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=west,waterlogged=true": { + "model": "tfmg:block/steel_smart_fluid_pipe/block", + "x": 180, + "y": 270 + }, + "face=floor,facing=east,waterlogged=false": { + "model": "tfmg:block/steel_smart_fluid_pipe/block", + "y": 270 + }, + "face=floor,facing=east,waterlogged=true": { + "model": "tfmg:block/steel_smart_fluid_pipe/block", + "y": 270 + }, + "face=floor,facing=north,waterlogged=false": { + "model": "tfmg:block/steel_smart_fluid_pipe/block", + "y": 180 + }, + "face=floor,facing=north,waterlogged=true": { + "model": "tfmg:block/steel_smart_fluid_pipe/block", + "y": 180 + }, + "face=floor,facing=south,waterlogged=false": { + "model": "tfmg:block/steel_smart_fluid_pipe/block" + }, + "face=floor,facing=south,waterlogged=true": { + "model": "tfmg:block/steel_smart_fluid_pipe/block" + }, + "face=floor,facing=west,waterlogged=false": { + "model": "tfmg:block/steel_smart_fluid_pipe/block", + "y": 90 + }, + "face=floor,facing=west,waterlogged=true": { + "model": "tfmg:block/steel_smart_fluid_pipe/block", + "y": 90 + }, + "face=wall,facing=east,waterlogged=false": { + "model": "tfmg:block/steel_smart_fluid_pipe/block", + "x": 270, + "y": 270 + }, + "face=wall,facing=east,waterlogged=true": { + "model": "tfmg:block/steel_smart_fluid_pipe/block", + "x": 270, + "y": 270 + }, + "face=wall,facing=north,waterlogged=false": { + "model": "tfmg:block/steel_smart_fluid_pipe/block", + "x": 270, + "y": 180 + }, + "face=wall,facing=north,waterlogged=true": { + "model": "tfmg:block/steel_smart_fluid_pipe/block", + "x": 270, + "y": 180 + }, + "face=wall,facing=south,waterlogged=false": { + "model": "tfmg:block/steel_smart_fluid_pipe/block", + "x": 270 + }, + "face=wall,facing=south,waterlogged=true": { + "model": "tfmg:block/steel_smart_fluid_pipe/block", + "x": 270 + }, + "face=wall,facing=west,waterlogged=false": { + "model": "tfmg:block/steel_smart_fluid_pipe/block", + "x": 270, + "y": 90 + }, + "face=wall,facing=west,waterlogged=true": { + "model": "tfmg:block/steel_smart_fluid_pipe/block", + "x": 270, + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_trapdoor.json b/src/generated/resources/assets/tfmg/blockstates/steel_trapdoor.json new file mode 100644 index 00000000..4f7abed5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_trapdoor.json @@ -0,0 +1,68 @@ +{ + "variants": { + "facing=east,half=bottom,open=false": { + "model": "tfmg:block/steel_trapdoor/block_bottom", + "y": 90 + }, + "facing=east,half=bottom,open=true": { + "model": "tfmg:block/steel_trapdoor/block_open", + "y": 90 + }, + "facing=east,half=top,open=false": { + "model": "tfmg:block/steel_trapdoor/block_top", + "y": 90 + }, + "facing=east,half=top,open=true": { + "model": "tfmg:block/steel_trapdoor/block_open", + "x": 180, + "y": 270 + }, + "facing=north,half=bottom,open=false": { + "model": "tfmg:block/steel_trapdoor/block_bottom" + }, + "facing=north,half=bottom,open=true": { + "model": "tfmg:block/steel_trapdoor/block_open" + }, + "facing=north,half=top,open=false": { + "model": "tfmg:block/steel_trapdoor/block_top" + }, + "facing=north,half=top,open=true": { + "model": "tfmg:block/steel_trapdoor/block_open", + "x": 180, + "y": 180 + }, + "facing=south,half=bottom,open=false": { + "model": "tfmg:block/steel_trapdoor/block_bottom", + "y": 180 + }, + "facing=south,half=bottom,open=true": { + "model": "tfmg:block/steel_trapdoor/block_open", + "y": 180 + }, + "facing=south,half=top,open=false": { + "model": "tfmg:block/steel_trapdoor/block_top", + "y": 180 + }, + "facing=south,half=top,open=true": { + "model": "tfmg:block/steel_trapdoor/block_open", + "x": 180 + }, + "facing=west,half=bottom,open=false": { + "model": "tfmg:block/steel_trapdoor/block_bottom", + "y": 270 + }, + "facing=west,half=bottom,open=true": { + "model": "tfmg:block/steel_trapdoor/block_open", + "y": 270 + }, + "facing=west,half=top,open=false": { + "model": "tfmg:block/steel_trapdoor/block_top", + "y": 270 + }, + "facing=west,half=top,open=true": { + "model": "tfmg:block/steel_trapdoor/block_open", + "x": 180, + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_truss.json b/src/generated/resources/assets/tfmg/blockstates/steel_truss.json new file mode 100644 index 00000000..f9766e3b --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_truss.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/steel_truss", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/steel_truss" + }, + "axis=z": { + "model": "tfmg:block/steel_truss", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/sulfur.json b/src/generated/resources/assets/tfmg/blockstates/sulfur.json new file mode 100644 index 00000000..2b313ee3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/sulfur.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/sulfur" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/sulfuric_acid.json b/src/generated/resources/assets/tfmg/blockstates/sulfuric_acid.json new file mode 100644 index 00000000..4955ed34 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/sulfuric_acid.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/sulfuric_acid" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/surface_scanner.json b/src/generated/resources/assets/tfmg/blockstates/surface_scanner.json new file mode 100644 index 00000000..1fa011aa --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/surface_scanner.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/surface_scanner/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/traffic_light.json b/src/generated/resources/assets/tfmg/blockstates/traffic_light.json new file mode 100644 index 00000000..05a4be0d --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/traffic_light.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/traffic_light/block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/traffic_light/block" + }, + "facing=south": { + "model": "tfmg:block/traffic_light/block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/traffic_light/block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/transformer.json b/src/generated/resources/assets/tfmg/blockstates/transformer.json new file mode 100644 index 00000000..834f73a7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/transformer.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/transformer/block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/transformer/block" + }, + "facing=south": { + "model": "tfmg:block/transformer/block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/transformer/block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/turbine_engine.json b/src/generated/resources/assets/tfmg/blockstates/turbine_engine.json new file mode 100644 index 00000000..96039448 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/turbine_engine.json @@ -0,0 +1,484 @@ +{ + "variants": { + "engine_state=back,extended=false,facing=east,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 90 + }, + "engine_state=back,extended=false,facing=east,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_back" + }, + "engine_state=back,extended=false,facing=east,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 180 + }, + "engine_state=back,extended=false,facing=east,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 270 + }, + "engine_state=back,extended=false,facing=north,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 90 + }, + "engine_state=back,extended=false,facing=north,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_back" + }, + "engine_state=back,extended=false,facing=north,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 180 + }, + "engine_state=back,extended=false,facing=north,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 270 + }, + "engine_state=back,extended=false,facing=south,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 90 + }, + "engine_state=back,extended=false,facing=south,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_back" + }, + "engine_state=back,extended=false,facing=south,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 180 + }, + "engine_state=back,extended=false,facing=south,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 270 + }, + "engine_state=back,extended=false,facing=west,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 90 + }, + "engine_state=back,extended=false,facing=west,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_back" + }, + "engine_state=back,extended=false,facing=west,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 180 + }, + "engine_state=back,extended=false,facing=west,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 270 + }, + "engine_state=back,extended=true,facing=east,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 90 + }, + "engine_state=back,extended=true,facing=east,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_back" + }, + "engine_state=back,extended=true,facing=east,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 180 + }, + "engine_state=back,extended=true,facing=east,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 270 + }, + "engine_state=back,extended=true,facing=north,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 90 + }, + "engine_state=back,extended=true,facing=north,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_back" + }, + "engine_state=back,extended=true,facing=north,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 180 + }, + "engine_state=back,extended=true,facing=north,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 270 + }, + "engine_state=back,extended=true,facing=south,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 90 + }, + "engine_state=back,extended=true,facing=south,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_back" + }, + "engine_state=back,extended=true,facing=south,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 180 + }, + "engine_state=back,extended=true,facing=south,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 270 + }, + "engine_state=back,extended=true,facing=west,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 90 + }, + "engine_state=back,extended=true,facing=west,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_back" + }, + "engine_state=back,extended=true,facing=west,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 180 + }, + "engine_state=back,extended=true,facing=west,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_back", + "y": 270 + }, + "engine_state=front,extended=false,facing=east,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 90 + }, + "engine_state=front,extended=false,facing=east,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_front" + }, + "engine_state=front,extended=false,facing=east,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 180 + }, + "engine_state=front,extended=false,facing=east,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 270 + }, + "engine_state=front,extended=false,facing=north,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 90 + }, + "engine_state=front,extended=false,facing=north,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_front" + }, + "engine_state=front,extended=false,facing=north,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 180 + }, + "engine_state=front,extended=false,facing=north,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 270 + }, + "engine_state=front,extended=false,facing=south,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 90 + }, + "engine_state=front,extended=false,facing=south,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_front" + }, + "engine_state=front,extended=false,facing=south,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 180 + }, + "engine_state=front,extended=false,facing=south,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 270 + }, + "engine_state=front,extended=false,facing=west,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 90 + }, + "engine_state=front,extended=false,facing=west,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_front" + }, + "engine_state=front,extended=false,facing=west,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 180 + }, + "engine_state=front,extended=false,facing=west,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 270 + }, + "engine_state=front,extended=true,facing=east,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 90 + }, + "engine_state=front,extended=true,facing=east,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_front" + }, + "engine_state=front,extended=true,facing=east,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 180 + }, + "engine_state=front,extended=true,facing=east,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 270 + }, + "engine_state=front,extended=true,facing=north,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 90 + }, + "engine_state=front,extended=true,facing=north,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_front" + }, + "engine_state=front,extended=true,facing=north,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 180 + }, + "engine_state=front,extended=true,facing=north,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 270 + }, + "engine_state=front,extended=true,facing=south,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 90 + }, + "engine_state=front,extended=true,facing=south,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_front" + }, + "engine_state=front,extended=true,facing=south,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 180 + }, + "engine_state=front,extended=true,facing=south,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 270 + }, + "engine_state=front,extended=true,facing=west,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 90 + }, + "engine_state=front,extended=true,facing=west,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_front" + }, + "engine_state=front,extended=true,facing=west,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 180 + }, + "engine_state=front,extended=true,facing=west,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_front", + "y": 270 + }, + "engine_state=normal,extended=false,facing=east,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 90 + }, + "engine_state=normal,extended=false,facing=east,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_normal" + }, + "engine_state=normal,extended=false,facing=east,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 180 + }, + "engine_state=normal,extended=false,facing=east,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 270 + }, + "engine_state=normal,extended=false,facing=north,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 90 + }, + "engine_state=normal,extended=false,facing=north,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_normal" + }, + "engine_state=normal,extended=false,facing=north,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 180 + }, + "engine_state=normal,extended=false,facing=north,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 270 + }, + "engine_state=normal,extended=false,facing=south,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 90 + }, + "engine_state=normal,extended=false,facing=south,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_normal" + }, + "engine_state=normal,extended=false,facing=south,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 180 + }, + "engine_state=normal,extended=false,facing=south,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 270 + }, + "engine_state=normal,extended=false,facing=west,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 90 + }, + "engine_state=normal,extended=false,facing=west,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_normal" + }, + "engine_state=normal,extended=false,facing=west,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 180 + }, + "engine_state=normal,extended=false,facing=west,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 270 + }, + "engine_state=normal,extended=true,facing=east,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 90 + }, + "engine_state=normal,extended=true,facing=east,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_normal" + }, + "engine_state=normal,extended=true,facing=east,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 180 + }, + "engine_state=normal,extended=true,facing=east,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 270 + }, + "engine_state=normal,extended=true,facing=north,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 90 + }, + "engine_state=normal,extended=true,facing=north,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_normal" + }, + "engine_state=normal,extended=true,facing=north,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 180 + }, + "engine_state=normal,extended=true,facing=north,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 270 + }, + "engine_state=normal,extended=true,facing=south,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 90 + }, + "engine_state=normal,extended=true,facing=south,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_normal" + }, + "engine_state=normal,extended=true,facing=south,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 180 + }, + "engine_state=normal,extended=true,facing=south,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 270 + }, + "engine_state=normal,extended=true,facing=west,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 90 + }, + "engine_state=normal,extended=true,facing=west,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_normal" + }, + "engine_state=normal,extended=true,facing=west,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 180 + }, + "engine_state=normal,extended=true,facing=west,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_normal", + "y": 270 + }, + "engine_state=single,extended=false,facing=east,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 90 + }, + "engine_state=single,extended=false,facing=east,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_single" + }, + "engine_state=single,extended=false,facing=east,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 180 + }, + "engine_state=single,extended=false,facing=east,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 270 + }, + "engine_state=single,extended=false,facing=north,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 90 + }, + "engine_state=single,extended=false,facing=north,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_single" + }, + "engine_state=single,extended=false,facing=north,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 180 + }, + "engine_state=single,extended=false,facing=north,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 270 + }, + "engine_state=single,extended=false,facing=south,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 90 + }, + "engine_state=single,extended=false,facing=south,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_single" + }, + "engine_state=single,extended=false,facing=south,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 180 + }, + "engine_state=single,extended=false,facing=south,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 270 + }, + "engine_state=single,extended=false,facing=west,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 90 + }, + "engine_state=single,extended=false,facing=west,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_single" + }, + "engine_state=single,extended=false,facing=west,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 180 + }, + "engine_state=single,extended=false,facing=west,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 270 + }, + "engine_state=single,extended=true,facing=east,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 90 + }, + "engine_state=single,extended=true,facing=east,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_single" + }, + "engine_state=single,extended=true,facing=east,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 180 + }, + "engine_state=single,extended=true,facing=east,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 270 + }, + "engine_state=single,extended=true,facing=north,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 90 + }, + "engine_state=single,extended=true,facing=north,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_single" + }, + "engine_state=single,extended=true,facing=north,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 180 + }, + "engine_state=single,extended=true,facing=north,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 270 + }, + "engine_state=single,extended=true,facing=south,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 90 + }, + "engine_state=single,extended=true,facing=south,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_single" + }, + "engine_state=single,extended=true,facing=south,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 180 + }, + "engine_state=single,extended=true,facing=south,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 270 + }, + "engine_state=single,extended=true,facing=west,shaft_facing=east": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 90 + }, + "engine_state=single,extended=true,facing=west,shaft_facing=north": { + "model": "tfmg:block/turbine_engine/block_single" + }, + "engine_state=single,extended=true,facing=west,shaft_facing=south": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 180 + }, + "engine_state=single,extended=true,facing=west,shaft_facing=west": { + "model": "tfmg:block/turbine_engine/block_single", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/voltage_observer.json b/src/generated/resources/assets/tfmg/blockstates/voltage_observer.json new file mode 100644 index 00000000..bd326277 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/voltage_observer.json @@ -0,0 +1,56 @@ +{ + "variants": { + "facing=down,powered=false": { + "model": "tfmg:block/voltage_observer/block", + "x": 180 + }, + "facing=down,powered=true": { + "model": "tfmg:block/voltage_observer/block_on", + "x": 180 + }, + "facing=east,powered=false": { + "model": "tfmg:block/voltage_observer/block", + "x": 90, + "y": 90 + }, + "facing=east,powered=true": { + "model": "tfmg:block/voltage_observer/block_on", + "x": 90, + "y": 90 + }, + "facing=north,powered=false": { + "model": "tfmg:block/voltage_observer/block", + "x": 90 + }, + "facing=north,powered=true": { + "model": "tfmg:block/voltage_observer/block_on", + "x": 90 + }, + "facing=south,powered=false": { + "model": "tfmg:block/voltage_observer/block", + "x": 90, + "y": 180 + }, + "facing=south,powered=true": { + "model": "tfmg:block/voltage_observer/block_on", + "x": 90, + "y": 180 + }, + "facing=up,powered=false": { + "model": "tfmg:block/voltage_observer/block" + }, + "facing=up,powered=true": { + "model": "tfmg:block/voltage_observer/block_on" + }, + "facing=west,powered=false": { + "model": "tfmg:block/voltage_observer/block", + "x": 90, + "y": 270 + }, + "facing=west,powered=true": { + "model": "tfmg:block/voltage_observer/block_on", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/voltmeter.json b/src/generated/resources/assets/tfmg/blockstates/voltmeter.json new file mode 100644 index 00000000..d01b66bb --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/voltmeter.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/voltmeter/block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/voltmeter/block" + }, + "facing=south": { + "model": "tfmg:block/voltmeter/block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/voltmeter/block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/white_caution_block.json b/src/generated/resources/assets/tfmg/blockstates/white_caution_block.json new file mode 100644 index 00000000..354a8b9a --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/white_caution_block.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/white_caution_block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/white_caution_block" + }, + "facing=south": { + "model": "tfmg:block/white_caution_block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/white_caution_block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/white_concrete.json b/src/generated/resources/assets/tfmg/blockstates/white_concrete.json new file mode 100644 index 00000000..362b37cc --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/white_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/white_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/white_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/white_concrete_slab.json new file mode 100644 index 00000000..19a3dd11 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/white_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/white_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/white_concrete" + }, + "type=top": { + "model": "tfmg:block/white_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/white_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/white_concrete_stairs.json new file mode 100644 index 00000000..0600ae6e --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/white_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/white_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/white_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/white_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/white_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/white_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/white_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/white_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/white_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/white_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/white_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/white_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/white_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/white_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/white_concrete_wall.json new file mode 100644 index 00000000..0d107ac0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/white_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/white_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/white_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/white_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/white_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/white_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/white_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/white_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/white_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/white_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/white_rebar_concrete.json b/src/generated/resources/assets/tfmg/blockstates/white_rebar_concrete.json new file mode 100644 index 00000000..21800d8e --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/white_rebar_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/white_rebar_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/white_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/white_rebar_concrete_slab.json new file mode 100644 index 00000000..19a3dd11 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/white_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/white_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/white_concrete" + }, + "type=top": { + "model": "tfmg:block/white_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/white_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/white_rebar_concrete_stairs.json new file mode 100644 index 00000000..0600ae6e --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/white_rebar_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/white_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/white_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/white_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/white_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/white_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/white_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/white_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/white_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/white_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/white_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/white_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/white_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/white_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/white_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/white_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/white_rebar_concrete_wall.json new file mode 100644 index 00000000..0d107ac0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/white_rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/white_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/white_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/white_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/white_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/white_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/white_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/white_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/white_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/white_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/winding_machine.json b/src/generated/resources/assets/tfmg/blockstates/winding_machine.json new file mode 100644 index 00000000..80e2a649 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/winding_machine.json @@ -0,0 +1,34 @@ +{ + "variants": { + "facing=east,powered=false": { + "model": "tfmg:block/winding_machine/block", + "y": 90 + }, + "facing=east,powered=true": { + "model": "tfmg:block/winding_machine/block", + "y": 90 + }, + "facing=north,powered=false": { + "model": "tfmg:block/winding_machine/block" + }, + "facing=north,powered=true": { + "model": "tfmg:block/winding_machine/block" + }, + "facing=south,powered=false": { + "model": "tfmg:block/winding_machine/block", + "y": 180 + }, + "facing=south,powered=true": { + "model": "tfmg:block/winding_machine/block", + "y": 180 + }, + "facing=west,powered=false": { + "model": "tfmg:block/winding_machine/block", + "y": 270 + }, + "facing=west,powered=true": { + "model": "tfmg:block/winding_machine/block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/yellow_caution_block.json b/src/generated/resources/assets/tfmg/blockstates/yellow_caution_block.json new file mode 100644 index 00000000..f95941a4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/yellow_caution_block.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfmg:block/yellow_caution_block", + "y": 90 + }, + "facing=north": { + "model": "tfmg:block/yellow_caution_block" + }, + "facing=south": { + "model": "tfmg:block/yellow_caution_block", + "y": 180 + }, + "facing=west": { + "model": "tfmg:block/yellow_caution_block", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/yellow_concrete.json b/src/generated/resources/assets/tfmg/blockstates/yellow_concrete.json new file mode 100644 index 00000000..f0f8f408 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/yellow_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/yellow_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/yellow_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/yellow_concrete_slab.json new file mode 100644 index 00000000..f6b6fbae --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/yellow_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/yellow_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/yellow_concrete" + }, + "type=top": { + "model": "tfmg:block/yellow_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/yellow_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/yellow_concrete_stairs.json new file mode 100644 index 00000000..67c2e856 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/yellow_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/yellow_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/yellow_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/yellow_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/yellow_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/yellow_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/yellow_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/yellow_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/yellow_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/yellow_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/yellow_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/yellow_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/yellow_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/yellow_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/yellow_concrete_wall.json new file mode 100644 index 00000000..d162cd55 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/yellow_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/yellow_rebar_concrete.json b/src/generated/resources/assets/tfmg/blockstates/yellow_rebar_concrete.json new file mode 100644 index 00000000..7bc6ba25 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/yellow_rebar_concrete.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/yellow_rebar_concrete" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/yellow_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/blockstates/yellow_rebar_concrete_slab.json new file mode 100644 index 00000000..f6b6fbae --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/yellow_rebar_concrete_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "tfmg:block/yellow_concrete_bottom" + }, + "type=double": { + "model": "tfmg:block/yellow_concrete" + }, + "type=top": { + "model": "tfmg:block/yellow_concrete_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/yellow_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/blockstates/yellow_rebar_concrete_stairs.json new file mode 100644 index 00000000..67c2e856 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/yellow_rebar_concrete_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "tfmg:block/yellow_concrete_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "tfmg:block/yellow_concrete_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "tfmg:block/yellow_concrete_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "tfmg:block/yellow_concrete_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "tfmg:block/yellow_concrete_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "tfmg:block/yellow_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "tfmg:block/yellow_concrete_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "tfmg:block/yellow_concrete_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "tfmg:block/yellow_concrete_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "tfmg:block/yellow_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "tfmg:block/yellow_concrete_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "tfmg:block/yellow_concrete_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "tfmg:block/yellow_concrete_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "tfmg:block/yellow_concrete_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/yellow_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/blockstates/yellow_rebar_concrete_wall.json new file mode 100644 index 00000000..d162cd55 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/yellow_rebar_concrete_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "tfmg:block/yellow_concrete_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/zinc_frame.json b/src/generated/resources/assets/tfmg/blockstates/zinc_frame.json new file mode 100644 index 00000000..5aab4751 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/zinc_frame.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfmg:block/zinc_frame/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/zinc_truss.json b/src/generated/resources/assets/tfmg/blockstates/zinc_truss.json new file mode 100644 index 00000000..22984c12 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/zinc_truss.json @@ -0,0 +1,17 @@ +{ + "variants": { + "axis=x": { + "model": "tfmg:block/zinc_truss", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfmg:block/zinc_truss" + }, + "axis=z": { + "model": "tfmg:block/zinc_truss", + "x": 90, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/lang/en_ud.json b/src/generated/resources/assets/tfmg/lang/en_ud.json new file mode 100644 index 00000000..f6cc3e22 --- /dev/null +++ b/src/generated/resources/assets/tfmg/lang/en_ud.json @@ -0,0 +1,1046 @@ +{ + "OwO": "∩ʍ∩", + "block.tfmg.accumulator": "ɹoʇɐןnɯnɔɔⱯ", + "block.tfmg.accumulator.tooltip.summary": "do⟘ ǝɥʇ ɯoɹɟ ʎןʍoןS pǝʇʇndʇno ǝq uɐɔ ʇɐɥʇ )ɯoʇʇoq ɯoɹɟ pǝʇɹǝsuı( ʎbɹǝuǝ ɟo ʇunoɯⱯ ǝbɹɐꞀ ɐ spןoH", + "block.tfmg.air_intake": "ǝʞɐʇuI ɹıⱯ", + "block.tfmg.aluminum_bars": "sɹɐᗺ ɯnuıɯnןⱯ", + "block.tfmg.aluminum_block": "ɯnuıɯnןⱯ ɟo ʞɔoןᗺ", + "block.tfmg.aluminum_cable_hub": "qnH ǝןqɐƆ ɯnuıɯnןⱯ", + "block.tfmg.aluminum_cogwheel": "ןǝǝɥʍboƆ ɯnuıɯnןⱯ", + "block.tfmg.aluminum_door": "ɹooᗡ ɯnuıɯnןⱯ", + "block.tfmg.aluminum_fluid_tank": "ʞuɐ⟘ pınןℲ ɯnuıɯnןⱯ", + "block.tfmg.aluminum_flywheel": "ןǝǝɥʍʎןℲ ɯnuıɯnןⱯ", + "block.tfmg.aluminum_frame": "ǝɯɐɹℲ ɯnuıɯnןⱯ", + "block.tfmg.aluminum_ladder": "ɹǝppɐꞀ ɯnuıɯnןⱯ", + "block.tfmg.aluminum_lamp": "dɯɐꞀ ɯnuıɯnןⱯ", + "block.tfmg.aluminum_lamp.tooltip.behaviour1": "buıʌıǝɔǝɹ sʇı ɹǝʍod ɟo ʇunoɯɐ ǝɥʇ oʇ ǝʌıʇɐןǝɹ sʍoן⅁", + "block.tfmg.aluminum_lamp.tooltip.behaviour2": "buıʍoןb uǝɥʍ ʇɥbıן ǝɥʇ ɟo ɹoןoɔ ǝɥʇ oʇ ɹoןoɔ sǝbuɐɥƆ", + "block.tfmg.aluminum_lamp.tooltip.condition1": "ɹǝʍod ɥʇıʍ pǝpıʌoɹd uǝɥM", + "block.tfmg.aluminum_lamp.tooltip.condition2": "ǝʎp ɐ ɥʇıʍ pǝʇɔɐɹǝʇuı uǝɥM", + "block.tfmg.aluminum_lamp.tooltip.summary": "sʍoן⅁", + "block.tfmg.aluminum_mechanical_pump": "dɯnԀ ןɐɔıuɐɥɔǝW ɯnuıɯnןⱯ", + "block.tfmg.aluminum_pipe": "ǝdıԀ ɯnuıɯnןⱯ", + "block.tfmg.aluminum_scaffolding": "buıpןoɟɟɐɔS ɯnuıɯnןⱯ", + "block.tfmg.aluminum_smart_fluid_pipe": "ǝdıԀ pınןℲ ʇɹɐɯS ɯnuıɯnןⱯ", + "block.tfmg.aluminum_truss": "ssnɹ⟘ ɯnuıɯnןⱯ", + "block.tfmg.asphalt": "ʇןɐɥdsⱯ", + "block.tfmg.asphalt_slab": "qɐןS ʇןɐɥdsⱯ", + "block.tfmg.asphalt_stairs": "sɹıɐʇS ʇןɐɥdsⱯ", + "block.tfmg.asphalt_wall": "ןןɐM ʇןɐɥdsⱯ", + "block.tfmg.bauxite": "ǝʇıxnɐᗺ", + "block.tfmg.bauxite_pillar": "ɹɐןןıԀ ǝʇıxnɐᗺ", + "block.tfmg.black_concrete": "ǝʇǝɹɔuoƆ ʞɔɐןᗺ", + "block.tfmg.black_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ʞɔɐןᗺ", + "block.tfmg.black_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ʞɔɐןᗺ", + "block.tfmg.black_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ʞɔɐןᗺ", + "block.tfmg.black_rebar_concrete": "ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʞɔɐןᗺ", + "block.tfmg.black_rebar_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʞɔɐןᗺ", + "block.tfmg.black_rebar_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʞɔɐןᗺ", + "block.tfmg.black_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʞɔɐןᗺ", + "block.tfmg.blast_furnace_hatch": "ɥɔʇɐH ǝɔɐuɹnℲ ʇsɐןᗺ", + "block.tfmg.blast_furnace_output": "ʇndʇnO ǝɔɐuɹnℲ ʇsɐןᗺ", + "block.tfmg.blast_furnace_reinforcement": "ʇuǝɯǝɔɹoɟuıǝᴚ ǝɔɐuɹnℲ ʇsɐןᗺ", + "block.tfmg.blast_furnace_reinforcement_wall": "ןןɐM ʇuǝɯǝɔɹoɟuıǝᴚ ǝɔɐuɹnℲ ʇsɐןᗺ", + "block.tfmg.blast_stove": "ǝʌoʇS ʇsɐןᗺ", + "block.tfmg.blast_stove.tooltip.behaviour1": "˙doʇ sǝuıɥɔɐɯ ǝɥʇ ɯoɹɟ ʇno pǝdɯnd ǝq ʇsnɯ ɹıɐ pǝʇɐǝɥ ʎןןɐuıɟ puɐ ʞɔoןq ɯoʇʇoq ǝɥʇ ɟo ǝpıs ǝɥʇ ɯoɹɟ ʇno pǝdɯnd ǝq ʇsnɯ ǝpıxoıp uoqɹɐƆ ˙ɯoʇʇoq ǝɥʇ ɯoɹɟ sɐb ǝɔɐuɹnℲ ɹo ǝʇosoǝɹƆ puɐ ʞɔoןq ɯoʇʇoq ǝɥʇ ɟo ǝpıs ǝɥʇ ɯoɹɟ 'ɹıⱯ ˙uı pǝdɯnd ǝq oʇ sbuıɥʇ ᄅ sǝɹınbǝɹ ǝʌoʇS ʇsɐןᗺ Ɐ ˙pǝpuǝɯoɔɔǝɹ ʎןןɐɹǝuǝb sı ɥɔıɥʍ doʇ uo sʞɔoןq ǝʌoʇs ǝɹoɯ ppɐ uɐɔ noʎ ǝbɐɹoʇs ןɐuɹǝʇuı ɹǝɥʇɹnɟ ppɐ oʇ 'pǝʇɐǝɹɔ sı ǝʌoʇs ʇsɐןq ɐ ɟo uoısɹǝʌ ʇsǝןןɐɯs ǝɥʇ )ǝdɐɥs ᄅxƐ ɐ uı ɹo( ɹǝɥʇoɥɔɐǝ ɟo doʇ uo pǝɔɐןd ǝɹɐ sǝʌoʇs ʇsɐןq Ɛ uǝɥM", + "block.tfmg.blast_stove.tooltip.summary": "ɹıⱯ sʇɐǝH", + "block.tfmg.blue_caution_block": "ʞɔoןᗺ uoıʇnɐƆ ǝnןᗺ", + "block.tfmg.blue_concrete": "ǝʇǝɹɔuoƆ ǝnןᗺ", + "block.tfmg.blue_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ǝnןᗺ", + "block.tfmg.blue_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ǝnןᗺ", + "block.tfmg.blue_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ǝnןᗺ", + "block.tfmg.blue_rebar_concrete": "ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝnןᗺ", + "block.tfmg.blue_rebar_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝnןᗺ", + "block.tfmg.blue_rebar_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝnןᗺ", + "block.tfmg.blue_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝnןᗺ", + "block.tfmg.brass_cable_hub": "qnH ǝןqɐƆ ssɐɹᗺ", + "block.tfmg.brass_frame": "ǝɯɐɹℲ ssɐɹᗺ", + "block.tfmg.brass_mechanical_pump": "dɯnԀ ןɐɔıuɐɥɔǝW ssɐɹᗺ", + "block.tfmg.brass_pipe": "ǝdıԀ ssɐɹᗺ", + "block.tfmg.brass_smart_fluid_pipe": "ǝdıԀ pınןℲ ʇɹɐɯS ssɐɹᗺ", + "block.tfmg.brass_truss": "ssnɹ⟘ ssɐɹᗺ", + "block.tfmg.brick_smokestack": "ʞɔɐʇsǝʞoɯS ʞɔıɹᗺ", + "block.tfmg.brown_caution_block": "ʞɔoןᗺ uoıʇnɐƆ uʍoɹᗺ", + "block.tfmg.brown_concrete": "ǝʇǝɹɔuoƆ uʍoɹᗺ", + "block.tfmg.brown_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ uʍoɹᗺ", + "block.tfmg.brown_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ uʍoɹᗺ", + "block.tfmg.brown_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ uʍoɹᗺ", + "block.tfmg.brown_rebar_concrete": "ǝʇǝɹɔuoƆ ɹɐqǝᴚ uʍoɹᗺ", + "block.tfmg.brown_rebar_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ɹɐqǝᴚ uʍoɹᗺ", + "block.tfmg.brown_rebar_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ɹɐqǝᴚ uʍoɹᗺ", + "block.tfmg.brown_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ uʍoɹᗺ", + "block.tfmg.cable_connector": "ɹoʇɐןnsuI ǝןqɐƆ", + "block.tfmg.cable_connector.tooltip.behaviour1": "ɯǝɥʇ uǝǝʍʇǝq ɹǝʍod buıɹɹǝɟsuɐɹʇ sɹoʇɐןnsuı ᄅ ǝɥʇ uǝǝʍʇǝq uoıʇɔǝuuoɔ ɐ pǝʇɐǝɹƆ", + "block.tfmg.cable_connector.tooltip.condition1": "ןoods uɐʇuɐʇsuoɔ/ɯnuıɯnןɐ/ɹǝddoɔ ɐ ɥʇıʍ pǝʞɔıןɔ ʇɥbıɹ ǝɹɐ sɹoʇɐןnsuı ǝןqɐɔ ᄅ uǝɥM", + "block.tfmg.cable_connector.tooltip.summary": "ɹǝʍod sɹǝɟsuɐɹ⟘", + "block.tfmg.cable_tube": "ǝqn⟘ ǝןqɐƆ", + "block.tfmg.cast_iron_bars": "sɹɐᗺ uoɹI ʇsɐƆ", + "block.tfmg.cast_iron_block": "uoɹI ʇsɐƆ ɟo ʞɔoןᗺ", + "block.tfmg.cast_iron_chemical_vat": "ʇɐΛ ןɐɔıɯǝɥƆ uoɹI ʇsɐƆ", + "block.tfmg.cast_iron_fluid_tank": "ʞuɐ⟘ pınןℲ uoɹI ʇsɐƆ", + "block.tfmg.cast_iron_flywheel": "ןǝǝɥʍʎןℲ uoɹI ʇsɐƆ", + "block.tfmg.cast_iron_frame": "ǝɯɐɹℲ uoɹI ʇsɐƆ", + "block.tfmg.cast_iron_ladder": "ɹǝppɐꞀ uoɹI ʇsɐƆ", + "block.tfmg.cast_iron_mechanical_pump": "dɯnԀ ןɐɔıuɐɥɔǝW uoɹI ʇsɐƆ", + "block.tfmg.cast_iron_pipe": "ǝdıԀ uoɹI ʇsɐƆ", + "block.tfmg.cast_iron_smart_fluid_pipe": "ǝdıԀ pınןℲ ʇɹɐɯS uoɹI ʇsɐƆ", + "block.tfmg.cast_iron_truss": "ssnɹ⟘ uoɹI ʇsɐƆ", + "block.tfmg.casting_basin": "uısɐᗺ buıʇsɐƆ", + "block.tfmg.casting_basin.tooltip.behaviour1": "pǝʇıɯıן sı uısɐq ǝɥʇ ɟo ǝbɐɹoʇs ןɐuɹǝʇuı ǝɥʇ sɐ ʇndʇno ʇuǝɔıɟɟns ɐ ǝʌɐɥ ʇsnɯ ɥɔıɥʍ sʇobuı ןǝǝʇs sǝʇɐǝɹƆ", + "block.tfmg.casting_basin.tooltip.condition1": "ןǝǝʇs uǝʇןoɯ ɥʇıʍ pǝıןddns uǝɥM", + "block.tfmg.casting_basin.tooltip.summary": "sʇobuı sʇsɐƆ", + "block.tfmg.cement": "ʇuǝɯǝƆ", + "block.tfmg.cinder_block": "ʞɔoןᗺ ɹǝpuıƆ", + "block.tfmg.cinderflour_block": "ʞɔoןᗺ ɹnoןɟɹǝpuıƆ", + "block.tfmg.circular_light": "dɯɐꞀ ɹɐןnɔɹıƆ", + "block.tfmg.circular_light.tooltip.behaviour1": "buıʌıǝɔǝɹ sʇı ɹǝʍod ɟo ʇunoɯɐ ǝɥʇ oʇ ǝʌıʇɐןǝɹ sʍoן⅁", + "block.tfmg.circular_light.tooltip.behaviour2": "buıʍoןb uǝɥʍ ʇɥbıן ǝɥʇ ɟo ɹoןoɔ ǝɥʇ oʇ ɹoןoɔ sǝbuɐɥƆ", + "block.tfmg.circular_light.tooltip.condition1": "ɹǝʍod ɥʇıʍ pǝpıʌoɹd uǝɥM", + "block.tfmg.circular_light.tooltip.condition2": "ǝʎp ɐ ɥʇıʍ pǝʇɔɐɹǝʇuı uǝɥM", + "block.tfmg.circular_light.tooltip.summary": "sʍoן⅁", + "block.tfmg.coal_coke_block": "ǝʞoƆ ןɐoƆ ɟo ʞɔoןᗺ", + "block.tfmg.cocrete_hose.tooltip.summary": "ǝʇǝɹɔuoɔ ɹɐqǝɹ sɐ sǝıɹp ǝʇǝɹɔuoɔ ʇǝS ˙sʞɔoןq ɹɐqǝɹ oʇuı ʎǝןןnd ǝsoɥ ɐ ǝʞıן ǝʇǝɹɔuoɔ sdɯnԀ", + "block.tfmg.coke_oven": "uǝʌO ǝʞoƆ", + "block.tfmg.concrete": "ǝʇǝɹɔuoƆ", + "block.tfmg.concrete_encased_cable_tube": "ǝqn⟘ ǝןqɐƆ pǝsɐɔuƎ ǝʇǝɹɔuoƆ", + "block.tfmg.concrete_encased_electric_post": "ʇsoԀ ɔıɹʇɔǝןƎ pǝsɐɔuƎ ǝʇǝɹɔuoƆ", + "block.tfmg.concrete_encased_industrial_pipe": "ǝdıԀ ןɐıɹʇsnpuI pǝsɐɔuƎ ǝʇǝɹɔuoƆ", + "block.tfmg.concrete_hose": "ǝsoH ǝʇǝɹɔuoƆ", + "block.tfmg.concrete_slab": "qɐןS ǝʇǝɹɔuoƆ", + "block.tfmg.concrete_smokestack": "ʞɔɐʇsǝʞoɯS ǝʇǝɹɔuoƆ", + "block.tfmg.concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ", + "block.tfmg.concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ", + "block.tfmg.constantan_block": "uɐʇuɐʇsuoƆ ɟo ʞɔoןᗺ", + "block.tfmg.constantan_frame": "ǝɯɐɹℲ uɐʇuɐʇsuoƆ", + "block.tfmg.constantan_ladder": "ɹǝppɐꞀ uɐʇuɐʇsuoƆ", + "block.tfmg.constantan_truss": "ssnɹ⟘ uɐʇuɐʇsuoƆ", + "block.tfmg.converter": "ɹǝʇɹǝʌuoƆ", + "block.tfmg.converter.tooltip.behaviour1": "ɹǝʇɹǝʌuoƆ ǝɥʇ ɟo ǝpıs ǝɥʇ uo nuǝɯ ɐ buıuǝdo ʎq pǝʇsnظqɐ ǝq ʎɐɯ ʇndʇno bɯɟʇ ǝɥʇ ɟo ǝbɐʇןoΛ ˙ʎbɹǝuǝ ⅁WℲ⟘ oʇ ƎℲ ʇɹǝʌuoɔ ɹǝʇɹǝʌuoɔ ǝɥʇ ǝʞɐɯ uɐɔ noʎ ɥɔuǝɹʍ ɐ ɥʇıʍ ƎℲ oʇ ʎbɹǝuǝ ⅁WℲ⟘ sʇɹǝʌuoɔ ʇı ʇןnɐɟǝp ʎq )ǝuoʇspǝɹ( ǝuo ƎℲ uɐ puɐ )ɹǝddoɔ( ʇnduı ⅁WℲ⟘ ɐ sɐɥ ʞɔoןq ǝɥ⟘", + "block.tfmg.converter.tooltip.summary": "ɐsɹǝʌ ǝɔıʌ puɐ ʎbɹǝuǝ ⅁WℲ⟘ oʇ ƎℲ sʇɹǝʌuoƆ", + "block.tfmg.cooling_fluid": "pınןℲ buıןooƆ", + "block.tfmg.copper_cable_hub": "qnH ǝןqɐƆ ɹǝddoƆ", + "block.tfmg.copper_encased_aluminum_pipe": "ǝdıԀ ɯnuıɯnןⱯ pǝsɐɔuƎ ɹǝddoƆ", + "block.tfmg.copper_encased_brass_pipe": "ǝdıԀ ssɐɹᗺ pǝsɐɔuƎ ɹǝddoƆ", + "block.tfmg.copper_encased_cast_iron_pipe": "ǝdıԀ uoɹI ʇsɐƆ pǝsɐɔuƎ ɹǝddoƆ", + "block.tfmg.copper_encased_plastic_pipe": "ǝdıԀ ɔıʇsɐןԀ pǝsɐɔuƎ ɹǝddoƆ", + "block.tfmg.copper_encased_steel_pipe": "ǝdıԀ ןǝǝʇS pǝsɐɔuƎ ɹǝddoƆ", + "block.tfmg.copper_frame": "ǝɯɐɹℲ ɹǝddoƆ", + "block.tfmg.copper_truss": "ssnɹ⟘ ɹǝddoƆ", + "block.tfmg.copycat_cable_base": "ǝsɐᗺ ǝןqɐƆ ʇɐɔʎdoƆ", + "block.tfmg.copycat_cable_block": "ʞɔoןᗺ ǝןqɐƆ ʇɐɔʎdoƆ", + "block.tfmg.creative_generator": "ɹoʇɐɹǝuǝ⅁ ǝʌıʇɐǝɹƆ", + "block.tfmg.creosote": "ǝʇosoǝɹƆ", + "block.tfmg.crude_oil": "ןıO ǝpnɹƆ", + "block.tfmg.cut_bauxite": "ǝʇıxnɐᗺ ʇnƆ", + "block.tfmg.cut_bauxite_brick_slab": "qɐןS ʞɔıɹᗺ ǝʇıxnɐᗺ ʇnƆ", + "block.tfmg.cut_bauxite_brick_stairs": "sɹıɐʇS ʞɔıɹᗺ ǝʇıxnɐᗺ ʇnƆ", + "block.tfmg.cut_bauxite_brick_wall": "ןןɐM ʞɔıɹᗺ ǝʇıxnɐᗺ ʇnƆ", + "block.tfmg.cut_bauxite_bricks": "sʞɔıɹᗺ ǝʇıxnɐᗺ ʇnƆ", + "block.tfmg.cut_bauxite_slab": "qɐןS ǝʇıxnɐᗺ ʇnƆ", + "block.tfmg.cut_bauxite_stairs": "sɹıɐʇS ǝʇıxnɐᗺ ʇnƆ", + "block.tfmg.cut_bauxite_wall": "ןןɐM ǝʇıxnɐᗺ ʇnƆ", + "block.tfmg.cut_galena": "ɐuǝןɐ⅁ ʇnƆ", + "block.tfmg.cut_galena_brick_slab": "qɐןS ʞɔıɹᗺ ɐuǝןɐ⅁ ʇnƆ", + "block.tfmg.cut_galena_brick_stairs": "sɹıɐʇS ʞɔıɹᗺ ɐuǝןɐ⅁ ʇnƆ", + "block.tfmg.cut_galena_brick_wall": "ןןɐM ʞɔıɹᗺ ɐuǝןɐ⅁ ʇnƆ", + "block.tfmg.cut_galena_bricks": "sʞɔıɹᗺ ɐuǝןɐ⅁ ʇnƆ", + "block.tfmg.cut_galena_slab": "qɐןS ɐuǝןɐ⅁ ʇnƆ", + "block.tfmg.cut_galena_stairs": "sɹıɐʇS ɐuǝןɐ⅁ ʇnƆ", + "block.tfmg.cut_galena_wall": "ןןɐM ɐuǝןɐ⅁ ʇnƆ", + "block.tfmg.cyan_caution_block": "ʞɔoןᗺ uoıʇnɐƆ uɐʎƆ", + "block.tfmg.cyan_concrete": "ǝʇǝɹɔuoƆ uɐʎƆ", + "block.tfmg.cyan_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ uɐʎƆ", + "block.tfmg.cyan_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ uɐʎƆ", + "block.tfmg.cyan_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ uɐʎƆ", + "block.tfmg.cyan_rebar_concrete": "ǝʇǝɹɔuoƆ ɹɐqǝᴚ uɐʎƆ", + "block.tfmg.cyan_rebar_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ɹɐqǝᴚ uɐʎƆ", + "block.tfmg.cyan_rebar_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ɹɐqǝᴚ uɐʎƆ", + "block.tfmg.cyan_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ uɐʎƆ", + "block.tfmg.deepslate_lead_ore": "ǝɹO pɐǝꞀ ǝʇɐןsdǝǝᗡ", + "block.tfmg.deepslate_lithium_ore": "ǝɹO ɯnıɥʇıꞀ ǝʇɐןsdǝǝᗡ", + "block.tfmg.deepslate_nickel_ore": "ǝɹO ןǝʞɔıN ǝʇɐןsdǝǝᗡ", + "block.tfmg.diagonal_cable_block": "ʞɔoןᗺ ǝןqɐƆ ןɐuobɐıᗡ", + "block.tfmg.diesel": "ןǝsǝıᗡ", + "block.tfmg.diode.tooltip.behaviour1": ")ǝuo ɹǝʞɹɐp ǝɥʇ uo pǝʇʇndʇno ǝq ʇou pןnoʍ ǝpıs ɹǝʇɥbıן sʇı ɯoɹɟ buıɯoɔ ǝq pןnoʍ ʇɐɥʇ ɹǝʍod ʎuɐ buıuɐǝɯ( ɹǝʍod ɹoɟ ʎɐʍɥʇɐd ʎɐʍ ǝuo ɐ sɐ buıʇɔɐ ǝpıs ɹǝʇɥbıן sʇı uo pǝʇʇndʇno ǝq ןןıʍ ɹǝʍod ǝɥ⟘", + "block.tfmg.diode.tooltip.condition1": "ǝpıs ɹǝʞɹɐp sʇı ɯoɹɟ ɹǝʍod ɥʇıʍ pǝpıʌoɹd uǝɥM", + "block.tfmg.diode.tooltip.summary": "ɥbnoɹɥʇ ʍoןɟ oʇ ɹǝʍod ɹoɟ ʎɐʍǝʇɐb ʎɐʍ ǝuo ɐ sɐ suoıʇɔunℲ", + "block.tfmg.electric_diode": "ǝpoıᗡ", + "block.tfmg.electric_motor": "ɹoʇoW ɔıɹʇɔǝןƎ", + "block.tfmg.electric_post": "ʇsoԀ ɔıɹʇɔǝןƎ", + "block.tfmg.electric_pump": "dɯnԀ ɔıɹʇɔǝןƎ", + "block.tfmg.electrical_switch": "ɥɔʇıʍS ɔıɹʇɔǝןƎ", + "block.tfmg.electrical_switch.tooltip.summary": "ǝuoʇspǝɹ ɥʇıʍ pǝɹǝʍod uǝɥʍ ɥbnoɹɥʇ ɹǝʍod sʇǝꞀ", + "block.tfmg.electrode_holder": "ɹǝpןoH ǝpoɹʇɔǝןƎ", + "block.tfmg.encased_diode": "ǝpoıᗡ pǝsɐɔuƎ", + "block.tfmg.encased_potentiometer": "ɹǝʇǝɯoıʇuǝʇoԀ pǝsɐɔuƎ", + "block.tfmg.engine_controller": "ɹǝןןoɹʇuoƆ ǝuıbuƎ", + "block.tfmg.engine_controller.tooltip.behaviour1": "˙ǝuıbuǝ ǝɥʇ ɥʇıʍ ǝɯɐs ǝɥʇ op uǝɥʇ puɐ ɯǝʇı uoıssıɯsuɐɹʇ ɐ ɥʇıʍ ɹǝןןoɹʇuoɔ ǝɥʇ ʞɔıןƆ-ᴚ", + "block.tfmg.engine_controller.tooltip.behaviour2": "uoıʇɔǝs ʍoɹ⅁ ʇsnW ʎɹoʇɔɐℲ ǝɥ⟘ :ǝʇɐǝɹƆ ǝɥʇ uı ʎןןɐɔıɟıɔǝds sbuıʇʇǝs ʇɟɐɹɔǝuıɯ ǝɥʇ ɟo ʇɹɐd spuıqʎǝʞ ǝɥʇ uı ʞooꞀ", + "block.tfmg.engine_controller.tooltip.condition1": "ǝuıbuǝ uɐ oʇ ʞuıן oʇ ʍoH", + "block.tfmg.engine_controller.tooltip.condition2": "ǝuıbuǝ uɐ ןoɹʇuoɔ oʇ ʍoH", + "block.tfmg.engine_controller.tooltip.summary": "ǝuıbuǝ ɟo sǝdʎʇ snoıɹɐʌ ʎq pǝʇɐɹǝuǝb uoıʇɐʇoɹ ɟo uoıʇɔǝɹıp puɐ pǝǝds ǝɥʇ sןoɹʇuoƆ", + "block.tfmg.engine_gearbox": "xoqɹɐǝ⅁ ǝuıbuƎ", + "block.tfmg.exhaust": "ʇsnɐɥxƎ", + "block.tfmg.factory_floor": "ɹooןℲ ʎɹoʇɔɐℲ", + "block.tfmg.firebox": "xoqǝɹıℲ", + "block.tfmg.firebox.tooltip.behaviour1": "ɹǝuɹnq ǝzɐןq ɐ sɐ buıʇɔɐ ʇı ǝʌoqɐ ʎɹǝuıɥɔɐɯ sʇɐǝH", + "block.tfmg.firebox.tooltip.condition1": "ʇno pǝdɯnd buıǝq ǝpıxoıp uoqɹɐɔ ɥʇıʍ ǝuǝsoɹǝʞ ɹo ɐʇɥdɐu 'ǝuɐdoɹd 'ןǝsǝıp 'ǝuɐʇnq 'bdן ɥʇıʍ pǝןןıɟ uǝɥM", + "block.tfmg.firebox.tooltip.summary": "ǝpısuı pǝdɯnd sı ןǝnɟ uǝɥʍ ʎɹǝuıɥɔɐɯ sʇɐǝH", + "block.tfmg.fireclay": "ʎɐןɔǝɹıℲ", + "block.tfmg.fireclay.tooltip.summary": "pןɹoʍɹǝʌo ǝɥʇ uı pǝʇɐɔoן suıǝʌ punoɹbɹǝpun uı suʍɐdS", + "block.tfmg.fireproof_brick_reinforcement": "ʇuǝɯǝɔɹoɟuıǝᴚ ʞɔıɹᗺ ɟooɹdǝɹıℲ", + "block.tfmg.fireproof_bricks": "sʞɔıɹᗺ ɟooɹdǝɹıℲ", + "block.tfmg.fireproof_chemical_vat": "ʇɐΛ ןɐɔıɯǝɥƆ ɟooɹdǝɹıℲ", + "block.tfmg.flarestack": "ʞɔɐʇsǝɹɐןℲ", + "block.tfmg.flarestack.tooltip.behaviour1": "ǝpısuı pǝdɯnd sı ʇɐɥʍ sǝʇǝןǝᗡ", + "block.tfmg.flarestack.tooltip.condition1": "ɯoʇʇoq ǝɥʇ ɯoɹɟ oʇuı sǝsɐ⅁/spınןℲ ǝןqɐuɹnq pǝdɯnԀ uǝɥM", + "block.tfmg.flarestack.tooltip.summary": "sʇɔnpoɹd ןıo pǝpǝǝuun suɹnᗺ", + "block.tfmg.fossilstone": "ǝuoʇsןıssoℲ", + "block.tfmg.galena": "ɐuǝןɐ⅁", + "block.tfmg.galena_pillar": "ɹɐןןıԀ ɐuǝןɐ⅁", + "block.tfmg.gasoline": "ǝuıןosɐ⅁", + "block.tfmg.generator": "ɹoʇɐɹǝuǝ⅁", + "block.tfmg.glass_aluminum_pipe": "ǝdıԀ ɯnuıɯnןⱯ ssɐן⅁", + "block.tfmg.glass_brass_pipe": "ǝdıԀ ssɐɹᗺ ssɐן⅁", + "block.tfmg.glass_cable_insulator": "ɹoʇɐןnsuI ǝןqɐƆ ssɐן⅁", + "block.tfmg.glass_cable_insulator.tooltip.behaviour1": "ɯǝɥʇ uǝǝʍʇǝq ɹǝʍod buıɹɹǝɟsuɐɹʇ sɹoʇɐןnsuı ᄅ ǝɥʇ uǝǝʍʇǝq uoıʇɔǝuuoɔ ɐ pǝʇɐǝɹƆ", + "block.tfmg.glass_cable_insulator.tooltip.condition1": "ןoods uɐʇuɐʇsuoɔ/ɯnuıɯnןɐ/ɹǝddoɔ ɐ ɥʇıʍ pǝʞɔıןɔ ʇɥbıɹ ǝɹɐ sɹoʇɐןnsuı ǝןqɐɔ ᄅ uǝɥM", + "block.tfmg.glass_cable_insulator.tooltip.summary": "ɹǝʍod sɹǝɟsuɐɹ⟘", + "block.tfmg.glass_cast_iron_pipe": "ǝdıԀ uoɹI ʇsɐƆ ssɐן⅁", + "block.tfmg.glass_plastic_pipe": "ǝdıԀ ɔıʇsɐןԀ ssɐן⅁", + "block.tfmg.glass_steel_pipe": "ǝdıԀ ןǝǝʇS ssɐן⅁", + "block.tfmg.gray_caution_block": "ʞɔoןᗺ uoıʇnɐƆ ʎɐɹ⅁", + "block.tfmg.gray_concrete": "ǝʇǝɹɔuoƆ ʎɐɹ⅁", + "block.tfmg.gray_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ʎɐɹ⅁", + "block.tfmg.gray_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ʎɐɹ⅁", + "block.tfmg.gray_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ʎɐɹ⅁", + "block.tfmg.gray_rebar_concrete": "ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʎɐɹ⅁", + "block.tfmg.gray_rebar_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʎɐɹ⅁", + "block.tfmg.gray_rebar_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʎɐɹ⅁", + "block.tfmg.gray_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʎɐɹ⅁", + "block.tfmg.green_caution_block": "ʞɔoןᗺ uoıʇnɐƆ uǝǝɹ⅁", + "block.tfmg.green_concrete": "ǝʇǝɹɔuoƆ uǝǝɹ⅁", + "block.tfmg.green_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ uǝǝɹ⅁", + "block.tfmg.green_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ uǝǝɹ⅁", + "block.tfmg.green_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ uǝǝɹ⅁", + "block.tfmg.green_rebar_concrete": "ǝʇǝɹɔuoƆ ɹɐqǝᴚ uǝǝɹ⅁", + "block.tfmg.green_rebar_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ɹɐqǝᴚ uǝǝɹ⅁", + "block.tfmg.green_rebar_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ɹɐqǝᴚ uǝǝɹ⅁", + "block.tfmg.green_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ uǝǝɹ⅁", + "block.tfmg.hardened_planks": "sʞuɐןԀ pǝuǝpɹɐH", + "block.tfmg.heavy_cable_hub": "qnH ǝןqɐƆ ʎʌɐǝH", + "block.tfmg.heavy_casing_door": "ɹooᗡ buısɐƆ ʎʌɐǝH", + "block.tfmg.heavy_casing_encased_aluminum_cogwheel": "ןǝǝɥʍboƆ ɯnuıɯnןⱯ pǝsɐɔuƎ buısɐƆ ʎʌɐǝH", + "block.tfmg.heavy_casing_encased_large_aluminum_cogwheel": "ןǝǝɥʍboƆ ɯnuıɯnןⱯ ǝbɹɐꞀ pǝsɐɔuƎ buısɐƆ ʎʌɐǝH", + "block.tfmg.heavy_casing_encased_large_steel_cogwheel": "ןǝǝɥʍboƆ ןǝǝʇS ǝbɹɐꞀ pǝsɐɔuƎ buısɐƆ ʎʌɐǝH", + "block.tfmg.heavy_casing_encased_shaft": "ʇɟɐɥS pǝsɐɔuƎ buısɐƆ ʎʌɐǝH", + "block.tfmg.heavy_casing_encased_steel_cogwheel": "ןǝǝɥʍboƆ ןǝǝʇS pǝsɐɔuƎ buısɐƆ ʎʌɐǝH", + "block.tfmg.heavy_machinery_casing": "buısɐƆ ʎɹǝuıɥɔɐW ʎʌɐǝH", + "block.tfmg.heavy_oil": "ןıO ʎʌɐǝH", + "block.tfmg.heavy_plated_door": "ɹooᗡ pǝʇɐןԀ ʎʌɐǝH", + "block.tfmg.industrial_aluminum_casing": "buısɐƆ ɯnuıɯnןⱯ", + "block.tfmg.industrial_mixer": "ɹǝxıW ןɐıɹʇsnpuI", + "block.tfmg.industrial_pipe": "ǝdıԀ ןɐıɹʇsnpuI", + "block.tfmg.kerosene": "ǝuǝsoɹǝʞ", + "block.tfmg.large_aluminum_cogwheel": "ןǝǝɥʍboƆ ɯnuıɯnןⱯ ǝbɹɐꞀ", + "block.tfmg.large_engine": "ǝuıbuƎ ǝbɹɐꞀ", + "block.tfmg.large_engine.tooltip.behaviour1": ")ǝuıbuǝ ɯɐǝʇs ɐ oʇ ɹɐıןıɯıs pǝɥɔɐʇʇɐ ǝq oʇ spǝǝu ʇɟɐɥs ɐ( uoıʇɐʇoɹ ǝʇɐɹǝuǝb oʇ )ʇsnɐɥxǝ uɐ spǝǝu( ʇno pǝdɯnd ǝq oʇ ᄅoɔ puɐ )sɐ⅁ ǝɔɐuɹnℲ 'ɐʇɥdɐN 'ǝuǝsoɹǝʞ 'ןǝsǝıᗡ( uı pǝdɯnd ǝq oʇ ןǝnɟ puɐ ɹıɐ sǝɹınbǝɹ ʇı uoıʇɔunɟ o⟘", + "block.tfmg.large_engine.tooltip.summary": "sןǝnɟ pǝuıɟǝɹ ssǝן ɯoɹɟ uoıʇɐʇoɹ sǝʇɐǝɹƆ", + "block.tfmg.large_pumpjack_hammer_connector": "ɹoʇɔǝuuoƆ ɹǝɯɯɐH ʞɔɐظdɯnԀ ǝbɹɐꞀ", + "block.tfmg.large_pumpjack_hammer_head": "pɐǝH ɹǝɯɯɐH ʞɔɐظdɯnԀ ǝbɹɐꞀ", + "block.tfmg.large_pumpjack_hammer_part": "ʇɹɐԀ ɹǝɯɯɐH ʞɔɐظdɯnԀ ǝbɹɐꞀ", + "block.tfmg.large_steel_cogwheel": "ןǝǝɥʍboƆ ןǝǝʇS ǝbɹɐꞀ", + "block.tfmg.layered_bauxite": "ǝʇıxnɐᗺ pǝɹǝʎɐꞀ", + "block.tfmg.layered_galena": "ɐuǝןɐ⅁ pǝɹǝʎɐꞀ", + "block.tfmg.lead_bars": "sɹɐᗺ pɐǝꞀ", + "block.tfmg.lead_block": "pɐǝꞀ ɟo ʞɔoןᗺ", + "block.tfmg.lead_flywheel": "ןǝǝɥʍʎןℲ pɐǝꞀ", + "block.tfmg.lead_frame": "ǝɯɐɹℲ pɐǝꞀ", + "block.tfmg.lead_ladder": "ɹǝppɐǝꞀ", + "block.tfmg.lead_ore": "ǝɹO pɐǝꞀ", + "block.tfmg.lead_truss": "ssnɹ⟘ pɐǝꞀ", + "block.tfmg.light_blue_caution_block": "ʞɔoןᗺ uoıʇnɐƆ ǝnןᗺ ʇɥbıꞀ", + "block.tfmg.light_blue_concrete": "ǝʇǝɹɔuoƆ ǝnןᗺ ʇɥbıꞀ", + "block.tfmg.light_blue_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ǝnןᗺ ʇɥbıꞀ", + "block.tfmg.light_blue_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ǝnןᗺ ʇɥbıꞀ", + "block.tfmg.light_blue_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ǝnןᗺ ʇɥbıꞀ", + "block.tfmg.light_blue_rebar_concrete": "ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝnןᗺ ʇɥbıꞀ", + "block.tfmg.light_blue_rebar_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝnןᗺ ʇɥbıꞀ", + "block.tfmg.light_blue_rebar_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝnןᗺ ʇɥbıꞀ", + "block.tfmg.light_blue_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝnןᗺ ʇɥbıꞀ", + "block.tfmg.light_bulb": "qןnᗺ ʇɥbıꞀ", + "block.tfmg.light_bulb.tooltip.behaviour1": "buıʌıǝɔǝɹ sʇı ɹǝʍod ɟo ʇunoɯɐ ǝɥʇ oʇ ǝʌıʇɐןǝɹ sʍoן⅁", + "block.tfmg.light_bulb.tooltip.behaviour2": "buıʍoןb uǝɥʍ ʇɥbıן ǝɥʇ ɟo ɹoןoɔ ǝɥʇ oʇ ɹoןoɔ sǝbuɐɥƆ", + "block.tfmg.light_bulb.tooltip.condition1": "ɹǝʍod ɥʇıʍ pǝpıʌoɹd uǝɥM", + "block.tfmg.light_bulb.tooltip.condition2": "ǝʎp ɐ ɥʇıʍ pǝʇɔɐɹǝʇuı uǝɥM", + "block.tfmg.light_bulb.tooltip.summary": "sʍoן⅁", + "block.tfmg.light_gray_caution_block": "ʞɔoןᗺ uoıʇnɐƆ ʎɐɹ⅁ ʇɥbıꞀ", + "block.tfmg.light_gray_concrete": "ǝʇǝɹɔuoƆ ʎɐɹ⅁ ʇɥbıꞀ", + "block.tfmg.light_gray_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ʎɐɹ⅁ ʇɥbıꞀ", + "block.tfmg.light_gray_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ʎɐɹ⅁ ʇɥbıꞀ", + "block.tfmg.light_gray_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ʎɐɹ⅁ ʇɥbıꞀ", + "block.tfmg.light_gray_rebar_concrete": "ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʎɐɹ⅁ ʇɥbıꞀ", + "block.tfmg.light_gray_rebar_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʎɐɹ⅁ ʇɥbıꞀ", + "block.tfmg.light_gray_rebar_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʎɐɹ⅁ ʇɥbıꞀ", + "block.tfmg.light_gray_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʎɐɹ⅁ ʇɥbıꞀ", + "block.tfmg.lignite": "ǝʇıubıꞀ", + "block.tfmg.lime_caution_block": "ʞɔoןᗺ uoıʇnɐƆ ǝɯıꞀ", + "block.tfmg.lime_concrete": "ǝʇǝɹɔuoƆ ǝɯıꞀ", + "block.tfmg.lime_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ǝɯıꞀ", + "block.tfmg.lime_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ǝɯıꞀ", + "block.tfmg.lime_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ǝɯıꞀ", + "block.tfmg.lime_rebar_concrete": "ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝɯıꞀ", + "block.tfmg.lime_rebar_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝɯıꞀ", + "block.tfmg.lime_rebar_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝɯıꞀ", + "block.tfmg.lime_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝɯıꞀ", + "block.tfmg.liquid_asphalt": "ʇןɐɥdsⱯ pınbıꞀ", + "block.tfmg.liquid_concrete": "ǝʇǝɹɔuoƆ pınbıꞀ", + "block.tfmg.liquid_silicon": "uoɔıןıS pınbıꞀ", + "block.tfmg.lithium_block": "ɯnıɥʇıꞀ ɟo ʞɔoןᗺ", + "block.tfmg.lithium_ore": "ǝɹO ɯnıɥʇıꞀ", + "block.tfmg.lithium_torch": "ɥɔɹo⟘ ɯnıɥʇıꞀ", + "block.tfmg.lubrication_oil": "ןıO uoıʇɐɔıɹqnꞀ", + "block.tfmg.machine_input": "ʇnduI ǝuıɥɔɐW", + "block.tfmg.magenta_caution_block": "ʞɔoןᗺ uoıʇnɐƆ ɐʇuǝbɐW", + "block.tfmg.magenta_concrete": "ǝʇǝɹɔuoƆ ɐʇuǝbɐW", + "block.tfmg.magenta_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ɐʇuǝbɐW", + "block.tfmg.magenta_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ɐʇuǝbɐW", + "block.tfmg.magenta_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɐʇuǝbɐW", + "block.tfmg.magenta_rebar_concrete": "ǝʇǝɹɔuoƆ ɹɐqǝᴚ ɐʇuǝbɐW", + "block.tfmg.magenta_rebar_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ɐʇuǝbɐW", + "block.tfmg.magenta_rebar_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ɐʇuǝbɐW", + "block.tfmg.magenta_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ ɐʇuǝbɐW", + "block.tfmg.metal_smokestack": "ʞɔɐʇsǝʞoɯS ןɐʇǝW", + "block.tfmg.modern_light": "ןǝuɐԀ ʇɥbıꞀ", + "block.tfmg.modern_light.tooltip.behaviour1": "buıʌıǝɔǝɹ sʇı ɹǝʍod ɟo ʇunoɯɐ ǝɥʇ oʇ ǝʌıʇɐןǝɹ sʍoן⅁", + "block.tfmg.modern_light.tooltip.behaviour2": "buıʍoןb uǝɥʍ ʇɥbıן ǝɥʇ ɟo ɹoןoɔ ǝɥʇ oʇ ɹoןoɔ sǝbuɐɥƆ", + "block.tfmg.modern_light.tooltip.condition1": "ɹǝʍod ɥʇıʍ pǝpıʌoɹd uǝɥM", + "block.tfmg.modern_light.tooltip.condition2": "ǝʎp ɐ ɥʇıʍ pǝʇɔɐɹǝʇuı uǝɥM", + "block.tfmg.modern_light.tooltip.summary": "sʍoן⅁", + "block.tfmg.molten_plastic": "ɔıʇsɐןԀ uǝʇןoW", + "block.tfmg.molten_slag": "bɐןS uǝʇןoW", + "block.tfmg.molten_steel": "ןǝǝʇS uǝʇןoW", + "block.tfmg.napalm": "ɯןɐdɐN", + "block.tfmg.napalm_bomb": "qɯoᗺ ɯןɐdɐN", + "block.tfmg.naphtha": "ɐɥʇɥdɐN", + "block.tfmg.neon_tube": "ǝqn⟘ uoǝN", + "block.tfmg.neon_tube.tooltip.behaviour1": "buıʌıǝɔǝɹ sʇı ɹǝʍod ɟo ʇunoɯɐ ǝɥʇ oʇ ǝʌıʇɐןǝɹ sʍoן⅁", + "block.tfmg.neon_tube.tooltip.behaviour2": "buıʍoןb uǝɥʍ ʇɥbıן ǝɥʇ ɟo ɹoןoɔ ǝɥʇ oʇ ɹoןoɔ sǝbuɐɥƆ", + "block.tfmg.neon_tube.tooltip.behaviour3": "ǝqnʇ ǝɥʇ ɹǝʍod oʇ ǝɔɐds ɐ buıpıʌoɹd ǝdɐɥs sǝbuɐɥƆ", + "block.tfmg.neon_tube.tooltip.condition1": "ɹǝʍod ɥʇıʍ pǝpıʌoɹd uǝɥM", + "block.tfmg.neon_tube.tooltip.condition2": "ǝʎp ɐ ɥʇıʍ pǝʇɔɐɹǝʇuı uǝɥM", + "block.tfmg.neon_tube.tooltip.condition3": "ɥɔuǝɹM ɐ ɥʇıʍ pǝʇɔɐɹǝʇuı uǝɥM", + "block.tfmg.neon_tube.tooltip.summary": "sʍoן⅁", + "block.tfmg.nickel_bars": "sɹɐᗺ ןǝʞɔıN", + "block.tfmg.nickel_block": "ןǝʞɔıN ɟo ʞɔoןᗺ", + "block.tfmg.nickel_flywheel": "ןǝǝɥʍʎןℲ ןǝʞɔıN", + "block.tfmg.nickel_frame": "ǝɯɐɹℲ ןǝʞɔıN", + "block.tfmg.nickel_ladder": "ɹǝppɐꞀ ןǝʞɔıN", + "block.tfmg.nickel_ore": "ǝɹO ןǝʞɔıN", + "block.tfmg.nickel_truss": "ssnɹ⟘ ןǝʞɔıN", + "block.tfmg.oil_deposit": "ʇısodǝᗡ ןıO", + "block.tfmg.orange_caution_block": "ʞɔoןᗺ uoıʇnɐƆ ǝbuɐɹO", + "block.tfmg.orange_concrete": "ǝʇǝɹɔuoƆ ǝbuɐɹO", + "block.tfmg.orange_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ǝbuɐɹO", + "block.tfmg.orange_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ǝbuɐɹO", + "block.tfmg.orange_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ǝbuɐɹO", + "block.tfmg.orange_rebar_concrete": "ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝbuɐɹO", + "block.tfmg.orange_rebar_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝbuɐɹO", + "block.tfmg.orange_rebar_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝbuɐɹO", + "block.tfmg.orange_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝbuɐɹO", + "block.tfmg.pink_caution_block": "ʞɔoןᗺ uoıʇnɐƆ ʞuıԀ", + "block.tfmg.pink_concrete": "ǝʇǝɹɔuoƆ ʞuıԀ", + "block.tfmg.pink_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ʞuıԀ", + "block.tfmg.pink_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ʞuıԀ", + "block.tfmg.pink_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ʞuıԀ", + "block.tfmg.pink_rebar_concrete": "ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʞuıԀ", + "block.tfmg.pink_rebar_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʞuıԀ", + "block.tfmg.pink_rebar_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʞuıԀ", + "block.tfmg.pink_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʞuıԀ", + "block.tfmg.plastic_block": "ɔıʇsɐןԀ ɟo ʞɔoןᗺ", + "block.tfmg.plastic_mechanical_pump": "dɯnԀ ןɐɔıuɐɥɔǝW ɔıʇsɐןԀ", + "block.tfmg.plastic_pipe": "ǝdıԀ ɔıʇsɐןԀ", + "block.tfmg.plastic_smart_fluid_pipe": "ǝdıԀ pınןℲ ʇɹɐɯS ɔıʇsɐןԀ", + "block.tfmg.polarizer": "ɹǝzıɹɐןoԀ", + "block.tfmg.polarizer.tooltip.behaviour1": "ǝɯıʇ ɟo ʇıq ɐ ɹǝʇɟɐ ‾ʇobuI ɔıʇǝubɐW‾ ɐ ɥʇıʍ pǝʞɔıןɔ ʇɥbıɹ uǝɥʍ ‾ʇǝubɐW‾ ɐ oʇuı ‾ʇobuI ɔıʇǝubɐW‾ ɐ uɹnʇ ןןıM", + "block.tfmg.polarizer.tooltip.condition1": "pǝɹǝʍod uǝɥM", + "block.tfmg.polarizer.tooltip.summary": "sʇobuI ɔıʇǝubɐW ɟo ʇno sıʇǝubɐW sǝʞɐW", + "block.tfmg.polished_cut_bauxite": "ǝʇıxnɐᗺ ʇnƆ pǝɥsıןoԀ", + "block.tfmg.polished_cut_bauxite_slab": "qɐןS ǝʇıxnɐᗺ ʇnƆ pǝɥsıןoԀ", + "block.tfmg.polished_cut_bauxite_stairs": "sɹıɐʇS ǝʇıxnɐᗺ ʇnƆ pǝɥsıןoԀ", + "block.tfmg.polished_cut_bauxite_wall": "ןןɐM ǝʇıxnɐᗺ ʇnƆ pǝɥsıןoԀ", + "block.tfmg.polished_cut_galena": "ɐuǝןɐ⅁ ʇnƆ pǝɥsıןoԀ", + "block.tfmg.polished_cut_galena_slab": "qɐןS ɐuǝןɐ⅁ ʇnƆ pǝɥsıןoԀ", + "block.tfmg.polished_cut_galena_stairs": "sɹıɐʇS ɐuǝןɐ⅁ ʇnƆ pǝɥsıןoԀ", + "block.tfmg.polished_cut_galena_wall": "ןןɐM ɐuǝןɐ⅁ ʇnƆ pǝɥsıןoԀ", + "block.tfmg.potentiometer": "ɹǝʇǝɯoıʇuǝʇoԀ", + "block.tfmg.potentiometer.tooltip.behaviour1": ")ʇı oʇ buıʇuıod doʇ sʇı uo uɹǝʇʇɐd ǝʞıן ʍoɹɹɐ ǝɥʇ ʎq uǝǝs ǝq uɐɔ ʇndʇno sʇı( ʇndʇno sʇı ʎq pǝʇʇndʇno ǝbɐʇןoʌ ɟo ʇunoɯɐ uıɐʇɹǝɔ ɐ ɥbnoɹɥʇ sʇǝן ʎןuo ǝuıɥɔɐɯ sıɥʇ 'ʇǝs noʎ ǝbɐʇuǝɔǝd ʇɐɥʍ uo pǝsɐᗺ", + "block.tfmg.potentiometer.tooltip.summary": "ǝbɐʇןoʌ ɟo ʇunoɯɐ ʇǝs ɐ ʎןuo ɐ ɥbnoɹɥʇ sʇǝꞀ", + "block.tfmg.pumpjack_base": "ǝsɐᗺ ʞɔɐظdɯnԀ", + "block.tfmg.pumpjack_crank": "ʞuɐɹƆ ʞɔɐظdɯnԀ", + "block.tfmg.pumpjack_hammer": "ɹǝpןoH ɹǝɯɯɐH ʞɔɐظdɯnԀ", + "block.tfmg.pumpjack_hammer_connector": "ɹoʇɔǝuuoƆ ɹǝɯɯɐH ʞɔɐظdɯnԀ", + "block.tfmg.pumpjack_hammer_head": "pɐǝH ɹǝɯɯɐH ʞɔɐظdɯnԀ", + "block.tfmg.pumpjack_hammer_part": "ʇɹɐԀ ɹǝɯɯɐH ʞɔɐظdɯnԀ", + "block.tfmg.purple_caution_block": "ʞɔoןᗺ uoıʇnɐƆ ǝןdɹnԀ", + "block.tfmg.purple_concrete": "ǝʇǝɹɔuoƆ ǝןdɹnԀ", + "block.tfmg.purple_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ǝןdɹnԀ", + "block.tfmg.purple_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ǝןdɹnԀ", + "block.tfmg.purple_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ǝןdɹnԀ", + "block.tfmg.purple_rebar_concrete": "ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝןdɹnԀ", + "block.tfmg.purple_rebar_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝןdɹnԀ", + "block.tfmg.purple_rebar_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝןdɹnԀ", + "block.tfmg.purple_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝןdɹnԀ", + "block.tfmg.radial_engine": "ǝuıbuƎ ןɐıpɐᴚ", + "block.tfmg.raw_lead_block": "pɐǝꞀ ʍɐᴚ ɟo ʞɔoןᗺ", + "block.tfmg.raw_lithium_block": "ɯnıɥʇıꞀ ʍɐᴚ ɟo ʞɔoןᗺ", + "block.tfmg.raw_nickel_block": "ןǝʞɔıN ʍɐᴚ ɟo ʞɔoןᗺ", + "block.tfmg.rebar_block": "ʞɔoןᗺ ɹɐqǝᴚ", + "block.tfmg.rebar_concrete": "ǝʇǝɹɔuoƆ ɹɐqǝᴚ", + "block.tfmg.rebar_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ɹɐqǝᴚ", + "block.tfmg.rebar_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ɹɐqǝᴚ", + "block.tfmg.rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ", + "block.tfmg.rebar_floor": "ɹooןℲ ɹɐqǝᴚ", + "block.tfmg.rebar_pile": "ǝןıԀ ɹɐqǝᴚ", + "block.tfmg.rebar_pillar": "ɹɐןןıԀ ɹɐqǝᴚ", + "block.tfmg.rebar_stairs": "sɹıɐʇS ɹɐqǝᴚ", + "block.tfmg.rebar_wall": "ןןɐM ɹɐqǝᴚ", + "block.tfmg.red_caution_block": "ʞɔoןᗺ uoıʇnɐƆ pǝᴚ", + "block.tfmg.red_concrete": "ǝʇǝɹɔuoƆ pǝᴚ", + "block.tfmg.red_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ pǝᴚ", + "block.tfmg.red_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ pǝᴚ", + "block.tfmg.red_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ pǝᴚ", + "block.tfmg.red_rebar_concrete": "ǝʇǝɹɔuoƆ ɹɐqǝᴚ pǝᴚ", + "block.tfmg.red_rebar_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ɹɐqǝᴚ pǝᴚ", + "block.tfmg.red_rebar_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ɹɐqǝᴚ pǝᴚ", + "block.tfmg.red_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ pǝᴚ", + "block.tfmg.regular_engine": "ǝuıbuƎ ɹɐןnbǝᴚ", + "block.tfmg.reinforced_fireproof_bricks": "sʞɔıɹᗺ ɟooɹdǝɹıℲ pǝɔɹoɟuıǝᴚ", + "block.tfmg.resistor": "ɹoʇsısǝᴚ", + "block.tfmg.resistor.tooltip.behaviour1": "uı sı ʞɔoןq ʇǝbɹɐʇ sʇı dnoɹb ɔıɹʇɔǝןǝ ɹǝʌǝʇɐɥʍ oʇ )dıʇןooʇ sǝuıɥɔɐɯ buıpuıʍ ǝɥʇ ʇɐ ʞooן ǝɔuɐʇsısǝɹ sʇı ǝbuɐɥɔ oʇ ʍoɥ ǝǝs oʇ( ǝɔuɐʇsısǝɹ ǝʌıʇɔǝdsǝɹ sɹoʇsısǝɹ ǝɥʇ sppⱯ", + "block.tfmg.resistor.tooltip.condition1": "dnoɹb ɐ uıɥʇıʍ ʞɔoןq ɐ uo pǝɔɐןd uǝɥM", + "block.tfmg.resistor.tooltip.summary": "ʞɹoʍʇǝu ɐ oʇ ǝɔuɐʇsısǝɹ sppⱯ", + "block.tfmg.rotor": "ɹoʇoᴚ", + "block.tfmg.rusted_blast_furnace_reinforcement": "ʇuǝɯǝɔɹoɟuıǝᴚ ǝɔɐuɹnℲ ʇsɐןᗺ pǝʇsnᴚ", + "block.tfmg.rusted_blast_furnace_reinforcement_wall": "ןןɐM ʇuǝɯǝɔɹoɟuıǝᴚ ǝɔɐuɹnℲ ʇsɐןᗺ pǝʇsnᴚ", + "block.tfmg.segmented_display": "ʎɐןdsıᗡ pǝʇuǝɯbǝS", + "block.tfmg.simple_large_engine": "ǝuıbuƎ ǝbɹɐꞀ ǝןdɯıS", + "block.tfmg.simple_large_engine.tooltip.behaviour1": ")ǝuıbuǝ ɯɐǝʇs ɐ oʇ ɹɐıןıɯıs pǝɥɔɐʇʇɐ ǝq oʇ spǝǝu ʇɟɐɥs ɐ( uoıʇɐʇoɹ ǝʇɐɹǝuǝb oʇ )ʇsnɐɥxǝ uɐ spǝǝu( ʇno pǝdɯnd ǝq oʇ ᄅoɔ puɐ )sɐ⅁ ǝɔɐuɹnℲ 'ɐʇɥdɐN 'ǝuǝsoɹǝʞ 'ןǝsǝıᗡ( uı pǝdɯnd ǝq oʇ ןǝnɟ puɐ ɹıɐ sǝɹınbǝɹ ʇı uoıʇɔunɟ o⟘", + "block.tfmg.simple_large_engine.tooltip.summary": "sןǝnɟ pǝuıɟǝɹ ssǝן ɯoɹɟ )ʇɹɐdɹǝʇunoɔ ɹɐןnbǝɹ sʇı uɐɥʇ ʎןǝʌıʇɔǝɟɟǝ ssǝן( uoıʇɐʇoɹ sǝʇɐǝɹƆ", + "block.tfmg.slag_block": "bɐןS ɟo ʞɔoןᗺ", + "block.tfmg.slag_bricks": "sʞɔıɹᗺ bɐןS", + "block.tfmg.small_bauxite_brick_slab": "qɐןS ʞɔıɹᗺ ǝʇıxnɐᗺ ןןɐɯS", + "block.tfmg.small_bauxite_brick_stairs": "sɹıɐʇS ʞɔıɹᗺ ǝʇıxnɐᗺ ןןɐɯS", + "block.tfmg.small_bauxite_brick_wall": "ןןɐM ʞɔıɹᗺ ǝʇıxnɐᗺ ןןɐɯS", + "block.tfmg.small_bauxite_bricks": "sʞɔıɹᗺ ǝʇıxnɐᗺ ןןɐɯS", + "block.tfmg.small_galena_brick_slab": "qɐןS ʞɔıɹᗺ ɐuǝןɐ⅁ ןןɐɯS", + "block.tfmg.small_galena_brick_stairs": "sɹıɐʇS ʞɔıɹᗺ ɐuǝןɐ⅁ ןןɐɯS", + "block.tfmg.small_galena_brick_wall": "ןןɐM ʞɔıɹᗺ ɐuǝןɐ⅁ ןןɐɯS", + "block.tfmg.small_galena_bricks": "sʞɔıɹᗺ ɐuǝןɐ⅁ ןןɐɯS", + "block.tfmg.stator": "ɹoʇɐʇS", + "block.tfmg.steel_bars": "sɹɐᗺ ןǝǝʇS", + "block.tfmg.steel_block": "ןǝǝʇS ɟo ʞɔoןᗺ", + "block.tfmg.steel_cable_hub": "qnH ǝןqɐƆ ןǝǝʇS", + "block.tfmg.steel_casing": "buısɐƆ ןǝǝʇS", + "block.tfmg.steel_casing_cable_hub": "qnH ǝןqɐƆ buısɐƆ ןǝǝʇS", + "block.tfmg.steel_chemical_vat": "ʇɐΛ ןɐɔıɯǝɥƆ ןǝǝʇS", + "block.tfmg.steel_cogwheel": "ןǝǝɥʍboƆ ןǝǝʇS", + "block.tfmg.steel_distillation_controller": "ɹǝןןoɹʇuoƆ uoıʇɐןןıʇsıᗡ ןǝǝʇS", + "block.tfmg.steel_distillation_output": "ʇndʇnO uoıʇɐןןıʇsıᗡ ןǝǝʇS", + "block.tfmg.steel_door": "ɹooᗡ ןǝǝʇS", + "block.tfmg.steel_encased_aluminum_cogwheel": "ןǝǝɥʍboƆ ɯnuıɯnןⱯ pǝsɐɔuƎ ןǝǝʇS", + "block.tfmg.steel_encased_large_aluminum_cogwheel": "ןǝǝɥʍboƆ ɯnuıɯnןⱯ ǝbɹɐꞀ pǝsɐɔuƎ ןǝǝʇS", + "block.tfmg.steel_encased_large_steel_cogwheel": "ןǝǝɥʍboƆ ןǝǝʇS ǝbɹɐꞀ pǝsɐɔuƎ ןǝǝʇS", + "block.tfmg.steel_encased_shaft": "ʇɟɐɥS pǝsɐɔuƎ ןǝǝʇS", + "block.tfmg.steel_encased_steel_cogwheel": "ןǝǝɥʍboƆ ןǝǝʇS pǝsɐɔuƎ ןǝǝʇS", + "block.tfmg.steel_fluid_tank": "ʞuɐ⟘ pınןℲ ןǝǝʇS", + "block.tfmg.steel_flywheel": "ןǝǝɥʍʎןℲ ןǝǝʇS", + "block.tfmg.steel_frame": "ǝɯɐɹℲ ןǝǝʇS", + "block.tfmg.steel_gearbox": "xoqɹɐǝ⅁ ןǝǝʇS", + "block.tfmg.steel_ladder": "ɹǝppɐꞀ ןǝǝʇS", + "block.tfmg.steel_mechanical_pump": "dɯnԀ ןɐɔıuɐɥɔǝW ןǝǝʇS", + "block.tfmg.steel_pipe": "ǝdıԀ ןǝǝʇS", + "block.tfmg.steel_scaffolding": "buıpןoɟɟɐɔS ןǝǝʇS", + "block.tfmg.steel_smart_fluid_pipe": "ǝdıԀ pınןℲ ʇɹɐɯS ןǝǝʇS", + "block.tfmg.steel_trapdoor": "ɹoopdɐɹ⟘ ןǝǝʇS", + "block.tfmg.steel_truss": "ssnɹ⟘ ןǝǝʇS", + "block.tfmg.sulfur": "ɹnɟןnS", + "block.tfmg.sulfuric_acid": "pıɔⱯ ɔıɹnɟןnS", + "block.tfmg.surface_scanner": "ɹǝuuɐɔS ǝɔɐɟɹnS", + "block.tfmg.surface_scanner.tooltip.behaviour1": "⅁+ƐℲ ɥʇıʍ ǝɯɐbuı uǝǝs ǝq uɐɔ sʞunɥƆ ˙ʎqɹɐǝu sʇısodǝp ןıo ou ǝɹɐ ǝɹǝɥʇ ʇɐɥʇ ʎןǝʞıן sı ʇı uǝɥʇ spuoɔǝs ʍǝɟ ɐ uıɥʇıʍ ʍoןb oʇ ʇɹɐʇs ʇou sǝop ǝɔɐɟɹns ǝɥʇ ɟI ˙ʍoןb pןnoɥs ɯǝɥʇ uı ʇısodǝp ןıo Ɩ ʇsɐǝןʇɐ ǝʌɐɥ ʇɐɥʇ sʞunɥɔ ǝɥʇ 'ɹǝʇuǝɔ ǝɥʇ uı ʞunɥɔ sʇı ɥʇıʍ sʞunɥɔ buıpunoɹɹns ǝɥʇ sʍoɥs pıɹb ϛxϛ doʇ sǝuıɥɔɐɯ ǝɥ⟘", + "block.tfmg.surface_scanner.tooltip.condition1": "ʇnduI ǝuıɥɔɐW ɐ ɥʇıʍ ʍoןǝq ɯoɹɟ pǝɹǝʍod uǝɥM", + "block.tfmg.surface_scanner.tooltip.summary": "ןıo ɥʇıʍ sʞunɥɔ puıɟ oʇ sdןǝH", + "block.tfmg.traffic_light": "ʇɥbıꞀ ɔıɟɟɐɹ⟘", + "block.tfmg.transformer": "ɹǝɯɹoɟsuɐɹ⟘", + "block.tfmg.transformer.tooltip.behaviour1": ")ᄅ = 0ϛ/00Ɩ ǝɔuıs pǝןqnop sı ǝbɐʇןoʌ ǝɥʇ uǝɥʇ 00Ɩ ɐ ɥʇıʍ ǝuo sɐɥ ʇndʇno ǝɥʇ puɐ suɹnʇ 0ϛ ɥʇıʍ ןıoɔ ɐ sɐɥ ʇnduı ǝɥʇ ɟı ǝןdɯɐxǝ ɹoɟ( sןıoɔ ᄅ ǝɥʇ ɟo oıʇɐɹ ǝɥʇ uo pǝsɐq ǝbɐʇןoʌ sʇndʇno )ɹǝddoɔ ɟo ǝuıן ןןɐɯs ɐ ʎq pǝʇɐɔıpuı( ʇndʇno ǝɥʇ ǝɹǝɥʍ ɹǝɯɹoɟsuɐɹʇ ǝɥʇ uo ʇnd ǝq oʇ ǝʌɐɥ ʇɐɥʇ sʇunoɯɐ uɹnʇ ʇuǝɹǝɟɟıp ɟo sןıoɔ ɔıʇǝubɐɯoɹʇɔǝןǝ ᄅ spǝǝN", + "block.tfmg.transformer.tooltip.summary": "ʇınɔɹıɔ ɐ uı ǝbɐʇןoʌ ǝɥʇ sǝbuɐɥƆ", + "block.tfmg.turbine_engine": "ǝuıbuƎ ǝuıqɹn⟘", + "block.tfmg.voltage_observer": "ɹǝʌɹǝsqO ǝbɐʇןoΛ", + "block.tfmg.voltage_observer.tooltip.summary": "pǝʇɔǝʇǝp sı ǝbɐʇןoʌ ʎuɐ uǝɥʍ ǝuoʇspǝɹ sɹǝʍoԀ", + "block.tfmg.voltmeter": "ǝbnɐ⅁ ɔıɹʇɔǝןƎ", + "block.tfmg.voltmeter.tooltip.behaviour1": "˙ɥɔuǝɹʍ ɐ ɥʇıʍ ʞɔıןƆ-ᴚ ǝɹnsɐǝɯ uɐɔ ʇı ʇɐɥʍ ɟo suoıʇdo snoıɹɐʌ ɯoɹɟ ǝsooɥɔ o⟘ ˙sǝןbbob sɹǝǝuıbuǝ ɥʇıʍ ʇı ʇɐ ʞooן buıɹnsɐǝɯ ʎןʇuǝɹɹnɔ sʇı ʇɐɥʍ ǝǝs o⟘ ˙sʇןoʌ 00ϛ oʇ 0 ɯoɹɟ ǝbɐʇןoʌ ǝɹnsɐǝɯ ןןıʍ ʇı ʇןnɐɟǝp ʎᗺ ˙ʇuǝuodɯoɔ/ʞɔoןq ɔıɹʇɔǝןǝ uɐ uo ʞɔoןq sıɥʇ ʇnd ǝsn o⟘", + "block.tfmg.voltmeter.tooltip.summary": "ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇnoqɐ sǝnןɐʌ ʇuǝɹǝɟɟıp snoıɹɐʌ sʍoɥS", + "block.tfmg.white_caution_block": "ʞɔoןᗺ uoıʇnɐƆ ǝʇıɥM", + "block.tfmg.white_concrete": "ǝʇǝɹɔuoƆ ǝʇıɥM", + "block.tfmg.white_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ǝʇıɥM", + "block.tfmg.white_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ǝʇıɥM", + "block.tfmg.white_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ǝʇıɥM", + "block.tfmg.white_rebar_concrete": "ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝʇıɥM", + "block.tfmg.white_rebar_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝʇıɥM", + "block.tfmg.white_rebar_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝʇıɥM", + "block.tfmg.white_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝʇıɥM", + "block.tfmg.winding_machine": "ǝuıɥɔɐW buıpuıM", + "block.tfmg.winding_machine.tooltip.behaviour1": "˙pǝɥsıuıɟ sı buıpuıʍ ɹnoʎ uǝɥʍ ǝǝs oʇ sǝןbbob sɹǝǝuıbuƎ ǝɥʇ ǝs∩ ˙uoıʇɐʇoɹ ɥʇıʍ ɹǝʍod puɐ sɯɥo/suɹnʇ ɟo ʇunoɯɐ ǝɥʇ ʇǝs oʇ ʇı ɥʇıʍ ʇɔɐɹǝʇuI ˙sɹoʇsısǝɹ ɹoɟ ǝuo ɯnıuıɯnןⱯ uɐ puɐ sןıoƆ ɹoɟ ןoods ɹǝddoƆ ɐ ɹǝɥʇıǝ ɥʇıʍ ʞɔıןɔ ʇɥbıɹ uǝɥʇ puɐ )ɹoʇsısǝᴚ ɹo ןıoƆ ɔıʇǝubɐɯoɹʇɔǝןƎ( ɯǝʇı pǝɹısǝp ɹnoʎ ɥʇıʍ ʞɔıןɔ ʇɥbıᴚ", + "block.tfmg.winding_machine.tooltip.summary": "sɹoʇsısǝɹ uo ǝɔuɐʇsısǝɹ ǝɥʇ puɐ sןoods uo suɹnʇ ɟo ʇunoɯɐ ǝɥʇ sǝbuɐɥƆ", + "block.tfmg.yellow_caution_block": "ʞɔoןᗺ uoıʇnɐƆ ʍoןןǝʎ", + "block.tfmg.yellow_concrete": "ǝʇǝɹɔuoƆ ʍoןןǝʎ", + "block.tfmg.yellow_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ʍoןןǝʎ", + "block.tfmg.yellow_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ʍoןןǝʎ", + "block.tfmg.yellow_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ʍoןןǝʎ", + "block.tfmg.yellow_rebar_concrete": "ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʍoןןǝʎ", + "block.tfmg.yellow_rebar_concrete_slab": "qɐןS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʍoןןǝʎ", + "block.tfmg.yellow_rebar_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʍoןןǝʎ", + "block.tfmg.yellow_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʍoןןǝʎ", + "block.tfmg.zinc_frame": "ǝɯɐɹℲ ɔuıZ", + "block.tfmg.zinc_truss": "ssnɹ⟘ ɔuıZ", + "create.creative_generator.voltage_generation": "uoıʇɐɹǝuǝ⅁ ǝbɐʇןoΛ", + "create.distillation_output.mode.keep_fluid": "ssǝɔoɹԀ uoıʇɐןןıʇsıᗡ doʇS", + "create.distillation_output.mode.void_when_full": "pınןℲ ssǝɔxƎ pıoΛ", + "create.distillation_output.when_tank_is_full": "ןןnℲ sı ʞuɐ⟘ ןɐuɹǝʇuI uǝɥM", + "create.fe": "%1$s :ƎℲ", + "create.goggles.ammeter": ":ɹǝʇǝɯɯⱯ", + "create.goggles.ammeter.amps": "Λ %1$s :sdɯⱯ pǝɹnsɐǝW ", + "create.goggles.blast_furnace.fuel_amount": "%1$s : ןǝnℲ ", + "create.goggles.blast_furnace.height": "%1$s :ʇɥbıǝH ", + "create.goggles.blast_furnace.modifier": "%1$s :ǝɯı⟘ uoıʇɔnpoɹԀ", + "create.goggles.blast_furnace.reinforced": "pǝɔɹoɟuıǝᴚ", + "create.goggles.blast_furnace.stats": ":ǝɔɐuɹnℲ ʇsɐןᗺ", + "create.goggles.blast_furnace.timer": "%1$s :ʇɟǝꞀ ǝɯı⟘", + "create.goggles.blast_stove.header": " :ǝʌoʇS ʇsɐןᗺ", + "create.goggles.blast_stove.tank1": " :ʞuɐ⟘ ʇnduI", + "create.goggles.blast_stove.tank2": " :ʞuɐ⟘ ןǝnℲ", + "create.goggles.blast_stove.tank3": " :Ɩ ʞuɐ⟘ ʇndʇnO", + "create.goggles.blast_stove.tank4": " :ᄅ ʞuɐ⟘ ʇndʇnO", + "create.goggles.coke_oven.header": ":uǝʌO ǝʞoƆ", + "create.goggles.coke_oven.progress": "%1$s :ssǝɹboɹԀ", + "create.goggles.distillation_tower.found_outputs": "%1$s :ʇunoƆ ʇndʇnO", + "create.goggles.distillation_tower.level": "%1$s :ןǝʌǝꞀ ʇɐǝH", + "create.goggles.distillation_tower.no_outputs": "punoℲ sʞɔoןᗺ ʇndʇnO oN", + "create.goggles.distillation_tower.status": ":oɟuI ɹǝʍo⟘ uoıʇɐןןıʇsıᗡ", + "create.goggles.distillation_tower.tank_not_found": "punoℲ ʇoN ʞuɐ⟘ pınןℲ ןǝǝʇS", + "create.goggles.electric_machine.no_power": "ɹǝʍoԀ oN", + "create.goggles.electricity.insufficient_voltage": "ǝbɐʇןoΛ ʇuǝıɔıɟɟnsuI", + "create.goggles.electrode_holder.min_amps": " spǝǝN( ʇuǝɹɹnƆ ɥbnouƎ ʇoN", + "create.goggles.engine.cooling_fluid": " :pınןℲ buıןooƆ", + "create.goggles.engine.fuel_consumption": ":uoıʇdɯnsuoƆ ןǝnℲ ", + "create.goggles.engine.header": "oɟuI ǝuıbuƎ", + "create.goggles.engine.next_component": " :ʇuǝuodɯoƆ ʇxǝN ", + "create.goggles.engine.oil": " :ןıO", + "create.goggles.engine.pistons_missing": "buıssıW suoʇsıԀ", + "create.goggles.engine.rpm": " :pǝǝdS ", + "create.goggles.engine.signal": " :ןɐubıS ", + "create.goggles.engine.torque": ":ǝnbɹo⟘ ", + "create.goggles.engine.turbines_missing": "buıssıW sǝuıqɹn⟘", + "create.goggles.engine.type": " :ǝdʎ⟘ ", + "create.goggles.engine.unfinished": "pǝɥsıuıɟu∩ ǝuıbuƎ", + "create.goggles.fluid_storage": ":ǝbɐɹoʇS pınןℲ", + "create.goggles.gauge.value": ":ǝbɐʇןoΛ pǝɹnsɐǝW ", + "create.goggles.generator.production": "ʇ/ǝɟ %1$s :uoıʇɔnpoɹԀ ʎbɹǝuƎ", + "create.goggles.item_storage": ":ǝbɐɹoʇS ɯǝʇI", + "create.goggles.item_storage_empty": "*ʎʇdɯƎ*", + "create.goggles.machine_input.info": "oɟuI ʇnduI ǝuıɥɔɐW", + "create.goggles.machine_input.no_rot": "¡pǝpıʌoɹԀ uoıʇɐʇoᴚ oN", + "create.goggles.machine_input.power_level": " :ןǝʌǝꞀ ɹǝʍoԀ", + "create.goggles.motor.usage": "ʇ/ǝɟ %1$s :ǝbɐs∩ ʎbɹǝuƎ", + "create.goggles.polarizer.charge": " :ǝbɹɐɥƆ", + "create.goggles.polarizer.header": "ɹǝzıɹɐןoԀ", + "create.goggles.polarizer.insufficient_power": ")M000ᄅ spǝǝN( ɹǝʍoԀ ɥbnouƎ ʇoN", + "create.goggles.pumpjack.deposit_info": ":oɟuI ʇısodǝᗡ", + "create.goggles.pumpjack.fluid_amount": ":ʇunoɯⱯ pınןℲ", + "create.goggles.pumpjack.part_missing": "buıssıW ʞuɐɹƆ ɹo ɹǝɯɯɐH", + "create.goggles.pumpjack.reserves": " :sǝʌɹǝsǝᴚ ʇısodǝᗡ", + "create.goggles.pumpjack.wrong_rotation1": "ʇsnɯ ɹǝʞɹɐɯ pǝɹ ǝɥʇ 'ʎןʇɔǝɹɹoɔuı pǝʇuǝıɹo sı ǝsɐᗺ ʞɔɐظdɯnԀ ǝɥ⟘", + "create.goggles.pumpjack.wrong_rotation2": "ɹǝpןoH ɹǝɯɯɐH ʞɔɐظdɯnԀ ǝɥʇ ɯoɹɟ ʎɐʍɐ ǝɔɐɟ", + "create.goggles.pumpjack_fluid_storage": ":oɟuI ʞuɐ⟘ pınןℲ", + "create.goggles.pumpjack_info": ":oɟuI ʞɔɐظdɯnԀ", + "create.goggles.surface_scanner.deposits_found": "punoℲ sʇısodǝᗡ ןıO ɥʇıM sʞunɥƆ ", + "create.goggles.surface_scanner.header": "ɹǝuuɐɔS ǝɔɐɟɹnS", + "create.goggles.surface_scanner.no_deposit": "punoℲ sʇısodǝᗡ oN", + "create.goggles.surface_scanner.no_rotation": ")ɯdɹㄣ9 spǝǝN( uoıʇɐʇoᴚ ɥbnouƎ ʇoN", + "create.goggles.vat.attachments": ":sʇuǝɯɥɔɐʇʇⱯ", + "create.goggles.vat.contents": ":sʇuǝʇuoƆ ʇɐΛ", + "create.goggles.vat.header": "ʇɐΛ ןɐɔıɯǝɥƆ", + "create.goggles.vat.heat_status": " :snʇɐʇS ʇɐǝH", + "create.goggles.vat.heated": "pǝʇɐǝH", + "create.goggles.vat.no_heat": "ʇɐǝH oN", + "create.goggles.vat.superheated": "pǝʇɐǝɥɹǝdnS", + "create.goggles.vat.tfmg.centrifuge": "ǝbnɟıɹʇuǝƆ ", + "create.goggles.vat.tfmg.electrode": "ǝpoɹʇɔǝןƎ ", + "create.goggles.vat.tfmg.graphite_electrode": "ǝpoɹʇɔǝןƎ ǝʇıɥdɐɹ⅁ ", + "create.goggles.vat.tfmg.mixing": "ɹǝxıW ", + "create.goggles.voltmeter": ":ɹǝʇǝɯʇןoΛ", + "create.goggles.voltmeter.range": "%1$s :ǝbuɐᴚ ", + "create.goggles.winding_machine.header": "ǝuıɥɔɐW buıpuıM", + "create.goggles.winding_machine.progress": " :ssǝɹboɹԀ", + "create.goggles.winding_machine.turns": " :ʇɟǝꞀ suɹn⟘", + "create.goggles.zero": "pıןɐʌuI ǝuıɥɔɐW", + "create.multimeter.additional_values": ":sǝnןɐΛ ןɐuoıʇıppⱯ", + "create.multimeter.energy_stored": " :pǝɹoʇS ʎbɹǝuƎ ", + "create.multimeter.energy_usage": " :ǝbɐs∩ ʎbɹǝuƎ ", + "create.multimeter.group": " :dnoɹ⅁ ", + "create.multimeter.header": ":ɐʇɐᗡ ɹǝʇǝɯıʇןnW", + "create.multimeter.power_generated": " :pǝʇɐɹǝuǝ⅁ ɹǝʍoԀ ", + "create.multimeter.power_percentage": " :ɥʇbuǝɹʇS pıɹ⅁ ", + "create.multimeter.power_usage": " :ǝbɐs∩ ɹǝʍoԀ ", + "create.multimeter.transformer_ratio": " :oıʇɐᴚ uɹn⟘ ", + "create.multimeter.voltage_generated": " :pǝʇɐɹǝuǝ⅁ ǝbɐʇןoΛ ", + "create.network": "%1$s :ʞɹoʍʇǝN", + "create.oil_hammer.reserves": "%1$s :sǝʌɹǝsǝᴚ ןıO", + "create.pumpjack_deposit_amount": "sʇǝʞɔnᗺ %1$s", + "create.recipe.advanced_distillation": "uoıʇɐןןıʇsıᗡ pǝɔuɐʌpⱯ", + "create.recipe.assembly.winding": "ןoodS ɐ puıM", + "create.recipe.casting": "buıʇsɐƆ", + "create.recipe.chemical_vat": "ʇɐΛ ןɐɔıɯǝɥƆ", + "create.recipe.coking": "buıʞoƆ", + "create.recipe.distillation": "uoıʇɐןןıʇsıᗡ", + "create.recipe.hot_blast": "buıʇsɐןᗺ ɹıⱯ", + "create.recipe.industrial_blasting": "buıʇsɐןᗺ ןɐıɹʇsnpuI", + "create.recipe.polarizing": "buızıɹɐןoԀ", + "create.recipe.winding": "buıpuıM", + "create.resistor.allowed_voltage": "pǝʍoןןⱯ ǝbɐʇןoΛ ɟo ǝbɐʇuǝɔɹǝԀ", + "create.tooltip.coils": "%1$s :suɹn⟘", + "create.tooltip.cylinder": ":sןǝnℲ pǝʇɹoddnS", + "create.tooltip.fluid_item": "%1$s :ʇunoɯⱯ pınןℲ", + "create.tooltip.fuse": "%1$s :buıʇɐᴚ", + "create.tooltip.resistor": "%1$s :ǝɔuɐʇsısǝᴚ", + "create.voltage": "%1$s :ǝbɐʇןoΛ", + "create.winding_machine.turn_percentage": ")000Ɩ ɯoɹℲ( ǝbɐʇuǝɔɹǝԀ uɹn⟘ pǝʍoןןⱯ", + "create.wires.removed_data": "pǝʌoɯǝᴚ ɐʇɐᗡ", + "creative_tab.tfmg_decoration": "sʞɔoןᗺ buıpןınᗺ ⅁WℲ⟘ :ǝʇɐǝɹƆ", + "creative_tab.tfmg_main": "ʍoɹ⅁ ʇsnW ʎɹoʇɔɐℲ ǝɥ⟘ :ǝʇɐǝɹƆ", + "death.attack.tfmg.acid": "ɥʇɐq pıɔɐ uɐ ʞooʇ %1$s", + "death.attack.tfmg.acid.player": "ɥʇɐq pıɔɐ uɐ ʞooʇ %1$s", + "death.attack.tfmg.blast_furnace": "ןǝǝʇs uoqɹɐɔ uı pǝuɹnʇ sɐʍ %1$s", + "death.attack.tfmg.blast_furnace.player": "ǝɔɐuɹnɟ ʇsɐןq ɐ oʇuı uʍoɹɥʇ sɐʍ %1$s", + "death.attack.tfmg.concrete": "ǝʇǝɹɔuoƆ ʇɐǝ oʇ pǝıɹʇ %1$s", + "death.attack.tfmg.concrete.player": "ǝʇǝɹɔuoƆ ʇɐǝ oʇ pǝıɹʇ %1$s", + "effect.tfmg.hellfire": "ǝɹıɟןןǝH", + "entity.tfmg.blue_spark": "ʞɹɐdS ǝnןᗺ", + "entity.tfmg.copper_grenade": "ǝpɐuǝɹ⅁ ɹǝddoƆ", + "entity.tfmg.green_spark": "ʞɹɐdS uǝǝɹ⅁", + "entity.tfmg.lithium_spark": "ʞɹɐdS ɯnıɥʇıꞀ", + "entity.tfmg.napalm_bomb_entity": "ʎʇıʇuƎ qɯoᗺ ɯןɐdɐN", + "entity.tfmg.napalm_potato": "oʇɐʇoԀ ɯןɐdɐN", + "entity.tfmg.pipe_bomb": "qɯoᗺ ǝdıԀ", + "entity.tfmg.spark": "ʞɹɐdS", + "entity.tfmg.thermite_grenade": "ǝpɐuǝɹ⅁ ǝʇıɯɹǝɥ⟘", + "entity.tfmg.zinc_grenade": "ǝpɐuǝɹ⅁ ɔuıZ", + "fluid.tfmg.air": "ɹıⱯ", + "fluid.tfmg.butane": "ǝuɐʇnᗺ", + "fluid.tfmg.carbon_dioxide": "ǝpıxoıᗡ uoqɹɐƆ", + "fluid.tfmg.cooling_fluid": "pınןℲ buıןooƆ", + "fluid.tfmg.creosote": "ǝʇosoǝɹƆ", + "fluid.tfmg.crude_oil": "ןıO ǝpnɹƆ", + "fluid.tfmg.diesel": "ןǝsǝıᗡ", + "fluid.tfmg.ethylene": "ǝuǝןʎɥʇƎ", + "fluid.tfmg.furnace_gas": "sɐ⅁ ǝɔɐuɹnℲ", + "fluid.tfmg.gasoline": "ǝuıןosɐ⅁", + "fluid.tfmg.heavy_oil": "ןıO ʎʌɐǝH", + "fluid.tfmg.hot_air": "ɹıⱯ ʇoH", + "fluid.tfmg.hydrogen": "uǝboɹpʎH", + "fluid.tfmg.kerosene": "ǝuǝsoɹǝʞ", + "fluid.tfmg.liquid_asphalt": "ʇןɐɥdsⱯ pınbıꞀ", + "fluid.tfmg.liquid_concrete": "ǝʇǝɹɔuoƆ pınbıꞀ", + "fluid.tfmg.liquid_silicon": "uoɔıןıS pınbıꞀ", + "fluid.tfmg.lpg": "bdꞀ", + "fluid.tfmg.lubrication_oil": "ןıO uoıʇɐɔıɹqnꞀ", + "fluid.tfmg.molten_plastic": "ɔıʇsɐןԀ uǝʇןoW", + "fluid.tfmg.molten_slag": "bɐןS uǝʇןoW", + "fluid.tfmg.molten_steel": "ןǝǝʇS uǝʇןoW", + "fluid.tfmg.napalm": "ɯןɐdɐN", + "fluid.tfmg.naphtha": "ɐɥʇɥdɐN", + "fluid.tfmg.neon": "uoǝN", + "fluid.tfmg.propane": "ǝuɐdoɹԀ", + "fluid.tfmg.propylene": "ǝuǝןʎdoɹԀ", + "fluid.tfmg.sulfuric_acid": "pıɔⱯ ɔıɹnɟןnS", + "item.minecraft.lingering_potion.effect.hellfire_potion": "ǝɹıɟןןǝH ɟo uoıʇoԀ buıɹǝbuıꞀ", + "item.minecraft.potion.effect.hellfire_potion": "ǝɹıɟןןǝH ɟo uoıʇoԀ", + "item.minecraft.splash_potion.effect.hellfire_potion": "ǝɹıɟןןǝH ɟo uoıʇoԀ ɥsɐןdS", + "item.minecraft.tipped_arrow.effect.hellfire_potion": "ǝɹıɟןןǝH ɟo ʍoɹɹⱯ", + "item.tfmg.advanced_potato_cannon": "uouuɐƆ oʇɐʇoԀ pǝɔuɐʌpⱯ", + "item.tfmg.advanced_potato_cannon.tooltip.behaviour1": "˙‾ʎɹoʇuǝʌuI‾ ɹnoʎ ɯoɹɟ ‾oʇɐʇoԀ ɯןɐdɐN‾ ɐ ‾sʇooɥS‾", + "item.tfmg.advanced_potato_cannon.tooltip.behaviour2": "ʞuɐ⟘ ǝɥʇ ɯoɹɟ pǝuıɐɹp sı ‾ǝɹnssǝɹd‾ ‾ɹıⱯ‾ 'pɐǝʇsuI ˙pǝsn ǝq ןןıʍ ‾ʎʇıןıqɐɹnᗡ‾ ‾oN‾", + "item.tfmg.advanced_potato_cannon.tooltip.condition1": "pǝʞɔıןƆ-ᴚ uǝɥM", + "item.tfmg.advanced_potato_cannon.tooltip.condition2": "ʞuɐʇʞɔɐᗺ buıɹɐǝʍ ǝןıɥM", + "item.tfmg.advanced_potato_cannon.tooltip.summary": "‾ʞuɐʇʞɔɐᗺ‾ ɐ ɯoɹɟ ‾ǝɹnssǝɹԀ‾ ‾ɹıⱯ‾ ɥʇıʍ pǝɹǝʍod ǝq uɐƆ ˙sǝıɯǝuƎ ʇɐ ‾sǝoʇɐʇoԀ ɯןɐdɐN‾ sǝɥɔunɐꞀ", + "item.tfmg.air_bucket": "ʞuɐ⟘ ɹıⱯ", + "item.tfmg.aluminum_axe": "ǝxⱯ ɯnuıɯnןⱯ", + "item.tfmg.aluminum_hoe": "ǝoH ɯnuıɯnןⱯ", + "item.tfmg.aluminum_ingot": "ʇobuI ɯnuıɯnןⱯ", + "item.tfmg.aluminum_nugget": "ʇǝbbnN ɯnuıɯnןⱯ", + "item.tfmg.aluminum_pickaxe": "ǝxɐʞɔıԀ ɯnuıɯnןⱯ", + "item.tfmg.aluminum_sheet": "ʇǝǝɥS ɯnuıɯnןⱯ", + "item.tfmg.aluminum_shovel": "ןǝʌoɥS ɯnuıɯnןⱯ", + "item.tfmg.aluminum_spool": "ןoodS ɯnuıɯnןⱯ", + "item.tfmg.aluminum_sword": "pɹoʍS ɯnuıɯnןⱯ", + "item.tfmg.aluminum_wire": "ǝɹıM ɯnuıɯnןⱯ", + "item.tfmg.asphalt_mixture": "ǝɹnʇxıW ʇןɐɥdsⱯ", + "item.tfmg.bauxite_powder": "ɹǝpʍoԀ ǝʇıxnɐᗺ", + "item.tfmg.bitumen": "uǝɯnʇıᗺ", + "item.tfmg.black_multimeter": "ɹǝʇǝɯıʇןnW ʞɔɐןᗺ", + "item.tfmg.black_multimeter.tooltip.behaviour1": "dnoɹb sʇuǝuodɯoɔ ǝɥʇ ɥʇıʍ buoןɐ ʎןǝʌıʇɔǝdsǝɹ sʇʇɐʍoןıʞ puɐ sǝɹǝdɯɐ 'sʇןoʌ 'sɯɥo uı ɹǝʍod puɐ ʇuǝɹɹnɔ 'ǝbɐʇןoʌ 'ǝɔuɐʇsısǝɹ sʍoɥS", + "item.tfmg.black_multimeter.tooltip.behaviour2": "uoıʇdɯnsuoɔ puɐ uoıʇɐɹǝuǝb ɹǝʍod ןɐʇoʇ sʞɹoʍʇǝu ǝɥʇ sʍoɥs ɹǝʇǝɯıʇןnɯ ǝɥʇ sʇɐʇs pǝuoıʇuǝɯ ʎןsnoıʌǝɹd ǝɥʇ oʇ ʎןןɐuoıʇıppⱯ", + "item.tfmg.black_multimeter.tooltip.condition1": "sǝןbbo⅁ sɹǝǝuıbuƎ buıɹɐǝʍ ǝןıɥʍ ʞɹoʍ ʇou sǝop ʇI :Ǝ⟘ON ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.black_multimeter.tooltip.condition2": "buıɥɔnoɹɔ ǝןıɥʍ ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.black_multimeter.tooltip.summary": "ʞɹoʍʇǝu sʇı puɐ ʞɔoןq ןɐɔıɹʇɔǝןǝ uɐ ʇnoqɐ ɐʇɐp sʍoɥS", + "item.tfmg.blue_multimeter": "ɹǝʇǝɯıʇןnW ǝnןᗺ", + "item.tfmg.blue_multimeter.tooltip.behaviour1": "dnoɹb sʇuǝuodɯoɔ ǝɥʇ ɥʇıʍ buoןɐ ʎןǝʌıʇɔǝdsǝɹ sʇʇɐʍoןıʞ puɐ sǝɹǝdɯɐ 'sʇןoʌ 'sɯɥo uı ɹǝʍod puɐ ʇuǝɹɹnɔ 'ǝbɐʇןoʌ 'ǝɔuɐʇsısǝɹ sʍoɥS", + "item.tfmg.blue_multimeter.tooltip.behaviour2": "uoıʇdɯnsuoɔ puɐ uoıʇɐɹǝuǝb ɹǝʍod ןɐʇoʇ sʞɹoʍʇǝu ǝɥʇ sʍoɥs ɹǝʇǝɯıʇןnɯ ǝɥʇ sʇɐʇs pǝuoıʇuǝɯ ʎןsnoıʌǝɹd ǝɥʇ oʇ ʎןןɐuoıʇıppⱯ", + "item.tfmg.blue_multimeter.tooltip.condition1": "sǝןbbo⅁ sɹǝǝuıbuƎ buıɹɐǝʍ ǝןıɥʍ ʞɹoʍ ʇou sǝop ʇI :Ǝ⟘ON ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.blue_multimeter.tooltip.condition2": "buıɥɔnoɹɔ ǝןıɥʍ ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.blue_multimeter.tooltip.summary": "ʞɹoʍʇǝu sʇı puɐ ʞɔoןq ןɐɔıɹʇɔǝןǝ uɐ ʇnoqɐ ɐʇɐp sʍoɥS", + "item.tfmg.brown_multimeter": "ɹǝʇǝɯıʇןnW uʍoɹᗺ", + "item.tfmg.brown_multimeter.tooltip.behaviour1": "dnoɹb sʇuǝuodɯoɔ ǝɥʇ ɥʇıʍ buoןɐ ʎןǝʌıʇɔǝdsǝɹ sʇʇɐʍoןıʞ puɐ sǝɹǝdɯɐ 'sʇןoʌ 'sɯɥo uı ɹǝʍod puɐ ʇuǝɹɹnɔ 'ǝbɐʇןoʌ 'ǝɔuɐʇsısǝɹ sʍoɥS", + "item.tfmg.brown_multimeter.tooltip.behaviour2": "uoıʇdɯnsuoɔ puɐ uoıʇɐɹǝuǝb ɹǝʍod ןɐʇoʇ sʞɹoʍʇǝu ǝɥʇ sʍoɥs ɹǝʇǝɯıʇןnɯ ǝɥʇ sʇɐʇs pǝuoıʇuǝɯ ʎןsnoıʌǝɹd ǝɥʇ oʇ ʎןןɐuoıʇıppⱯ", + "item.tfmg.brown_multimeter.tooltip.condition1": "sǝןbbo⅁ sɹǝǝuıbuƎ buıɹɐǝʍ ǝןıɥʍ ʞɹoʍ ʇou sǝop ʇI :Ǝ⟘ON ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.brown_multimeter.tooltip.summary": "ʞɹoʍʇǝu sʇı puɐ ʞɔoןq ןɐɔıɹʇɔǝןǝ uɐ ʇnoqɐ ɐʇɐp sʍoɥS", + "item.tfmg.brown_multimeter_cannon.tooltip.condition2": "buıɥɔnoɹɔ ǝןıɥʍ ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.butane_bucket": "ʞuɐ⟘ ǝuɐʇnᗺ", + "item.tfmg.capacitor_item": "ɹoʇıɔɐdɐƆ", + "item.tfmg.carbon_dioxide_bucket": "ʞuɐ⟘ ǝpıxoıᗡ uoqɹɐƆ", + "item.tfmg.cast_iron_ingot": "ʇobuI uoɹI ʇsɐƆ", + "item.tfmg.cast_iron_nugget": "ʇǝbbnN uoɹI ʇsɐƆ", + "item.tfmg.cast_iron_sheet": "ʇǝǝɥS uoɹI ʇsɐƆ", + "item.tfmg.centrifuge": "ǝbnɟıɹʇuǝƆ", + "item.tfmg.cinderblock": "ʞɔoןqɹǝpuıƆ", + "item.tfmg.cinderflourblock": "ʞɔoןqɹnoןɟɹǝpuıƆ", + "item.tfmg.circuit_board": "pɹɐoᗺ ʇınɔɹıƆ", + "item.tfmg.coal_coke": "ǝʞoƆ ןɐoƆ", + "item.tfmg.coal_coke_dust": "ʇsnᗡ ǝʞoƆ ןɐoƆ", + "item.tfmg.coated_circuit_board": "pɹɐoᗺ ʇınɔɹıƆ pǝʇɐoƆ", + "item.tfmg.concrete_mixture": "ǝɹnʇxıW ǝʇǝɹɔuoƆ", + "item.tfmg.constantan_ingot": "ʇobuI uɐʇuɐʇsuoƆ", + "item.tfmg.constantan_nugget": "ʇǝbbnN uɐʇuɐʇsuoƆ", + "item.tfmg.constantan_spool": "ןoodS uɐʇuɐʇsuoƆ", + "item.tfmg.constantan_wire": "ǝɹıM uɐʇuɐʇsuoƆ", + "item.tfmg.cooling_fluid_bottle": "ǝןʇʇoᗺ pınןℲ buıןooƆ", + "item.tfmg.cooling_fluid_bucket": "ʇǝʞɔnᗺ pınןℲ buıןooƆ", + "item.tfmg.copper_electrode": "ǝpoɹʇɔǝןƎ ɹǝddoƆ", + "item.tfmg.copper_grenade": "ǝpɐuǝɹ⅁ ɹǝddoƆ", + "item.tfmg.copper_spool": "ןoodS ɹǝddoƆ", + "item.tfmg.copper_sulfate": "ǝʇɐɟןnS ɹǝddoƆ", + "item.tfmg.copper_wire": "ǝɹıM ɹǝddoƆ", + "item.tfmg.crankshaft": "ʇɟɐɥsʞuɐɹƆ", + "item.tfmg.creosote_bucket": "ʇǝʞɔnᗺ ǝʇosoǝɹƆ", + "item.tfmg.crude_oil_bucket": "ʇǝʞɔnᗺ ןıO ǝpnɹƆ", + "item.tfmg.cyan_multimeter": "ɹǝʇǝɯıʇןnW uɐʎƆ", + "item.tfmg.cyan_multimeter.tooltip.behaviour1": "dnoɹb sʇuǝuodɯoɔ ǝɥʇ ɥʇıʍ buoןɐ ʎןǝʌıʇɔǝdsǝɹ sʇʇɐʍoןıʞ puɐ sǝɹǝdɯɐ 'sʇןoʌ 'sɯɥo uı ɹǝʍod puɐ ʇuǝɹɹnɔ 'ǝbɐʇןoʌ 'ǝɔuɐʇsısǝɹ sʍoɥS", + "item.tfmg.cyan_multimeter.tooltip.behaviour2": "uoıʇdɯnsuoɔ puɐ uoıʇɐɹǝuǝb ɹǝʍod ןɐʇoʇ sʞɹoʍʇǝu ǝɥʇ sʍoɥs ɹǝʇǝɯıʇןnɯ ǝɥʇ sʇɐʇs pǝuoıʇuǝɯ ʎןsnoıʌǝɹd ǝɥʇ oʇ ʎןןɐuoıʇıppⱯ", + "item.tfmg.cyan_multimeter.tooltip.condition1": "sǝןbbo⅁ sɹǝǝuıbuƎ buıɹɐǝʍ ǝןıɥʍ ʞɹoʍ ʇou sǝop ʇI :Ǝ⟘ON ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.cyan_multimeter.tooltip.condition2": "buıɥɔnoɹɔ ǝןıɥʍ ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.cyan_multimeter.tooltip.summary": "ʞɹoʍʇǝu sʇı puɐ ʞɔoןq ןɐɔıɹʇɔǝןǝ uɐ ʇnoqɐ ɐʇɐp sʍoɥS", + "item.tfmg.debug_cinderblock": "ʞɔoןqɹǝpuıƆ bnqǝᗡ", + "item.tfmg.deposit_item": "ɯǝʇI ʇısodǝᗡ", + "item.tfmg.diesel_bucket": "ʇǝʞɔnᗺ ןǝsǝıᗡ", + "item.tfmg.diesel_engine_cylinder": "ɹǝpuıןʎƆ ǝuıbuƎ ןǝsǝıᗡ", + "item.tfmg.electricians_wrench": "ɥɔuǝɹM uoıʇɐɹnbıɟuoƆ", + "item.tfmg.electrictians_wrench.tooltip.behaviour1": "ɹǝpuod sɹoʇɐɹǝuǝb ǝɥʇ uıɥʇıʍ pǝuıɐןdxǝ ǝɹɐ sdnoɹ⅁ ˙ʞɔoןq ʇǝs ɟo dnoɹb ǝɥʇ ǝsooɥɔ uɐɔ noʎ ǝɹǝɥʍ nuǝɯ ɐ dn suǝdO", + "item.tfmg.electrictians_wrench.tooltip.condition1": "ʞɔoןq ןɐɔıɹʇɔǝןǝ buıʞɔıןƆ-ᴚ uǝɥM", + "item.tfmg.electrictians_wrench.tooltip.summary": "ʇuǝuodɯoɔ ɐ ɟo dnoɹb ןɐɔıɹʇɔǝןǝ ǝɥʇ sǝbuɐɥƆ", + "item.tfmg.electromagnetic_coil": "ןıoƆ ɔıʇǝubɐɯoɹʇɔǝןƎ", + "item.tfmg.empty_circuit_board": "pɹɐoᗺ ʇınɔɹıƆ ʎʇdɯƎ", + "item.tfmg.empty_spool": "ןoodS ʎʇdɯƎ", + "item.tfmg.engine_cylinder": "ɹǝpuıןʎƆ ǝuıbuƎ", + "item.tfmg.etched_circuit_board": "pɹɐoᗺ ʇınɔɹıƆ pǝɥɔʇƎ", + "item.tfmg.ethylene_bucket": "ʞuɐ⟘ ǝuǝןʎɥʇƎ", + "item.tfmg.fireclay_ball": "ןןɐᗺ ʎɐןɔǝɹıℲ", + "item.tfmg.fireproof_brick": "ʞɔıɹᗺ ɟooɹdǝɹıℲ", + "item.tfmg.flamethrower": "ɹǝʍoɹɥʇǝɯɐןℲ", + "item.tfmg.flamethrower.tooltip.behaviour1": " ‾sǝɯɐןℲ ʇno sʇooɥS‾", + "item.tfmg.flamethrower.tooltip.behaviour2": "ǝɔıoɥɔ ɟo ‾ןǝnℲ‾ ɹnoʎ oʇ buıpɹoɔɔɐ ǝbuɐɥɔ ‾pɐǝɹdS‾ puɐ ‾ǝbuɐᴚ‾ ˙ʞuɐʇ ǝɥʇ ɯoɹɟ pǝɯnsuoɔ ǝq ןןıʍ ‾ןǝnℲ‾ ǝɥ⟘", + "item.tfmg.flamethrower.tooltip.condition1": "pǝʞɔıןƆ-ᴚ uǝɥM", + "item.tfmg.flamethrower.tooltip.condition2": "ǝpısuı ɯןɐdɐN ɹo bɐןS uǝʇןoW '⅁ԀꞀ 'ɐɥʇɥdɐN 'ǝuǝsoɹǝʞ 'ןǝsǝıᗡ 'ǝuıןosɐ⅁ ɥʇıʍ ʞuɐ⟘ pınןℲ ɐ buıʞɔıןƆ-ᴚ uǝɥM", + "item.tfmg.flamethrower.tooltip.summary": "sǝıɯǝuƎ ɹnoʎ uɹnq oʇ ǝɯɐןɟ ɟo ʇsɹnq ɐ ʇno ʇooɥs oʇ ‾spınןℲ‾ puɐ ‾sǝsɐ⅁‾ ǝןqɐuɹnq suɹnᗺ", + "item.tfmg.furnace_gas_bucket": "ʞuɐ⟘ sɐ⅁ ǝɔɐuɹnℲ", + "item.tfmg.gasoline_bucket": "ʇǝʞɔnᗺ ǝuıןosɐ⅁", + "item.tfmg.glass_insulator_segment": "ʇuǝɯbǝS ɹoʇɐןnsuI ssɐן⅁", + "item.tfmg.golden_turbo": "oqɹn⟘ uǝpןo⅁", + "item.tfmg.graphite_electrode": "ǝpoɹʇɔǝןƎ ǝʇıɥdɐɹ⅁", + "item.tfmg.gray_multimeter": "ɹǝʇǝɯıʇןnW ʎɐɹ⅁", + "item.tfmg.gray_multimeter.tooltip.behaviour1": "dnoɹb sʇuǝuodɯoɔ ǝɥʇ ɥʇıʍ buoןɐ ʎןǝʌıʇɔǝdsǝɹ sʇʇɐʍoןıʞ puɐ sǝɹǝdɯɐ 'sʇןoʌ 'sɯɥo uı ɹǝʍod puɐ ʇuǝɹɹnɔ 'ǝbɐʇןoʌ 'ǝɔuɐʇsısǝɹ sʍoɥS", + "item.tfmg.gray_multimeter.tooltip.behaviour2": "uoıʇdɯnsuoɔ puɐ uoıʇɐɹǝuǝb ɹǝʍod ןɐʇoʇ sʞɹoʍʇǝu ǝɥʇ sʍoɥs ɹǝʇǝɯıʇןnɯ ǝɥʇ sʇɐʇs pǝuoıʇuǝɯ ʎןsnoıʌǝɹd ǝɥʇ oʇ ʎןןɐuoıʇıppⱯ", + "item.tfmg.gray_multimeter.tooltip.condition1": "sǝןbbo⅁ sɹǝǝuıbuƎ buıɹɐǝʍ ǝןıɥʍ ʞɹoʍ ʇou sǝop ʇI :Ǝ⟘ON ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.gray_multimeter.tooltip.condition2": "buıɥɔnoɹɔ ǝןıɥʍ ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.gray_multimeter.tooltip.summary": "ʞɹoʍʇǝu sʇı puɐ ʞɔoןq ןɐɔıɹʇɔǝןǝ uɐ ʇnoqɐ ɐʇɐp sʍoɥS", + "item.tfmg.green_multimeter": "ɹǝʇǝɯıʇןnW uǝǝɹ⅁", + "item.tfmg.green_multimeter.tooltip.behaviour1": "dnoɹb sʇuǝuodɯoɔ ǝɥʇ ɥʇıʍ buoןɐ ʎןǝʌıʇɔǝdsǝɹ sʇʇɐʍoןıʞ puɐ sǝɹǝdɯɐ 'sʇןoʌ 'sɯɥo uı ɹǝʍod puɐ ʇuǝɹɹnɔ 'ǝbɐʇןoʌ 'ǝɔuɐʇsısǝɹ sʍoɥS", + "item.tfmg.green_multimeter.tooltip.behaviour2": "uoıʇdɯnsuoɔ puɐ uoıʇɐɹǝuǝb ɹǝʍod ןɐʇoʇ sʞɹoʍʇǝu ǝɥʇ sʍoɥs ɹǝʇǝɯıʇןnɯ ǝɥʇ sʇɐʇs pǝuoıʇuǝɯ ʎןsnoıʌǝɹd ǝɥʇ oʇ ʎןןɐuoıʇıppⱯ", + "item.tfmg.green_multimeter.tooltip.condition2": "buıɥɔnoɹɔ ǝןıɥʍ ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.green_multimeter.tooltip.summary": "ʞɹoʍʇǝu sʇı puɐ ʞɔoןq ןɐɔıɹʇɔǝןǝ uɐ ʇnoqɐ ɐʇɐp sʍoɥS", + "item.tfmg.green_multimeter_.tooltip.condition1": "sǝןbbo⅁ sɹǝǝuıbuƎ buıɹɐǝʍ ǝןıɥʍ ʞɹoʍ ʇou sǝop ʇI :Ǝ⟘ON ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.heavy_oil_bucket": "ʇǝʞɔnᗺ ןıO ʎʌɐǝH", + "item.tfmg.heavy_plate": "ǝʇɐןԀ ʎʌɐǝH", + "item.tfmg.hot_air_bucket": "ʞuɐ⟘ ɹıⱯ ʇoH", + "item.tfmg.hydrogen_bucket": "ʞuɐ⟘ uǝboɹpʎH", + "item.tfmg.kerosene_bucket": "ʇǝʞɔnᗺ ǝuǝsoɹǝʞ", + "item.tfmg.lead_axe": "ǝxⱯ pɐǝꞀ", + "item.tfmg.lead_hoe": "ǝoH pɐǝꞀ", + "item.tfmg.lead_ingot": "ʇobuI pɐǝꞀ", + "item.tfmg.lead_nugget": "ʇǝbbnN pɐǝꞀ", + "item.tfmg.lead_pickaxe": "ǝxɐʞɔıԀ pɐǝꞀ", + "item.tfmg.lead_sheet": "ʇǝǝɥS pɐǝꞀ", + "item.tfmg.lead_shovel": "ןǝʌoɥS pɐǝꞀ", + "item.tfmg.lead_sword": "pɹoʍS pɐǝꞀ", + "item.tfmg.light_blue_multimeter": "ɹǝʇǝɯıʇןnW ǝnןᗺ ʇɥbıꞀ", + "item.tfmg.light_blue_multimeter.tooltip.behaviour1": "dnoɹb sʇuǝuodɯoɔ ǝɥʇ ɥʇıʍ buoןɐ ʎןǝʌıʇɔǝdsǝɹ sʇʇɐʍoןıʞ puɐ sǝɹǝdɯɐ 'sʇןoʌ 'sɯɥo uı ɹǝʍod puɐ ʇuǝɹɹnɔ 'ǝbɐʇןoʌ 'ǝɔuɐʇsısǝɹ sʍoɥS", + "item.tfmg.light_blue_multimeter.tooltip.behaviour2": "uoıʇdɯnsuoɔ puɐ uoıʇɐɹǝuǝb ɹǝʍod ןɐʇoʇ sʞɹoʍʇǝu ǝɥʇ sʍoɥs ɹǝʇǝɯıʇןnɯ ǝɥʇ sʇɐʇs pǝuoıʇuǝɯ ʎןsnoıʌǝɹd ǝɥʇ oʇ ʎןןɐuoıʇıppⱯ", + "item.tfmg.light_blue_multimeter.tooltip.condition1": "sǝןbbo⅁ sɹǝǝuıbuƎ buıɹɐǝʍ ǝןıɥʍ ʞɹoʍ ʇou sǝop ʇI :Ǝ⟘ON ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.light_blue_multimeter.tooltip.condition2": "buıɥɔnoɹɔ ǝןıɥʍ ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.light_blue_multimeter.tooltip.summary": "ʞɹoʍʇǝu sʇı puɐ ʞɔoןq ןɐɔıɹʇɔǝןǝ uɐ ʇnoqɐ ɐʇɐp sʍoɥS", + "item.tfmg.light_gray_multimeter": "ɹǝʇǝɯıʇןnW ʎɐɹ⅁ ʇɥbıꞀ", + "item.tfmg.light_gray_multimeter.tooltip.behaviour1": "dnoɹb sʇuǝuodɯoɔ ǝɥʇ ɥʇıʍ buoןɐ ʎןǝʌıʇɔǝdsǝɹ sʇʇɐʍoןıʞ puɐ sǝɹǝdɯɐ 'sʇןoʌ 'sɯɥo uı ɹǝʍod puɐ ʇuǝɹɹnɔ 'ǝbɐʇןoʌ 'ǝɔuɐʇsısǝɹ sʍoɥS", + "item.tfmg.light_gray_multimeter.tooltip.behaviour2": "uoıʇdɯnsuoɔ puɐ uoıʇɐɹǝuǝb ɹǝʍod ןɐʇoʇ sʞɹoʍʇǝu ǝɥʇ sʍoɥs ɹǝʇǝɯıʇןnɯ ǝɥʇ sʇɐʇs pǝuoıʇuǝɯ ʎןsnoıʌǝɹd ǝɥʇ oʇ ʎןןɐuoıʇıppⱯ", + "item.tfmg.light_gray_multimeter.tooltip.condition1": "sǝןbbo⅁ sɹǝǝuıbuƎ buıɹɐǝʍ ǝןıɥʍ ʞɹoʍ ʇou sǝop ʇI :Ǝ⟘ON ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.light_gray_multimeter.tooltip.condition2": "buıɥɔnoɹɔ ǝןıɥʍ ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.light_gray_multimeter.tooltip.summary": "ʞɹoʍʇǝu sʇı puɐ ʞɔoןq ןɐɔıɹʇɔǝןǝ uɐ ʇnoqɐ ɐʇɐp sʍoɥS", + "item.tfmg.lime_multimeter": "ɹǝʇǝɯıʇןnW ǝɯıꞀ", + "item.tfmg.lime_multimeter.tooltip.behaviour1": "dnoɹb sʇuǝuodɯoɔ ǝɥʇ ɥʇıʍ buoןɐ ʎןǝʌıʇɔǝdsǝɹ sʇʇɐʍoןıʞ puɐ sǝɹǝdɯɐ 'sʇןoʌ 'sɯɥo uı ɹǝʍod puɐ ʇuǝɹɹnɔ 'ǝbɐʇןoʌ 'ǝɔuɐʇsısǝɹ sʍoɥS", + "item.tfmg.lime_multimeter.tooltip.behaviour2": "uoıʇdɯnsuoɔ puɐ uoıʇɐɹǝuǝb ɹǝʍod ןɐʇoʇ sʞɹoʍʇǝu ǝɥʇ sʍoɥs ɹǝʇǝɯıʇןnɯ ǝɥʇ sʇɐʇs pǝuoıʇuǝɯ ʎןsnoıʌǝɹd ǝɥʇ oʇ ʎןןɐuoıʇıppⱯ", + "item.tfmg.lime_multimeter.tooltip.condition1": "sǝןbbo⅁ sɹǝǝuıbuƎ buıɹɐǝʍ ǝןıɥʍ ʞɹoʍ ʇou sǝop ʇI :Ǝ⟘ON ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.lime_multimeter.tooltip.condition2": "buıɥɔnoɹɔ ǝןıɥʍ ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.lime_multimeter.tooltip.summary": "ʞɹoʍʇǝu sʇı puɐ ʞɔoןq ןɐɔıɹʇɔǝןǝ uɐ ʇnoqɐ ɐʇɐp sʍoɥS", + "item.tfmg.limesand": "puɐsǝɯıꞀ", + "item.tfmg.liquid_asphalt_bucket": "ʇǝʞɔnᗺ ʇןɐɥdsⱯ pınbıꞀ", + "item.tfmg.liquid_concrete_bucket": "ʇǝʞɔnᗺ ǝʇǝɹɔuoƆ pınbıꞀ", + "item.tfmg.liquid_silicon_bucket": "ʇǝʞɔnᗺ uoɔıןıS pınbıꞀ", + "item.tfmg.lit_lithium_blade": "ǝpɐןᗺ ɯnıɥʇıꞀ", + "item.tfmg.lithium_blade": "ǝpɐןᗺ ɯnıɥʇıꞀ", + "item.tfmg.lithium_blade.tooltip.behaviour1": " ɹǝʇɐʍ uı ɟןǝsɯǝɥʇ sǝɥsınbuıʇxǝ ʎɯǝuƎ ɹǝʇɟɐ uǝʌǝ pǝʍǝuǝɹ sı ǝɹıɟ sıɥʇ 'ǝɯıʇ ɟo ʇunoɯɐ ʇǝs ɐ ɹoɟ ǝɹıɟ uo sǝıɯǝuǝ sʇǝs ǝɯɐןɟ sʇI ˙‾ǝbɹɐɥƆ ɯnıɥʇıꞀ‾ ɐ buıɯnsuoɔ 'ǝɹıɟןןǝɥ uo ʇǝs sI", + "item.tfmg.lithium_blade.tooltip.behaviour2": "ǝbɹɐɥɔ sǝpɐןq ǝɥʇ buıɯnsuoɔ ‾ǝɹıɟןןǝH‾ ɟo sʇןoq ןɐɹǝʌǝs ʇno sʇooɥS", + "item.tfmg.lithium_blade.tooltip.condition1": "ɟɟO uǝɥʍ pǝʞɔıןƆ-ᴚ uǝɥM", + "item.tfmg.lithium_blade.tooltip.condition2": "uO uǝɥʍ buıʞɔıןƆ-ᴚ uǝɥM", + "item.tfmg.lithium_blade.tooltip.summary": "‾ǝɹıɟןןǝH‾ ɟo sʇןoᗺ ʇno buıʇooɥs puɐ sǝıɯǝuǝ buıuɹnq ǝɯɐןɟɐ ʇǝs sı ǝpɐןᗺ sıɥʇ '‾sǝbɹɐɥƆ ɯnıɥʇıꞀ‾ʇobuI ןǝǝʇS‾ buıs∩", + "item.tfmg.lithium_charge": "ǝbɹɐɥƆ ɯnıɥʇıꞀ", + "item.tfmg.lithium_ingot": "ʇobuI ɯnıɥʇıꞀ", + "item.tfmg.lithium_nugget": "ʇǝbbnN ɯnıɥʇıꞀ", + "item.tfmg.lpg_bucket": "ʞuɐ⟘ bdꞀ", + "item.tfmg.lubrication_oil_bucket": "ʇǝʞɔnᗺ ןıO uoıʇɐɔıɹqnꞀ", + "item.tfmg.magenta_multimeter": "ɹǝʇǝɯıʇןnW ɐʇuǝbɐW", + "item.tfmg.magenta_multimeter.tooltip.behaviour1": "dnoɹb sʇuǝuodɯoɔ ǝɥʇ ɥʇıʍ buoןɐ ʎןǝʌıʇɔǝdsǝɹ sʇʇɐʍoןıʞ puɐ sǝɹǝdɯɐ 'sʇןoʌ 'sɯɥo uı ɹǝʍod puɐ ʇuǝɹɹnɔ 'ǝbɐʇןoʌ 'ǝɔuɐʇsısǝɹ sʍoɥS", + "item.tfmg.magenta_multimeter.tooltip.behaviour2": "uoıʇdɯnsuoɔ puɐ uoıʇɐɹǝuǝb ɹǝʍod ןɐʇoʇ sʞɹoʍʇǝu ǝɥʇ sʍoɥs ɹǝʇǝɯıʇןnɯ ǝɥʇ sʇɐʇs pǝuoıʇuǝɯ ʎןsnoıʌǝɹd ǝɥʇ oʇ ʎןןɐuoıʇıppⱯ", + "item.tfmg.magenta_multimeter.tooltip.condition1": "sǝןbbo⅁ sɹǝǝuıbuƎ buıɹɐǝʍ ǝןıɥʍ ʞɹoʍ ʇou sǝop ʇI :Ǝ⟘ON ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.magenta_multimeter.tooltip.condition2": "buıɥɔnoɹɔ ǝןıɥʍ ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.magenta_multimeter.tooltip.summary": "ʞɹoʍʇǝu sʇı puɐ ʞɔoןq ןɐɔıɹʇɔǝןǝ uɐ ʇnoqɐ ɐʇɐp sʍoɥS", + "item.tfmg.magnet": "ʇǝubɐW", + "item.tfmg.magnetic_alloy_ingot": "ʇobuI ʎoןןⱯ ɔıʇǝubɐW", + "item.tfmg.magnetic_alloy_ingot.tooltip.summary": "˙˙˙buıɥʇǝɯos op ʇɥbıɯ buıuʇɥbıן ɐ ɥʇıʍ sıɥʇ buıʞıɹʇS", + "item.tfmg.mixer_blade": "ǝpɐןᗺ ɹǝxıW", + "item.tfmg.molten_plastic_bucket": "ʇǝʞɔnᗺ ɔıʇsɐןԀ uǝʇןoW", + "item.tfmg.molten_slag_bucket": "ʇǝʞɔnᗺ bɐןS uǝʇןoW", + "item.tfmg.molten_steel_bucket": "ʇǝʞɔnᗺ ןǝǝʇS uǝʇןoW", + "item.tfmg.multimeter": "ɹǝʇǝɯıʇןnW", + "item.tfmg.multimeter.tooltip.behaviour1": "dnoɹb sʇuǝuodɯoɔ ǝɥʇ ɥʇıʍ buoןɐ ʎןǝʌıʇɔǝdsǝɹ sʇʇɐʍoןıʞ puɐ sǝɹǝdɯɐ 'sʇןoʌ 'sɯɥo uı ɹǝʍod puɐ ʇuǝɹɹnɔ 'ǝbɐʇןoʌ 'ǝɔuɐʇsısǝɹ sʍoɥS", + "item.tfmg.multimeter.tooltip.behaviour2": "uoıʇdɯnsuoɔ puɐ uoıʇɐɹǝuǝb ɹǝʍod ןɐʇoʇ sʞɹoʍʇǝu ǝɥʇ sʍoɥs ɹǝʇǝɯıʇןnɯ ǝɥʇ sʇɐʇs pǝuoıʇuǝɯ ʎןsnoıʌǝɹd ǝɥʇ oʇ ʎןןɐuoıʇıppⱯ", + "item.tfmg.multimeter.tooltip.condition1": "sǝןbbo⅁ sɹǝǝuıbuƎ buıɹɐǝʍ ǝןıɥʍ ʞɹoʍ ʇou sǝop ʇI :Ǝ⟘ON ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.multimeter.tooltip.condition2": "buıɥɔnoɹɔ ǝןıɥʍ ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.multimeter.tooltip.summary": "ʞɹoʍʇǝu sʇı puɐ ʞɔoןq ןɐɔıɹʇɔǝןǝ uɐ ʇnoqɐ ɐʇɐp sʍoɥS", + "item.tfmg.n_semiconductor": "ɹoʇɔnpuoɔıɯǝS-N", + "item.tfmg.napalm_bucket": "ʇǝʞɔnᗺ ɯןɐdɐN", + "item.tfmg.napalm_potato": "oʇɐʇoԀ ɯןɐdɐN", + "item.tfmg.naphtha_bucket": "ʇǝʞɔnᗺ ɐɥʇɥdɐN", + "item.tfmg.neon_bucket": "ʞuɐ⟘ uoǝN", + "item.tfmg.nickel_ingot": "ʇobuI ןǝʞɔıN", + "item.tfmg.nickel_nugget": "ʇǝbbnN ןǝʞɔıN", + "item.tfmg.nickel_sheet": "ʇǝǝɥS ןǝʞɔıN", + "item.tfmg.nitrate_dust": "ʇsnᗡ ǝʇɐɹʇıN", + "item.tfmg.oil_can": "uɐƆ ןıO", + "item.tfmg.oil_can.tooltip.behaviour1": "ןıo uoıʇɐɔıɹqnן ɥʇıʍ uɐɔ ǝɥʇ sןןıℲ", + "item.tfmg.oil_can.tooltip.behaviour2": "ןıo uoıʇɐɔıɹqnן ɥʇıʍ ǝuıbuǝ ǝɥʇ sןןıℲ", + "item.tfmg.oil_can.tooltip.condition1": "ǝpısuı ןıo uoıʇɐɔıɹqnן ɥʇıʍ ʞuɐʇ ɐ buıʞɔıןƆ ʇɥbıᴚ uǝɥM", + "item.tfmg.oil_can.tooltip.condition2": "ǝuıbuǝ uɐ buıʞɔıןƆ ʇɥbıᴚ uǝɥM", + "item.tfmg.oil_can.tooltip.summary": "sǝuıbuǝ oʇ ןıo uoıʇɐɔıɹqnן sppⱯ", + "item.tfmg.oil_hammer": "ɹǝɯɯɐH ןıO", + "item.tfmg.orange_multimeter": "ɹǝʇǝɯıʇןnW ǝbuɐɹO", + "item.tfmg.orange_multimeter.tooltip.behaviour1": "dnoɹb sʇuǝuodɯoɔ ǝɥʇ ɥʇıʍ buoןɐ ʎןǝʌıʇɔǝdsǝɹ sʇʇɐʍoןıʞ puɐ sǝɹǝdɯɐ 'sʇןoʌ 'sɯɥo uı ɹǝʍod puɐ ʇuǝɹɹnɔ 'ǝbɐʇןoʌ 'ǝɔuɐʇsısǝɹ sʍoɥS", + "item.tfmg.orange_multimeter.tooltip.behaviour2": "uoıʇdɯnsuoɔ puɐ uoıʇɐɹǝuǝb ɹǝʍod ןɐʇoʇ sʞɹoʍʇǝu ǝɥʇ sʍoɥs ɹǝʇǝɯıʇןnɯ ǝɥʇ sʇɐʇs pǝuoıʇuǝɯ ʎןsnoıʌǝɹd ǝɥʇ oʇ ʎןןɐuoıʇıppⱯ", + "item.tfmg.orange_multimeter.tooltip.condition1": "sǝןbbo⅁ sɹǝǝuıbuƎ buıɹɐǝʍ ǝןıɥʍ ʞɹoʍ ʇou sǝop ʇI :Ǝ⟘ON ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.orange_multimeter.tooltip.condition2": "buıɥɔnoɹɔ ǝןıɥʍ ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.orange_multimeter.tooltip.summary": "ʞɹoʍʇǝu sʇı puɐ ʞɔoןq ןɐɔıɹʇɔǝןǝ uɐ ʇnoqɐ ɐʇɐp sʍoɥS", + "item.tfmg.p_semiconductor": "ɹoʇɔnpuoɔıɯǝS-Ԁ", + "item.tfmg.pink_multimeter": "ɹǝʇǝɯıʇןnW ʞuıԀ", + "item.tfmg.pink_multimeter.tooltip.behaviour1": "dnoɹb sʇuǝuodɯoɔ ǝɥʇ ɥʇıʍ buoןɐ ʎןǝʌıʇɔǝdsǝɹ sʇʇɐʍoןıʞ puɐ sǝɹǝdɯɐ 'sʇןoʌ 'sɯɥo uı ɹǝʍod puɐ ʇuǝɹɹnɔ 'ǝbɐʇןoʌ 'ǝɔuɐʇsısǝɹ sʍoɥS", + "item.tfmg.pink_multimeter.tooltip.behaviour2": "uoıʇdɯnsuoɔ puɐ uoıʇɐɹǝuǝb ɹǝʍod ןɐʇoʇ sʞɹoʍʇǝu ǝɥʇ sʍoɥs ɹǝʇǝɯıʇןnɯ ǝɥʇ sʇɐʇs pǝuoıʇuǝɯ ʎןsnoıʌǝɹd ǝɥʇ oʇ ʎןןɐuoıʇıppⱯ", + "item.tfmg.pink_multimeter.tooltip.condition1": "sǝןbbo⅁ sɹǝǝuıbuƎ buıɹɐǝʍ ǝןıɥʍ ʞɹoʍ ʇou sǝop ʇI :Ǝ⟘ON ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.pink_multimeter.tooltip.condition2": "buıɥɔnoɹɔ ǝןıɥʍ ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.pink_multimeter.tooltip.summary": "ʞɹoʍʇǝu sʇı puɐ ʞɔoןq ןɐɔıɹʇɔǝןǝ uɐ ʇnoqɐ ɐʇɐp sʍoɥS", + "item.tfmg.pipe_bomb": "qɯoᗺ ǝdıԀ", + "item.tfmg.pipebomb.tooltip.summary": "ןooɔ oS", + "item.tfmg.plastic_sheet": "ʇǝǝɥS ɔıʇsɐןԀ", + "item.tfmg.propane_bucket": "ʞuɐ⟘ ǝuɐdoɹԀ", + "item.tfmg.propylene_bucket": "ʞuɐ⟘ ǝuǝןʎdoɹԀ", + "item.tfmg.purple_multimeter": "ɹǝʇǝɯıʇןnW ǝןdɹnԀ", + "item.tfmg.purple_multimeter.tooltip.behaviour1": "dnoɹb sʇuǝuodɯoɔ ǝɥʇ ɥʇıʍ buoןɐ ʎןǝʌıʇɔǝdsǝɹ sʇʇɐʍoןıʞ puɐ sǝɹǝdɯɐ 'sʇןoʌ 'sɯɥo uı ɹǝʍod puɐ ʇuǝɹɹnɔ 'ǝbɐʇןoʌ 'ǝɔuɐʇsısǝɹ sʍoɥS", + "item.tfmg.purple_multimeter.tooltip.behaviour2": "uoıʇdɯnsuoɔ puɐ uoıʇɐɹǝuǝb ɹǝʍod ןɐʇoʇ sʞɹoʍʇǝu ǝɥʇ sʍoɥs ɹǝʇǝɯıʇןnɯ ǝɥʇ sʇɐʇs pǝuoıʇuǝɯ ʎןsnoıʌǝɹd ǝɥʇ oʇ ʎןןɐuoıʇıppⱯ", + "item.tfmg.purple_multimeter.tooltip.condition1": "sǝןbbo⅁ sɹǝǝuıbuƎ buıɹɐǝʍ ǝןıɥʍ ʞɹoʍ ʇou sǝop ʇI :Ǝ⟘ON ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.purple_multimeter.tooltip.condition2": "buıɥɔnoɹɔ ǝןıɥʍ ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.purple_multimeter.tooltip.summary": "ʞɹoʍʇǝu sʇı puɐ ʞɔoןq ןɐɔıɹʇɔǝןǝ uɐ ʇnoqɐ ɐʇɐp sʍoɥS", + "item.tfmg.quad_potato_cannon": "uouuɐƆ oʇɐʇoԀ pɐnὉ", + "item.tfmg.quad_potato_cannon.tooltip.behaviour1": "˙‾ʎɹoʇuǝʌuI‾ ɹnoʎ ɯoɹɟ ɯǝʇı ǝןqɐʇıns ɐ ‾sʇooɥS‾", + "item.tfmg.quad_potato_cannon.tooltip.behaviour2": "ʞuɐ⟘ ǝɥʇ ɯoɹɟ pǝuıɐɹp sı ‾ǝɹnssǝɹd‾ ‾ɹıⱯ‾ 'pɐǝʇsuI ˙pǝsn ǝq ןןıʍ ‾ʎʇıןıqɐɹnᗡ‾ ‾oN‾", + "item.tfmg.quad_potato_cannon.tooltip.condition1": "pǝʞɔıןƆ-ᴚ uǝɥM", + "item.tfmg.quad_potato_cannon.tooltip.condition2": "ʞuɐʇʞɔɐᗺ buıɹɐǝʍ ǝןıɥM", + "item.tfmg.quad_potato_cannon.tooltip.summary": "‾ʞuɐʇʞɔɐᗺ‾ ɐ ɯoɹɟ ‾ǝɹnssǝɹԀ‾ ‾ɹıⱯ‾ ɥʇıʍ pǝɹǝʍod ǝq uɐƆ ˙sǝıɯǝuƎ ʇɐ sǝןqɐʇǝbǝʌ uʍoɹb-ǝɯoɥ ɹnoʎ ɟo ㄣ sǝɥɔunɐꞀ", + "item.tfmg.raw_lead": "pɐǝꞀ ʍɐᴚ", + "item.tfmg.raw_lithium": "ɯnıɥʇıꞀ ʍɐᴚ", + "item.tfmg.raw_nickel": "ןǝʞɔıN ʍɐᴚ", + "item.tfmg.rebar": "ɹɐqǝᴚ", + "item.tfmg.red_multimeter": "ɹǝʇǝɯıʇןnW pǝᴚ", + "item.tfmg.red_multimeter.tooltip.behaviour1": "dnoɹb sʇuǝuodɯoɔ ǝɥʇ ɥʇıʍ buoןɐ ʎןǝʌıʇɔǝdsǝɹ sʇʇɐʍoןıʞ puɐ sǝɹǝdɯɐ 'sʇןoʌ 'sɯɥo uı ɹǝʍod puɐ ʇuǝɹɹnɔ 'ǝbɐʇןoʌ 'ǝɔuɐʇsısǝɹ sʍoɥS", + "item.tfmg.red_multimeter.tooltip.behaviour2": "uoıʇdɯnsuoɔ puɐ uoıʇɐɹǝuǝb ɹǝʍod ןɐʇoʇ sʞɹoʍʇǝu ǝɥʇ sʍoɥs ɹǝʇǝɯıʇןnɯ ǝɥʇ sʇɐʇs pǝuoıʇuǝɯ ʎןsnoıʌǝɹd ǝɥʇ oʇ ʎןןɐuoıʇıppⱯ", + "item.tfmg.red_multimeter.tooltip.condition1": "sǝןbbo⅁ sɹǝǝuıbuƎ buıɹɐǝʍ ǝןıɥʍ ʞɹoʍ ʇou sǝop ʇI :Ǝ⟘ON ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.red_multimeter.tooltip.condition2": "buıɥɔnoɹɔ ǝןıɥʍ ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.red_multimeter.tooltip.summary": "ʞɹoʍʇǝu sʇı puɐ ʞɔoןq ןɐɔıɹʇɔǝןǝ uɐ ʇnoqɐ ɐʇɐp sʍoɥS", + "item.tfmg.rubber_sheet": "ʇǝǝɥS ɹǝqqnᴚ", + "item.tfmg.screw": "sʍǝɹɔS", + "item.tfmg.screwdriver": "ɹǝʌıɹpʍǝɹɔS", + "item.tfmg.screwdriver.tooltip.behaviour1": "‾buıʇɔǝuuoƆ ʇnoɥʇıM‾ ɹǝɥʇoɥɔɐǝ oʇ ʇxǝu pǝɔɐןd ǝq oʇ ‾sǝdıԀ‾ ɹoɟ buıʍoןןɐ uoıʇɐʇoɹ ʇuǝɹɹnɔ sʇı uı ‾ǝdıԀ‾ sʞɔoꞀ", + "item.tfmg.screwdriver.tooltip.condition1": "ǝdıd buıʞɔıןƆ-ᴚ uǝɥM", + "item.tfmg.screwdriver.tooltip.summary": "ǝɔɐןd uı sǝdıd ʞɔoן uɐƆ", + "item.tfmg.silicon_ingot": "ʇobuI uoɔıןıS", + "item.tfmg.simple_engine_cylinder": "ɹǝpuıןʎƆ ǝuıbuƎ ǝןdɯıS", + "item.tfmg.slag": "bɐןS", + "item.tfmg.spark_plug": "bnןԀ ʞɹɐdS", + "item.tfmg.steel_axe": "ǝxⱯ ןǝǝʇS", + "item.tfmg.steel_hoe": "ǝoH ןǝǝʇS", + "item.tfmg.steel_ingot": "ʇobuI ןǝǝʇS", + "item.tfmg.steel_mechanism": "ɯsıuɐɥɔǝW ןǝǝʇS", + "item.tfmg.steel_nugget": "ʇǝbbnN ןǝǝʇS", + "item.tfmg.steel_pickaxe": "ǝxɐʞɔıԀ ןǝǝʇS", + "item.tfmg.steel_shovel": "ןǝʌoɥS ןǝǝʇS", + "item.tfmg.steel_sword": "pɹoʍS ןǝǝʇS", + "item.tfmg.steel_vertical_gearbox": "xoqɹɐǝ⅁ ןɐɔıʇɹǝΛ ןǝǝʇS", + "item.tfmg.sulfur_dust": "ʇsnᗡ ɹnɟןnS", + "item.tfmg.sulfuric_acid_bucket": "ʇǝʞɔnᗺ pıɔⱯ ɔıɹnɟןnS", + "item.tfmg.synthetic_leather": "ɹǝɥʇɐǝꞀ ɔıʇǝɥʇuʎS", + "item.tfmg.synthetic_string": "buıɹʇS ɔıʇǝɥʇuʎS", + "item.tfmg.thermite_grenade": "ǝpɐuǝɹ⅁ ǝʇıɯɹǝɥ⟘", + "item.tfmg.thermite_powder": "ɹǝpʍoԀ ǝʇıɯɹǝɥ⟘", + "item.tfmg.transistor_item": "ɹoʇsısuɐɹ⟘", + "item.tfmg.transmission": "uoıssıɯsuɐɹ⟘", + "item.tfmg.turbine_blade": "ǝpɐןᗺ ǝuıqɹn⟘", + "item.tfmg.turbo": "oqɹn⟘", + "item.tfmg.unfinished_capacitor": "ɹoʇıɔɐdɐƆ pǝɥsıuıɟu∩", + "item.tfmg.unfinished_circuit_board": "pɹɐoᗺ ʇınɔɹıƆ pǝɥsıuıɟu∩", + "item.tfmg.unfinished_electric_motor": "ɹoʇoW ɔıɹʇɔǝןƎ pǝɥsıuıɟu∩", + "item.tfmg.unfinished_electromagnetic_coil": "ןıoƆ ɔıʇǝubɐɯoɹʇɔǝןƎ pǝɥsıuıɟu∩", + "item.tfmg.unfinished_generator": "ɹoʇɐɹǝuǝ⅁ pǝɥsıuıɟu∩", + "item.tfmg.unfinished_insulator": "ɹoʇɐןnsuI pǝɥsıuıɟu∩", + "item.tfmg.unfinished_potentiometer": "ɹǝʇǝɯoıʇuǝʇoԀ pǝɥsıuıɟu∩", + "item.tfmg.unfinished_resistor": "ɹoʇsısǝᴚ pǝɥsıuıɟu∩", + "item.tfmg.unfinished_steel_mechanism": "ɯsıuɐɥɔǝW ןǝǝʇS pǝɥsıuıɟu∩", + "item.tfmg.unfinished_transistor": "ɹoʇsısuɐɹ⟘ pǝɥsıuıɟu∩", + "item.tfmg.unfired_insulator": "ɹoʇɐןnsuI pǝɹıɟu∩", + "item.tfmg.unprocessed_heavy_plate": "ǝʇɐןԀ ʎʌɐǝH pǝssǝɔoɹdu∩", + "item.tfmg.white_multimeter": "ɹǝʇǝɯıʇןnW ǝʇıɥM", + "item.tfmg.white_multimeter.tooltip.behaviour1": "dnoɹb sʇuǝuodɯoɔ ǝɥʇ ɥʇıʍ buoןɐ ʎןǝʌıʇɔǝdsǝɹ sʇʇɐʍoןıʞ puɐ sǝɹǝdɯɐ 'sʇןoʌ 'sɯɥo uı ɹǝʍod puɐ ʇuǝɹɹnɔ 'ǝbɐʇןoʌ 'ǝɔuɐʇsısǝɹ sʍoɥS", + "item.tfmg.white_multimeter.tooltip.behaviour2": "uoıʇdɯnsuoɔ puɐ uoıʇɐɹǝuǝb ɹǝʍod ןɐʇoʇ sʞɹoʍʇǝu ǝɥʇ sʍoɥs ɹǝʇǝɯıʇןnɯ ǝɥʇ sʇɐʇs pǝuoıʇuǝɯ ʎןsnoıʌǝɹd ǝɥʇ oʇ ʎןןɐuoıʇıppⱯ", + "item.tfmg.white_multimeter.tooltip.condition1": "sǝןbbo⅁ sɹǝǝuıbuƎ buıɹɐǝʍ ǝןıɥʍ ʞɹoʍ ʇou sǝop ʇI :Ǝ⟘ON ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.white_multimeter.tooltip.condition2": "buıɥɔnoɹɔ ǝןıɥʍ ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.white_multimeter.tooltip.summary": "ʞɹoʍʇǝu sʇı puɐ ʞɔoןq ןɐɔıɹʇɔǝןǝ uɐ ʇnoqɐ ɐʇɐp sʍoɥS", + "item.tfmg.yellow_multimeter": "ɹǝʇǝɯıʇןnW ʍoןןǝʎ", + "item.tfmg.yellow_multimeter.tooltip.behaviour1": "dnoɹb sʇuǝuodɯoɔ ǝɥʇ ɥʇıʍ buoןɐ ʎןǝʌıʇɔǝdsǝɹ sʇʇɐʍoןıʞ puɐ sǝɹǝdɯɐ 'sʇןoʌ 'sɯɥo uı ɹǝʍod puɐ ʇuǝɹɹnɔ 'ǝbɐʇןoʌ 'ǝɔuɐʇsısǝɹ sʍoɥS", + "item.tfmg.yellow_multimeter.tooltip.behaviour2": "uoıʇdɯnsuoɔ puɐ uoıʇɐɹǝuǝb ɹǝʍod ןɐʇoʇ sʞɹoʍʇǝu ǝɥʇ sʍoɥs ɹǝʇǝɯıʇןnɯ ǝɥʇ sʇɐʇs pǝuoıʇuǝɯ ʎןsnoıʌǝɹd ǝɥʇ oʇ ʎןןɐuoıʇıppⱯ", + "item.tfmg.yellow_multimeter.tooltip.condition1": "sǝןbbo⅁ sɹǝǝuıbuƎ buıɹɐǝʍ ǝןıɥʍ ʞɹoʍ ʇou sǝop ʇI :Ǝ⟘ON ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.yellow_multimeter.tooltip.condition2": "buıɥɔnoɹɔ ǝןıɥʍ ʇuǝuodɯoɔ ɔıɹʇɔǝןǝ uɐ ʇɐ buıʞooן uǝɥM", + "item.tfmg.yellow_multimeter.tooltip.summary": "ʞɹoʍʇǝu sʇı puɐ ʞɔoןq ןɐɔıɹʇɔǝןǝ uɐ ʇnoqɐ ɐʇɐp sʍoɥS", + "item.tfmg.zinc_electrode": "ǝpoɹʇɔǝןƎ ɔuıZ", + "item.tfmg.zinc_grenade": "ǝpɐuǝɹ⅁ ɔuıZ", + "tfmg.keyinfo.custom_button": "uoʇʇnᗺ ɯoʇsnƆ ɹǝןןoɹʇuoƆ ǝuıbuƎ", + "tfmg.keyinfo.engine_start": "ǝuıbuƎ ʇɹɐʇS", + "tfmg.keyinfo.transmission_shift_down": "uʍoᗡ ʇɟıɥS uoıssıɯsuɐɹ⟘", + "tfmg.keyinfo.transmission_shift_up": "d∩ ʇɟıɥS uoıssıɯsuɐɹ⟘", + "tfmg.ponder.blast_furnace.header": "", + "tfmg.ponder.blast_furnace.text_1": "ʇndʇno ǝɔɐuɹnɟ ʇsɐןq ɐ sı ǝɔɐuɹnɟ ʇsɐןq ɐ ɟo ʇɹɐd uıɐW", + "tfmg.ponder.blast_furnace.text_2": "ʇı uı ɥɔʇɐɥ ǝɔɐuɹnɟ ʇsɐןq ǝuo ɥʇıʍ ʇı punoɹɐ sʞɔıɹq ɟooɹdǝɹıɟ ɟo ɹǝpuıןʎɔ ɐ ǝʞɐɯ 'ǝɔɐuɹnɟ ʇsɐןq ɐ pןınq o⟘", + "tfmg.ponder.blast_furnace.text_3": "ʇnduı ɹıɐ ʇoɥ ɐ sɐ uoıʇɔunɟ ןןıʍ ɥɔʇɐɥ sıɥ⟘", + "tfmg.ponder.blast_furnace.text_4": "uoıʇɔunɟ oʇ sʇuǝɯǝɔɹoɟuıǝɹ pǝǝu sǝɔɐuɹnɟ ʇsɐןᗺ", + "tfmg.ponder.blast_furnace.text_5": "doʇ ǝɥʇ ʇɐ ǝןoɥ ɐ ɥbnoɹɥʇ oʇ pǝʇɹǝsuı sı buıɥʇʎɹǝʌƎ", + "tfmg.ponder.blast_furnace.text_6": "ǝɔɐuɹnɟ ʇsɐןq ǝɥʇ oʇuı ןןɐɟ ןןıʍ ʇı oʇuı pǝʇɔǝɹıp sɯǝʇı 'sɐb ǝɔɐuɹnɟ ʇɔǝןןoɔ oʇ ǝןoɥ doʇ ǝɥʇ uo pǝɔɐןd ǝq uɐɔ ɥɔʇɐɥ ʇxǝN", + "tfmg.ponder.blast_furnace.text_7": "pǝǝds sʇı ǝsɐǝɹɔuı oʇ ǝɔɐuɹnɟ ǝɥʇ punoɹɐ pǝɔɐןd ǝq uɐɔ sʇuǝɯǝɔɹoɟuıǝɹ ǝɔɐuɹnɟ ʇsɐןᗺ", + "tfmg.ponder.chemical_vat.header": "ʇɐΛ ןɐɔıɯǝɥƆ", + "tfmg.ponder.chemical_vat.text_1": "sǝsn ʇuǝɹǝɟɟıp ʎuɐɯ ʇı ǝʌıb uɐɔ ʇɐɥʇ sʇuǝɯɥɔɐʇʇɐ ɥʇıʍ ǝuıɥɔɐɯ ɐ sı ʇɐʌ ןɐɔıɯǝɥɔ ǝɥ⟘", + "tfmg.ponder.chemical_vat.text_2": "ɹǝxıɯ ןɐıɹʇsnpuı ǝɥʇ sı ʇuǝɯɥɔɐʇʇɐ ʇsɹıℲ", + "tfmg.ponder.chemical_vat.text_3": "ɹǝxıɯ ɐ sǝɯoɔǝq ʇɐʌ ǝɥʇ 'pǝʇɹǝsuı sı ǝpɐןq ɹǝxıɯ ǝɥʇ uǝɥM", + "tfmg.ponder.chemical_vat.text_4": "ǝbnɟıɹʇuǝɔ ɐ ǝɯoɔǝq osןɐ uɐɔ ɹǝxıɯ ןɐıɹʇsnpuı ǝɥ⟘", + "tfmg.ponder.chemical_vat.text_5": "buıʇɐǝɥ pǝǝu sǝdıɔǝɹ ǝɯoS", + "tfmg.ponder.chemical_vat.text_6": "ɹǝzʎןoɹʇɔǝןǝ uɐ sǝʇɐǝɹɔ sǝpoɹʇɔǝןǝ ɹǝddoɔ ɥʇıʍ sɹǝpןoɥ ǝpoɹʇɔǝןǝ ᄅ buıɔɐןԀ", + "tfmg.ponder.chemical_vat.text_7": "ǝɔɐuɹnɟ ʇsɐןq ɐ ǝʇɐǝɹɔ sǝpoɹʇɔǝןǝ ǝʇıɥdɐɹb Ɛ", + "tfmg.ponder.coke_oven.header": "", + "tfmg.ponder.coke_oven.text_1": "ןɐoɔ ɯoɹɟ ǝʞoɔ ןɐoɔ sǝɔnpoɹd ʇɐɥʇ ǝuıɥɔɐɯ ɐ sı uǝʌO ǝʞoƆ ǝɥ⟘", + "tfmg.ponder.coke_oven.text_2": "ɯǝɥʇ ɟo sʎɐɹɹɐ buoן ǝʌɐɥ oʇ ןɐıɔıɟǝuǝq sı ʇı os ʍoןs ʎɹǝʌ sı ʇI", + "tfmg.ponder.coke_oven.text_3": "ǝɹǝɥʍʎuɐ ɯoɹɟ pǝʇɹǝsuı ǝq uɐɔ ןɐoƆ", + "tfmg.ponder.coke_oven.text_4": "ǝsןǝ ǝɹǝɥʍʎuɐ pǝʇɔɐɹʇxǝ ǝq uɐɔ ǝʇosoǝɹƆ 'doʇ ǝɥʇ ʇɐ pǝʇɔɐɹʇxǝ sı ǝpıxoıᗡ uoqɹɐƆ", + "tfmg.ponder.coke_oven.text_5": "ǝuıɥɔɐɯ ǝɥʇ ɟo ʇno ןןɐɟ ןןıʍ ǝʞoɔ ןɐoɔ 'ǝɯıʇ ǝɯos ɹǝʇɟⱯ", + "tfmg.ponder.distillation_tower.header": "", + "tfmg.ponder.distillation_tower.text_1": "sʞuɐʇ ןǝǝʇs ɟo pǝsıɹdɯoɔ sı ɹǝʍoʇ uoıʇɐןןıʇsıp ɐ ɟo ǝsɐq ǝɥ⟘", + "tfmg.ponder.distillation_tower.text_2": "sʞuɐʇ ǝɥʇ oʇ ʇxǝu ɹǝןןoɹʇuoƆ uoıʇɐןןıʇsıᗡ ןǝǝʇS buıɔɐןd ʎq pǝןqɯǝssɐ sı ɹǝʍo⟘", + "tfmg.ponder.distillation_tower.text_3": "ɯǝɥʇ uǝǝʍʇǝq sǝdıԀ ןɐıɹʇsnpuI puɐ sʇndʇno uoıʇɐןןıʇsıᗡ 9 oʇ dn ǝɔɐןd 'ʞɔoןqıʇןnɯ ǝɥʇ ɥsıuıɟ o⟘", + "tfmg.ponder.distillation_tower.text_4": " ǝɹnʇɔnɹʇs ǝɥʇ ɟo ןǝʌǝן ɹǝʍod ǝɥʇ sʍoɥs ɹǝʍoʇ ǝɥʇ uo ןɐıp ǝɥʇ 'ʇı ɹǝʍod oʇ sʞuɐʇ ǝɥʇ ɹǝpun ǝɔɹnos ʇɐǝɥ ɐ ǝɔɐןԀ", + "tfmg.ponder.distillation_tower.text_5": "ʞɔoןq ɹǝןןoɹʇuoɔ ǝɥʇ oʇuı pǝʇʇnduı sı ןıO", + "tfmg.ponder.electricity.header": "ʎʇıɔıɹʇɔǝןƎ", + "tfmg.ponder.electricity.text_1": "ɹǝʍoԀ puɐ ǝbɐʇןoΛ 'sǝnןɐʌ ᄅ sǝʇɐǝɹɔ ɹoʇɐɹǝuǝb Ɐ", + "tfmg.ponder.electricity.text_10": "ɥɔuǝɹM uoıʇɐɹnbıɟuoƆ ǝɥʇ buısn pǝbuɐɥɔ ǝq uɐɔ sdnoɹ⅁", + "tfmg.ponder.electricity.text_11": "ǝbɐʇןoʌ ǝɥʇ ןןɐ dǝǝʞ dnoɹb uʍo ɹıǝɥʇ uı sʞɔoןᗺ", + "tfmg.ponder.electricity.text_2": "Ω00Ɩ = )ᴚ(ǝɔuɐʇsısǝᴚ \nM00Ɩ = )Ԁ(ɹǝʍoԀ \nⱯᄅ = )I(ʇuǝɹɹnƆ \nΛ00ᄅ = )∩(ǝbɐʇןoΛ \n:qןnᗺ ʇɥbıꞀ\nMʞ8 = ɹǝʍoԀ xɐW \nΛ00ᄅ = )∩(ǝbɐʇןoΛ \n:ɹoʇɐɹǝuǝ⅁", + "tfmg.ponder.electricity.text_3": "ǝbɐʇןoʌ sʇı sǝʞɐʇ ʇı 'ɹoʇɐɹǝuǝb ɐ uo pǝıןddɐ sı pɐoן uǝɥM", + "tfmg.ponder.electricity.text_4": ")Ω(ɯɥO 00Ɩ ǝɹɐ sqןnq ʇɥbıן 'ǝɔuɐʇsısǝɹ ןɐɔıɹʇɔǝןǝ sɐɥ ǝɔıʌǝp ɔıɹʇɔǝןǝ uɐ ʎɹǝʌƎ", + "tfmg.ponder.electricity.text_5": "qןnq ʇɥbıן ǝɥʇ uı buıʍoןɟ ʇɹɐʇs ןןıʍ ǝɔuɐʇsısǝᴚ ʎq pǝpıʌıp ǝbɐʇןoΛ ɟo ǝzıs ɥʇıʍ ʇuǝɹɹnƆ", + "tfmg.ponder.electricity.text_6": "0=dnoɹ⅁ \nΩ00Ɩ = )ᴚ(ǝɔuɐʇsısǝᴚ \nⱯƖ = )I(ʇuǝɹɹnƆ \nΛ00Ɩ = )∩(ǝbɐʇןoΛ \n:ᄅ qןnᗺ ʇɥbıꞀ\n0=dnoɹ⅁ \nΩ00Ɩ = )ᴚ(ǝɔuɐʇsısǝᴚ \nⱯƖ = )I(ʇuǝɹɹnƆ \nΛ00Ɩ = )∩(ǝbɐʇןoΛ \n:Ɩ qןnᗺ ʇɥbıꞀ\nMʞ8 = ɹǝʍoԀ xɐW \nΛ00ᄅ = )∩(ǝbɐʇןoΛ \n:ɹoʇɐɹǝuǝ⅁", + "tfmg.ponder.electricity.text_7": "0 dnoɹb ǝɹɐ sʞɔoןq ןןɐ ʇןnɐɟǝp ʎq 'sdnoɹb ɥʇıʍ pǝʇɔǝuuoɔ ǝq uɐɔ sʇuǝuodɯoɔ ɔıɹʇɔǝןƎ", + "tfmg.ponder.electricity.text_8": ")ǝbɐʇןoʌ ʇıןds ǝɥʇ ɟo ǝɹoɯ ʇǝb ǝɔuɐʇsısǝɹ ɹǝɥbıɥ ɥʇıʍ sʞɔoןq(ɯǝɥʇ uǝǝʍʇǝq ǝbɐʇןoʌ ʇıןds dnoɹb ɐ ǝɹɐɥs ʇɐɥʇ sʞɔoןᗺ", + "tfmg.ponder.electricity.text_9": "0=dnoɹ⅁ \nΩ00Ɩ = )ᴚ(ǝɔuɐʇsısǝᴚ \nⱯᄅ = )I(ʇuǝɹɹnƆ \nΛ00ᄅ = )∩(ǝbɐʇןoΛ \n:ᄅ qןnᗺ ʇɥbıꞀ\nƖ=dnoɹ⅁ \nΩ00Ɩ = )ᴚ(ǝɔuɐʇsısǝᴚ \nⱯᄅ = )I(ʇuǝɹɹnƆ \nΛ00ᄅ = )∩(ǝbɐʇןoΛ \n:Ɩ qןnᗺ ʇɥbıꞀ\nMʞ8 = ɹǝʍoԀ xɐW \nΛ00ᄅ = )∩(ǝbɐʇןoΛ \n:ɹoʇɐɹǝuǝ⅁", + "tfmg.ponder.electricity_two.header": "sʞɹoʍʇǝuqnS ɔıɹʇɔǝןƎ", + "tfmg.ponder.electricity_two.text_1": "sǝpıs ᄅ ɯoɹɟ suoıʇɔǝuuoɔ ǝʌɐɥ sʞɔoןq ǝɯoS", + "tfmg.ponder.electricity_two.text_2": "sǝpıs ɹıǝɥʇ ɟo ǝuo uo ʞɹoʍʇǝu ɔıɹʇɔǝןǝ ʍǝu ɐ ǝʇɐǝɹɔ sʞɔoןq ǝsǝɥ⟘", + "tfmg.ponder.electricity_two.text_3": "ʎɐʍ ǝʇısoddo ǝɥʇ ʇou ʇnq ʞɹoʍʇǝu uıɐɯ ǝɥʇ ɯoɹɟ ɹǝʍod ǝɥʇ ןןɐ ʇǝb ןןıʍ ʞɹoʍʇǝuqns sıɥ⟘", + "tfmg.ponder.electricity_two.text_4": "sǝıʇıןıqɐ ɐɹʇxǝ ɹǝɥʇo ou sɐɥ ʇı 'ǝpoıᗡ ǝɥʇ sı ʎʇıןıqɐ sıɥʇ ɥʇıʍ ʞɔoןq ɔısɐq ʇsoɯ ǝɥ⟘", + "tfmg.ponder.electricity_two.text_5": "ʞɹoʍʇǝuqns ǝɥʇ oʇ sʇǝb ʇɐɥʇ ǝbɐʇןoʌ ɟo ǝbɐʇuǝɔɹǝd ǝɥʇ ʇǝs uɐɔ ǝuo sıɥʇ 'ɹǝʇǝɯoıʇuǝʇod ǝɥʇ sı ǝuo ʇxǝN", + "tfmg.ponder.electricity_two.text_6": "ǝuoʇspǝɹ ɥʇıʍ ʇnq ʎןɹɐןıɯıs sʞɹoʍ ɥɔʇıʍs ǝɥ⟘", + "tfmg.ponder.electricity_two.text_7": "ןıoɔ ʎɹɐpuoɔǝs puɐ ʎɹɐɯıɹd ǝɥʇ uǝǝʍʇǝq suɹnʇ ɟo oıʇɐɹ ǝɥʇ uo pǝsɐq ǝbɐʇןoʌ sǝbuɐɥɔ ɹǝɯɹoɟsuɐɹʇ ǝɥ⟘", + "tfmg.ponder.engines.header": "sǝuıbuƎ", + "tfmg.ponder.engines.text_1": "ǝuıן ɐ uı sʞɔoןq ǝuıbuǝ ϛ oʇ dn buıɔɐןd ʎq ʇɹɐʇs 'ǝuıbuǝ uɐ pןınq o⟘", + "tfmg.ponder.engines.text_2": "ʎןqɯǝssɐ ǝɥʇ ɹoɟ pǝpǝǝu sɯǝʇı noʎ ʍoɥs ןןıʍ dıʇןooʇ s,ǝuıbuǝ ǝɥ⟘", + "tfmg.ponder.engines.text_3": "ɔıʇɐɯǝɥɔs ɐ ɥʇıʍ pǝbuɐɥɔ ǝq uɐɔ uoıʇɐɹnbıɟuoɔ ǝuıbuƎ", + "tfmg.ponder.engines.text_4": ")sǝuıbuǝ ǝuıqɹnʇ uı sǝpɐןq ǝuıqɹnʇ ɹo( sɹǝpuıןʎɔ ǝɥʇ buıʇɹǝsuı sı dǝʇs ʇxǝN", + "tfmg.ponder.engines.text_5": "buıʞɔıןɔ ʇɥbıɹ ʎq pǝʇɹǝsuı ǝɹɐ sʇɟɐɥS", + "tfmg.ponder.engines.text_6": "ʞɔoןq ʎuɐ ɯoɹɟ ǝuop ǝq uɐɔ ʇndʇno ʇsnɐɥxǝ puɐ ʇnduı ןǝnℲ", + "tfmg.ponder.engines.text_7": "pǝpɐɹbdn ǝq oʇ sɯǝʇı uıɐʇɹǝɔ ɥʇıʍ pǝʞɔıןɔ ʇɥbıɹ ǝq uɐɔ ʞɔoןq ǝuıbuǝ ʎɹǝʌƎ", + "tfmg.ponder.engines.text_8": "sʞuɐʇ buıɹoqɥbıǝu ɯoɹɟ ןǝnɟ ǝɯnsuoɔ ǝuıbuǝ ǝɥʇ ǝʞɐɯ sǝdıd ןɐıɹʇsnpuı ǝןdɯɐxǝ ɹoℲ", + "tfmg.ponder.engines.text_9": "ןɐubıs ǝuoʇspǝɹ ɐ ɥʇıʍ pǝʇɹɐʇs ǝq uɐɔ ǝuıbuǝ ǝɥ⟘", + "tfmg.ponder.pumpjack.header": "ʞɔɐظdɯnԀ", + "tfmg.ponder.pumpjack.text_1": "ǝɔɐɟɹns ǝɥʇ oʇ ʇısodǝp ɐ ɯoɹɟ sǝdıd ןɐıɹʇsnpuı buıpןınq sı ןıo buıuıɯ ɟo dǝʇs ʇsɹıℲ", + "tfmg.ponder.pumpjack.text_2": "ǝdıd ǝɥʇ ɟo doʇ ǝɥʇ uo pǝɔɐןd ǝq oʇ sɐɥ ǝsɐq ʞɔɐظdɯnԀ", + "tfmg.ponder.pumpjack.text_3": "ʇı puıɥǝq pǝɔɐןd ǝq oʇ spǝǝu ɹǝpןoH ɹǝɯɯɐH ʞɔɐظdɯnԀ", + "tfmg.ponder.pumpjack.text_4": "ǝsɐq ǝɥʇ puɐ ʞuɐɹɔ ǝɥʇ ǝʌoqɐ ʞɔɐظdɯnԀ ǝɥʇ ɟo pɐǝH ǝɥʇ puⱯ ɹoʇɔǝuuoƆ ǝɥʇ buıpןınq sı dǝʇs ʇxǝN", + "tfmg.ponder.pumpjack.text_5": "sʇɹɐԀ ɹǝɯɯɐH ʞɔɐظdɯnԀ ɥʇıʍ pǝʇɔǝuuoɔ ǝq oʇ pǝǝu ʎǝɥʇ ʍoN", + "tfmg.ponder.pumpjack.text_6": "ʇı ǝʌoqɐ ʞuɐɹɔ ʞɔɐظdɯnd ɐ ɥʇıʍ )ʞɔɐظdɯnd ǝɥʇ ɹoɟ ʇnduı ɹǝʍod ǝɥʇ sı ɥɔıɥʍ( ʇnduı ǝuıɥɔɐɯ ɐ buıɔɐןd sı dǝʇs ʇsɐן ǝɥ⟘", + "tfmg.ponder.shared.behaviour_modify_value_panel": "ןǝuɐd ǝnןɐʌ ǝɥʇ buısn pǝıɟıpoɯ ǝq uɐɔ ɹnoıʌɐɥǝq sıɥ⟘", + "tfmg.ponder.shared.movement_anchors": "˙pǝʌoɯ ǝq uɐɔ sǝɹnʇɔnɹʇs ɹǝbɹɐן 'ǝnן⅁ ɹǝdnS ɟo dןǝɥ ǝɥʇ ɥʇıM", + "tfmg.ponder.shared.rpm16": "WԀᴚ 9Ɩ", + "tfmg.ponder.shared.rpm16_source": "WԀᴚ 9Ɩ :ǝɔɹnoS", + "tfmg.ponder.shared.rpm32": "WԀᴚ ᄅƐ", + "tfmg.ponder.shared.rpm8": "WԀᴚ 8", + "tfmg.ponder.shared.storage_on_contraption": "ʎןןɐɔıʇɐɯoʇnɐ sdoɹp ɹıǝɥʇ dn ʞɔıd ןןıʍ uoıʇdɐɹʇuoƆ ǝɥʇ oʇ pǝɥɔɐʇʇɐ sǝıɹoʇuǝʌuI", + "tfmg.ponder.tag.chemical_vat": "ʇɐΛ ןɐɔıɯǝɥƆ", + "tfmg.ponder.tag.chemical_vat.description": "ʇı puɐdxǝ ʇɐɥʇ sǝuıɥɔɐɯ puɐ ʇɐʌ ןɐɔıɯǝɥƆ", + "tfmg.ponder.tag.electric_machinery": "ʎɹǝuıɥɔɐW ɔıɹʇɔǝןƎ", + "tfmg.ponder.tag.electric_machinery.description": "ʎʇıɔıɹʇɔǝןǝ ɹǝɟsuɐɹʇ ɹo ǝɔnpoɹd 'ǝsn ɥɔıɥʍ ʞɔoןᗺ", + "tfmg.ponder.tag.engines": "sǝuıbuƎ", + "tfmg.ponder.tag.engines.description": "ɯǝɥʇ oʇ pǝʇɐןǝɹ ʇuǝɯdınbǝ puɐ sǝuıbuƎ", + "tfmg.ponder.tag.metallurgy": "ʎbɹnןןɐʇǝW", + "tfmg.ponder.tag.metallurgy.description": "ןɐʇǝɯ buıssǝɔoɹd oʇ pǝʇɐןǝɹ sʞɔoןᗺ", + "tfmg.ponder.tag.oil_processing": "ʎɹǝuıɥɔɐW buıssǝɔoɹԀ ןıO", + "tfmg.ponder.tag.oil_processing.description": "ןıo buıuıɯ puɐ buıuıɟǝɹ ɹoɟ pǝsn ʞɔoןᗺ", + "tfmg.subtitle.diesel_engine_sounds": "spunoS ǝuıbuƎ ןǝsǝıᗡ", + "tfmg.subtitle.engine_sounds": "spunoS ǝuıbuƎ" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/lang/en_us.json b/src/generated/resources/assets/tfmg/lang/en_us.json new file mode 100644 index 00000000..d3ab1de5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/lang/en_us.json @@ -0,0 +1,1046 @@ +{ + "OwO": "UwU", + "block.tfmg.accumulator": "Accumulator", + "block.tfmg.accumulator.tooltip.summary": "Holds a Large Amount of energy (inserted from bottom) that can be outputted Slowly from the Top", + "block.tfmg.air_intake": "Air Intake", + "block.tfmg.aluminum_bars": "Aluminum Bars", + "block.tfmg.aluminum_block": "Block of Aluminum", + "block.tfmg.aluminum_cable_hub": "Aluminum Cable Hub", + "block.tfmg.aluminum_cogwheel": "Aluminum Cogwheel", + "block.tfmg.aluminum_door": "Aluminum Door", + "block.tfmg.aluminum_fluid_tank": "Aluminum Fluid Tank", + "block.tfmg.aluminum_flywheel": "Aluminum Flywheel", + "block.tfmg.aluminum_frame": "Aluminum Frame", + "block.tfmg.aluminum_ladder": "Aluminum Ladder", + "block.tfmg.aluminum_lamp": "Aluminum Lamp", + "block.tfmg.aluminum_lamp.tooltip.behaviour1": "Glows relative to the amount of power its receiving", + "block.tfmg.aluminum_lamp.tooltip.behaviour2": "Changes color to the color of the light when glowing", + "block.tfmg.aluminum_lamp.tooltip.condition1": "When provided with power", + "block.tfmg.aluminum_lamp.tooltip.condition2": "When interacted with a dye", + "block.tfmg.aluminum_lamp.tooltip.summary": "Glows", + "block.tfmg.aluminum_mechanical_pump": "Aluminum Mechanical Pump", + "block.tfmg.aluminum_pipe": "Aluminum Pipe", + "block.tfmg.aluminum_scaffolding": "Aluminum Scaffolding", + "block.tfmg.aluminum_smart_fluid_pipe": "Aluminum Smart Fluid Pipe", + "block.tfmg.aluminum_truss": "Aluminum Truss", + "block.tfmg.asphalt": "Asphalt", + "block.tfmg.asphalt_slab": "Asphalt Slab", + "block.tfmg.asphalt_stairs": "Asphalt Stairs", + "block.tfmg.asphalt_wall": "Asphalt Wall", + "block.tfmg.bauxite": "Bauxite", + "block.tfmg.bauxite_pillar": "Bauxite Pillar", + "block.tfmg.black_concrete": "Black Concrete", + "block.tfmg.black_concrete_slab": "Black Concrete Slab", + "block.tfmg.black_concrete_stairs": "Black Concrete Stairs", + "block.tfmg.black_concrete_wall": "Black Concrete Wall", + "block.tfmg.black_rebar_concrete": "Black Rebar Concrete", + "block.tfmg.black_rebar_concrete_slab": "Black Rebar Concrete Slab", + "block.tfmg.black_rebar_concrete_stairs": "Black Rebar Concrete Stairs", + "block.tfmg.black_rebar_concrete_wall": "Black Rebar Concrete Wall", + "block.tfmg.blast_furnace_hatch": "Blast Furnace Hatch", + "block.tfmg.blast_furnace_output": "Blast Furnace Output", + "block.tfmg.blast_furnace_reinforcement": "Blast Furnace Reinforcement", + "block.tfmg.blast_furnace_reinforcement_wall": "Blast Furnace Reinforcement Wall", + "block.tfmg.blast_stove": "Blast Stove", + "block.tfmg.blast_stove.tooltip.behaviour1": "When 3 blast stoves are placed on top of eachother (or in a 3x2 shape) the smallest version of a blast stove is created, to add further internal storage you can add more stove blocks on top which is generally reccomended. A Blast Stove requires 2 things to be pumped in. Air, from the side of the bottom block and Creosote or Furnace gas from the bottom. Carbon dioxide must be pumped out from the side of the bottom block and finally heated air must be pumped out from the machines top.", + "block.tfmg.blast_stove.tooltip.summary": "Heats Air", + "block.tfmg.blue_caution_block": "Blue Caution Block", + "block.tfmg.blue_concrete": "Blue Concrete", + "block.tfmg.blue_concrete_slab": "Blue Concrete Slab", + "block.tfmg.blue_concrete_stairs": "Blue Concrete Stairs", + "block.tfmg.blue_concrete_wall": "Blue Concrete Wall", + "block.tfmg.blue_rebar_concrete": "Blue Rebar Concrete", + "block.tfmg.blue_rebar_concrete_slab": "Blue Rebar Concrete Slab", + "block.tfmg.blue_rebar_concrete_stairs": "Blue Rebar Concrete Stairs", + "block.tfmg.blue_rebar_concrete_wall": "Blue Rebar Concrete Wall", + "block.tfmg.brass_cable_hub": "Brass Cable Hub", + "block.tfmg.brass_frame": "Brass Frame", + "block.tfmg.brass_mechanical_pump": "Brass Mechanical Pump", + "block.tfmg.brass_pipe": "Brass Pipe", + "block.tfmg.brass_smart_fluid_pipe": "Brass Smart Fluid Pipe", + "block.tfmg.brass_truss": "Brass Truss", + "block.tfmg.brick_smokestack": "Brick Smokestack", + "block.tfmg.brown_caution_block": "Brown Caution Block", + "block.tfmg.brown_concrete": "Brown Concrete", + "block.tfmg.brown_concrete_slab": "Brown Concrete Slab", + "block.tfmg.brown_concrete_stairs": "Brown Concrete Stairs", + "block.tfmg.brown_concrete_wall": "Brown Concrete Wall", + "block.tfmg.brown_rebar_concrete": "Brown Rebar Concrete", + "block.tfmg.brown_rebar_concrete_slab": "Brown Rebar Concrete Slab", + "block.tfmg.brown_rebar_concrete_stairs": "Brown Rebar Concrete Stairs", + "block.tfmg.brown_rebar_concrete_wall": "Brown Rebar Concrete Wall", + "block.tfmg.cable_connector": "Cable Insulator", + "block.tfmg.cable_connector.tooltip.behaviour1": "Created a connection between the 2 insulators transferring power between them", + "block.tfmg.cable_connector.tooltip.condition1": "When 2 cable insulators are right clicked with a copper/aluminum/constantan spool", + "block.tfmg.cable_connector.tooltip.summary": "Transfers power", + "block.tfmg.cable_tube": "Cable Tube", + "block.tfmg.cast_iron_bars": "Cast Iron Bars", + "block.tfmg.cast_iron_block": "Block of Cast Iron", + "block.tfmg.cast_iron_chemical_vat": "Cast Iron Chemical Vat", + "block.tfmg.cast_iron_fluid_tank": "Cast Iron Fluid Tank", + "block.tfmg.cast_iron_flywheel": "Cast Iron Flywheel", + "block.tfmg.cast_iron_frame": "Cast Iron Frame", + "block.tfmg.cast_iron_ladder": "Cast Iron Ladder", + "block.tfmg.cast_iron_mechanical_pump": "Cast Iron Mechanical Pump", + "block.tfmg.cast_iron_pipe": "Cast Iron Pipe", + "block.tfmg.cast_iron_smart_fluid_pipe": "Cast Iron Smart Fluid Pipe", + "block.tfmg.cast_iron_truss": "Cast Iron Truss", + "block.tfmg.casting_basin": "Casting Basin", + "block.tfmg.casting_basin.tooltip.behaviour1": "Creates steel ingots which must have a sufficent output as the internal storage of the basin is limited", + "block.tfmg.casting_basin.tooltip.condition1": "When supplied with molten steel", + "block.tfmg.casting_basin.tooltip.summary": "Casts ingots", + "block.tfmg.cement": "Cement", + "block.tfmg.cinder_block": "Cinder Block", + "block.tfmg.cinderflour_block": "Cinderflour Block", + "block.tfmg.circular_light": "Circular Lamp", + "block.tfmg.circular_light.tooltip.behaviour1": "Glows relative to the amount of power its receiving", + "block.tfmg.circular_light.tooltip.behaviour2": "Changes color to the color of the light when glowing", + "block.tfmg.circular_light.tooltip.condition1": "When provided with power", + "block.tfmg.circular_light.tooltip.condition2": "When interacted with a dye", + "block.tfmg.circular_light.tooltip.summary": "Glows", + "block.tfmg.coal_coke_block": "Block of Coal Coke", + "block.tfmg.cocrete_hose.tooltip.summary": "Pumps concrete like a hose pulley into rebar blocks. Set concrete dries as rebar concrete", + "block.tfmg.coke_oven": "Coke Oven", + "block.tfmg.concrete": "Concrete", + "block.tfmg.concrete_encased_cable_tube": "Concrete Encased Cable Tube", + "block.tfmg.concrete_encased_electric_post": "Concrete Encased Electric Post", + "block.tfmg.concrete_encased_industrial_pipe": "Concrete Encased Industrial Pipe", + "block.tfmg.concrete_hose": "Concrete Hose", + "block.tfmg.concrete_slab": "Concrete Slab", + "block.tfmg.concrete_smokestack": "Concrete Smokestack", + "block.tfmg.concrete_stairs": "Concrete Stairs", + "block.tfmg.concrete_wall": "Concrete Wall", + "block.tfmg.constantan_block": "Block of Constantan", + "block.tfmg.constantan_frame": "Constantan Frame", + "block.tfmg.constantan_ladder": "Constantan Ladder", + "block.tfmg.constantan_truss": "Constantan Truss", + "block.tfmg.converter": "Converter", + "block.tfmg.converter.tooltip.behaviour1": "The block has a TFMG input (copper) and an FE one (redstone) by default it converts TFMG energy to FE with a wrench you can make the converter convert FE to TFMG energy. Voltage of the tfmg output may be abjusted by opening a menu on the side of the Converter", + "block.tfmg.converter.tooltip.summary": "Converts FE to TFMG energy and vice versa", + "block.tfmg.cooling_fluid": "Cooling Fluid", + "block.tfmg.copper_cable_hub": "Copper Cable Hub", + "block.tfmg.copper_encased_aluminum_pipe": "Copper Encased Aluminum Pipe", + "block.tfmg.copper_encased_brass_pipe": "Copper Encased Brass Pipe", + "block.tfmg.copper_encased_cast_iron_pipe": "Copper Encased Cast Iron Pipe", + "block.tfmg.copper_encased_plastic_pipe": "Copper Encased Plastic Pipe", + "block.tfmg.copper_encased_steel_pipe": "Copper Encased Steel Pipe", + "block.tfmg.copper_frame": "Copper Frame", + "block.tfmg.copper_truss": "Copper Truss", + "block.tfmg.copycat_cable_base": "Copycat Cable Base", + "block.tfmg.copycat_cable_block": "Copycat Cable Block", + "block.tfmg.creative_generator": "Creative Generator", + "block.tfmg.creosote": "Creosote", + "block.tfmg.crude_oil": "Crude Oil", + "block.tfmg.cut_bauxite": "Cut Bauxite", + "block.tfmg.cut_bauxite_brick_slab": "Cut Bauxite Brick Slab", + "block.tfmg.cut_bauxite_brick_stairs": "Cut Bauxite Brick Stairs", + "block.tfmg.cut_bauxite_brick_wall": "Cut Bauxite Brick Wall", + "block.tfmg.cut_bauxite_bricks": "Cut Bauxite Bricks", + "block.tfmg.cut_bauxite_slab": "Cut Bauxite Slab", + "block.tfmg.cut_bauxite_stairs": "Cut Bauxite Stairs", + "block.tfmg.cut_bauxite_wall": "Cut Bauxite Wall", + "block.tfmg.cut_galena": "Cut Galena", + "block.tfmg.cut_galena_brick_slab": "Cut Galena Brick Slab", + "block.tfmg.cut_galena_brick_stairs": "Cut Galena Brick Stairs", + "block.tfmg.cut_galena_brick_wall": "Cut Galena Brick Wall", + "block.tfmg.cut_galena_bricks": "Cut Galena Bricks", + "block.tfmg.cut_galena_slab": "Cut Galena Slab", + "block.tfmg.cut_galena_stairs": "Cut Galena Stairs", + "block.tfmg.cut_galena_wall": "Cut Galena Wall", + "block.tfmg.cyan_caution_block": "Cyan Caution Block", + "block.tfmg.cyan_concrete": "Cyan Concrete", + "block.tfmg.cyan_concrete_slab": "Cyan Concrete Slab", + "block.tfmg.cyan_concrete_stairs": "Cyan Concrete Stairs", + "block.tfmg.cyan_concrete_wall": "Cyan Concrete Wall", + "block.tfmg.cyan_rebar_concrete": "Cyan Rebar Concrete", + "block.tfmg.cyan_rebar_concrete_slab": "Cyan Rebar Concrete Slab", + "block.tfmg.cyan_rebar_concrete_stairs": "Cyan Rebar Concrete Stairs", + "block.tfmg.cyan_rebar_concrete_wall": "Cyan Rebar Concrete Wall", + "block.tfmg.deepslate_lead_ore": "Deepslate Lead Ore", + "block.tfmg.deepslate_lithium_ore": "Deepslate Lithium Ore", + "block.tfmg.deepslate_nickel_ore": "Deepslate Nickel Ore", + "block.tfmg.diagonal_cable_block": "Diagonal Cable Block", + "block.tfmg.diesel": "Diesel", + "block.tfmg.diode.tooltip.behaviour1": "The power will be outputted on its lighter side acting as a one way pathway for power (meaning any power that would be coming from its lighter side would not be outputted on the darker one)", + "block.tfmg.diode.tooltip.condition1": "When provided with power from its darker side", + "block.tfmg.diode.tooltip.summary": "Functions as a one way gateway for power to flow through", + "block.tfmg.electric_diode": "Diode", + "block.tfmg.electric_motor": "Electric Motor", + "block.tfmg.electric_post": "Electric Post", + "block.tfmg.electric_pump": "Electric Pump", + "block.tfmg.electrical_switch": "Electric Switch", + "block.tfmg.electrical_switch.tooltip.summary": "Lets power through when powered with redstone", + "block.tfmg.electrode_holder": "Electrode Holder", + "block.tfmg.encased_diode": "Encased Diode", + "block.tfmg.encased_potentiometer": "Encased Potentiometer", + "block.tfmg.engine_controller": "Engine Controller", + "block.tfmg.engine_controller.tooltip.behaviour1": "R-Click the controller with a transmission item and then do the same with the engine.", + "block.tfmg.engine_controller.tooltip.behaviour2": "Look in the Keybinds part of the minecraft settings specifically in the Create: The Factory Must Grow section", + "block.tfmg.engine_controller.tooltip.condition1": "How to link to an engine", + "block.tfmg.engine_controller.tooltip.condition2": "How to control an engine", + "block.tfmg.engine_controller.tooltip.summary": "Controls the speed and direction of rotation generated by various types of engine", + "block.tfmg.engine_gearbox": "Engine Gearbox", + "block.tfmg.exhaust": "Exhaust", + "block.tfmg.factory_floor": "Factory Floor", + "block.tfmg.firebox": "Firebox", + "block.tfmg.firebox.tooltip.behaviour1": "Heats machinery above it acting as a blaze burner", + "block.tfmg.firebox.tooltip.condition1": "When filled with lpg, butane, diesel, propane, naphta or kerosene with carbon dioxide being pumped out", + "block.tfmg.firebox.tooltip.summary": "Heats machinery when fuel is pumped inside", + "block.tfmg.fireclay": "Fireclay", + "block.tfmg.fireclay.tooltip.summary": "Spawns in underground veins located in the overworld", + "block.tfmg.fireproof_brick_reinforcement": "Fireproof Brick Reinforcement", + "block.tfmg.fireproof_bricks": "Fireproof Bricks", + "block.tfmg.fireproof_chemical_vat": "Fireproof Chemical Vat", + "block.tfmg.flarestack": "Flarestack", + "block.tfmg.flarestack.tooltip.behaviour1": "Deletes what is pumped inside", + "block.tfmg.flarestack.tooltip.condition1": "When Pumped burnable Fluids/Gases into from the bottom", + "block.tfmg.flarestack.tooltip.summary": "Burns unneeded oil products", + "block.tfmg.fossilstone": "Fossilstone", + "block.tfmg.galena": "Galena", + "block.tfmg.galena_pillar": "Galena Pillar", + "block.tfmg.gasoline": "Gasoline", + "block.tfmg.generator": "Generator", + "block.tfmg.glass_aluminum_pipe": "Glass Aluminum Pipe", + "block.tfmg.glass_brass_pipe": "Glass Brass Pipe", + "block.tfmg.glass_cable_insulator": "Glass Cable Insulator", + "block.tfmg.glass_cable_insulator.tooltip.behaviour1": "Created a connection between the 2 insulators transferring power between them", + "block.tfmg.glass_cable_insulator.tooltip.condition1": "When 2 cable insulators are right clicked with a copper/aluminum/constantan spool", + "block.tfmg.glass_cable_insulator.tooltip.summary": "Transfers power", + "block.tfmg.glass_cast_iron_pipe": "Glass Cast Iron Pipe", + "block.tfmg.glass_plastic_pipe": "Glass Plastic Pipe", + "block.tfmg.glass_steel_pipe": "Glass Steel Pipe", + "block.tfmg.gray_caution_block": "Gray Caution Block", + "block.tfmg.gray_concrete": "Gray Concrete", + "block.tfmg.gray_concrete_slab": "Gray Concrete Slab", + "block.tfmg.gray_concrete_stairs": "Gray Concrete Stairs", + "block.tfmg.gray_concrete_wall": "Gray Concrete Wall", + "block.tfmg.gray_rebar_concrete": "Gray Rebar Concrete", + "block.tfmg.gray_rebar_concrete_slab": "Gray Rebar Concrete Slab", + "block.tfmg.gray_rebar_concrete_stairs": "Gray Rebar Concrete Stairs", + "block.tfmg.gray_rebar_concrete_wall": "Gray Rebar Concrete Wall", + "block.tfmg.green_caution_block": "Green Caution Block", + "block.tfmg.green_concrete": "Green Concrete", + "block.tfmg.green_concrete_slab": "Green Concrete Slab", + "block.tfmg.green_concrete_stairs": "Green Concrete Stairs", + "block.tfmg.green_concrete_wall": "Green Concrete Wall", + "block.tfmg.green_rebar_concrete": "Green Rebar Concrete", + "block.tfmg.green_rebar_concrete_slab": "Green Rebar Concrete Slab", + "block.tfmg.green_rebar_concrete_stairs": "Green Rebar Concrete Stairs", + "block.tfmg.green_rebar_concrete_wall": "Green Rebar Concrete Wall", + "block.tfmg.hardened_planks": "Hardened Planks", + "block.tfmg.heavy_cable_hub": "Heavy Cable Hub", + "block.tfmg.heavy_casing_door": "Heavy Casing Door", + "block.tfmg.heavy_casing_encased_aluminum_cogwheel": "Heavy Casing Encased Aluminum Cogwheel", + "block.tfmg.heavy_casing_encased_large_aluminum_cogwheel": "Heavy Casing Encased Large Aluminum Cogwheel", + "block.tfmg.heavy_casing_encased_large_steel_cogwheel": "Heavy Casing Encased Large Steel Cogwheel", + "block.tfmg.heavy_casing_encased_shaft": "Heavy Casing Encased Shaft", + "block.tfmg.heavy_casing_encased_steel_cogwheel": "Heavy Casing Encased Steel Cogwheel", + "block.tfmg.heavy_machinery_casing": "Heavy Machinery Casing", + "block.tfmg.heavy_oil": "Heavy Oil", + "block.tfmg.heavy_plated_door": "Heavy Plated Door", + "block.tfmg.industrial_aluminum_casing": "Aluminum Casing", + "block.tfmg.industrial_mixer": "Industrial Mixer", + "block.tfmg.industrial_pipe": "Industrial Pipe", + "block.tfmg.kerosene": "Kerosene", + "block.tfmg.large_aluminum_cogwheel": "Large Aluminum Cogwheel", + "block.tfmg.large_engine": "Large Engine", + "block.tfmg.large_engine.tooltip.behaviour1": "To function it requires air and fuel to be pumped in (Diesel, Kerosene, Naphta, Furnace Gas) and co2 to be pumped out (needs an exhaust) to generate rotation (a shaft needs to be attached similiar to a steam engine)", + "block.tfmg.large_engine.tooltip.summary": "Creates rotation from less refined fuels", + "block.tfmg.large_pumpjack_hammer_connector": "Large Pumpjack Hammer Connector", + "block.tfmg.large_pumpjack_hammer_head": "Large Pumpjack Hammer Head", + "block.tfmg.large_pumpjack_hammer_part": "Large Pumpjack Hammer Part", + "block.tfmg.large_steel_cogwheel": "Large Steel Cogwheel", + "block.tfmg.layered_bauxite": "Layered Bauxite", + "block.tfmg.layered_galena": "Layered Galena", + "block.tfmg.lead_bars": "Lead Bars", + "block.tfmg.lead_block": "Block of Lead", + "block.tfmg.lead_flywheel": "Lead Flywheel", + "block.tfmg.lead_frame": "Lead Frame", + "block.tfmg.lead_ladder": "Leadder", + "block.tfmg.lead_ore": "Lead Ore", + "block.tfmg.lead_truss": "Lead Truss", + "block.tfmg.light_blue_caution_block": "Light Blue Caution Block", + "block.tfmg.light_blue_concrete": "Light Blue Concrete", + "block.tfmg.light_blue_concrete_slab": "Light Blue Concrete Slab", + "block.tfmg.light_blue_concrete_stairs": "Light Blue Concrete Stairs", + "block.tfmg.light_blue_concrete_wall": "Light Blue Concrete Wall", + "block.tfmg.light_blue_rebar_concrete": "Light Blue Rebar Concrete", + "block.tfmg.light_blue_rebar_concrete_slab": "Light Blue Rebar Concrete Slab", + "block.tfmg.light_blue_rebar_concrete_stairs": "Light Blue Rebar Concrete Stairs", + "block.tfmg.light_blue_rebar_concrete_wall": "Light Blue Rebar Concrete Wall", + "block.tfmg.light_bulb": "Light Bulb", + "block.tfmg.light_bulb.tooltip.behaviour1": "Glows relative to the amount of power its receiving", + "block.tfmg.light_bulb.tooltip.behaviour2": "Changes color to the color of the light when glowing", + "block.tfmg.light_bulb.tooltip.condition1": "When provided with power", + "block.tfmg.light_bulb.tooltip.condition2": "When interacted with a dye", + "block.tfmg.light_bulb.tooltip.summary": "Glows", + "block.tfmg.light_gray_caution_block": "Light Gray Caution Block", + "block.tfmg.light_gray_concrete": "Light Gray Concrete", + "block.tfmg.light_gray_concrete_slab": "Light Gray Concrete Slab", + "block.tfmg.light_gray_concrete_stairs": "Light Gray Concrete Stairs", + "block.tfmg.light_gray_concrete_wall": "Light Gray Concrete Wall", + "block.tfmg.light_gray_rebar_concrete": "Light Gray Rebar Concrete", + "block.tfmg.light_gray_rebar_concrete_slab": "Light Gray Rebar Concrete Slab", + "block.tfmg.light_gray_rebar_concrete_stairs": "Light Gray Rebar Concrete Stairs", + "block.tfmg.light_gray_rebar_concrete_wall": "Light Gray Rebar Concrete Wall", + "block.tfmg.lignite": "Lignite", + "block.tfmg.lime_caution_block": "Lime Caution Block", + "block.tfmg.lime_concrete": "Lime Concrete", + "block.tfmg.lime_concrete_slab": "Lime Concrete Slab", + "block.tfmg.lime_concrete_stairs": "Lime Concrete Stairs", + "block.tfmg.lime_concrete_wall": "Lime Concrete Wall", + "block.tfmg.lime_rebar_concrete": "Lime Rebar Concrete", + "block.tfmg.lime_rebar_concrete_slab": "Lime Rebar Concrete Slab", + "block.tfmg.lime_rebar_concrete_stairs": "Lime Rebar Concrete Stairs", + "block.tfmg.lime_rebar_concrete_wall": "Lime Rebar Concrete Wall", + "block.tfmg.liquid_asphalt": "Liquid Asphalt", + "block.tfmg.liquid_concrete": "Liquid Concrete", + "block.tfmg.liquid_silicon": "Liquid Silicon", + "block.tfmg.lithium_block": "Block of Lithium", + "block.tfmg.lithium_ore": "Lithium Ore", + "block.tfmg.lithium_torch": "Lithium Torch", + "block.tfmg.lubrication_oil": "Lubrication Oil", + "block.tfmg.machine_input": "Machine Input", + "block.tfmg.magenta_caution_block": "Magenta Caution Block", + "block.tfmg.magenta_concrete": "Magenta Concrete", + "block.tfmg.magenta_concrete_slab": "Magenta Concrete Slab", + "block.tfmg.magenta_concrete_stairs": "Magenta Concrete Stairs", + "block.tfmg.magenta_concrete_wall": "Magenta Concrete Wall", + "block.tfmg.magenta_rebar_concrete": "Magenta Rebar Concrete", + "block.tfmg.magenta_rebar_concrete_slab": "Magenta Rebar Concrete Slab", + "block.tfmg.magenta_rebar_concrete_stairs": "Magenta Rebar Concrete Stairs", + "block.tfmg.magenta_rebar_concrete_wall": "Magenta Rebar Concrete Wall", + "block.tfmg.metal_smokestack": "Metal Smokestack", + "block.tfmg.modern_light": "Light Panel", + "block.tfmg.modern_light.tooltip.behaviour1": "Glows relative to the amount of power its receiving", + "block.tfmg.modern_light.tooltip.behaviour2": "Changes color to the color of the light when glowing", + "block.tfmg.modern_light.tooltip.condition1": "When provided with power", + "block.tfmg.modern_light.tooltip.condition2": "When interacted with a dye", + "block.tfmg.modern_light.tooltip.summary": "Glows", + "block.tfmg.molten_plastic": "Molten Plastic", + "block.tfmg.molten_slag": "Molten Slag", + "block.tfmg.molten_steel": "Molten Steel", + "block.tfmg.napalm": "Napalm", + "block.tfmg.napalm_bomb": "Napalm Bomb", + "block.tfmg.naphtha": "Naphtha", + "block.tfmg.neon_tube": "Neon Tube", + "block.tfmg.neon_tube.tooltip.behaviour1": "Glows relative to the amount of power its receiving", + "block.tfmg.neon_tube.tooltip.behaviour2": "Changes color to the color of the light when glowing", + "block.tfmg.neon_tube.tooltip.behaviour3": "Changes shape providing a space to power the tube", + "block.tfmg.neon_tube.tooltip.condition1": "When provided with power", + "block.tfmg.neon_tube.tooltip.condition2": "When interacted with a dye", + "block.tfmg.neon_tube.tooltip.condition3": "When interacted with a Wrench", + "block.tfmg.neon_tube.tooltip.summary": "Glows", + "block.tfmg.nickel_bars": "Nickel Bars", + "block.tfmg.nickel_block": "Block of Nickel", + "block.tfmg.nickel_flywheel": "Nickel Flywheel", + "block.tfmg.nickel_frame": "Nickel Frame", + "block.tfmg.nickel_ladder": "Nickel Ladder", + "block.tfmg.nickel_ore": "Nickel Ore", + "block.tfmg.nickel_truss": "Nickel Truss", + "block.tfmg.oil_deposit": "Oil Deposit", + "block.tfmg.orange_caution_block": "Orange Caution Block", + "block.tfmg.orange_concrete": "Orange Concrete", + "block.tfmg.orange_concrete_slab": "Orange Concrete Slab", + "block.tfmg.orange_concrete_stairs": "Orange Concrete Stairs", + "block.tfmg.orange_concrete_wall": "Orange Concrete Wall", + "block.tfmg.orange_rebar_concrete": "Orange Rebar Concrete", + "block.tfmg.orange_rebar_concrete_slab": "Orange Rebar Concrete Slab", + "block.tfmg.orange_rebar_concrete_stairs": "Orange Rebar Concrete Stairs", + "block.tfmg.orange_rebar_concrete_wall": "Orange Rebar Concrete Wall", + "block.tfmg.pink_caution_block": "Pink Caution Block", + "block.tfmg.pink_concrete": "Pink Concrete", + "block.tfmg.pink_concrete_slab": "Pink Concrete Slab", + "block.tfmg.pink_concrete_stairs": "Pink Concrete Stairs", + "block.tfmg.pink_concrete_wall": "Pink Concrete Wall", + "block.tfmg.pink_rebar_concrete": "Pink Rebar Concrete", + "block.tfmg.pink_rebar_concrete_slab": "Pink Rebar Concrete Slab", + "block.tfmg.pink_rebar_concrete_stairs": "Pink Rebar Concrete Stairs", + "block.tfmg.pink_rebar_concrete_wall": "Pink Rebar Concrete Wall", + "block.tfmg.plastic_block": "Block of Plastic", + "block.tfmg.plastic_mechanical_pump": "Plastic Mechanical Pump", + "block.tfmg.plastic_pipe": "Plastic Pipe", + "block.tfmg.plastic_smart_fluid_pipe": "Plastic Smart Fluid Pipe", + "block.tfmg.polarizer": "Polarizer", + "block.tfmg.polarizer.tooltip.behaviour1": "Will turn a _Magnetic Ingot_ into a _Magnet_ when right clicked with a _Magnetic Ingot_ after a bit of time", + "block.tfmg.polarizer.tooltip.condition1": "When powered", + "block.tfmg.polarizer.tooltip.summary": "Makes Magnetis out of Magnetic Ingots", + "block.tfmg.polished_cut_bauxite": "Polished Cut Bauxite", + "block.tfmg.polished_cut_bauxite_slab": "Polished Cut Bauxite Slab", + "block.tfmg.polished_cut_bauxite_stairs": "Polished Cut Bauxite Stairs", + "block.tfmg.polished_cut_bauxite_wall": "Polished Cut Bauxite Wall", + "block.tfmg.polished_cut_galena": "Polished Cut Galena", + "block.tfmg.polished_cut_galena_slab": "Polished Cut Galena Slab", + "block.tfmg.polished_cut_galena_stairs": "Polished Cut Galena Stairs", + "block.tfmg.polished_cut_galena_wall": "Polished Cut Galena Wall", + "block.tfmg.potentiometer": "Potentiometer", + "block.tfmg.potentiometer.tooltip.behaviour1": "Based on what pecentage you set, this machine only lets through a certain amount of voltage outputted by its output (its output can be seen by the arrow like pattern on its top pointing to it)", + "block.tfmg.potentiometer.tooltip.summary": "Lets through a only a set amount of voltage", + "block.tfmg.pumpjack_base": "Pumpjack Base", + "block.tfmg.pumpjack_crank": "Pumpjack Crank", + "block.tfmg.pumpjack_hammer": "Pumpjack Hammer Holder", + "block.tfmg.pumpjack_hammer_connector": "Pumpjack Hammer Connector", + "block.tfmg.pumpjack_hammer_head": "Pumpjack Hammer Head", + "block.tfmg.pumpjack_hammer_part": "Pumpjack Hammer Part", + "block.tfmg.purple_caution_block": "Purple Caution Block", + "block.tfmg.purple_concrete": "Purple Concrete", + "block.tfmg.purple_concrete_slab": "Purple Concrete Slab", + "block.tfmg.purple_concrete_stairs": "Purple Concrete Stairs", + "block.tfmg.purple_concrete_wall": "Purple Concrete Wall", + "block.tfmg.purple_rebar_concrete": "Purple Rebar Concrete", + "block.tfmg.purple_rebar_concrete_slab": "Purple Rebar Concrete Slab", + "block.tfmg.purple_rebar_concrete_stairs": "Purple Rebar Concrete Stairs", + "block.tfmg.purple_rebar_concrete_wall": "Purple Rebar Concrete Wall", + "block.tfmg.radial_engine": "Radial Engine", + "block.tfmg.raw_lead_block": "Block of Raw Lead", + "block.tfmg.raw_lithium_block": "Block of Raw Lithium", + "block.tfmg.raw_nickel_block": "Block of Raw Nickel", + "block.tfmg.rebar_block": "Rebar Block", + "block.tfmg.rebar_concrete": "Rebar Concrete", + "block.tfmg.rebar_concrete_slab": "Rebar Concrete Slab", + "block.tfmg.rebar_concrete_stairs": "Rebar Concrete Stairs", + "block.tfmg.rebar_concrete_wall": "Rebar Concrete Wall", + "block.tfmg.rebar_floor": "Rebar Floor", + "block.tfmg.rebar_pile": "Rebar Pile", + "block.tfmg.rebar_pillar": "Rebar Pillar", + "block.tfmg.rebar_stairs": "Rebar Stairs", + "block.tfmg.rebar_wall": "Rebar Wall", + "block.tfmg.red_caution_block": "Red Caution Block", + "block.tfmg.red_concrete": "Red Concrete", + "block.tfmg.red_concrete_slab": "Red Concrete Slab", + "block.tfmg.red_concrete_stairs": "Red Concrete Stairs", + "block.tfmg.red_concrete_wall": "Red Concrete Wall", + "block.tfmg.red_rebar_concrete": "Red Rebar Concrete", + "block.tfmg.red_rebar_concrete_slab": "Red Rebar Concrete Slab", + "block.tfmg.red_rebar_concrete_stairs": "Red Rebar Concrete Stairs", + "block.tfmg.red_rebar_concrete_wall": "Red Rebar Concrete Wall", + "block.tfmg.regular_engine": "Regular Engine", + "block.tfmg.reinforced_fireproof_bricks": "Reinforced Fireproof Bricks", + "block.tfmg.resistor": "Resistor", + "block.tfmg.resistor.tooltip.behaviour1": "Adds the resistors respective resistance (to see how to change its resistance look at the winding machines tooltip) to whatever electric group its target block is in", + "block.tfmg.resistor.tooltip.condition1": "When placed on a block within a group", + "block.tfmg.resistor.tooltip.summary": "Adds resistance to a network", + "block.tfmg.rotor": "Rotor", + "block.tfmg.rusted_blast_furnace_reinforcement": "Rusted Blast Furnace Reinforcement", + "block.tfmg.rusted_blast_furnace_reinforcement_wall": "Rusted Blast Furnace Reinforcement Wall", + "block.tfmg.segmented_display": "Segmented Display", + "block.tfmg.simple_large_engine": "Simple Large Engine", + "block.tfmg.simple_large_engine.tooltip.behaviour1": "To function it requires air and fuel to be pumped in (Diesel, Kerosene, Naphta, Furnace Gas) and co2 to be pumped out (needs an exhaust) to generate rotation (a shaft needs to be attached similiar to a steam engine)", + "block.tfmg.simple_large_engine.tooltip.summary": "Creates rotation (less effectively than its regular counterpart) from less refined fuels", + "block.tfmg.slag_block": "Block of Slag", + "block.tfmg.slag_bricks": "Slag Bricks", + "block.tfmg.small_bauxite_brick_slab": "Small Bauxite Brick Slab", + "block.tfmg.small_bauxite_brick_stairs": "Small Bauxite Brick Stairs", + "block.tfmg.small_bauxite_brick_wall": "Small Bauxite Brick Wall", + "block.tfmg.small_bauxite_bricks": "Small Bauxite Bricks", + "block.tfmg.small_galena_brick_slab": "Small Galena Brick Slab", + "block.tfmg.small_galena_brick_stairs": "Small Galena Brick Stairs", + "block.tfmg.small_galena_brick_wall": "Small Galena Brick Wall", + "block.tfmg.small_galena_bricks": "Small Galena Bricks", + "block.tfmg.stator": "Stator", + "block.tfmg.steel_bars": "Steel Bars", + "block.tfmg.steel_block": "Block of Steel", + "block.tfmg.steel_cable_hub": "Steel Cable Hub", + "block.tfmg.steel_casing": "Steel Casing", + "block.tfmg.steel_casing_cable_hub": "Steel Casing Cable Hub", + "block.tfmg.steel_chemical_vat": "Steel Chemical Vat", + "block.tfmg.steel_cogwheel": "Steel Cogwheel", + "block.tfmg.steel_distillation_controller": "Steel Distillation Controller", + "block.tfmg.steel_distillation_output": "Steel Distillation Output", + "block.tfmg.steel_door": "Steel Door", + "block.tfmg.steel_encased_aluminum_cogwheel": "Steel Encased Aluminum Cogwheel", + "block.tfmg.steel_encased_large_aluminum_cogwheel": "Steel Encased Large Aluminum Cogwheel", + "block.tfmg.steel_encased_large_steel_cogwheel": "Steel Encased Large Steel Cogwheel", + "block.tfmg.steel_encased_shaft": "Steel Encased Shaft", + "block.tfmg.steel_encased_steel_cogwheel": "Steel Encased Steel Cogwheel", + "block.tfmg.steel_fluid_tank": "Steel Fluid Tank", + "block.tfmg.steel_flywheel": "Steel Flywheel", + "block.tfmg.steel_frame": "Steel Frame", + "block.tfmg.steel_gearbox": "Steel Gearbox", + "block.tfmg.steel_ladder": "Steel Ladder", + "block.tfmg.steel_mechanical_pump": "Steel Mechanical Pump", + "block.tfmg.steel_pipe": "Steel Pipe", + "block.tfmg.steel_scaffolding": "Steel Scaffolding", + "block.tfmg.steel_smart_fluid_pipe": "Steel Smart Fluid Pipe", + "block.tfmg.steel_trapdoor": "Steel Trapdoor", + "block.tfmg.steel_truss": "Steel Truss", + "block.tfmg.sulfur": "Sulfur", + "block.tfmg.sulfuric_acid": "Sulfuric Acid", + "block.tfmg.surface_scanner": "Surface Scanner", + "block.tfmg.surface_scanner.tooltip.behaviour1": "The machines top 5x5 grid shows the surrounding chunks with its chunk in the center, the chunks that have atleast 1 oil deposit in them should glow. If the surface does not start to glow within a few seconds then it is likely that there are no oil deposits nearby. Chunks can be seen ingame with F3+G", + "block.tfmg.surface_scanner.tooltip.condition1": "When powered from below with a Machine Input", + "block.tfmg.surface_scanner.tooltip.summary": "Helps to find chunks with oil", + "block.tfmg.traffic_light": "Traffic Light", + "block.tfmg.transformer": "Transformer", + "block.tfmg.transformer.tooltip.behaviour1": "Needs 2 electromagnetic coils of different turn amounts that have to be put on the transformer where the output (indicated by a small line of copper) outputs voltage based on the ratio of the 2 coils (for example if the input has a coil with 50 turns and the output has one with a 100 then the voltage is doubled since 100/50 = 2)", + "block.tfmg.transformer.tooltip.summary": "Changes the voltage in a circuit", + "block.tfmg.turbine_engine": "Turbine Engine", + "block.tfmg.voltage_observer": "Voltage Observer", + "block.tfmg.voltage_observer.tooltip.summary": "Powers redstone when any voltage is detected", + "block.tfmg.voltmeter": "Electric Gauge", + "block.tfmg.voltmeter.tooltip.behaviour1": "To use put this block on an electric block/component. By default it will measure voltage from 0 to 500 volts. To see what its currently measuring look at it with engineers goggles. To choose from various options of what it can measure R-Click with a wrench.", + "block.tfmg.voltmeter.tooltip.summary": "Shows various different values about an electric component", + "block.tfmg.white_caution_block": "White Caution Block", + "block.tfmg.white_concrete": "White Concrete", + "block.tfmg.white_concrete_slab": "White Concrete Slab", + "block.tfmg.white_concrete_stairs": "White Concrete Stairs", + "block.tfmg.white_concrete_wall": "White Concrete Wall", + "block.tfmg.white_rebar_concrete": "White Rebar Concrete", + "block.tfmg.white_rebar_concrete_slab": "White Rebar Concrete Slab", + "block.tfmg.white_rebar_concrete_stairs": "White Rebar Concrete Stairs", + "block.tfmg.white_rebar_concrete_wall": "White Rebar Concrete Wall", + "block.tfmg.winding_machine": "Winding Machine", + "block.tfmg.winding_machine.tooltip.behaviour1": "Right click with your desired item (Electromagnetic Coil or Resistor) and then right click with either a Copper spool for Coils and an Aluminium one for resistors. Interact with it to set the amount of turns/ohms and power with rotation. Use the Engineers goggles to see when your winding is finished.", + "block.tfmg.winding_machine.tooltip.summary": "Changes the amount of turns on spools and the resistance on resistors", + "block.tfmg.yellow_caution_block": "Yellow Caution Block", + "block.tfmg.yellow_concrete": "Yellow Concrete", + "block.tfmg.yellow_concrete_slab": "Yellow Concrete Slab", + "block.tfmg.yellow_concrete_stairs": "Yellow Concrete Stairs", + "block.tfmg.yellow_concrete_wall": "Yellow Concrete Wall", + "block.tfmg.yellow_rebar_concrete": "Yellow Rebar Concrete", + "block.tfmg.yellow_rebar_concrete_slab": "Yellow Rebar Concrete Slab", + "block.tfmg.yellow_rebar_concrete_stairs": "Yellow Rebar Concrete Stairs", + "block.tfmg.yellow_rebar_concrete_wall": "Yellow Rebar Concrete Wall", + "block.tfmg.zinc_frame": "Zinc Frame", + "block.tfmg.zinc_truss": "Zinc Truss", + "create.creative_generator.voltage_generation": "Voltage Generation", + "create.distillation_output.mode.keep_fluid": "Stop Distillation Process", + "create.distillation_output.mode.void_when_full": "Void Excess Fluid", + "create.distillation_output.when_tank_is_full": "When Internal Tank is Full", + "create.fe": "FE: %1$s", + "create.goggles.ammeter": "Ammeter:", + "create.goggles.ammeter.amps": " Measured Amps: %1$s V", + "create.goggles.blast_furnace.fuel_amount": " Fuel : %1$s", + "create.goggles.blast_furnace.height": " Height: %1$s", + "create.goggles.blast_furnace.modifier": "Production Time: %1$s", + "create.goggles.blast_furnace.reinforced": "Reinforced", + "create.goggles.blast_furnace.stats": "Blast Furnace:", + "create.goggles.blast_furnace.timer": "Time Left: %1$s", + "create.goggles.blast_stove.header": "Blast Stove: ", + "create.goggles.blast_stove.tank1": "Input Tank: ", + "create.goggles.blast_stove.tank2": "Fuel Tank: ", + "create.goggles.blast_stove.tank3": "Output Tank 1: ", + "create.goggles.blast_stove.tank4": "Output Tank 2: ", + "create.goggles.coke_oven.header": "Coke Oven:", + "create.goggles.coke_oven.progress": "Progress: %1$s", + "create.goggles.distillation_tower.found_outputs": "Output Count: %1$s", + "create.goggles.distillation_tower.level": "Heat Level: %1$s", + "create.goggles.distillation_tower.no_outputs": "No Output Blocks Found", + "create.goggles.distillation_tower.status": "Distillation Tower Info:", + "create.goggles.distillation_tower.tank_not_found": "Steel Fluid Tank Not Found", + "create.goggles.electric_machine.no_power": "No Power", + "create.goggles.electricity.insufficient_voltage": "Insufficient Voltage", + "create.goggles.electrode_holder.min_amps": "Not Enough Current (Needs ", + "create.goggles.engine.cooling_fluid": "Cooling Fluid: ", + "create.goggles.engine.fuel_consumption": " Fuel Consumption:", + "create.goggles.engine.header": "Engine Info", + "create.goggles.engine.next_component": " Next Component: ", + "create.goggles.engine.oil": "Oil: ", + "create.goggles.engine.pistons_missing": "Pistons Missing", + "create.goggles.engine.rpm": " Speed: ", + "create.goggles.engine.signal": " Signal: ", + "create.goggles.engine.torque": " Torque:", + "create.goggles.engine.turbines_missing": "Turbines Missing", + "create.goggles.engine.type": " Type: ", + "create.goggles.engine.unfinished": "Engine Unfinished", + "create.goggles.fluid_storage": "Fluid Storage:", + "create.goggles.gauge.value": " Measured Voltage:", + "create.goggles.generator.production": "Energy Production: %1$s fe/t", + "create.goggles.item_storage": "Item Storage:", + "create.goggles.item_storage_empty": "*Empty*", + "create.goggles.machine_input.info": "Machine Input Info", + "create.goggles.machine_input.no_rot": "No Rotation Provided!", + "create.goggles.machine_input.power_level": "Power Level: ", + "create.goggles.motor.usage": "Energy Usage: %1$s fe/t", + "create.goggles.polarizer.charge": "Charge: ", + "create.goggles.polarizer.header": "Polarizer", + "create.goggles.polarizer.insufficient_power": "Not Enough Power (Needs 2000W)", + "create.goggles.pumpjack.deposit_info": "Deposit Info:", + "create.goggles.pumpjack.fluid_amount": "Fluid Amount:", + "create.goggles.pumpjack.part_missing": "Hammer or Crank Missing", + "create.goggles.pumpjack.reserves": "Deposit Reserves: ", + "create.goggles.pumpjack.wrong_rotation1": "The Pumpjack Base is oriented incorrectly, the red marker must", + "create.goggles.pumpjack.wrong_rotation2": "face away from the Pumpjack Hammer Holder", + "create.goggles.pumpjack_fluid_storage": "Fluid Tank Info:", + "create.goggles.pumpjack_info": "Pumpjack Info:", + "create.goggles.surface_scanner.deposits_found": " Chunks With Oil Deposits Found", + "create.goggles.surface_scanner.header": "Surface Scanner", + "create.goggles.surface_scanner.no_deposit": "No Deposits Found", + "create.goggles.surface_scanner.no_rotation": "Not Enough Rotation (Needs 64rpm)", + "create.goggles.vat.attachments": "Attachments:", + "create.goggles.vat.contents": "Vat Contents:", + "create.goggles.vat.header": "Chemical Vat", + "create.goggles.vat.heat_status": "Heat Status: ", + "create.goggles.vat.heated": "Heated", + "create.goggles.vat.no_heat": "No Heat", + "create.goggles.vat.superheated": "Superheated", + "create.goggles.vat.tfmg.centrifuge": " Centrifuge", + "create.goggles.vat.tfmg.electrode": " Electrode", + "create.goggles.vat.tfmg.graphite_electrode": " Graphite Electrode", + "create.goggles.vat.tfmg.mixing": " Mixer", + "create.goggles.voltmeter": "Voltmeter:", + "create.goggles.voltmeter.range": " Range: %1$s", + "create.goggles.winding_machine.header": "Winding Machine", + "create.goggles.winding_machine.progress": "Progress: ", + "create.goggles.winding_machine.turns": "Turns Left: ", + "create.goggles.zero": "Machine Invalid", + "create.multimeter.additional_values": "Additional Values:", + "create.multimeter.energy_stored": " Energy Stored: ", + "create.multimeter.energy_usage": " Energy Usage: ", + "create.multimeter.group": " Group: ", + "create.multimeter.header": "Multimeter Data:", + "create.multimeter.power_generated": " Power Generated: ", + "create.multimeter.power_percentage": " Grid Strength: ", + "create.multimeter.power_usage": " Power Usage: ", + "create.multimeter.transformer_ratio": " Turn Ratio: ", + "create.multimeter.voltage_generated": " Voltage Generated: ", + "create.network": "Network: %1$s", + "create.oil_hammer.reserves": "Oil Reserves: %1$s", + "create.pumpjack_deposit_amount": "%1$s Buckets", + "create.recipe.advanced_distillation": "Advanced Distillation", + "create.recipe.assembly.winding": "Wind a Spool", + "create.recipe.casting": "Casting", + "create.recipe.chemical_vat": "Chemical Vat", + "create.recipe.coking": "Coking", + "create.recipe.distillation": "Distillation", + "create.recipe.hot_blast": "Air Blasting", + "create.recipe.industrial_blasting": "Industrial Blasting", + "create.recipe.polarizing": "Polarizing", + "create.recipe.winding": "Winding", + "create.resistor.allowed_voltage": "Percentage of Voltage Allowed", + "create.tooltip.coils": "Turns: %1$s", + "create.tooltip.cylinder": "Supported Fuels:", + "create.tooltip.fluid_item": "Fluid Amount: %1$s", + "create.tooltip.fuse": "Rating: %1$s", + "create.tooltip.resistor": "Resistance: %1$s", + "create.voltage": "Voltage: %1$s", + "create.winding_machine.turn_percentage": "Allowed Turn Percentage (From 1000)", + "create.wires.removed_data": "Data Removed", + "creative_tab.tfmg_decoration": "Create: TFMG Building Blocks", + "creative_tab.tfmg_main": "Create: The Factory Must Grow", + "death.attack.tfmg.acid": "%1$s took an acid bath", + "death.attack.tfmg.acid.player": "%1$s took an acid bath", + "death.attack.tfmg.blast_furnace": "%1$s was turned in carbon steel", + "death.attack.tfmg.blast_furnace.player": "%1$s was thrown into a blast furnace", + "death.attack.tfmg.concrete": "%1$s tried to eat Concrete", + "death.attack.tfmg.concrete.player": "%1$s tried to eat Concrete", + "effect.tfmg.hellfire": "Hellfire", + "entity.tfmg.blue_spark": "Blue Spark", + "entity.tfmg.copper_grenade": "Copper Grenade", + "entity.tfmg.green_spark": "Green Spark", + "entity.tfmg.lithium_spark": "Lithium Spark", + "entity.tfmg.napalm_bomb_entity": "Napalm Bomb Entity", + "entity.tfmg.napalm_potato": "Napalm Potato", + "entity.tfmg.pipe_bomb": "Pipe Bomb", + "entity.tfmg.spark": "Spark", + "entity.tfmg.thermite_grenade": "Thermite Grenade", + "entity.tfmg.zinc_grenade": "Zinc Grenade", + "fluid.tfmg.air": "Air", + "fluid.tfmg.butane": "Butane", + "fluid.tfmg.carbon_dioxide": "Carbon Dioxide", + "fluid.tfmg.cooling_fluid": "Cooling Fluid", + "fluid.tfmg.creosote": "Creosote", + "fluid.tfmg.crude_oil": "Crude Oil", + "fluid.tfmg.diesel": "Diesel", + "fluid.tfmg.ethylene": "Ethylene", + "fluid.tfmg.furnace_gas": "Furnace Gas", + "fluid.tfmg.gasoline": "Gasoline", + "fluid.tfmg.heavy_oil": "Heavy Oil", + "fluid.tfmg.hot_air": "Hot Air", + "fluid.tfmg.hydrogen": "Hydrogen", + "fluid.tfmg.kerosene": "Kerosene", + "fluid.tfmg.liquid_asphalt": "Liquid Asphalt", + "fluid.tfmg.liquid_concrete": "Liquid Concrete", + "fluid.tfmg.liquid_silicon": "Liquid Silicon", + "fluid.tfmg.lpg": "Lpg", + "fluid.tfmg.lubrication_oil": "Lubrication Oil", + "fluid.tfmg.molten_plastic": "Molten Plastic", + "fluid.tfmg.molten_slag": "Molten Slag", + "fluid.tfmg.molten_steel": "Molten Steel", + "fluid.tfmg.napalm": "Napalm", + "fluid.tfmg.naphtha": "Naphtha", + "fluid.tfmg.neon": "Neon", + "fluid.tfmg.propane": "Propane", + "fluid.tfmg.propylene": "Propylene", + "fluid.tfmg.sulfuric_acid": "Sulfuric Acid", + "item.minecraft.lingering_potion.effect.hellfire_potion": "Lingering Potion of Hellfire", + "item.minecraft.potion.effect.hellfire_potion": "Potion of Hellfire", + "item.minecraft.splash_potion.effect.hellfire_potion": "Splash Potion of Hellfire", + "item.minecraft.tipped_arrow.effect.hellfire_potion": "Arrow of Hellfire", + "item.tfmg.advanced_potato_cannon": "Advanced Potato Cannon", + "item.tfmg.advanced_potato_cannon.tooltip.behaviour1": "_Shoots_ a _Napalm Potato_ from your _Inventory_.", + "item.tfmg.advanced_potato_cannon.tooltip.behaviour2": "_No_ _Durability_ will be used. Instead, _Air_ _pressure_ is drained from the Tank", + "item.tfmg.advanced_potato_cannon.tooltip.condition1": "When R-Clicked", + "item.tfmg.advanced_potato_cannon.tooltip.condition2": "While wearing Backtank", + "item.tfmg.advanced_potato_cannon.tooltip.summary": "Launches _Napalm Potatoes_ at Enemies. Can be powered with _Air_ _Pressure_ from a _Backtank_", + "item.tfmg.air_bucket": "Air Tank", + "item.tfmg.aluminum_axe": "Aluminum Axe", + "item.tfmg.aluminum_hoe": "Aluminum Hoe", + "item.tfmg.aluminum_ingot": "Aluminum Ingot", + "item.tfmg.aluminum_nugget": "Aluminum Nugget", + "item.tfmg.aluminum_pickaxe": "Aluminum Pickaxe", + "item.tfmg.aluminum_sheet": "Aluminum Sheet", + "item.tfmg.aluminum_shovel": "Aluminum Shovel", + "item.tfmg.aluminum_spool": "Aluminum Spool", + "item.tfmg.aluminum_sword": "Aluminum Sword", + "item.tfmg.aluminum_wire": "Aluminum Wire", + "item.tfmg.asphalt_mixture": "Asphalt Mixture", + "item.tfmg.bauxite_powder": "Bauxite Powder", + "item.tfmg.bitumen": "Bitumen", + "item.tfmg.black_multimeter": "Black Multimeter", + "item.tfmg.black_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.black_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + "item.tfmg.black_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.black_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.black_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.blue_multimeter": "Blue Multimeter", + "item.tfmg.blue_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.blue_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + "item.tfmg.blue_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.blue_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.blue_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.brown_multimeter": "Brown Multimeter", + "item.tfmg.brown_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.brown_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + "item.tfmg.brown_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.brown_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.brown_multimeter_cannon.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.butane_bucket": "Butane Tank", + "item.tfmg.capacitor_item": "Capacitor", + "item.tfmg.carbon_dioxide_bucket": "Carbon Dioxide Tank", + "item.tfmg.cast_iron_ingot": "Cast Iron Ingot", + "item.tfmg.cast_iron_nugget": "Cast Iron Nugget", + "item.tfmg.cast_iron_sheet": "Cast Iron Sheet", + "item.tfmg.centrifuge": "Centrifuge", + "item.tfmg.cinderblock": "Cinderblock", + "item.tfmg.cinderflourblock": "Cinderflourblock", + "item.tfmg.circuit_board": "Circuit Board", + "item.tfmg.coal_coke": "Coal Coke", + "item.tfmg.coal_coke_dust": "Coal Coke Dust", + "item.tfmg.coated_circuit_board": "Coated Circuit Board", + "item.tfmg.concrete_mixture": "Concrete Mixture", + "item.tfmg.constantan_ingot": "Constantan Ingot", + "item.tfmg.constantan_nugget": "Constantan Nugget", + "item.tfmg.constantan_spool": "Constantan Spool", + "item.tfmg.constantan_wire": "Constantan Wire", + "item.tfmg.cooling_fluid_bottle": "Cooling Fluid Bottle", + "item.tfmg.cooling_fluid_bucket": "Cooling Fluid Bucket", + "item.tfmg.copper_electrode": "Copper Electrode", + "item.tfmg.copper_grenade": "Copper Grenade", + "item.tfmg.copper_spool": "Copper Spool", + "item.tfmg.copper_sulfate": "Copper Sulfate", + "item.tfmg.copper_wire": "Copper Wire", + "item.tfmg.crankshaft": "Crankshaft", + "item.tfmg.creosote_bucket": "Creosote Bucket", + "item.tfmg.crude_oil_bucket": "Crude Oil Bucket", + "item.tfmg.cyan_multimeter": "Cyan Multimeter", + "item.tfmg.cyan_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.cyan_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + "item.tfmg.cyan_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.cyan_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.cyan_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.debug_cinderblock": "Debug Cinderblock", + "item.tfmg.deposit_item": "Deposit Item", + "item.tfmg.diesel_bucket": "Diesel Bucket", + "item.tfmg.diesel_engine_cylinder": "Diesel Engine Cylinder", + "item.tfmg.electricians_wrench": "Configuration Wrench", + "item.tfmg.electrictians_wrench.tooltip.behaviour1": "Opens up a menu where you can choose the group of set block. Groups are explained within the generators ponder", + "item.tfmg.electrictians_wrench.tooltip.condition1": "When R-Clicking electrical block", + "item.tfmg.electrictians_wrench.tooltip.summary": "Changes the electrical group of a component", + "item.tfmg.electromagnetic_coil": "Electromagnetic Coil", + "item.tfmg.empty_circuit_board": "Empty Circuit Board", + "item.tfmg.empty_spool": "Empty Spool", + "item.tfmg.engine_cylinder": "Engine Cylinder", + "item.tfmg.etched_circuit_board": "Etched Circuit Board", + "item.tfmg.ethylene_bucket": "Ethylene Tank", + "item.tfmg.fireclay_ball": "Fireclay Ball", + "item.tfmg.fireproof_brick": "Fireproof Brick", + "item.tfmg.flamethrower": "Flamethrower", + "item.tfmg.flamethrower.tooltip.behaviour1": "_Shoots out Flames_ ", + "item.tfmg.flamethrower.tooltip.behaviour2": "The _Fuel_ will be consumed from the tank. _Range_ and _Spread_ change according to your _Fuel_ of choice", + "item.tfmg.flamethrower.tooltip.condition1": "When R-Clicked", + "item.tfmg.flamethrower.tooltip.condition2": "When R-Clicking a Fluid Tank with Gasoline, Diesel, Kerosene, Naphtha, LPG, Molten Slag or Napalm inside", + "item.tfmg.flamethrower.tooltip.summary": "Burns burnable _Gases_ and _Fluids_ to shoot out a burst of flame to burn your Enemies", + "item.tfmg.furnace_gas_bucket": "Furnace Gas Tank", + "item.tfmg.gasoline_bucket": "Gasoline Bucket", + "item.tfmg.glass_insulator_segment": "Glass Insulator Segment", + "item.tfmg.golden_turbo": "Golden Turbo", + "item.tfmg.graphite_electrode": "Graphite Electrode", + "item.tfmg.gray_multimeter": "Gray Multimeter", + "item.tfmg.gray_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.gray_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + "item.tfmg.gray_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.gray_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.gray_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.green_multimeter": "Green Multimeter", + "item.tfmg.green_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.green_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + "item.tfmg.green_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.green_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.green_multimeter_.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.heavy_oil_bucket": "Heavy Oil Bucket", + "item.tfmg.heavy_plate": "Heavy Plate", + "item.tfmg.hot_air_bucket": "Hot Air Tank", + "item.tfmg.hydrogen_bucket": "Hydrogen Tank", + "item.tfmg.kerosene_bucket": "Kerosene Bucket", + "item.tfmg.lead_axe": "Lead Axe", + "item.tfmg.lead_hoe": "Lead Hoe", + "item.tfmg.lead_ingot": "Lead Ingot", + "item.tfmg.lead_nugget": "Lead Nugget", + "item.tfmg.lead_pickaxe": "Lead Pickaxe", + "item.tfmg.lead_sheet": "Lead Sheet", + "item.tfmg.lead_shovel": "Lead Shovel", + "item.tfmg.lead_sword": "Lead Sword", + "item.tfmg.light_blue_multimeter": "Light Blue Multimeter", + "item.tfmg.light_blue_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.light_blue_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + "item.tfmg.light_blue_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.light_blue_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.light_blue_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.light_gray_multimeter": "Light Gray Multimeter", + "item.tfmg.light_gray_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.light_gray_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + "item.tfmg.light_gray_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.light_gray_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.light_gray_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.lime_multimeter": "Lime Multimeter", + "item.tfmg.lime_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.lime_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + "item.tfmg.lime_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.lime_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.lime_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.limesand": "Limesand", + "item.tfmg.liquid_asphalt_bucket": "Liquid Asphalt Bucket", + "item.tfmg.liquid_concrete_bucket": "Liquid Concrete Bucket", + "item.tfmg.liquid_silicon_bucket": "Liquid Silicon Bucket", + "item.tfmg.lit_lithium_blade": "Lithium Blade", + "item.tfmg.lithium_blade": "Lithium Blade", + "item.tfmg.lithium_blade.tooltip.behaviour1": "Is set on hellfire, consuming a _Lithium Charge_. Its flame sets enemies on fire for a set amount of time, this fire is renewed even after Enemy extinguishes themself in water ", + "item.tfmg.lithium_blade.tooltip.behaviour2": "Shoots out several bolts of _Hellfire_ consuming the blades charge", + "item.tfmg.lithium_blade.tooltip.condition1": "When R-Clicked when Off", + "item.tfmg.lithium_blade.tooltip.condition2": "When R-Clicking when On", + "item.tfmg.lithium_blade.tooltip.summary": "Using _Steel Ingot_Lithium Charges_, this Blade is set aflame burning enemies and shooting out Bolts of _Hellfire_", + "item.tfmg.lithium_charge": "Lithium Charge", + "item.tfmg.lithium_ingot": "Lithium Ingot", + "item.tfmg.lithium_nugget": "Lithium Nugget", + "item.tfmg.lpg_bucket": "Lpg Tank", + "item.tfmg.lubrication_oil_bucket": "Lubrication Oil Bucket", + "item.tfmg.magenta_multimeter": "Magenta Multimeter", + "item.tfmg.magenta_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.magenta_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + "item.tfmg.magenta_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.magenta_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.magenta_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.magnet": "Magnet", + "item.tfmg.magnetic_alloy_ingot": "Magnetic Alloy Ingot", + "item.tfmg.magnetic_alloy_ingot.tooltip.summary": "Striking this with a lightning might do something...", + "item.tfmg.mixer_blade": "Mixer Blade", + "item.tfmg.molten_plastic_bucket": "Molten Plastic Bucket", + "item.tfmg.molten_slag_bucket": "Molten Slag Bucket", + "item.tfmg.molten_steel_bucket": "Molten Steel Bucket", + "item.tfmg.multimeter": "Multimeter", + "item.tfmg.multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + "item.tfmg.multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.n_semiconductor": "N-Semiconductor", + "item.tfmg.napalm_bucket": "Napalm Bucket", + "item.tfmg.napalm_potato": "Napalm Potato", + "item.tfmg.naphtha_bucket": "Naphtha Bucket", + "item.tfmg.neon_bucket": "Neon Tank", + "item.tfmg.nickel_ingot": "Nickel Ingot", + "item.tfmg.nickel_nugget": "Nickel Nugget", + "item.tfmg.nickel_sheet": "Nickel Sheet", + "item.tfmg.nitrate_dust": "Nitrate Dust", + "item.tfmg.oil_can": "Oil Can", + "item.tfmg.oil_can.tooltip.behaviour1": "Fills the can with lubrication oil", + "item.tfmg.oil_can.tooltip.behaviour2": "Fills the engine with lubrication oil", + "item.tfmg.oil_can.tooltip.condition1": "When Right Clicking a tank with lubrication oil inside", + "item.tfmg.oil_can.tooltip.condition2": "When Right Clicking an engine", + "item.tfmg.oil_can.tooltip.summary": "Adds lubrication oil to engines", + "item.tfmg.oil_hammer": "Oil Hammer", + "item.tfmg.orange_multimeter": "Orange Multimeter", + "item.tfmg.orange_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.orange_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + "item.tfmg.orange_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.orange_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.orange_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.p_semiconductor": "P-Semiconductor", + "item.tfmg.pink_multimeter": "Pink Multimeter", + "item.tfmg.pink_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.pink_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + "item.tfmg.pink_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.pink_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.pink_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.pipe_bomb": "Pipe Bomb", + "item.tfmg.pipebomb.tooltip.summary": "So cool", + "item.tfmg.plastic_sheet": "Plastic Sheet", + "item.tfmg.propane_bucket": "Propane Tank", + "item.tfmg.propylene_bucket": "Propylene Tank", + "item.tfmg.purple_multimeter": "Purple Multimeter", + "item.tfmg.purple_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.purple_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + "item.tfmg.purple_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.purple_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.purple_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.quad_potato_cannon": "Quad Potato Cannon", + "item.tfmg.quad_potato_cannon.tooltip.behaviour1": "_Shoots_ a suitable item from your _Inventory_.", + "item.tfmg.quad_potato_cannon.tooltip.behaviour2": "_No_ _Durability_ will be used. Instead, _Air_ _pressure_ is drained from the Tank", + "item.tfmg.quad_potato_cannon.tooltip.condition1": "When R-Clicked", + "item.tfmg.quad_potato_cannon.tooltip.condition2": "While wearing Backtank", + "item.tfmg.quad_potato_cannon.tooltip.summary": "Launches 4 of your home-grown vegetables at Enemies. Can be powered with _Air_ _Pressure_ from a _Backtank_", + "item.tfmg.raw_lead": "Raw Lead", + "item.tfmg.raw_lithium": "Raw Lithium", + "item.tfmg.raw_nickel": "Raw Nickel", + "item.tfmg.rebar": "Rebar", + "item.tfmg.red_multimeter": "Red Multimeter", + "item.tfmg.red_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.red_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + "item.tfmg.red_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.red_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.red_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.rubber_sheet": "Rubber Sheet", + "item.tfmg.screw": "Screws", + "item.tfmg.screwdriver": "Screwdriver", + "item.tfmg.screwdriver.tooltip.behaviour1": "Locks _Pipe_ in its current rotation allowing for _Pipes_ to be placed next to eachother _Without Connecting_", + "item.tfmg.screwdriver.tooltip.condition1": "When R-Clicking pipe", + "item.tfmg.screwdriver.tooltip.summary": "Can lock pipes in place", + "item.tfmg.silicon_ingot": "Silicon Ingot", + "item.tfmg.simple_engine_cylinder": "Simple Engine Cylinder", + "item.tfmg.slag": "Slag", + "item.tfmg.spark_plug": "Spark Plug", + "item.tfmg.steel_axe": "Steel Axe", + "item.tfmg.steel_hoe": "Steel Hoe", + "item.tfmg.steel_ingot": "Steel Ingot", + "item.tfmg.steel_mechanism": "Steel Mechanism", + "item.tfmg.steel_nugget": "Steel Nugget", + "item.tfmg.steel_pickaxe": "Steel Pickaxe", + "item.tfmg.steel_shovel": "Steel Shovel", + "item.tfmg.steel_sword": "Steel Sword", + "item.tfmg.steel_vertical_gearbox": "Steel Vertical Gearbox", + "item.tfmg.sulfur_dust": "Sulfur Dust", + "item.tfmg.sulfuric_acid_bucket": "Sulfuric Acid Bucket", + "item.tfmg.synthetic_leather": "Synthetic Leather", + "item.tfmg.synthetic_string": "Synthetic String", + "item.tfmg.thermite_grenade": "Thermite Grenade", + "item.tfmg.thermite_powder": "Thermite Powder", + "item.tfmg.transistor_item": "Transistor", + "item.tfmg.transmission": "Transmission", + "item.tfmg.turbine_blade": "Turbine Blade", + "item.tfmg.turbo": "Turbo", + "item.tfmg.unfinished_capacitor": "Unfinished Capacitor", + "item.tfmg.unfinished_circuit_board": "Unfinished Circuit Board", + "item.tfmg.unfinished_electric_motor": "Unfinished Electric Motor", + "item.tfmg.unfinished_electromagnetic_coil": "Unfinished Electromagnetic Coil", + "item.tfmg.unfinished_generator": "Unfinished Generator", + "item.tfmg.unfinished_insulator": "Unfinished Insulator", + "item.tfmg.unfinished_potentiometer": "Unfinished Potentiometer", + "item.tfmg.unfinished_resistor": "Unfinished Resistor", + "item.tfmg.unfinished_steel_mechanism": "Unfinished Steel Mechanism", + "item.tfmg.unfinished_transistor": "Unfinished Transistor", + "item.tfmg.unfired_insulator": "Unfired Insulator", + "item.tfmg.unprocessed_heavy_plate": "Unprocessed Heavy Plate", + "item.tfmg.white_multimeter": "White Multimeter", + "item.tfmg.white_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.white_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + "item.tfmg.white_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.white_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.white_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.yellow_multimeter": "Yellow Multimeter", + "item.tfmg.yellow_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.yellow_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + "item.tfmg.yellow_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.yellow_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.yellow_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.zinc_electrode": "Zinc Electrode", + "item.tfmg.zinc_grenade": "Zinc Grenade", + "tfmg.keyinfo.custom_button": "Engine Controller Custom Button", + "tfmg.keyinfo.engine_start": "Start Engine", + "tfmg.keyinfo.transmission_shift_down": "Transmission Shift Down", + "tfmg.keyinfo.transmission_shift_up": "Transmission Shift Up", + "tfmg.ponder.blast_furnace.header": "", + "tfmg.ponder.blast_furnace.text_1": "Main part of a blast furnace is a blast furnace output", + "tfmg.ponder.blast_furnace.text_2": "To build a blast furnace, make a cylinder of fireproof bricks around it with one blast furnace hatch in it", + "tfmg.ponder.blast_furnace.text_3": "This hatch will function as a hot air input", + "tfmg.ponder.blast_furnace.text_4": "Blast furnaces need reinforcements to function", + "tfmg.ponder.blast_furnace.text_5": "Everything is inserted to through a hole at the top", + "tfmg.ponder.blast_furnace.text_6": "Next hatch can be placed on the top hole to collect furnace gas, items directed into it will fall into the blast furnace", + "tfmg.ponder.blast_furnace.text_7": "Blast furnace reinforcements can be placed around the furnace to increase its speed", + "tfmg.ponder.chemical_vat.header": "Chemical Vat", + "tfmg.ponder.chemical_vat.text_1": "The chemical vat is a machine with attachments that can give it many different uses", + "tfmg.ponder.chemical_vat.text_2": "First attachment is the industrial mixer", + "tfmg.ponder.chemical_vat.text_3": "When the mixer blade is inserted, the vat becomes a mixer", + "tfmg.ponder.chemical_vat.text_4": "The industrial mixer can also become a centrifuge", + "tfmg.ponder.chemical_vat.text_5": "Some recipes need heating", + "tfmg.ponder.chemical_vat.text_6": "Placing 2 electrode holders with copper electrodes creates an electrolyzer", + "tfmg.ponder.chemical_vat.text_7": "3 graphite electrodes create a blast furnace", + "tfmg.ponder.coke_oven.header": "", + "tfmg.ponder.coke_oven.text_1": "The Coke Oven is a machine that produces coal coke from coal", + "tfmg.ponder.coke_oven.text_2": "It is very slow so it is beneficial to have long arrays of them", + "tfmg.ponder.coke_oven.text_3": "Coal can be inserted from anywhere", + "tfmg.ponder.coke_oven.text_4": "Carbon Dioxide is extracted at the top, Creosote can be extracted anywhere else", + "tfmg.ponder.coke_oven.text_5": "After some time, coal coke will fall out of the machine", + "tfmg.ponder.distillation_tower.header": "", + "tfmg.ponder.distillation_tower.text_1": "The base of a distillation tower is comprised of steel tanks", + "tfmg.ponder.distillation_tower.text_2": "Tower is assembled by placing Steel Distillation Controller next to the tanks", + "tfmg.ponder.distillation_tower.text_3": "To finish the multiblock, place up to 6 Distillation outputs and Industrial Pipes between them", + "tfmg.ponder.distillation_tower.text_4": "Place a heat source under the tanks to power it, the dial on the tower shows the power level of the structure ", + "tfmg.ponder.distillation_tower.text_5": "Oil is inputted into the controller block", + "tfmg.ponder.electricity.header": "Electricity", + "tfmg.ponder.electricity.text_1": "A generator creates 2 values, Voltage and Power", + "tfmg.ponder.electricity.text_10": "Groups can be changed using the Configuration Wrench", + "tfmg.ponder.electricity.text_11": "Blocks in their own group keep all the voltage", + "tfmg.ponder.electricity.text_2": "Generator:\n Voltage(U) = 200V\n Max Power = 8kW\nLight Bulb:\n Voltage(U) = 200V\n Current(I) = 2A\n Power(P) = 100W\n Resistance(R) = 100Ω", + "tfmg.ponder.electricity.text_3": "When load is applied on a generator, it takes its voltage", + "tfmg.ponder.electricity.text_4": "Every an electric device has electrical resistance, light bulbs are 100 Ohm(Ω)", + "tfmg.ponder.electricity.text_5": "Current with size of Voltage divided by Resistance will start flowing in the light bulb", + "tfmg.ponder.electricity.text_6": "Generator:\n Voltage(U) = 200V\n Max Power = 8kW\nLight Bulb 1:\n Voltage(U) = 100V\n Current(I) = 1A\n Resistance(R) = 100Ω\n Group=0\nLight Bulb 2:\n Voltage(U) = 100V\n Current(I) = 1A\n Resistance(R) = 100Ω\n Group=0", + "tfmg.ponder.electricity.text_7": "Electric components can be connected with groups, by default all blocks are group 0", + "tfmg.ponder.electricity.text_8": "Blocks that share a group split voltage between them(blocks with higher resistance get more of the split voltage)", + "tfmg.ponder.electricity.text_9": "Generator:\n Voltage(U) = 200V\n Max Power = 8kW\nLight Bulb 1:\n Voltage(U) = 200V\n Current(I) = 2A\n Resistance(R) = 100Ω\n Group=1\nLight Bulb 2:\n Voltage(U) = 200V\n Current(I) = 2A\n Resistance(R) = 100Ω\n Group=0", + "tfmg.ponder.electricity_two.header": "Electric Subnetworks", + "tfmg.ponder.electricity_two.text_1": "Some blocks have connections from 2 sides", + "tfmg.ponder.electricity_two.text_2": "These blocks create a new electric network on one of their sides", + "tfmg.ponder.electricity_two.text_3": "This subnetwork will get all the power from the main network but not the opposite way", + "tfmg.ponder.electricity_two.text_4": "The most basic block with this ability is the Diode, it has no other extra abilities", + "tfmg.ponder.electricity_two.text_5": "Next one is the potentiometer, this one can set the percentage of voltage that gets to the subnetwork", + "tfmg.ponder.electricity_two.text_6": "The switch works similarly but with redstone", + "tfmg.ponder.electricity_two.text_7": "The transformer changes voltage based on the ratio of turns between the primary and secondary coil", + "tfmg.ponder.engines.header": "Engines", + "tfmg.ponder.engines.text_1": "To build an engine, start by placing up to 5 engine blocks in a line", + "tfmg.ponder.engines.text_2": "The engine's tooltip will show you items needed for the assembly", + "tfmg.ponder.engines.text_3": "Engine configuration can be changed with a schematic", + "tfmg.ponder.engines.text_4": "Next step is inserting the cylinders (or turbine blades in turbine engines)", + "tfmg.ponder.engines.text_5": "Shafts are inserted by right clicking", + "tfmg.ponder.engines.text_6": "Fuel input and exhaust output can be done from any block", + "tfmg.ponder.engines.text_7": "Every engine block can be right clicked with certain items to be upgraded", + "tfmg.ponder.engines.text_8": "For example industrial pipes make the engine consume fuel from neighboring tanks", + "tfmg.ponder.engines.text_9": "The engine can be started with a redstone signal", + "tfmg.ponder.pumpjack.header": "Pumpjack", + "tfmg.ponder.pumpjack.text_1": "First step of mining oil is building industrial pipes from a deposit to the surface", + "tfmg.ponder.pumpjack.text_2": "Pumpjack base has to be placed on the top of the pipe", + "tfmg.ponder.pumpjack.text_3": "Pumpjack Hammer Holder needs to be placed behind it", + "tfmg.ponder.pumpjack.text_4": "Next step is building the Connector And the Head of the Pumpjack above the crank and the base", + "tfmg.ponder.pumpjack.text_5": "Now they need to be connected with Pumpjack Hammer Parts", + "tfmg.ponder.pumpjack.text_6": "The last step is placing a machine input (which is the power input for the pumpjack) with a pumpjack crank above it", + "tfmg.ponder.shared.behaviour_modify_value_panel": "This behaviour can be modified using the value panel", + "tfmg.ponder.shared.movement_anchors": "With the help of Super Glue, larger structures can be moved.", + "tfmg.ponder.shared.rpm16": "16 RPM", + "tfmg.ponder.shared.rpm16_source": "Source: 16 RPM", + "tfmg.ponder.shared.rpm32": "32 RPM", + "tfmg.ponder.shared.rpm8": "8 RPM", + "tfmg.ponder.shared.storage_on_contraption": "Inventories attached to the Contraption will pick up their drops automatically", + "tfmg.ponder.tag.chemical_vat": "Chemical Vat", + "tfmg.ponder.tag.chemical_vat.description": "Chemical vat and machines that expand it", + "tfmg.ponder.tag.electric_machinery": "Electric Machinery", + "tfmg.ponder.tag.electric_machinery.description": "Block which use, produce or transfer electricity", + "tfmg.ponder.tag.engines": "Engines", + "tfmg.ponder.tag.engines.description": "Engines and equipment related to them", + "tfmg.ponder.tag.metallurgy": "Metallurgy", + "tfmg.ponder.tag.metallurgy.description": "Blocks related to processing metal", + "tfmg.ponder.tag.oil_processing": "Oil Processing Machinery", + "tfmg.ponder.tag.oil_processing.description": "Block used for refining and mining oil", + "tfmg.subtitle.diesel_engine_sounds": "Diesel Engine Sounds", + "tfmg.subtitle.engine_sounds": "Engine Sounds" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_block.json b/src/generated/resources/assets/tfmg/models/block/aluminum_block.json new file mode 100644 index 00000000..68aa4ce2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/aluminum_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_cable_hub.json b/src/generated/resources/assets/tfmg/models/block/aluminum_cable_hub.json new file mode 100644 index 00000000..2261d608 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_cable_hub.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/aluminum_cable_hub" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_cap.json b/src/generated/resources/assets/tfmg/models/block/aluminum_cap.json new file mode 100644 index 00000000..af48e5f7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_cap.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/cap", + "textures": { + "bars": "tfmg:block/bars/aluminum_bars", + "edge": "tfmg:block/bars/aluminum_bars_edge", + "particle": "tfmg:block/bars/aluminum_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_cap_alt.json b/src/generated/resources/assets/tfmg/models/block/aluminum_cap_alt.json new file mode 100644 index 00000000..9c3cc867 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_cap_alt.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/cap_alt", + "textures": { + "bars": "tfmg:block/bars/aluminum_bars", + "edge": "tfmg:block/bars/aluminum_bars_edge", + "particle": "tfmg:block/bars/aluminum_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_ladder.json b/src/generated/resources/assets/tfmg/models/block/aluminum_ladder.json new file mode 100644 index 00000000..b7f38764 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_ladder.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/ladder", + "textures": { + "0": "tfmg:block/ladder_aluminum_hoop", + "1": "tfmg:block/ladder_aluminum", + "particle": "tfmg:block/ladder_aluminum" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/d_x.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/d_x.json new file mode 100644 index 00000000..89008934 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/d_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 0.0, + 0.0, + 4.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 0.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/d_y.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/d_y.json new file mode 100644 index 00000000..d35c812c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/d_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 0.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/d_z.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/d_z.json new file mode 100644 index 00000000..092f0f55 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/d_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 0.0, + 0.0, + 4.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 0.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/l_x.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/l_x.json new file mode 100644 index 00000000..61527ad6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/l_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 8.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 4.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/l_y.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/l_y.json new file mode 100644 index 00000000..ab9c138f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/l_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 4.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/l_z.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/l_z.json new file mode 100644 index 00000000..cd12fb35 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/l_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 8.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 4.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ld_x.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ld_x.json new file mode 100644 index 00000000..56e95002 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ld_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 16.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 16.0, + 0.0, + 12.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ld_y.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ld_y.json new file mode 100644 index 00000000..ed0a7d18 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ld_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 16.0, + 0.0, + 12.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 16.0, + 4.0, + 12.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ld_z.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ld_z.json new file mode 100644 index 00000000..8a56b4a0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ld_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 16.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 16.0, + 0.0, + 12.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/lr_x.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/lr_x.json new file mode 100644 index 00000000..f900d932 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/lr_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 8.0, + 12.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/lr_y.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/lr_y.json new file mode 100644 index 00000000..0f97387d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/lr_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 12.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 8.0, + 12.0, + 4.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/lr_z.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/lr_z.json new file mode 100644 index 00000000..2cd093c0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/lr_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 8.0, + 12.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/lu_x.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/lu_x.json new file mode 100644 index 00000000..3d9ba2e4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/lu_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 16.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 16.0, + 4.0, + 12.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/lu_y.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/lu_y.json new file mode 100644 index 00000000..c6bdef7d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/lu_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 16.0, + 4.0, + 12.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 16.0, + 8.0, + 12.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/lu_z.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/lu_z.json new file mode 100644 index 00000000..d2b5dca1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/lu_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 16.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 16.0, + 4.0, + 12.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/r_x.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/r_x.json new file mode 100644 index 00000000..ec7d6a4f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/r_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 0.0, + 4.0, + 4.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/r_y.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/r_y.json new file mode 100644 index 00000000..ad931a86 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/r_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/r_z.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/r_z.json new file mode 100644 index 00000000..f11b696d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/r_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 0.0, + 4.0, + 4.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/rd_x.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/rd_x.json new file mode 100644 index 00000000..37377dee --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/rd_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 12.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 8.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/rd_y.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/rd_y.json new file mode 100644 index 00000000..5d86e2f7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/rd_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 8.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/rd_z.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/rd_z.json new file mode 100644 index 00000000..6130b446 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/rd_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 12.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 8.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ru_x.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ru_x.json new file mode 100644 index 00000000..a4c12b78 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ru_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 12.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ru_y.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ru_y.json new file mode 100644 index 00000000..d93165bb --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ru_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 12.0, + 8.0, + 8.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ru_z.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ru_z.json new file mode 100644 index 00000000..b7b6f4b2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ru_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 12.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/u_x.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/u_x.json new file mode 100644 index 00000000..7b4c5e07 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/u_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 8.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/u_y.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/u_y.json new file mode 100644 index 00000000..02033113 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/u_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/u_z.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/u_z.json new file mode 100644 index 00000000..df082bdf --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/u_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 8.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ud_x.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ud_x.json new file mode 100644 index 00000000..63399c32 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ud_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 0.0, + 8.0, + 4.0, + 12.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ud_y.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ud_y.json new file mode 100644 index 00000000..41c9b119 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ud_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 4.0, + 12.0, + 0.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ud_z.json b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ud_z.json new file mode 100644 index 00000000..d6c36eba --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_pipe/ud_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/aluminum_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 0.0, + 8.0, + 4.0, + 12.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_post.json b/src/generated/resources/assets/tfmg/models/block/aluminum_post.json new file mode 100644 index 00000000..3205721e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_post.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/post", + "textures": { + "bars": "tfmg:block/bars/aluminum_bars", + "edge": "tfmg:block/bars/aluminum_bars_edge", + "particle": "tfmg:block/bars/aluminum_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_post_ends.json b/src/generated/resources/assets/tfmg/models/block/aluminum_post_ends.json new file mode 100644 index 00000000..0a78d522 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_post_ends.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/post_ends", + "textures": { + "bars": "tfmg:block/bars/aluminum_bars", + "edge": "tfmg:block/bars/aluminum_bars_edge", + "particle": "tfmg:block/bars/aluminum_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_scaffolding.json b/src/generated/resources/assets/tfmg/models/block/aluminum_scaffolding.json new file mode 100644 index 00000000..90e89180 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_scaffolding.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/scaffold/block", + "textures": { + "casing": "tfmg:block/aluminum_casing", + "inside": "tfmg:block/scaffold/aluminum_scaffold_inside", + "particle": "tfmg:block/scaffold/aluminum_scaffold", + "side": "tfmg:block/scaffold/aluminum_scaffold", + "top": "tfmg:block/funnel/aluminum_funnel_frame" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_scaffolding_horizontal.json b/src/generated/resources/assets/tfmg/models/block/aluminum_scaffolding_horizontal.json new file mode 100644 index 00000000..0731b3da --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_scaffolding_horizontal.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/scaffold/block_horizontal", + "textures": { + "casing": "tfmg:block/aluminum_casing", + "inside": "tfmg:block/scaffold/aluminum_scaffold_inside", + "particle": "tfmg:block/scaffold/aluminum_scaffold", + "side": "tfmg:block/scaffold/aluminum_scaffold", + "top": "tfmg:block/funnel/aluminum_funnel_frame" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_side.json b/src/generated/resources/assets/tfmg/models/block/aluminum_side.json new file mode 100644 index 00000000..5f2887b7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_side.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/side", + "textures": { + "bars": "tfmg:block/bars/aluminum_bars", + "edge": "tfmg:block/bars/aluminum_bars_edge", + "particle": "tfmg:block/bars/aluminum_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/aluminum_side_alt.json b/src/generated/resources/assets/tfmg/models/block/aluminum_side_alt.json new file mode 100644 index 00000000..1b7fc892 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/aluminum_side_alt.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/side_alt", + "textures": { + "bars": "tfmg:block/bars/aluminum_bars", + "edge": "tfmg:block/bars/aluminum_bars_edge", + "particle": "tfmg:block/bars/aluminum_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/asphalt.json b/src/generated/resources/assets/tfmg/models/block/asphalt.json new file mode 100644 index 00000000..bf4febec --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/asphalt.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/asphalt" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/asphalt_bottom.json b/src/generated/resources/assets/tfmg/models/block/asphalt_bottom.json new file mode 100644 index 00000000..f47859b6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/asphalt_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/asphalt", + "side": "tfmg:block/asphalt", + "top": "tfmg:block/asphalt" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/asphalt_stairs.json b/src/generated/resources/assets/tfmg/models/block/asphalt_stairs.json new file mode 100644 index 00000000..5e5e419f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/asphalt_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/asphalt", + "side": "tfmg:block/asphalt", + "top": "tfmg:block/asphalt" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/asphalt_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/asphalt_stairs_inner.json new file mode 100644 index 00000000..bdefc157 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/asphalt_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/asphalt", + "side": "tfmg:block/asphalt", + "top": "tfmg:block/asphalt" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/asphalt_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/asphalt_stairs_outer.json new file mode 100644 index 00000000..31043f7c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/asphalt_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/asphalt", + "side": "tfmg:block/asphalt", + "top": "tfmg:block/asphalt" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/asphalt_top.json b/src/generated/resources/assets/tfmg/models/block/asphalt_top.json new file mode 100644 index 00000000..a1780470 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/asphalt_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/asphalt", + "side": "tfmg:block/asphalt", + "top": "tfmg:block/asphalt" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/asphalt_wall_post.json b/src/generated/resources/assets/tfmg/models/block/asphalt_wall_post.json new file mode 100644 index 00000000..1d8d38c7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/asphalt_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/asphalt" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/asphalt_wall_side.json b/src/generated/resources/assets/tfmg/models/block/asphalt_wall_side.json new file mode 100644 index 00000000..bc4448ad --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/asphalt_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/asphalt" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/asphalt_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/asphalt_wall_side_tall.json new file mode 100644 index 00000000..947428e2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/asphalt_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/asphalt" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/bauxite_natural_0.json b/src/generated/resources/assets/tfmg/models/block/bauxite_natural_0.json new file mode 100644 index 00000000..0240f3ba --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/bauxite_natural_0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/palettes/stone_types/natural/bauxite_0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/bauxite_natural_1.json b/src/generated/resources/assets/tfmg/models/block/bauxite_natural_1.json new file mode 100644 index 00000000..07fd63cc --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/bauxite_natural_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/palettes/stone_types/natural/bauxite_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/bauxite_natural_2.json b/src/generated/resources/assets/tfmg/models/block/bauxite_natural_2.json new file mode 100644 index 00000000..76fcd3bc --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/bauxite_natural_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/palettes/stone_types/natural/bauxite_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/bauxite_natural_3.json b/src/generated/resources/assets/tfmg/models/block/bauxite_natural_3.json new file mode 100644 index 00000000..71e2953a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/bauxite_natural_3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/palettes/stone_types/natural/bauxite_3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/bauxite_pillar.json b/src/generated/resources/assets/tfmg/models/block/bauxite_pillar.json new file mode 100644 index 00000000..603ce302 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/bauxite_pillar.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "tfmg:block/palettes/stone_types/cap/bauxite_cut_cap", + "side": "tfmg:block/palettes/stone_types/pillar/bauxite_cut_pillar" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/bauxite_pillar_horizontal.json b/src/generated/resources/assets/tfmg/models/block/bauxite_pillar_horizontal.json new file mode 100644 index 00000000..3f474d7e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/bauxite_pillar_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "tfmg:block/palettes/stone_types/cap/bauxite_cut_cap", + "side": "tfmg:block/palettes/stone_types/pillar/bauxite_cut_pillar" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/black_concrete.json b/src/generated/resources/assets/tfmg/models/block/black_concrete.json new file mode 100644 index 00000000..0c23961b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/black_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/black_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/black_concrete_bottom.json b/src/generated/resources/assets/tfmg/models/block/black_concrete_bottom.json new file mode 100644 index 00000000..037961fa --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/black_concrete_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/black_concrete", + "side": "tfmg:block/black_concrete", + "top": "tfmg:block/black_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/black_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/block/black_concrete_stairs.json new file mode 100644 index 00000000..0fa0c0fe --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/black_concrete_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/black_concrete", + "side": "tfmg:block/black_concrete", + "top": "tfmg:block/black_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/black_concrete_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/black_concrete_stairs_inner.json new file mode 100644 index 00000000..4a02bdc8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/black_concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/black_concrete", + "side": "tfmg:block/black_concrete", + "top": "tfmg:block/black_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/black_concrete_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/black_concrete_stairs_outer.json new file mode 100644 index 00000000..7a7f3d2e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/black_concrete_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/black_concrete", + "side": "tfmg:block/black_concrete", + "top": "tfmg:block/black_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/black_concrete_top.json b/src/generated/resources/assets/tfmg/models/block/black_concrete_top.json new file mode 100644 index 00000000..cc4f567b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/black_concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/black_concrete", + "side": "tfmg:block/black_concrete", + "top": "tfmg:block/black_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/black_concrete_wall_post.json b/src/generated/resources/assets/tfmg/models/block/black_concrete_wall_post.json new file mode 100644 index 00000000..4db2eeb7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/black_concrete_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/black_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/black_concrete_wall_side.json b/src/generated/resources/assets/tfmg/models/block/black_concrete_wall_side.json new file mode 100644 index 00000000..7e21ea06 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/black_concrete_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/black_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/black_concrete_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/black_concrete_wall_side_tall.json new file mode 100644 index 00000000..21510a06 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/black_concrete_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/black_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/black_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/block/black_rebar_concrete.json new file mode 100644 index 00000000..0c23961b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/black_rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/black_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/blast_furnace_hatch.json b/src/generated/resources/assets/tfmg/models/block/blast_furnace_hatch.json new file mode 100644 index 00000000..3a3688b9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/blast_furnace_hatch.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/blast_furnace_hatch" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/blast_furnace_reinforcement.json b/src/generated/resources/assets/tfmg/models/block/blast_furnace_reinforcement.json new file mode 100644 index 00000000..365e1a75 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/blast_furnace_reinforcement.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/blast_furnace_reinforcement" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/blue_caution_block.json b/src/generated/resources/assets/tfmg/models/block/blue_caution_block.json new file mode 100644 index 00000000..655bbdc5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/blue_caution_block.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/caution_block", + "textures": { + "0": "tfmg:block/caution_block/blue", + "particle": "tfmg:block/caution_block/blue" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/blue_concrete.json b/src/generated/resources/assets/tfmg/models/block/blue_concrete.json new file mode 100644 index 00000000..547363cf --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/blue_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/blue_concrete_bottom.json b/src/generated/resources/assets/tfmg/models/block/blue_concrete_bottom.json new file mode 100644 index 00000000..b41ef0cb --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/blue_concrete_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/blue_concrete", + "side": "tfmg:block/blue_concrete", + "top": "tfmg:block/blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/blue_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/block/blue_concrete_stairs.json new file mode 100644 index 00000000..d4a6a85b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/blue_concrete_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/blue_concrete", + "side": "tfmg:block/blue_concrete", + "top": "tfmg:block/blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/blue_concrete_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/blue_concrete_stairs_inner.json new file mode 100644 index 00000000..853d47a1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/blue_concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/blue_concrete", + "side": "tfmg:block/blue_concrete", + "top": "tfmg:block/blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/blue_concrete_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/blue_concrete_stairs_outer.json new file mode 100644 index 00000000..5c921ab9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/blue_concrete_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/blue_concrete", + "side": "tfmg:block/blue_concrete", + "top": "tfmg:block/blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/blue_concrete_top.json b/src/generated/resources/assets/tfmg/models/block/blue_concrete_top.json new file mode 100644 index 00000000..13be15e3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/blue_concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/blue_concrete", + "side": "tfmg:block/blue_concrete", + "top": "tfmg:block/blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/blue_concrete_wall_post.json b/src/generated/resources/assets/tfmg/models/block/blue_concrete_wall_post.json new file mode 100644 index 00000000..fd44427d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/blue_concrete_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/blue_concrete_wall_side.json b/src/generated/resources/assets/tfmg/models/block/blue_concrete_wall_side.json new file mode 100644 index 00000000..f0592285 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/blue_concrete_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/blue_concrete_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/blue_concrete_wall_side_tall.json new file mode 100644 index 00000000..84d31756 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/blue_concrete_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/blue_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/block/blue_rebar_concrete.json new file mode 100644 index 00000000..547363cf --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/blue_rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_cable_hub.json b/src/generated/resources/assets/tfmg/models/block/brass_cable_hub.json new file mode 100644 index 00000000..af8c1100 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_cable_hub.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/brass_cable_hub" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/d_x.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/d_x.json new file mode 100644 index 00000000..fab56da6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/d_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 0.0, + 0.0, + 4.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 0.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/d_y.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/d_y.json new file mode 100644 index 00000000..9cdf7e97 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/d_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 0.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/d_z.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/d_z.json new file mode 100644 index 00000000..62eb4716 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/d_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 0.0, + 0.0, + 4.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 0.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/l_x.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/l_x.json new file mode 100644 index 00000000..46aa8f1b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/l_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 8.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 4.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/l_y.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/l_y.json new file mode 100644 index 00000000..a7135171 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/l_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 4.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/l_z.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/l_z.json new file mode 100644 index 00000000..30db1e20 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/l_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 8.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 4.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/ld_x.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/ld_x.json new file mode 100644 index 00000000..8dc07787 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/ld_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 16.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 16.0, + 0.0, + 12.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/ld_y.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/ld_y.json new file mode 100644 index 00000000..5a489af6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/ld_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 16.0, + 0.0, + 12.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 16.0, + 4.0, + 12.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/ld_z.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/ld_z.json new file mode 100644 index 00000000..1cba6096 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/ld_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 16.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 16.0, + 0.0, + 12.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/lr_x.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/lr_x.json new file mode 100644 index 00000000..f0483806 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/lr_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 8.0, + 12.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/lr_y.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/lr_y.json new file mode 100644 index 00000000..2d41ca46 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/lr_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 12.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 8.0, + 12.0, + 4.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/lr_z.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/lr_z.json new file mode 100644 index 00000000..2cafebb0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/lr_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 8.0, + 12.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/lu_x.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/lu_x.json new file mode 100644 index 00000000..25f1869d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/lu_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 16.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 16.0, + 4.0, + 12.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/lu_y.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/lu_y.json new file mode 100644 index 00000000..e2170dda --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/lu_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 16.0, + 4.0, + 12.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 16.0, + 8.0, + 12.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/lu_z.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/lu_z.json new file mode 100644 index 00000000..167138a9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/lu_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 16.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 16.0, + 4.0, + 12.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/r_x.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/r_x.json new file mode 100644 index 00000000..75426919 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/r_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 0.0, + 4.0, + 4.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/r_y.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/r_y.json new file mode 100644 index 00000000..96f4a324 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/r_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/r_z.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/r_z.json new file mode 100644 index 00000000..287f315f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/r_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 0.0, + 4.0, + 4.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/rd_x.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/rd_x.json new file mode 100644 index 00000000..c36d37e6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/rd_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 12.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 8.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/rd_y.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/rd_y.json new file mode 100644 index 00000000..6989e894 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/rd_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 8.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/rd_z.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/rd_z.json new file mode 100644 index 00000000..ed9d35b9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/rd_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 12.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 8.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/ru_x.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/ru_x.json new file mode 100644 index 00000000..2f7ba85e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/ru_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 12.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/ru_y.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/ru_y.json new file mode 100644 index 00000000..4b2f6f90 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/ru_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 12.0, + 8.0, + 8.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/ru_z.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/ru_z.json new file mode 100644 index 00000000..0be4dfe3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/ru_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 12.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/u_x.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/u_x.json new file mode 100644 index 00000000..056f3d8d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/u_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 8.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/u_y.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/u_y.json new file mode 100644 index 00000000..89aa5feb --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/u_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/u_z.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/u_z.json new file mode 100644 index 00000000..2df158ad --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/u_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 8.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/ud_x.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/ud_x.json new file mode 100644 index 00000000..32ff4bc0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/ud_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 0.0, + 8.0, + 4.0, + 12.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/ud_y.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/ud_y.json new file mode 100644 index 00000000..078f6fa8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/ud_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 4.0, + 12.0, + 0.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brass_pipe/ud_z.json b/src/generated/resources/assets/tfmg/models/block/brass_pipe/ud_z.json new file mode 100644 index 00000000..8f036034 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brass_pipe/ud_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/brass_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 0.0, + 8.0, + 4.0, + 12.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brown_caution_block.json b/src/generated/resources/assets/tfmg/models/block/brown_caution_block.json new file mode 100644 index 00000000..4f0c105d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brown_caution_block.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/caution_block", + "textures": { + "0": "tfmg:block/caution_block/brown", + "particle": "tfmg:block/caution_block/brown" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brown_concrete.json b/src/generated/resources/assets/tfmg/models/block/brown_concrete.json new file mode 100644 index 00000000..b950b2b2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brown_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/brown_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brown_concrete_bottom.json b/src/generated/resources/assets/tfmg/models/block/brown_concrete_bottom.json new file mode 100644 index 00000000..4e50d23b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brown_concrete_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/brown_concrete", + "side": "tfmg:block/brown_concrete", + "top": "tfmg:block/brown_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brown_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/block/brown_concrete_stairs.json new file mode 100644 index 00000000..c6222c73 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brown_concrete_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/brown_concrete", + "side": "tfmg:block/brown_concrete", + "top": "tfmg:block/brown_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brown_concrete_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/brown_concrete_stairs_inner.json new file mode 100644 index 00000000..7c6ee9a5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brown_concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/brown_concrete", + "side": "tfmg:block/brown_concrete", + "top": "tfmg:block/brown_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brown_concrete_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/brown_concrete_stairs_outer.json new file mode 100644 index 00000000..ac957fc2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brown_concrete_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/brown_concrete", + "side": "tfmg:block/brown_concrete", + "top": "tfmg:block/brown_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brown_concrete_top.json b/src/generated/resources/assets/tfmg/models/block/brown_concrete_top.json new file mode 100644 index 00000000..99042c14 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brown_concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/brown_concrete", + "side": "tfmg:block/brown_concrete", + "top": "tfmg:block/brown_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brown_concrete_wall_post.json b/src/generated/resources/assets/tfmg/models/block/brown_concrete_wall_post.json new file mode 100644 index 00000000..73b7cd7e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brown_concrete_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/brown_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brown_concrete_wall_side.json b/src/generated/resources/assets/tfmg/models/block/brown_concrete_wall_side.json new file mode 100644 index 00000000..f6e57d7c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brown_concrete_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/brown_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brown_concrete_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/brown_concrete_wall_side_tall.json new file mode 100644 index 00000000..0a66fbca --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brown_concrete_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/brown_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/brown_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/block/brown_rebar_concrete.json new file mode 100644 index 00000000..b950b2b2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/brown_rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/brown_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_block.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_block.json new file mode 100644 index 00000000..b76ef3d9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/cast_iron_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_cap.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_cap.json new file mode 100644 index 00000000..cd047f95 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_cap.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/cap", + "textures": { + "bars": "tfmg:block/bars/cast_iron_bars", + "edge": "tfmg:block/bars/cast_iron_bars_edge", + "particle": "tfmg:block/bars/cast_iron_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_cap_alt.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_cap_alt.json new file mode 100644 index 00000000..0afe2bba --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_cap_alt.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/cap_alt", + "textures": { + "bars": "tfmg:block/bars/cast_iron_bars", + "edge": "tfmg:block/bars/cast_iron_bars_edge", + "particle": "tfmg:block/bars/cast_iron_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_ladder.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_ladder.json new file mode 100644 index 00000000..645ef74a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_ladder.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/ladder", + "textures": { + "0": "tfmg:block/ladder_cast_iron_hoop", + "1": "tfmg:block/ladder_cast_iron", + "particle": "tfmg:block/ladder_cast_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/d_x.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/d_x.json new file mode 100644 index 00000000..f1812b0f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/d_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 0.0, + 0.0, + 4.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 0.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/d_y.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/d_y.json new file mode 100644 index 00000000..6fc6587b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/d_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 0.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/d_z.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/d_z.json new file mode 100644 index 00000000..f0c80bc8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/d_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 0.0, + 0.0, + 4.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 0.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/l_x.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/l_x.json new file mode 100644 index 00000000..c2f841e7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/l_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 8.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 4.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/l_y.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/l_y.json new file mode 100644 index 00000000..05e38630 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/l_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 4.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/l_z.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/l_z.json new file mode 100644 index 00000000..41a1dd53 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/l_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 8.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 4.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ld_x.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ld_x.json new file mode 100644 index 00000000..cf39fde2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ld_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 16.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 16.0, + 0.0, + 12.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ld_y.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ld_y.json new file mode 100644 index 00000000..9d968c27 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ld_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 16.0, + 0.0, + 12.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 16.0, + 4.0, + 12.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ld_z.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ld_z.json new file mode 100644 index 00000000..1c362674 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ld_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 16.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 16.0, + 0.0, + 12.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/lr_x.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/lr_x.json new file mode 100644 index 00000000..fb7e5ebc --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/lr_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 8.0, + 12.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/lr_y.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/lr_y.json new file mode 100644 index 00000000..09a8b216 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/lr_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 12.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 8.0, + 12.0, + 4.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/lr_z.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/lr_z.json new file mode 100644 index 00000000..105e6095 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/lr_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 8.0, + 12.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/lu_x.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/lu_x.json new file mode 100644 index 00000000..ddf9ab01 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/lu_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 16.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 16.0, + 4.0, + 12.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/lu_y.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/lu_y.json new file mode 100644 index 00000000..bb592b22 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/lu_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 16.0, + 4.0, + 12.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 16.0, + 8.0, + 12.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/lu_z.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/lu_z.json new file mode 100644 index 00000000..3f43cb48 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/lu_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 16.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 16.0, + 4.0, + 12.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/r_x.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/r_x.json new file mode 100644 index 00000000..067f036d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/r_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 0.0, + 4.0, + 4.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/r_y.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/r_y.json new file mode 100644 index 00000000..812e6c27 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/r_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/r_z.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/r_z.json new file mode 100644 index 00000000..b6b212cf --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/r_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 0.0, + 4.0, + 4.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/rd_x.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/rd_x.json new file mode 100644 index 00000000..4b369017 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/rd_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 12.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 8.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/rd_y.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/rd_y.json new file mode 100644 index 00000000..dc902342 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/rd_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 8.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/rd_z.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/rd_z.json new file mode 100644 index 00000000..ae58368e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/rd_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 12.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 8.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ru_x.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ru_x.json new file mode 100644 index 00000000..e23da80f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ru_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 12.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ru_y.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ru_y.json new file mode 100644 index 00000000..ca984f14 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ru_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 12.0, + 8.0, + 8.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ru_z.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ru_z.json new file mode 100644 index 00000000..0c0e11e3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ru_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 12.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/u_x.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/u_x.json new file mode 100644 index 00000000..012332b0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/u_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 8.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/u_y.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/u_y.json new file mode 100644 index 00000000..c7fec32a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/u_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/u_z.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/u_z.json new file mode 100644 index 00000000..e688cf1e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/u_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 8.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ud_x.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ud_x.json new file mode 100644 index 00000000..bde56147 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ud_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 0.0, + 8.0, + 4.0, + 12.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ud_y.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ud_y.json new file mode 100644 index 00000000..cdd9b287 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ud_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 4.0, + 12.0, + 0.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ud_z.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ud_z.json new file mode 100644 index 00000000..f2ead13f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_pipe/ud_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 0.0, + 8.0, + 4.0, + 12.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_post.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_post.json new file mode 100644 index 00000000..4d58fa1b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_post.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/post", + "textures": { + "bars": "tfmg:block/bars/cast_iron_bars", + "edge": "tfmg:block/bars/cast_iron_bars_edge", + "particle": "tfmg:block/bars/cast_iron_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_post_ends.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_post_ends.json new file mode 100644 index 00000000..efb20373 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_post_ends.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/post_ends", + "textures": { + "bars": "tfmg:block/bars/cast_iron_bars", + "edge": "tfmg:block/bars/cast_iron_bars_edge", + "particle": "tfmg:block/bars/cast_iron_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_side.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_side.json new file mode 100644 index 00000000..81c21dd7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_side.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/side", + "textures": { + "bars": "tfmg:block/bars/cast_iron_bars", + "edge": "tfmg:block/bars/cast_iron_bars_edge", + "particle": "tfmg:block/bars/cast_iron_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cast_iron_side_alt.json b/src/generated/resources/assets/tfmg/models/block/cast_iron_side_alt.json new file mode 100644 index 00000000..b2fc8018 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cast_iron_side_alt.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/side_alt", + "textures": { + "bars": "tfmg:block/bars/cast_iron_bars", + "edge": "tfmg:block/bars/cast_iron_bars_edge", + "particle": "tfmg:block/bars/cast_iron_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cement.json b/src/generated/resources/assets/tfmg/models/block/cement.json new file mode 100644 index 00000000..0f9b890b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cement.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/cement" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/coal_coke_block.json b/src/generated/resources/assets/tfmg/models/block/coal_coke_block.json new file mode 100644 index 00000000..9ac3c665 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/coal_coke_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/coal_coke_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/concrete.json b/src/generated/resources/assets/tfmg/models/block/concrete.json new file mode 100644 index 00000000..031333c6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/concrete_bottom.json b/src/generated/resources/assets/tfmg/models/block/concrete_bottom.json new file mode 100644 index 00000000..25b97432 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/concrete_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/concrete", + "side": "tfmg:block/concrete", + "top": "tfmg:block/concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/concrete_stairs.json b/src/generated/resources/assets/tfmg/models/block/concrete_stairs.json new file mode 100644 index 00000000..d7390bcc --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/concrete_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/concrete", + "side": "tfmg:block/concrete", + "top": "tfmg:block/concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/concrete_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/concrete_stairs_inner.json new file mode 100644 index 00000000..14717036 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/concrete", + "side": "tfmg:block/concrete", + "top": "tfmg:block/concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/concrete_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/concrete_stairs_outer.json new file mode 100644 index 00000000..1f99d32c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/concrete_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/concrete", + "side": "tfmg:block/concrete", + "top": "tfmg:block/concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/concrete_top.json b/src/generated/resources/assets/tfmg/models/block/concrete_top.json new file mode 100644 index 00000000..9225802b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/concrete", + "side": "tfmg:block/concrete", + "top": "tfmg:block/concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/concrete_wall_post.json b/src/generated/resources/assets/tfmg/models/block/concrete_wall_post.json new file mode 100644 index 00000000..563be8c0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/concrete_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/concrete_wall_side.json b/src/generated/resources/assets/tfmg/models/block/concrete_wall_side.json new file mode 100644 index 00000000..6894e172 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/concrete_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/concrete_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/concrete_wall_side_tall.json new file mode 100644 index 00000000..4cba2d4a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/concrete_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/constantan_block.json b/src/generated/resources/assets/tfmg/models/block/constantan_block.json new file mode 100644 index 00000000..bd1e16c4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/constantan_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/constantan_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/constantan_ladder.json b/src/generated/resources/assets/tfmg/models/block/constantan_ladder.json new file mode 100644 index 00000000..b9984659 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/constantan_ladder.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/ladder", + "textures": { + "0": "tfmg:block/ladder_constantan_hoop", + "1": "tfmg:block/ladder_constantan", + "particle": "tfmg:block/ladder_constantan" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cooling_fluid.json b/src/generated/resources/assets/tfmg/models/block/cooling_fluid.json new file mode 100644 index 00000000..cdf89600 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cooling_fluid.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "tfmg:fluid/cooling_fluid_still" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/copper_cable_hub.json b/src/generated/resources/assets/tfmg/models/block/copper_cable_hub.json new file mode 100644 index 00000000..61f5cc6a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/copper_cable_hub.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/copper_cable_hub" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/creative_generator.json b/src/generated/resources/assets/tfmg/models/block/creative_generator.json new file mode 100644 index 00000000..a8223ded --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/creative_generator.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/creative_generator" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/creosote.json b/src/generated/resources/assets/tfmg/models/block/creosote.json new file mode 100644 index 00000000..fc8ad824 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/creosote.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "tfmg:fluid/creosote_still" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/crude_oil.json b/src/generated/resources/assets/tfmg/models/block/crude_oil.json new file mode 100644 index 00000000..b3a0336d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/crude_oil.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "tfmg:fluid/crude_oil_still" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_bauxite.json b/src/generated/resources/assets/tfmg/models/block/cut_bauxite.json new file mode 100644 index 00000000..f57341a8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_bauxite.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/palettes/stone_types/cut/bauxite_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_bauxite_brick_slab.json b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_brick_slab.json new file mode 100644 index 00000000..9e899211 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_brick_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/brick/bauxite_cut_brick", + "side": "tfmg:block/palettes/stone_types/brick/bauxite_cut_brick", + "top": "tfmg:block/palettes/stone_types/brick/bauxite_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_bauxite_brick_slab_top.json b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_brick_slab_top.json new file mode 100644 index 00000000..b07a336b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_brick_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/brick/bauxite_cut_brick", + "side": "tfmg:block/palettes/stone_types/brick/bauxite_cut_brick", + "top": "tfmg:block/palettes/stone_types/brick/bauxite_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_bauxite_brick_stairs.json b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_brick_stairs.json new file mode 100644 index 00000000..aed95726 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_brick_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/brick/bauxite_cut_brick", + "side": "tfmg:block/palettes/stone_types/brick/bauxite_cut_brick", + "top": "tfmg:block/palettes/stone_types/brick/bauxite_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_bauxite_brick_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_brick_stairs_inner.json new file mode 100644 index 00000000..6d0ee11a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_brick_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/brick/bauxite_cut_brick", + "side": "tfmg:block/palettes/stone_types/brick/bauxite_cut_brick", + "top": "tfmg:block/palettes/stone_types/brick/bauxite_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_bauxite_brick_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_brick_stairs_outer.json new file mode 100644 index 00000000..f35429d2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_brick_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/brick/bauxite_cut_brick", + "side": "tfmg:block/palettes/stone_types/brick/bauxite_cut_brick", + "top": "tfmg:block/palettes/stone_types/brick/bauxite_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_bauxite_bricks.json b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_bricks.json new file mode 100644 index 00000000..7ec021b7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_bricks.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/palettes/stone_types/brick/bauxite_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_bauxite_bricks_wall_post.json b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_bricks_wall_post.json new file mode 100644 index 00000000..0f3c728c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_bricks_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/palettes/stone_types/brick/bauxite_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_bauxite_bricks_wall_side.json b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_bricks_wall_side.json new file mode 100644 index 00000000..edfbf19b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_bricks_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/palettes/stone_types/brick/bauxite_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_bauxite_bricks_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_bricks_wall_side_tall.json new file mode 100644 index 00000000..65e6a7b4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_bricks_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/palettes/stone_types/brick/bauxite_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_bauxite_slab.json b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_slab.json new file mode 100644 index 00000000..9f0aa9e4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/cut/bauxite_cut", + "side": "tfmg:block/palettes/stone_types/cut/bauxite_cut", + "top": "tfmg:block/palettes/stone_types/cut/bauxite_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_bauxite_slab_top.json b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_slab_top.json new file mode 100644 index 00000000..bdec8d43 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/cut/bauxite_cut", + "side": "tfmg:block/palettes/stone_types/cut/bauxite_cut", + "top": "tfmg:block/palettes/stone_types/cut/bauxite_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_bauxite_stairs.json b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_stairs.json new file mode 100644 index 00000000..210c56cf --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/cut/bauxite_cut", + "side": "tfmg:block/palettes/stone_types/cut/bauxite_cut", + "top": "tfmg:block/palettes/stone_types/cut/bauxite_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_bauxite_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_stairs_inner.json new file mode 100644 index 00000000..d4c24e75 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/cut/bauxite_cut", + "side": "tfmg:block/palettes/stone_types/cut/bauxite_cut", + "top": "tfmg:block/palettes/stone_types/cut/bauxite_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_bauxite_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_stairs_outer.json new file mode 100644 index 00000000..43de1c7d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/cut/bauxite_cut", + "side": "tfmg:block/palettes/stone_types/cut/bauxite_cut", + "top": "tfmg:block/palettes/stone_types/cut/bauxite_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_bauxite_wall_post.json b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_wall_post.json new file mode 100644 index 00000000..f868ea51 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/palettes/stone_types/cut/bauxite_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_bauxite_wall_side.json b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_wall_side.json new file mode 100644 index 00000000..052ae943 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/palettes/stone_types/cut/bauxite_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_bauxite_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_wall_side_tall.json new file mode 100644 index 00000000..5ffb4a8b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_bauxite_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/palettes/stone_types/cut/bauxite_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_galena.json b/src/generated/resources/assets/tfmg/models/block/cut_galena.json new file mode 100644 index 00000000..26624127 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_galena.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/palettes/stone_types/cut/galena_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_galena_brick_slab.json b/src/generated/resources/assets/tfmg/models/block/cut_galena_brick_slab.json new file mode 100644 index 00000000..c4278703 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_galena_brick_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/brick/galena_cut_brick", + "side": "tfmg:block/palettes/stone_types/brick/galena_cut_brick", + "top": "tfmg:block/palettes/stone_types/brick/galena_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_galena_brick_slab_top.json b/src/generated/resources/assets/tfmg/models/block/cut_galena_brick_slab_top.json new file mode 100644 index 00000000..a5ee5b5d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_galena_brick_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/brick/galena_cut_brick", + "side": "tfmg:block/palettes/stone_types/brick/galena_cut_brick", + "top": "tfmg:block/palettes/stone_types/brick/galena_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_galena_brick_stairs.json b/src/generated/resources/assets/tfmg/models/block/cut_galena_brick_stairs.json new file mode 100644 index 00000000..90ac2cf1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_galena_brick_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/brick/galena_cut_brick", + "side": "tfmg:block/palettes/stone_types/brick/galena_cut_brick", + "top": "tfmg:block/palettes/stone_types/brick/galena_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_galena_brick_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/cut_galena_brick_stairs_inner.json new file mode 100644 index 00000000..0637d30c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_galena_brick_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/brick/galena_cut_brick", + "side": "tfmg:block/palettes/stone_types/brick/galena_cut_brick", + "top": "tfmg:block/palettes/stone_types/brick/galena_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_galena_brick_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/cut_galena_brick_stairs_outer.json new file mode 100644 index 00000000..4d934755 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_galena_brick_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/brick/galena_cut_brick", + "side": "tfmg:block/palettes/stone_types/brick/galena_cut_brick", + "top": "tfmg:block/palettes/stone_types/brick/galena_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_galena_bricks.json b/src/generated/resources/assets/tfmg/models/block/cut_galena_bricks.json new file mode 100644 index 00000000..61f0f8e0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_galena_bricks.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/palettes/stone_types/brick/galena_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_galena_bricks_wall_post.json b/src/generated/resources/assets/tfmg/models/block/cut_galena_bricks_wall_post.json new file mode 100644 index 00000000..e97999f8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_galena_bricks_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/palettes/stone_types/brick/galena_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_galena_bricks_wall_side.json b/src/generated/resources/assets/tfmg/models/block/cut_galena_bricks_wall_side.json new file mode 100644 index 00000000..19a05796 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_galena_bricks_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/palettes/stone_types/brick/galena_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_galena_bricks_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/cut_galena_bricks_wall_side_tall.json new file mode 100644 index 00000000..3e009c32 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_galena_bricks_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/palettes/stone_types/brick/galena_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_galena_slab.json b/src/generated/resources/assets/tfmg/models/block/cut_galena_slab.json new file mode 100644 index 00000000..712831fb --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_galena_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/cut/galena_cut", + "side": "tfmg:block/palettes/stone_types/cut/galena_cut", + "top": "tfmg:block/palettes/stone_types/cut/galena_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_galena_slab_top.json b/src/generated/resources/assets/tfmg/models/block/cut_galena_slab_top.json new file mode 100644 index 00000000..926c3112 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_galena_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/cut/galena_cut", + "side": "tfmg:block/palettes/stone_types/cut/galena_cut", + "top": "tfmg:block/palettes/stone_types/cut/galena_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_galena_stairs.json b/src/generated/resources/assets/tfmg/models/block/cut_galena_stairs.json new file mode 100644 index 00000000..5edd2dfe --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_galena_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/cut/galena_cut", + "side": "tfmg:block/palettes/stone_types/cut/galena_cut", + "top": "tfmg:block/palettes/stone_types/cut/galena_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_galena_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/cut_galena_stairs_inner.json new file mode 100644 index 00000000..e1a67104 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_galena_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/cut/galena_cut", + "side": "tfmg:block/palettes/stone_types/cut/galena_cut", + "top": "tfmg:block/palettes/stone_types/cut/galena_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_galena_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/cut_galena_stairs_outer.json new file mode 100644 index 00000000..627be889 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_galena_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/cut/galena_cut", + "side": "tfmg:block/palettes/stone_types/cut/galena_cut", + "top": "tfmg:block/palettes/stone_types/cut/galena_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_galena_wall_post.json b/src/generated/resources/assets/tfmg/models/block/cut_galena_wall_post.json new file mode 100644 index 00000000..f7bd3073 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_galena_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/palettes/stone_types/cut/galena_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_galena_wall_side.json b/src/generated/resources/assets/tfmg/models/block/cut_galena_wall_side.json new file mode 100644 index 00000000..b6d1a533 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_galena_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/palettes/stone_types/cut/galena_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cut_galena_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/cut_galena_wall_side_tall.json new file mode 100644 index 00000000..18b207bb --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cut_galena_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/palettes/stone_types/cut/galena_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cyan_caution_block.json b/src/generated/resources/assets/tfmg/models/block/cyan_caution_block.json new file mode 100644 index 00000000..e4a53ab4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cyan_caution_block.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/caution_block", + "textures": { + "0": "tfmg:block/caution_block/cyan", + "particle": "tfmg:block/caution_block/cyan" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cyan_concrete.json b/src/generated/resources/assets/tfmg/models/block/cyan_concrete.json new file mode 100644 index 00000000..c54a5e41 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cyan_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/cyan_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cyan_concrete_bottom.json b/src/generated/resources/assets/tfmg/models/block/cyan_concrete_bottom.json new file mode 100644 index 00000000..9871a399 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cyan_concrete_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/cyan_concrete", + "side": "tfmg:block/cyan_concrete", + "top": "tfmg:block/cyan_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cyan_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/block/cyan_concrete_stairs.json new file mode 100644 index 00000000..316247aa --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cyan_concrete_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/cyan_concrete", + "side": "tfmg:block/cyan_concrete", + "top": "tfmg:block/cyan_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cyan_concrete_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/cyan_concrete_stairs_inner.json new file mode 100644 index 00000000..beadad4e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cyan_concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/cyan_concrete", + "side": "tfmg:block/cyan_concrete", + "top": "tfmg:block/cyan_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cyan_concrete_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/cyan_concrete_stairs_outer.json new file mode 100644 index 00000000..dffe0ba3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cyan_concrete_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/cyan_concrete", + "side": "tfmg:block/cyan_concrete", + "top": "tfmg:block/cyan_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cyan_concrete_top.json b/src/generated/resources/assets/tfmg/models/block/cyan_concrete_top.json new file mode 100644 index 00000000..4d5e09ae --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cyan_concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/cyan_concrete", + "side": "tfmg:block/cyan_concrete", + "top": "tfmg:block/cyan_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cyan_concrete_wall_post.json b/src/generated/resources/assets/tfmg/models/block/cyan_concrete_wall_post.json new file mode 100644 index 00000000..beeb7d50 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cyan_concrete_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/cyan_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cyan_concrete_wall_side.json b/src/generated/resources/assets/tfmg/models/block/cyan_concrete_wall_side.json new file mode 100644 index 00000000..3b4ef751 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cyan_concrete_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/cyan_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cyan_concrete_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/cyan_concrete_wall_side_tall.json new file mode 100644 index 00000000..8eb333d7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cyan_concrete_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/cyan_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/cyan_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/block/cyan_rebar_concrete.json new file mode 100644 index 00000000..c54a5e41 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/cyan_rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/cyan_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/deepslate_lead_ore.json b/src/generated/resources/assets/tfmg/models/block/deepslate_lead_ore.json new file mode 100644 index 00000000..0c1c0de2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/deepslate_lead_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/deepslate_lead_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/deepslate_lithium_ore.json b/src/generated/resources/assets/tfmg/models/block/deepslate_lithium_ore.json new file mode 100644 index 00000000..b49f39dc --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/deepslate_lithium_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/deepslate_lithium_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/deepslate_nickel_ore.json b/src/generated/resources/assets/tfmg/models/block/deepslate_nickel_ore.json new file mode 100644 index 00000000..fe6a3da2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/deepslate_nickel_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/deepslate_nickel_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/diesel.json b/src/generated/resources/assets/tfmg/models/block/diesel.json new file mode 100644 index 00000000..c2e81d38 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/diesel.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "tfmg:fluid/diesel_still" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/factory_floor.json b/src/generated/resources/assets/tfmg/models/block/factory_floor.json new file mode 100644 index 00000000..528b52da --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/factory_floor.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/factory_floor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/fireclay.json b/src/generated/resources/assets/tfmg/models/block/fireclay.json new file mode 100644 index 00000000..2ed33d2d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/fireclay.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/fireclay" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/fireproof_brick_reinforcement_wall_post.json b/src/generated/resources/assets/tfmg/models/block/fireproof_brick_reinforcement_wall_post.json new file mode 100644 index 00000000..60935256 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/fireproof_brick_reinforcement_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/fireproof_brick_reinforcement" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/fireproof_brick_reinforcement_wall_side.json b/src/generated/resources/assets/tfmg/models/block/fireproof_brick_reinforcement_wall_side.json new file mode 100644 index 00000000..4894a792 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/fireproof_brick_reinforcement_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/fireproof_brick_reinforcement" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/fireproof_brick_reinforcement_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/fireproof_brick_reinforcement_wall_side_tall.json new file mode 100644 index 00000000..e4e5b67c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/fireproof_brick_reinforcement_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/fireproof_brick_reinforcement" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/fireproof_bricks.json b/src/generated/resources/assets/tfmg/models/block/fireproof_bricks.json new file mode 100644 index 00000000..3879b13b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/fireproof_bricks.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/fireproof_bricks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/fossilstone.json b/src/generated/resources/assets/tfmg/models/block/fossilstone.json new file mode 100644 index 00000000..2beeaf59 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/fossilstone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/fossilstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/galena_natural_0.json b/src/generated/resources/assets/tfmg/models/block/galena_natural_0.json new file mode 100644 index 00000000..f37b6f07 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/galena_natural_0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/palettes/stone_types/natural/galena_0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/galena_natural_1.json b/src/generated/resources/assets/tfmg/models/block/galena_natural_1.json new file mode 100644 index 00000000..3cfd6c36 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/galena_natural_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/palettes/stone_types/natural/galena_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/galena_natural_2.json b/src/generated/resources/assets/tfmg/models/block/galena_natural_2.json new file mode 100644 index 00000000..95df8846 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/galena_natural_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/palettes/stone_types/natural/galena_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/galena_natural_3.json b/src/generated/resources/assets/tfmg/models/block/galena_natural_3.json new file mode 100644 index 00000000..14bab87b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/galena_natural_3.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/palettes/stone_types/natural/galena_3" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/galena_pillar.json b/src/generated/resources/assets/tfmg/models/block/galena_pillar.json new file mode 100644 index 00000000..cac8bde1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/galena_pillar.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "tfmg:block/palettes/stone_types/cap/galena_cut_cap", + "side": "tfmg:block/palettes/stone_types/pillar/galena_cut_pillar" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/galena_pillar_horizontal.json b/src/generated/resources/assets/tfmg/models/block/galena_pillar_horizontal.json new file mode 100644 index 00000000..4ec95f6d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/galena_pillar_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "tfmg:block/palettes/stone_types/cap/galena_cut_cap", + "side": "tfmg:block/palettes/stone_types/pillar/galena_cut_pillar" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/gasoline.json b/src/generated/resources/assets/tfmg/models/block/gasoline.json new file mode 100644 index 00000000..c532939d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/gasoline.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "tfmg:fluid/gasoline_still" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/gray_caution_block.json b/src/generated/resources/assets/tfmg/models/block/gray_caution_block.json new file mode 100644 index 00000000..2f2e5510 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/gray_caution_block.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/caution_block", + "textures": { + "0": "tfmg:block/caution_block/gray", + "particle": "tfmg:block/caution_block/gray" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/gray_concrete.json b/src/generated/resources/assets/tfmg/models/block/gray_concrete.json new file mode 100644 index 00000000..18afe9b7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/gray_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/gray_concrete_bottom.json b/src/generated/resources/assets/tfmg/models/block/gray_concrete_bottom.json new file mode 100644 index 00000000..4b135627 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/gray_concrete_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/gray_concrete", + "side": "tfmg:block/gray_concrete", + "top": "tfmg:block/gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/gray_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/block/gray_concrete_stairs.json new file mode 100644 index 00000000..38a199fc --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/gray_concrete_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/gray_concrete", + "side": "tfmg:block/gray_concrete", + "top": "tfmg:block/gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/gray_concrete_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/gray_concrete_stairs_inner.json new file mode 100644 index 00000000..ba0a1b5d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/gray_concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/gray_concrete", + "side": "tfmg:block/gray_concrete", + "top": "tfmg:block/gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/gray_concrete_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/gray_concrete_stairs_outer.json new file mode 100644 index 00000000..c6e976cd --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/gray_concrete_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/gray_concrete", + "side": "tfmg:block/gray_concrete", + "top": "tfmg:block/gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/gray_concrete_top.json b/src/generated/resources/assets/tfmg/models/block/gray_concrete_top.json new file mode 100644 index 00000000..27bb1d56 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/gray_concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/gray_concrete", + "side": "tfmg:block/gray_concrete", + "top": "tfmg:block/gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/gray_concrete_wall_post.json b/src/generated/resources/assets/tfmg/models/block/gray_concrete_wall_post.json new file mode 100644 index 00000000..5bfde20f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/gray_concrete_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/gray_concrete_wall_side.json b/src/generated/resources/assets/tfmg/models/block/gray_concrete_wall_side.json new file mode 100644 index 00000000..901f40ff --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/gray_concrete_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/gray_concrete_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/gray_concrete_wall_side_tall.json new file mode 100644 index 00000000..800a95f9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/gray_concrete_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/gray_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/block/gray_rebar_concrete.json new file mode 100644 index 00000000..18afe9b7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/gray_rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/green_caution_block.json b/src/generated/resources/assets/tfmg/models/block/green_caution_block.json new file mode 100644 index 00000000..2bfcd7dc --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/green_caution_block.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/caution_block", + "textures": { + "0": "tfmg:block/caution_block/green", + "particle": "tfmg:block/caution_block/green" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/green_concrete.json b/src/generated/resources/assets/tfmg/models/block/green_concrete.json new file mode 100644 index 00000000..008c7fd9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/green_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/green_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/green_concrete_bottom.json b/src/generated/resources/assets/tfmg/models/block/green_concrete_bottom.json new file mode 100644 index 00000000..de38f35f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/green_concrete_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/green_concrete", + "side": "tfmg:block/green_concrete", + "top": "tfmg:block/green_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/green_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/block/green_concrete_stairs.json new file mode 100644 index 00000000..7b8da7de --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/green_concrete_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/green_concrete", + "side": "tfmg:block/green_concrete", + "top": "tfmg:block/green_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/green_concrete_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/green_concrete_stairs_inner.json new file mode 100644 index 00000000..6fb7fb01 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/green_concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/green_concrete", + "side": "tfmg:block/green_concrete", + "top": "tfmg:block/green_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/green_concrete_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/green_concrete_stairs_outer.json new file mode 100644 index 00000000..14b5fec1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/green_concrete_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/green_concrete", + "side": "tfmg:block/green_concrete", + "top": "tfmg:block/green_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/green_concrete_top.json b/src/generated/resources/assets/tfmg/models/block/green_concrete_top.json new file mode 100644 index 00000000..96959025 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/green_concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/green_concrete", + "side": "tfmg:block/green_concrete", + "top": "tfmg:block/green_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/green_concrete_wall_post.json b/src/generated/resources/assets/tfmg/models/block/green_concrete_wall_post.json new file mode 100644 index 00000000..605c13ee --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/green_concrete_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/green_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/green_concrete_wall_side.json b/src/generated/resources/assets/tfmg/models/block/green_concrete_wall_side.json new file mode 100644 index 00000000..05fd64d1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/green_concrete_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/green_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/green_concrete_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/green_concrete_wall_side_tall.json new file mode 100644 index 00000000..0dccb25e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/green_concrete_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/green_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/green_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/block/green_rebar_concrete.json new file mode 100644 index 00000000..008c7fd9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/green_rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/green_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/hardened_planks.json b/src/generated/resources/assets/tfmg/models/block/hardened_planks.json new file mode 100644 index 00000000..6494d3f4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/hardened_planks.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/hardened_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/heavy_cable_hub.json b/src/generated/resources/assets/tfmg/models/block/heavy_cable_hub.json new file mode 100644 index 00000000..595c40fa --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/heavy_cable_hub.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/heavy_cable_hub" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_aluminum_cogwheel.json b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_aluminum_cogwheel.json new file mode 100644 index 00000000..1f2f64a6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_aluminum_cogwheel.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_cogwheel/block", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "4": "tfmg:block/heavy_gearbox", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_aluminum_cogwheel_bottom.json b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_aluminum_cogwheel_bottom.json new file mode 100644 index 00000000..01b360d3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_aluminum_cogwheel_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_cogwheel/block_bottom", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "4": "tfmg:block/heavy_gearbox", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_aluminum_cogwheel_top.json b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_aluminum_cogwheel_top.json new file mode 100644 index 00000000..00376bc6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_aluminum_cogwheel_top.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_cogwheel/block_top", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "4": "tfmg:block/heavy_gearbox", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_aluminum_cogwheel_top_bottom.json b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_aluminum_cogwheel_top_bottom.json new file mode 100644 index 00000000..e79718db --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_aluminum_cogwheel_top_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_cogwheel/block_top_bottom", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "4": "tfmg:block/heavy_gearbox", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_aluminum_cogwheel.json b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_aluminum_cogwheel.json new file mode 100644 index 00000000..925398d2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_aluminum_cogwheel.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/block", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "4": "tfmg:block/heavy_gearbox", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_aluminum_cogwheel_bottom.json b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_aluminum_cogwheel_bottom.json new file mode 100644 index 00000000..ad172e8a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_aluminum_cogwheel_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/block_bottom", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "4": "tfmg:block/heavy_gearbox", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_aluminum_cogwheel_top.json b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_aluminum_cogwheel_top.json new file mode 100644 index 00000000..672710b2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_aluminum_cogwheel_top.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/block_top", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "4": "tfmg:block/heavy_gearbox", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_aluminum_cogwheel_top_bottom.json b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_aluminum_cogwheel_top_bottom.json new file mode 100644 index 00000000..635d6dc8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_aluminum_cogwheel_top_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/block_top_bottom", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "4": "tfmg:block/heavy_gearbox", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_steel_cogwheel.json b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_steel_cogwheel.json new file mode 100644 index 00000000..925398d2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_steel_cogwheel.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/block", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "4": "tfmg:block/heavy_gearbox", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_steel_cogwheel_bottom.json b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_steel_cogwheel_bottom.json new file mode 100644 index 00000000..ad172e8a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_steel_cogwheel_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/block_bottom", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "4": "tfmg:block/heavy_gearbox", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_steel_cogwheel_top.json b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_steel_cogwheel_top.json new file mode 100644 index 00000000..672710b2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_steel_cogwheel_top.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/block_top", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "4": "tfmg:block/heavy_gearbox", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_steel_cogwheel_top_bottom.json b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_steel_cogwheel_top_bottom.json new file mode 100644 index 00000000..635d6dc8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_large_steel_cogwheel_top_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/block_top_bottom", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "4": "tfmg:block/heavy_gearbox", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_steel_cogwheel.json b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_steel_cogwheel.json new file mode 100644 index 00000000..1f2f64a6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_steel_cogwheel.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_cogwheel/block", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "4": "tfmg:block/heavy_gearbox", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_steel_cogwheel_bottom.json b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_steel_cogwheel_bottom.json new file mode 100644 index 00000000..01b360d3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_steel_cogwheel_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_cogwheel/block_bottom", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "4": "tfmg:block/heavy_gearbox", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_steel_cogwheel_top.json b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_steel_cogwheel_top.json new file mode 100644 index 00000000..00376bc6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_steel_cogwheel_top.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_cogwheel/block_top", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "4": "tfmg:block/heavy_gearbox", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_steel_cogwheel_top_bottom.json b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_steel_cogwheel_top_bottom.json new file mode 100644 index 00000000..e79718db --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/heavy_casing_encased_steel_cogwheel_top_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_cogwheel/block_top_bottom", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "4": "tfmg:block/heavy_gearbox", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/heavy_machinery_casing.json b/src/generated/resources/assets/tfmg/models/block/heavy_machinery_casing.json new file mode 100644 index 00000000..10f4f1c2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/heavy_machinery_casing.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/heavy_machinery_casing" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/heavy_oil.json b/src/generated/resources/assets/tfmg/models/block/heavy_oil.json new file mode 100644 index 00000000..db864423 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/heavy_oil.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "tfmg:fluid/heavy_oil_still" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/industrial_aluminum_casing.json b/src/generated/resources/assets/tfmg/models/block/industrial_aluminum_casing.json new file mode 100644 index 00000000..323683fc --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/industrial_aluminum_casing.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/industrial_aluminum_casing" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/kerosene.json b/src/generated/resources/assets/tfmg/models/block/kerosene.json new file mode 100644 index 00000000..a96931e7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/kerosene.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "tfmg:fluid/kerosene_still" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/layered_bauxite.json b/src/generated/resources/assets/tfmg/models/block/layered_bauxite.json new file mode 100644 index 00000000..576c1a4a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/layered_bauxite.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "tfmg:block/palettes/stone_types/cap/bauxite_cut_cap", + "side": "tfmg:block/palettes/stone_types/layered/bauxite_cut_layered" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/layered_galena.json b/src/generated/resources/assets/tfmg/models/block/layered_galena.json new file mode 100644 index 00000000..2bf62bf9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/layered_galena.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "tfmg:block/palettes/stone_types/cap/galena_cut_cap", + "side": "tfmg:block/palettes/stone_types/layered/galena_cut_layered" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lead_block.json b/src/generated/resources/assets/tfmg/models/block/lead_block.json new file mode 100644 index 00000000..f2df53ed --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lead_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/lead_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lead_cap.json b/src/generated/resources/assets/tfmg/models/block/lead_cap.json new file mode 100644 index 00000000..62164813 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lead_cap.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/cap", + "textures": { + "bars": "tfmg:block/bars/lead_bars", + "edge": "tfmg:block/bars/lead_bars_edge", + "particle": "tfmg:block/bars/lead_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lead_cap_alt.json b/src/generated/resources/assets/tfmg/models/block/lead_cap_alt.json new file mode 100644 index 00000000..08da5a83 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lead_cap_alt.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/cap_alt", + "textures": { + "bars": "tfmg:block/bars/lead_bars", + "edge": "tfmg:block/bars/lead_bars_edge", + "particle": "tfmg:block/bars/lead_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lead_ladder.json b/src/generated/resources/assets/tfmg/models/block/lead_ladder.json new file mode 100644 index 00000000..f35975c3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lead_ladder.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/ladder", + "textures": { + "0": "tfmg:block/ladder_lead_hoop", + "1": "tfmg:block/ladder_lead", + "particle": "tfmg:block/ladder_lead" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lead_ore.json b/src/generated/resources/assets/tfmg/models/block/lead_ore.json new file mode 100644 index 00000000..8d3cd02a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lead_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/lead_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lead_post.json b/src/generated/resources/assets/tfmg/models/block/lead_post.json new file mode 100644 index 00000000..a87ec685 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lead_post.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/post", + "textures": { + "bars": "tfmg:block/bars/lead_bars", + "edge": "tfmg:block/bars/lead_bars_edge", + "particle": "tfmg:block/bars/lead_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lead_post_ends.json b/src/generated/resources/assets/tfmg/models/block/lead_post_ends.json new file mode 100644 index 00000000..9d912885 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lead_post_ends.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/post_ends", + "textures": { + "bars": "tfmg:block/bars/lead_bars", + "edge": "tfmg:block/bars/lead_bars_edge", + "particle": "tfmg:block/bars/lead_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lead_side.json b/src/generated/resources/assets/tfmg/models/block/lead_side.json new file mode 100644 index 00000000..e2cfbfab --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lead_side.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/side", + "textures": { + "bars": "tfmg:block/bars/lead_bars", + "edge": "tfmg:block/bars/lead_bars_edge", + "particle": "tfmg:block/bars/lead_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lead_side_alt.json b/src/generated/resources/assets/tfmg/models/block/lead_side_alt.json new file mode 100644 index 00000000..85078a0e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lead_side_alt.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/side_alt", + "textures": { + "bars": "tfmg:block/bars/lead_bars", + "edge": "tfmg:block/bars/lead_bars_edge", + "particle": "tfmg:block/bars/lead_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/light_blue_caution_block.json b/src/generated/resources/assets/tfmg/models/block/light_blue_caution_block.json new file mode 100644 index 00000000..35c21025 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/light_blue_caution_block.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/caution_block", + "textures": { + "0": "tfmg:block/caution_block/light_blue", + "particle": "tfmg:block/caution_block/light_blue" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/light_blue_concrete.json b/src/generated/resources/assets/tfmg/models/block/light_blue_concrete.json new file mode 100644 index 00000000..3ca27528 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/light_blue_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/light_blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_bottom.json b/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_bottom.json new file mode 100644 index 00000000..e4ae3119 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/light_blue_concrete", + "side": "tfmg:block/light_blue_concrete", + "top": "tfmg:block/light_blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_stairs.json new file mode 100644 index 00000000..dd1152d5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/light_blue_concrete", + "side": "tfmg:block/light_blue_concrete", + "top": "tfmg:block/light_blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_stairs_inner.json new file mode 100644 index 00000000..e4539ea1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/light_blue_concrete", + "side": "tfmg:block/light_blue_concrete", + "top": "tfmg:block/light_blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_stairs_outer.json new file mode 100644 index 00000000..a7e92ee5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/light_blue_concrete", + "side": "tfmg:block/light_blue_concrete", + "top": "tfmg:block/light_blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_top.json b/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_top.json new file mode 100644 index 00000000..ea1ae5e5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/light_blue_concrete", + "side": "tfmg:block/light_blue_concrete", + "top": "tfmg:block/light_blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_wall_post.json b/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_wall_post.json new file mode 100644 index 00000000..99870de7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/light_blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_wall_side.json b/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_wall_side.json new file mode 100644 index 00000000..3782371b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/light_blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_wall_side_tall.json new file mode 100644 index 00000000..ed9699b1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/light_blue_concrete_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/light_blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/light_blue_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/block/light_blue_rebar_concrete.json new file mode 100644 index 00000000..3ca27528 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/light_blue_rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/light_blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/light_gray_caution_block.json b/src/generated/resources/assets/tfmg/models/block/light_gray_caution_block.json new file mode 100644 index 00000000..ae138fdb --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/light_gray_caution_block.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/caution_block", + "textures": { + "0": "tfmg:block/caution_block/light_gray", + "particle": "tfmg:block/caution_block/light_gray" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/light_gray_concrete.json b/src/generated/resources/assets/tfmg/models/block/light_gray_concrete.json new file mode 100644 index 00000000..bc81b5c6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/light_gray_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/light_gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_bottom.json b/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_bottom.json new file mode 100644 index 00000000..4f8438c2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/light_gray_concrete", + "side": "tfmg:block/light_gray_concrete", + "top": "tfmg:block/light_gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_stairs.json new file mode 100644 index 00000000..d00883ba --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/light_gray_concrete", + "side": "tfmg:block/light_gray_concrete", + "top": "tfmg:block/light_gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_stairs_inner.json new file mode 100644 index 00000000..4692976c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/light_gray_concrete", + "side": "tfmg:block/light_gray_concrete", + "top": "tfmg:block/light_gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_stairs_outer.json new file mode 100644 index 00000000..218a5ff0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/light_gray_concrete", + "side": "tfmg:block/light_gray_concrete", + "top": "tfmg:block/light_gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_top.json b/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_top.json new file mode 100644 index 00000000..c1e0d441 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/light_gray_concrete", + "side": "tfmg:block/light_gray_concrete", + "top": "tfmg:block/light_gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_wall_post.json b/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_wall_post.json new file mode 100644 index 00000000..aa83a54b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/light_gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_wall_side.json b/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_wall_side.json new file mode 100644 index 00000000..51334060 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/light_gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_wall_side_tall.json new file mode 100644 index 00000000..3821f730 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/light_gray_concrete_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/light_gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/light_gray_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/block/light_gray_rebar_concrete.json new file mode 100644 index 00000000..bc81b5c6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/light_gray_rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/light_gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lignite.json b/src/generated/resources/assets/tfmg/models/block/lignite.json new file mode 100644 index 00000000..f755b220 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lignite.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/lignite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lime_caution_block.json b/src/generated/resources/assets/tfmg/models/block/lime_caution_block.json new file mode 100644 index 00000000..3ffcee42 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lime_caution_block.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/caution_block", + "textures": { + "0": "tfmg:block/caution_block/lime", + "particle": "tfmg:block/caution_block/lime" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lime_concrete.json b/src/generated/resources/assets/tfmg/models/block/lime_concrete.json new file mode 100644 index 00000000..c9ab73fa --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lime_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/lime_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lime_concrete_bottom.json b/src/generated/resources/assets/tfmg/models/block/lime_concrete_bottom.json new file mode 100644 index 00000000..1c14abae --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lime_concrete_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/lime_concrete", + "side": "tfmg:block/lime_concrete", + "top": "tfmg:block/lime_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lime_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/block/lime_concrete_stairs.json new file mode 100644 index 00000000..111207ba --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lime_concrete_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/lime_concrete", + "side": "tfmg:block/lime_concrete", + "top": "tfmg:block/lime_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lime_concrete_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/lime_concrete_stairs_inner.json new file mode 100644 index 00000000..6f9940fe --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lime_concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/lime_concrete", + "side": "tfmg:block/lime_concrete", + "top": "tfmg:block/lime_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lime_concrete_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/lime_concrete_stairs_outer.json new file mode 100644 index 00000000..6577754b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lime_concrete_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/lime_concrete", + "side": "tfmg:block/lime_concrete", + "top": "tfmg:block/lime_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lime_concrete_top.json b/src/generated/resources/assets/tfmg/models/block/lime_concrete_top.json new file mode 100644 index 00000000..82957a5d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lime_concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/lime_concrete", + "side": "tfmg:block/lime_concrete", + "top": "tfmg:block/lime_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lime_concrete_wall_post.json b/src/generated/resources/assets/tfmg/models/block/lime_concrete_wall_post.json new file mode 100644 index 00000000..84e16e70 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lime_concrete_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/lime_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lime_concrete_wall_side.json b/src/generated/resources/assets/tfmg/models/block/lime_concrete_wall_side.json new file mode 100644 index 00000000..5ba64fd5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lime_concrete_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/lime_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lime_concrete_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/lime_concrete_wall_side_tall.json new file mode 100644 index 00000000..60038ad1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lime_concrete_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/lime_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lime_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/block/lime_rebar_concrete.json new file mode 100644 index 00000000..c9ab73fa --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lime_rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/lime_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/liquid_asphalt.json b/src/generated/resources/assets/tfmg/models/block/liquid_asphalt.json new file mode 100644 index 00000000..d87b8f91 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/liquid_asphalt.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "tfmg:fluid/liquid_asphalt_still" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/liquid_concrete.json b/src/generated/resources/assets/tfmg/models/block/liquid_concrete.json new file mode 100644 index 00000000..2c923480 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/liquid_concrete.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "tfmg:fluid/liquid_concrete_still" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/liquid_silicon.json b/src/generated/resources/assets/tfmg/models/block/liquid_silicon.json new file mode 100644 index 00000000..82249cba --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/liquid_silicon.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "tfmg:fluid/liquid_silicon_still" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lithium_block.json b/src/generated/resources/assets/tfmg/models/block/lithium_block.json new file mode 100644 index 00000000..26bd2bcd --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lithium_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/lithium_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lithium_ore.json b/src/generated/resources/assets/tfmg/models/block/lithium_ore.json new file mode 100644 index 00000000..02f3406f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lithium_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/lithium_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/lubrication_oil.json b/src/generated/resources/assets/tfmg/models/block/lubrication_oil.json new file mode 100644 index 00000000..57ed031a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/lubrication_oil.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "tfmg:fluid/lubrication_oil_still" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/magenta_caution_block.json b/src/generated/resources/assets/tfmg/models/block/magenta_caution_block.json new file mode 100644 index 00000000..f133c0bb --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/magenta_caution_block.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/caution_block", + "textures": { + "0": "tfmg:block/caution_block/magenta", + "particle": "tfmg:block/caution_block/magenta" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/magenta_concrete.json b/src/generated/resources/assets/tfmg/models/block/magenta_concrete.json new file mode 100644 index 00000000..e305735c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/magenta_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/magenta_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/magenta_concrete_bottom.json b/src/generated/resources/assets/tfmg/models/block/magenta_concrete_bottom.json new file mode 100644 index 00000000..23d9d71c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/magenta_concrete_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/magenta_concrete", + "side": "tfmg:block/magenta_concrete", + "top": "tfmg:block/magenta_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/magenta_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/block/magenta_concrete_stairs.json new file mode 100644 index 00000000..e4ebbc90 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/magenta_concrete_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/magenta_concrete", + "side": "tfmg:block/magenta_concrete", + "top": "tfmg:block/magenta_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/magenta_concrete_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/magenta_concrete_stairs_inner.json new file mode 100644 index 00000000..d3942e73 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/magenta_concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/magenta_concrete", + "side": "tfmg:block/magenta_concrete", + "top": "tfmg:block/magenta_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/magenta_concrete_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/magenta_concrete_stairs_outer.json new file mode 100644 index 00000000..2bf07e07 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/magenta_concrete_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/magenta_concrete", + "side": "tfmg:block/magenta_concrete", + "top": "tfmg:block/magenta_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/magenta_concrete_top.json b/src/generated/resources/assets/tfmg/models/block/magenta_concrete_top.json new file mode 100644 index 00000000..3e5808ae --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/magenta_concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/magenta_concrete", + "side": "tfmg:block/magenta_concrete", + "top": "tfmg:block/magenta_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/magenta_concrete_wall_post.json b/src/generated/resources/assets/tfmg/models/block/magenta_concrete_wall_post.json new file mode 100644 index 00000000..7440652d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/magenta_concrete_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/magenta_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/magenta_concrete_wall_side.json b/src/generated/resources/assets/tfmg/models/block/magenta_concrete_wall_side.json new file mode 100644 index 00000000..7a9ad35e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/magenta_concrete_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/magenta_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/magenta_concrete_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/magenta_concrete_wall_side_tall.json new file mode 100644 index 00000000..c5645390 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/magenta_concrete_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/magenta_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/magenta_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/block/magenta_rebar_concrete.json new file mode 100644 index 00000000..e305735c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/magenta_rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/magenta_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/molten_plastic.json b/src/generated/resources/assets/tfmg/models/block/molten_plastic.json new file mode 100644 index 00000000..b409ece2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/molten_plastic.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "tfmg:fluid/molten_plastic_still" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/molten_slag.json b/src/generated/resources/assets/tfmg/models/block/molten_slag.json new file mode 100644 index 00000000..fdc7a0cb --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/molten_slag.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "tfmg:fluid/molten_slag_still" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/molten_steel.json b/src/generated/resources/assets/tfmg/models/block/molten_steel.json new file mode 100644 index 00000000..e50e8ddd --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/molten_steel.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "tfmg:fluid/molten_steel_still" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/napalm.json b/src/generated/resources/assets/tfmg/models/block/napalm.json new file mode 100644 index 00000000..7bef9534 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/napalm.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "tfmg:fluid/napalm_still" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/naphtha.json b/src/generated/resources/assets/tfmg/models/block/naphtha.json new file mode 100644 index 00000000..0751af99 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/naphtha.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "tfmg:fluid/naphtha_still" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/nickel_block.json b/src/generated/resources/assets/tfmg/models/block/nickel_block.json new file mode 100644 index 00000000..5973ac30 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/nickel_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/nickel_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/nickel_cap.json b/src/generated/resources/assets/tfmg/models/block/nickel_cap.json new file mode 100644 index 00000000..d36a64bb --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/nickel_cap.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/cap", + "textures": { + "bars": "tfmg:block/bars/nickel_bars", + "edge": "tfmg:block/bars/nickel_bars_edge", + "particle": "tfmg:block/bars/nickel_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/nickel_cap_alt.json b/src/generated/resources/assets/tfmg/models/block/nickel_cap_alt.json new file mode 100644 index 00000000..609026ef --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/nickel_cap_alt.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/cap_alt", + "textures": { + "bars": "tfmg:block/bars/nickel_bars", + "edge": "tfmg:block/bars/nickel_bars_edge", + "particle": "tfmg:block/bars/nickel_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/nickel_ladder.json b/src/generated/resources/assets/tfmg/models/block/nickel_ladder.json new file mode 100644 index 00000000..468cf1cb --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/nickel_ladder.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/ladder", + "textures": { + "0": "tfmg:block/ladder_nickel_hoop", + "1": "tfmg:block/ladder_nickel", + "particle": "tfmg:block/ladder_nickel" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/nickel_ore.json b/src/generated/resources/assets/tfmg/models/block/nickel_ore.json new file mode 100644 index 00000000..83750bad --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/nickel_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/nickel_ore" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/nickel_post.json b/src/generated/resources/assets/tfmg/models/block/nickel_post.json new file mode 100644 index 00000000..b25c45e5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/nickel_post.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/post", + "textures": { + "bars": "tfmg:block/bars/nickel_bars", + "edge": "tfmg:block/bars/nickel_bars_edge", + "particle": "tfmg:block/bars/nickel_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/nickel_post_ends.json b/src/generated/resources/assets/tfmg/models/block/nickel_post_ends.json new file mode 100644 index 00000000..80c9f907 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/nickel_post_ends.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/post_ends", + "textures": { + "bars": "tfmg:block/bars/nickel_bars", + "edge": "tfmg:block/bars/nickel_bars_edge", + "particle": "tfmg:block/bars/nickel_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/nickel_side.json b/src/generated/resources/assets/tfmg/models/block/nickel_side.json new file mode 100644 index 00000000..e1afc23a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/nickel_side.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/side", + "textures": { + "bars": "tfmg:block/bars/nickel_bars", + "edge": "tfmg:block/bars/nickel_bars_edge", + "particle": "tfmg:block/bars/nickel_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/nickel_side_alt.json b/src/generated/resources/assets/tfmg/models/block/nickel_side_alt.json new file mode 100644 index 00000000..1d440074 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/nickel_side_alt.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/side_alt", + "textures": { + "bars": "tfmg:block/bars/nickel_bars", + "edge": "tfmg:block/bars/nickel_bars_edge", + "particle": "tfmg:block/bars/nickel_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/oil_deposit.json b/src/generated/resources/assets/tfmg/models/block/oil_deposit.json new file mode 100644 index 00000000..445d908e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/oil_deposit.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/oil_deposit" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/orange_caution_block.json b/src/generated/resources/assets/tfmg/models/block/orange_caution_block.json new file mode 100644 index 00000000..10161a15 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/orange_caution_block.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/caution_block", + "textures": { + "0": "tfmg:block/caution_block/orange", + "particle": "tfmg:block/caution_block/orange" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/orange_concrete.json b/src/generated/resources/assets/tfmg/models/block/orange_concrete.json new file mode 100644 index 00000000..49db3ef7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/orange_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/orange_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/orange_concrete_bottom.json b/src/generated/resources/assets/tfmg/models/block/orange_concrete_bottom.json new file mode 100644 index 00000000..b614659b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/orange_concrete_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/orange_concrete", + "side": "tfmg:block/orange_concrete", + "top": "tfmg:block/orange_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/orange_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/block/orange_concrete_stairs.json new file mode 100644 index 00000000..98afda2a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/orange_concrete_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/orange_concrete", + "side": "tfmg:block/orange_concrete", + "top": "tfmg:block/orange_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/orange_concrete_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/orange_concrete_stairs_inner.json new file mode 100644 index 00000000..9a98b33a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/orange_concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/orange_concrete", + "side": "tfmg:block/orange_concrete", + "top": "tfmg:block/orange_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/orange_concrete_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/orange_concrete_stairs_outer.json new file mode 100644 index 00000000..059ce8e0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/orange_concrete_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/orange_concrete", + "side": "tfmg:block/orange_concrete", + "top": "tfmg:block/orange_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/orange_concrete_top.json b/src/generated/resources/assets/tfmg/models/block/orange_concrete_top.json new file mode 100644 index 00000000..9d2555a3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/orange_concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/orange_concrete", + "side": "tfmg:block/orange_concrete", + "top": "tfmg:block/orange_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/orange_concrete_wall_post.json b/src/generated/resources/assets/tfmg/models/block/orange_concrete_wall_post.json new file mode 100644 index 00000000..96db75f6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/orange_concrete_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/orange_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/orange_concrete_wall_side.json b/src/generated/resources/assets/tfmg/models/block/orange_concrete_wall_side.json new file mode 100644 index 00000000..8a8f8920 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/orange_concrete_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/orange_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/orange_concrete_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/orange_concrete_wall_side_tall.json new file mode 100644 index 00000000..c304d9aa --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/orange_concrete_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/orange_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/orange_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/block/orange_rebar_concrete.json new file mode 100644 index 00000000..49db3ef7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/orange_rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/orange_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/pink_caution_block.json b/src/generated/resources/assets/tfmg/models/block/pink_caution_block.json new file mode 100644 index 00000000..38a7cf05 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/pink_caution_block.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/caution_block", + "textures": { + "0": "tfmg:block/caution_block/pink", + "particle": "tfmg:block/caution_block/pink" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/pink_concrete.json b/src/generated/resources/assets/tfmg/models/block/pink_concrete.json new file mode 100644 index 00000000..1de71f57 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/pink_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/pink_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/pink_concrete_bottom.json b/src/generated/resources/assets/tfmg/models/block/pink_concrete_bottom.json new file mode 100644 index 00000000..aa4921d9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/pink_concrete_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/pink_concrete", + "side": "tfmg:block/pink_concrete", + "top": "tfmg:block/pink_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/pink_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/block/pink_concrete_stairs.json new file mode 100644 index 00000000..a7b8e6b6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/pink_concrete_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/pink_concrete", + "side": "tfmg:block/pink_concrete", + "top": "tfmg:block/pink_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/pink_concrete_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/pink_concrete_stairs_inner.json new file mode 100644 index 00000000..0adbeaa9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/pink_concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/pink_concrete", + "side": "tfmg:block/pink_concrete", + "top": "tfmg:block/pink_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/pink_concrete_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/pink_concrete_stairs_outer.json new file mode 100644 index 00000000..32f32f98 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/pink_concrete_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/pink_concrete", + "side": "tfmg:block/pink_concrete", + "top": "tfmg:block/pink_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/pink_concrete_top.json b/src/generated/resources/assets/tfmg/models/block/pink_concrete_top.json new file mode 100644 index 00000000..27b6d02d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/pink_concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/pink_concrete", + "side": "tfmg:block/pink_concrete", + "top": "tfmg:block/pink_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/pink_concrete_wall_post.json b/src/generated/resources/assets/tfmg/models/block/pink_concrete_wall_post.json new file mode 100644 index 00000000..d3ce7978 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/pink_concrete_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/pink_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/pink_concrete_wall_side.json b/src/generated/resources/assets/tfmg/models/block/pink_concrete_wall_side.json new file mode 100644 index 00000000..90e5d989 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/pink_concrete_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/pink_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/pink_concrete_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/pink_concrete_wall_side_tall.json new file mode 100644 index 00000000..029ab817 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/pink_concrete_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/pink_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/pink_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/block/pink_rebar_concrete.json new file mode 100644 index 00000000..1de71f57 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/pink_rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/pink_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_block.json b/src/generated/resources/assets/tfmg/models/block/plastic_block.json new file mode 100644 index 00000000..6ddcec3e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/plastic_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/d_x.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/d_x.json new file mode 100644 index 00000000..01623c7c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/d_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 0.0, + 0.0, + 4.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 0.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/d_y.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/d_y.json new file mode 100644 index 00000000..659fbb02 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/d_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 0.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/d_z.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/d_z.json new file mode 100644 index 00000000..42057a9d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/d_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 0.0, + 0.0, + 4.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 0.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/l_x.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/l_x.json new file mode 100644 index 00000000..e8caff54 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/l_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 8.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 4.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/l_y.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/l_y.json new file mode 100644 index 00000000..c9a31701 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/l_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 4.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/l_z.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/l_z.json new file mode 100644 index 00000000..8876320e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/l_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 8.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 4.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ld_x.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ld_x.json new file mode 100644 index 00000000..4142cbbf --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ld_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 16.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 16.0, + 0.0, + 12.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ld_y.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ld_y.json new file mode 100644 index 00000000..f1bf0bab --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ld_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 16.0, + 0.0, + 12.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 16.0, + 4.0, + 12.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ld_z.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ld_z.json new file mode 100644 index 00000000..fc8de8af --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ld_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 16.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 16.0, + 0.0, + 12.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/lr_x.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/lr_x.json new file mode 100644 index 00000000..9c39c33a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/lr_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 8.0, + 12.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/lr_y.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/lr_y.json new file mode 100644 index 00000000..a2fa7b39 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/lr_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 12.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 8.0, + 12.0, + 4.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/lr_z.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/lr_z.json new file mode 100644 index 00000000..7bfbb064 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/lr_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 8.0, + 12.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/lu_x.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/lu_x.json new file mode 100644 index 00000000..bf5f6d84 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/lu_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 16.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 16.0, + 4.0, + 12.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/lu_y.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/lu_y.json new file mode 100644 index 00000000..eb650f66 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/lu_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 16.0, + 4.0, + 12.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 16.0, + 8.0, + 12.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/lu_z.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/lu_z.json new file mode 100644 index 00000000..efd9c91c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/lu_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 16.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 16.0, + 4.0, + 12.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/r_x.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/r_x.json new file mode 100644 index 00000000..0aca92fd --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/r_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 0.0, + 4.0, + 4.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/r_y.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/r_y.json new file mode 100644 index 00000000..278b7639 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/r_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/r_z.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/r_z.json new file mode 100644 index 00000000..c93bd763 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/r_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 0.0, + 4.0, + 4.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/rd_x.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/rd_x.json new file mode 100644 index 00000000..e72925d5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/rd_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 12.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 8.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/rd_y.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/rd_y.json new file mode 100644 index 00000000..37d56a1e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/rd_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 8.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/rd_z.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/rd_z.json new file mode 100644 index 00000000..51dd61c1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/rd_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 12.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 8.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ru_x.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ru_x.json new file mode 100644 index 00000000..f607d1f8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ru_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 12.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ru_y.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ru_y.json new file mode 100644 index 00000000..9c678a81 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ru_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 12.0, + 8.0, + 8.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ru_z.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ru_z.json new file mode 100644 index 00000000..b3975609 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ru_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 12.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/u_x.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/u_x.json new file mode 100644 index 00000000..26e7413d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/u_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 8.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/u_y.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/u_y.json new file mode 100644 index 00000000..3ac907c6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/u_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/u_z.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/u_z.json new file mode 100644 index 00000000..4792f198 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/u_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 8.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ud_x.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ud_x.json new file mode 100644 index 00000000..16d6b3d6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ud_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 0.0, + 8.0, + 4.0, + 12.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ud_y.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ud_y.json new file mode 100644 index 00000000..c55f857c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ud_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 4.0, + 12.0, + 0.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ud_z.json b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ud_z.json new file mode 100644 index 00000000..fa508a7e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/plastic_pipe/ud_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/plastic_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 0.0, + 8.0, + 4.0, + 12.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite.json b/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite.json new file mode 100644 index 00000000..6675530e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_slab.json b/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_slab.json new file mode 100644 index 00000000..f4a54ec1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished", + "side": "tfmg:block/palettes/stone_types/slab/bauxite_cut_slab", + "top": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_slab_double.json b/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_slab_double.json new file mode 100644 index 00000000..698f6e07 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_slab_double.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished", + "side": "tfmg:block/palettes/stone_types/slab/bauxite_cut_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_slab_top.json b/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_slab_top.json new file mode 100644 index 00000000..c89b7b16 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished", + "side": "tfmg:block/palettes/stone_types/slab/bauxite_cut_slab", + "top": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_stairs.json b/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_stairs.json new file mode 100644 index 00000000..617300f9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished", + "side": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished", + "top": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_stairs_inner.json new file mode 100644 index 00000000..2da04e85 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished", + "side": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished", + "top": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_stairs_outer.json new file mode 100644 index 00000000..6f505abb --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished", + "side": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished", + "top": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_wall_post.json b/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_wall_post.json new file mode 100644 index 00000000..51e5183b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_wall_side.json b/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_wall_side.json new file mode 100644 index 00000000..5d78f343 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_wall_side_tall.json new file mode 100644 index 00000000..aa55e40f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/polished_cut_bauxite_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/polished_cut_galena.json b/src/generated/resources/assets/tfmg/models/block/polished_cut_galena.json new file mode 100644 index 00000000..a02754a0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/polished_cut_galena.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/palettes/stone_types/polished/galena_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_slab.json b/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_slab.json new file mode 100644 index 00000000..3064fac2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/polished/galena_cut_polished", + "side": "tfmg:block/palettes/stone_types/slab/galena_cut_slab", + "top": "tfmg:block/palettes/stone_types/polished/galena_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_slab_double.json b/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_slab_double.json new file mode 100644 index 00000000..5cdac9ac --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_slab_double.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "tfmg:block/palettes/stone_types/polished/galena_cut_polished", + "side": "tfmg:block/palettes/stone_types/slab/galena_cut_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_slab_top.json b/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_slab_top.json new file mode 100644 index 00000000..fb776dc4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/polished/galena_cut_polished", + "side": "tfmg:block/palettes/stone_types/slab/galena_cut_slab", + "top": "tfmg:block/palettes/stone_types/polished/galena_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_stairs.json b/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_stairs.json new file mode 100644 index 00000000..3943af07 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/polished/galena_cut_polished", + "side": "tfmg:block/palettes/stone_types/polished/galena_cut_polished", + "top": "tfmg:block/palettes/stone_types/polished/galena_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_stairs_inner.json new file mode 100644 index 00000000..ce3cc93c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/polished/galena_cut_polished", + "side": "tfmg:block/palettes/stone_types/polished/galena_cut_polished", + "top": "tfmg:block/palettes/stone_types/polished/galena_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_stairs_outer.json new file mode 100644 index 00000000..0ac465e5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/polished/galena_cut_polished", + "side": "tfmg:block/palettes/stone_types/polished/galena_cut_polished", + "top": "tfmg:block/palettes/stone_types/polished/galena_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_wall_post.json b/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_wall_post.json new file mode 100644 index 00000000..e65ad9f0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/palettes/stone_types/polished/galena_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_wall_side.json b/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_wall_side.json new file mode 100644 index 00000000..98efc57a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/palettes/stone_types/polished/galena_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_wall_side_tall.json new file mode 100644 index 00000000..1058c981 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/polished_cut_galena_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/palettes/stone_types/polished/galena_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/purple_caution_block.json b/src/generated/resources/assets/tfmg/models/block/purple_caution_block.json new file mode 100644 index 00000000..fdb01f27 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/purple_caution_block.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/caution_block", + "textures": { + "0": "tfmg:block/caution_block/purple", + "particle": "tfmg:block/caution_block/purple" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/purple_concrete.json b/src/generated/resources/assets/tfmg/models/block/purple_concrete.json new file mode 100644 index 00000000..61379c2e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/purple_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/purple_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/purple_concrete_bottom.json b/src/generated/resources/assets/tfmg/models/block/purple_concrete_bottom.json new file mode 100644 index 00000000..78842bb9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/purple_concrete_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/purple_concrete", + "side": "tfmg:block/purple_concrete", + "top": "tfmg:block/purple_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/purple_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/block/purple_concrete_stairs.json new file mode 100644 index 00000000..2338b852 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/purple_concrete_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/purple_concrete", + "side": "tfmg:block/purple_concrete", + "top": "tfmg:block/purple_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/purple_concrete_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/purple_concrete_stairs_inner.json new file mode 100644 index 00000000..9719244b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/purple_concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/purple_concrete", + "side": "tfmg:block/purple_concrete", + "top": "tfmg:block/purple_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/purple_concrete_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/purple_concrete_stairs_outer.json new file mode 100644 index 00000000..9d56ba60 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/purple_concrete_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/purple_concrete", + "side": "tfmg:block/purple_concrete", + "top": "tfmg:block/purple_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/purple_concrete_top.json b/src/generated/resources/assets/tfmg/models/block/purple_concrete_top.json new file mode 100644 index 00000000..50012898 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/purple_concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/purple_concrete", + "side": "tfmg:block/purple_concrete", + "top": "tfmg:block/purple_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/purple_concrete_wall_post.json b/src/generated/resources/assets/tfmg/models/block/purple_concrete_wall_post.json new file mode 100644 index 00000000..ef2707e7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/purple_concrete_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/purple_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/purple_concrete_wall_side.json b/src/generated/resources/assets/tfmg/models/block/purple_concrete_wall_side.json new file mode 100644 index 00000000..891921c2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/purple_concrete_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/purple_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/purple_concrete_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/purple_concrete_wall_side_tall.json new file mode 100644 index 00000000..19f35e57 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/purple_concrete_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/purple_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/purple_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/block/purple_rebar_concrete.json new file mode 100644 index 00000000..61379c2e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/purple_rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/purple_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/raw_lead_block.json b/src/generated/resources/assets/tfmg/models/block/raw_lead_block.json new file mode 100644 index 00000000..26789f54 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/raw_lead_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/raw_lead_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/raw_lithium_block.json b/src/generated/resources/assets/tfmg/models/block/raw_lithium_block.json new file mode 100644 index 00000000..452c2538 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/raw_lithium_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/raw_lithium_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/raw_nickel_block.json b/src/generated/resources/assets/tfmg/models/block/raw_nickel_block.json new file mode 100644 index 00000000..4afc5d1f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/raw_nickel_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/raw_nickel_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/rebar_concrete.json b/src/generated/resources/assets/tfmg/models/block/rebar_concrete.json new file mode 100644 index 00000000..031333c6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/block/rebar_concrete_stairs.json new file mode 100644 index 00000000..8151b3fd --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/rebar_concrete_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/rebar_concrete", + "side": "tfmg:block/rebar_concrete", + "top": "tfmg:block/rebar_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/rebar_concrete_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/rebar_concrete_stairs_inner.json new file mode 100644 index 00000000..6ef1c102 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/rebar_concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/rebar_concrete", + "side": "tfmg:block/rebar_concrete", + "top": "tfmg:block/rebar_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/rebar_concrete_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/rebar_concrete_stairs_outer.json new file mode 100644 index 00000000..01930655 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/rebar_concrete_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/rebar_concrete", + "side": "tfmg:block/rebar_concrete", + "top": "tfmg:block/rebar_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/red_caution_block.json b/src/generated/resources/assets/tfmg/models/block/red_caution_block.json new file mode 100644 index 00000000..75c5496e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/red_caution_block.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/caution_block", + "textures": { + "0": "tfmg:block/caution_block/red", + "particle": "tfmg:block/caution_block/red" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/red_concrete.json b/src/generated/resources/assets/tfmg/models/block/red_concrete.json new file mode 100644 index 00000000..081ad945 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/red_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/red_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/red_concrete_bottom.json b/src/generated/resources/assets/tfmg/models/block/red_concrete_bottom.json new file mode 100644 index 00000000..16dee328 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/red_concrete_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/red_concrete", + "side": "tfmg:block/red_concrete", + "top": "tfmg:block/red_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/red_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/block/red_concrete_stairs.json new file mode 100644 index 00000000..4964ffab --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/red_concrete_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/red_concrete", + "side": "tfmg:block/red_concrete", + "top": "tfmg:block/red_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/red_concrete_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/red_concrete_stairs_inner.json new file mode 100644 index 00000000..22adc015 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/red_concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/red_concrete", + "side": "tfmg:block/red_concrete", + "top": "tfmg:block/red_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/red_concrete_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/red_concrete_stairs_outer.json new file mode 100644 index 00000000..28a1233f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/red_concrete_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/red_concrete", + "side": "tfmg:block/red_concrete", + "top": "tfmg:block/red_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/red_concrete_top.json b/src/generated/resources/assets/tfmg/models/block/red_concrete_top.json new file mode 100644 index 00000000..543d0fff --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/red_concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/red_concrete", + "side": "tfmg:block/red_concrete", + "top": "tfmg:block/red_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/red_concrete_wall_post.json b/src/generated/resources/assets/tfmg/models/block/red_concrete_wall_post.json new file mode 100644 index 00000000..6965aa4c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/red_concrete_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/red_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/red_concrete_wall_side.json b/src/generated/resources/assets/tfmg/models/block/red_concrete_wall_side.json new file mode 100644 index 00000000..7aa08d99 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/red_concrete_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/red_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/red_concrete_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/red_concrete_wall_side_tall.json new file mode 100644 index 00000000..f3636ed7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/red_concrete_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/red_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/red_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/block/red_rebar_concrete.json new file mode 100644 index 00000000..081ad945 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/red_rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/red_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/reinforced_fireproof_bricks.json b/src/generated/resources/assets/tfmg/models/block/reinforced_fireproof_bricks.json new file mode 100644 index 00000000..3879b13b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/reinforced_fireproof_bricks.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/fireproof_bricks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/rusted_blast_furnace_reinforcement.json b/src/generated/resources/assets/tfmg/models/block/rusted_blast_furnace_reinforcement.json new file mode 100644 index 00000000..9ed015be --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/rusted_blast_furnace_reinforcement.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/rusted_blast_furnace_reinforcement" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/slag_block.json b/src/generated/resources/assets/tfmg/models/block/slag_block.json new file mode 100644 index 00000000..c6a4af00 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/slag_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/slag_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/slag_bricks.json b/src/generated/resources/assets/tfmg/models/block/slag_bricks.json new file mode 100644 index 00000000..9eb6a30f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/slag_bricks.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/slag_bricks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/small_bauxite_brick_slab.json b/src/generated/resources/assets/tfmg/models/block/small_bauxite_brick_slab.json new file mode 100644 index 00000000..ac603c5d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/small_bauxite_brick_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick", + "side": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick", + "top": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/small_bauxite_brick_slab_top.json b/src/generated/resources/assets/tfmg/models/block/small_bauxite_brick_slab_top.json new file mode 100644 index 00000000..269db9d9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/small_bauxite_brick_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick", + "side": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick", + "top": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/small_bauxite_brick_stairs.json b/src/generated/resources/assets/tfmg/models/block/small_bauxite_brick_stairs.json new file mode 100644 index 00000000..bfe55e74 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/small_bauxite_brick_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick", + "side": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick", + "top": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/small_bauxite_brick_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/small_bauxite_brick_stairs_inner.json new file mode 100644 index 00000000..60244142 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/small_bauxite_brick_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick", + "side": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick", + "top": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/small_bauxite_brick_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/small_bauxite_brick_stairs_outer.json new file mode 100644 index 00000000..a89d760b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/small_bauxite_brick_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick", + "side": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick", + "top": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/small_bauxite_bricks.json b/src/generated/resources/assets/tfmg/models/block/small_bauxite_bricks.json new file mode 100644 index 00000000..be636731 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/small_bauxite_bricks.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/small_bauxite_bricks_wall_post.json b/src/generated/resources/assets/tfmg/models/block/small_bauxite_bricks_wall_post.json new file mode 100644 index 00000000..d75c0667 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/small_bauxite_bricks_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/small_bauxite_bricks_wall_side.json b/src/generated/resources/assets/tfmg/models/block/small_bauxite_bricks_wall_side.json new file mode 100644 index 00000000..6f3b6edf --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/small_bauxite_bricks_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/small_bauxite_bricks_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/small_bauxite_bricks_wall_side_tall.json new file mode 100644 index 00000000..936f1958 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/small_bauxite_bricks_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/small_galena_brick_slab.json b/src/generated/resources/assets/tfmg/models/block/small_galena_brick_slab.json new file mode 100644 index 00000000..2f6c2fcb --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/small_galena_brick_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick", + "side": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick", + "top": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/small_galena_brick_slab_top.json b/src/generated/resources/assets/tfmg/models/block/small_galena_brick_slab_top.json new file mode 100644 index 00000000..0e366c44 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/small_galena_brick_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick", + "side": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick", + "top": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/small_galena_brick_stairs.json b/src/generated/resources/assets/tfmg/models/block/small_galena_brick_stairs.json new file mode 100644 index 00000000..f6748ee4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/small_galena_brick_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick", + "side": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick", + "top": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/small_galena_brick_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/small_galena_brick_stairs_inner.json new file mode 100644 index 00000000..66e5eec1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/small_galena_brick_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick", + "side": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick", + "top": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/small_galena_brick_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/small_galena_brick_stairs_outer.json new file mode 100644 index 00000000..6fb18941 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/small_galena_brick_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick", + "side": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick", + "top": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/small_galena_bricks.json b/src/generated/resources/assets/tfmg/models/block/small_galena_bricks.json new file mode 100644 index 00000000..a05cb088 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/small_galena_bricks.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/small_galena_bricks_wall_post.json b/src/generated/resources/assets/tfmg/models/block/small_galena_bricks_wall_post.json new file mode 100644 index 00000000..17127420 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/small_galena_bricks_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/small_galena_bricks_wall_side.json b/src/generated/resources/assets/tfmg/models/block/small_galena_bricks_wall_side.json new file mode 100644 index 00000000..fe12fb09 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/small_galena_bricks_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/small_galena_bricks_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/small_galena_bricks_wall_side_tall.json new file mode 100644 index 00000000..a0938428 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/small_galena_bricks_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_block.json b/src/generated/resources/assets/tfmg/models/block/steel_block.json new file mode 100644 index 00000000..f6c7c1b3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/steel_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_cable_hub.json b/src/generated/resources/assets/tfmg/models/block/steel_cable_hub.json new file mode 100644 index 00000000..8eb0e830 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_cable_hub.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/steel_cable_hub" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_cap.json b/src/generated/resources/assets/tfmg/models/block/steel_cap.json new file mode 100644 index 00000000..0bcbe922 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_cap.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/cap", + "textures": { + "bars": "tfmg:block/bars/steel_bars", + "edge": "tfmg:block/bars/steel_bars_edge", + "particle": "tfmg:block/bars/steel_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_cap_alt.json b/src/generated/resources/assets/tfmg/models/block/steel_cap_alt.json new file mode 100644 index 00000000..c7c3aae5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_cap_alt.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/cap_alt", + "textures": { + "bars": "tfmg:block/bars/steel_bars", + "edge": "tfmg:block/bars/steel_bars_edge", + "particle": "tfmg:block/bars/steel_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_casing.json b/src/generated/resources/assets/tfmg/models/block/steel_casing.json new file mode 100644 index 00000000..fd90632b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_casing.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/steel_casing" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_casing_cable_hub.json b/src/generated/resources/assets/tfmg/models/block/steel_casing_cable_hub.json new file mode 100644 index 00000000..1734920a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_casing_cable_hub.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/steel_casing_cable_hub" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_encased_aluminum_cogwheel.json b/src/generated/resources/assets/tfmg/models/block/steel_encased_aluminum_cogwheel.json new file mode 100644 index 00000000..bd6c0ad0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_encased_aluminum_cogwheel.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_cogwheel/block", + "textures": { + "1": "tfmg:block/steel_casing", + "4": "tfmg:block/steel_gearbox", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_encased_aluminum_cogwheel_bottom.json b/src/generated/resources/assets/tfmg/models/block/steel_encased_aluminum_cogwheel_bottom.json new file mode 100644 index 00000000..01b81768 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_encased_aluminum_cogwheel_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_cogwheel/block_bottom", + "textures": { + "1": "tfmg:block/steel_casing", + "4": "tfmg:block/steel_gearbox", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_encased_aluminum_cogwheel_top.json b/src/generated/resources/assets/tfmg/models/block/steel_encased_aluminum_cogwheel_top.json new file mode 100644 index 00000000..69f3723e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_encased_aluminum_cogwheel_top.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_cogwheel/block_top", + "textures": { + "1": "tfmg:block/steel_casing", + "4": "tfmg:block/steel_gearbox", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_encased_aluminum_cogwheel_top_bottom.json b/src/generated/resources/assets/tfmg/models/block/steel_encased_aluminum_cogwheel_top_bottom.json new file mode 100644 index 00000000..d44d1534 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_encased_aluminum_cogwheel_top_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_cogwheel/block_top_bottom", + "textures": { + "1": "tfmg:block/steel_casing", + "4": "tfmg:block/steel_gearbox", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_encased_large_aluminum_cogwheel.json b/src/generated/resources/assets/tfmg/models/block/steel_encased_large_aluminum_cogwheel.json new file mode 100644 index 00000000..fb5f7cb2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_encased_large_aluminum_cogwheel.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/block", + "textures": { + "1": "tfmg:block/steel_casing", + "4": "tfmg:block/steel_gearbox", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_encased_large_aluminum_cogwheel_bottom.json b/src/generated/resources/assets/tfmg/models/block/steel_encased_large_aluminum_cogwheel_bottom.json new file mode 100644 index 00000000..ca56f7a9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_encased_large_aluminum_cogwheel_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/block_bottom", + "textures": { + "1": "tfmg:block/steel_casing", + "4": "tfmg:block/steel_gearbox", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_encased_large_aluminum_cogwheel_top.json b/src/generated/resources/assets/tfmg/models/block/steel_encased_large_aluminum_cogwheel_top.json new file mode 100644 index 00000000..418f97c7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_encased_large_aluminum_cogwheel_top.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/block_top", + "textures": { + "1": "tfmg:block/steel_casing", + "4": "tfmg:block/steel_gearbox", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_encased_large_aluminum_cogwheel_top_bottom.json b/src/generated/resources/assets/tfmg/models/block/steel_encased_large_aluminum_cogwheel_top_bottom.json new file mode 100644 index 00000000..bd8a3c9f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_encased_large_aluminum_cogwheel_top_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/block_top_bottom", + "textures": { + "1": "tfmg:block/steel_casing", + "4": "tfmg:block/steel_gearbox", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_encased_large_steel_cogwheel.json b/src/generated/resources/assets/tfmg/models/block/steel_encased_large_steel_cogwheel.json new file mode 100644 index 00000000..fb5f7cb2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_encased_large_steel_cogwheel.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/block", + "textures": { + "1": "tfmg:block/steel_casing", + "4": "tfmg:block/steel_gearbox", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_encased_large_steel_cogwheel_bottom.json b/src/generated/resources/assets/tfmg/models/block/steel_encased_large_steel_cogwheel_bottom.json new file mode 100644 index 00000000..ca56f7a9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_encased_large_steel_cogwheel_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/block_bottom", + "textures": { + "1": "tfmg:block/steel_casing", + "4": "tfmg:block/steel_gearbox", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_encased_large_steel_cogwheel_top.json b/src/generated/resources/assets/tfmg/models/block/steel_encased_large_steel_cogwheel_top.json new file mode 100644 index 00000000..418f97c7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_encased_large_steel_cogwheel_top.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/block_top", + "textures": { + "1": "tfmg:block/steel_casing", + "4": "tfmg:block/steel_gearbox", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_encased_large_steel_cogwheel_top_bottom.json b/src/generated/resources/assets/tfmg/models/block/steel_encased_large_steel_cogwheel_top_bottom.json new file mode 100644 index 00000000..bd8a3c9f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_encased_large_steel_cogwheel_top_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/block_top_bottom", + "textures": { + "1": "tfmg:block/steel_casing", + "4": "tfmg:block/steel_gearbox", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_encased_steel_cogwheel.json b/src/generated/resources/assets/tfmg/models/block/steel_encased_steel_cogwheel.json new file mode 100644 index 00000000..bd6c0ad0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_encased_steel_cogwheel.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_cogwheel/block", + "textures": { + "1": "tfmg:block/steel_casing", + "4": "tfmg:block/steel_gearbox", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_encased_steel_cogwheel_bottom.json b/src/generated/resources/assets/tfmg/models/block/steel_encased_steel_cogwheel_bottom.json new file mode 100644 index 00000000..01b81768 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_encased_steel_cogwheel_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_cogwheel/block_bottom", + "textures": { + "1": "tfmg:block/steel_casing", + "4": "tfmg:block/steel_gearbox", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_encased_steel_cogwheel_top.json b/src/generated/resources/assets/tfmg/models/block/steel_encased_steel_cogwheel_top.json new file mode 100644 index 00000000..69f3723e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_encased_steel_cogwheel_top.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_cogwheel/block_top", + "textures": { + "1": "tfmg:block/steel_casing", + "4": "tfmg:block/steel_gearbox", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_encased_steel_cogwheel_top_bottom.json b/src/generated/resources/assets/tfmg/models/block/steel_encased_steel_cogwheel_top_bottom.json new file mode 100644 index 00000000..d44d1534 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_encased_steel_cogwheel_top_bottom.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/encased_cogwheel/block_top_bottom", + "textures": { + "1": "tfmg:block/steel_casing", + "4": "tfmg:block/steel_gearbox", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_ladder.json b/src/generated/resources/assets/tfmg/models/block/steel_ladder.json new file mode 100644 index 00000000..68af6e7e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_ladder.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/ladder", + "textures": { + "0": "tfmg:block/ladder_steel_hoop", + "1": "tfmg:block/ladder_steel", + "particle": "tfmg:block/ladder_steel" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/d_x.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/d_x.json new file mode 100644 index 00000000..e70a51de --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/d_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 0.0, + 0.0, + 4.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 0.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/d_y.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/d_y.json new file mode 100644 index 00000000..79254d06 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/d_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 0.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/d_z.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/d_z.json new file mode 100644 index 00000000..7649c962 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/d_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 0.0, + 0.0, + 4.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 0.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/l_x.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/l_x.json new file mode 100644 index 00000000..9ef1acaa --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/l_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 8.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 4.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/l_y.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/l_y.json new file mode 100644 index 00000000..60f9672c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/l_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 4.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/l_z.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/l_z.json new file mode 100644 index 00000000..4209dcd8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/l_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 4.0, + 0.0, + 8.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 4.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/ld_x.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/ld_x.json new file mode 100644 index 00000000..102984af --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/ld_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 16.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 16.0, + 0.0, + 12.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/ld_y.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/ld_y.json new file mode 100644 index 00000000..8f4a73e8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/ld_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 16.0, + 0.0, + 12.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 16.0, + 4.0, + 12.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/ld_z.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/ld_z.json new file mode 100644 index 00000000..d28fc2e8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/ld_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 16.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 16.0, + 0.0, + 12.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/lr_x.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/lr_x.json new file mode 100644 index 00000000..df57ae6b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/lr_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 8.0, + 12.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/lr_y.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/lr_y.json new file mode 100644 index 00000000..8aa7dadc --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/lr_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 12.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 8.0, + 12.0, + 4.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/lr_z.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/lr_z.json new file mode 100644 index 00000000..d5f321ac --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/lr_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 8.0, + 12.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/lu_x.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/lu_x.json new file mode 100644 index 00000000..5bbe6940 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/lu_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 16.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 16.0, + 4.0, + 12.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/lu_y.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/lu_y.json new file mode 100644 index 00000000..0bed187d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/lu_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 16.0, + 4.0, + 12.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 16.0, + 8.0, + 12.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/lu_z.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/lu_z.json new file mode 100644 index 00000000..555177a5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/lu_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 16.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 16.0, + 4.0, + 12.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/r_x.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/r_x.json new file mode 100644 index 00000000..c1c2541f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/r_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 0.0, + 4.0, + 4.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/r_y.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/r_y.json new file mode 100644 index 00000000..c33f59e2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/r_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/r_z.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/r_z.json new file mode 100644 index 00000000..cd5f123a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/r_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 0.0, + 4.0, + 4.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 0.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/rd_x.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/rd_x.json new file mode 100644 index 00000000..ec78102c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/rd_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 12.0, + 4.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 8.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/rd_y.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/rd_y.json new file mode 100644 index 00000000..291bf140 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/rd_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 8.0, + 4.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 0.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/rd_z.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/rd_z.json new file mode 100644 index 00000000..a23dcc4a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/rd_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 8.0, + 0.0, + 12.0, + 4.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 12.0, + 0.0, + 8.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/ru_x.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/ru_x.json new file mode 100644 index 00000000..24260f4a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/ru_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 12.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/ru_y.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/ru_y.json new file mode 100644 index 00000000..b545e76f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/ru_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 12.0, + 8.0, + 8.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/ru_z.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/ru_z.json new file mode 100644 index 00000000..9e96bd4d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/ru_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 12.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 12.0, + 4.0, + 8.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/u_x.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/u_x.json new file mode 100644 index 00000000..c6429090 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/u_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 8.0, + 8.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/u_y.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/u_y.json new file mode 100644 index 00000000..202ecacd --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/u_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 8.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 8.0, + 8.0, + 4.0, + 4.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/u_z.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/u_z.json new file mode 100644 index 00000000..d6f65cb7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/u_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 4.0, + 4.0, + 8.0, + 8.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 8.0, + 4.0, + 4.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/ud_x.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/ud_x.json new file mode 100644 index 00000000..1d6b8bad --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/ud_x.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_x", + "elements": [ + { + "faces": { + "east": { + "texture": "#0", + "uv": [ + 0.0, + 8.0, + 4.0, + 12.0 + ] + }, + "west": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/ud_y.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/ud_y.json new file mode 100644 index 00000000..531428d6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/ud_y.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_y", + "elements": [ + { + "faces": { + "down": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + }, + "up": { + "texture": "#0", + "uv": [ + 4.0, + 12.0, + 0.0, + 8.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_pipe/ud_z.json b/src/generated/resources/assets/tfmg/models/block/steel_pipe/ud_z.json new file mode 100644 index 00000000..7d922c4d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_pipe/ud_z.json @@ -0,0 +1,37 @@ +{ + "parent": "tfmg:block/steel_pipe/core_z", + "elements": [ + { + "faces": { + "north": { + "texture": "#0", + "uv": [ + 0.0, + 8.0, + 4.0, + 12.0 + ] + }, + "south": { + "texture": "#0", + "uv": [ + 4.0, + 8.0, + 0.0, + 12.0 + ] + } + }, + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_post.json b/src/generated/resources/assets/tfmg/models/block/steel_post.json new file mode 100644 index 00000000..d8938b14 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_post.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/post", + "textures": { + "bars": "tfmg:block/bars/steel_bars", + "edge": "tfmg:block/bars/steel_bars_edge", + "particle": "tfmg:block/bars/steel_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_post_ends.json b/src/generated/resources/assets/tfmg/models/block/steel_post_ends.json new file mode 100644 index 00000000..5fa100c6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_post_ends.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/post_ends", + "textures": { + "bars": "tfmg:block/bars/steel_bars", + "edge": "tfmg:block/bars/steel_bars_edge", + "particle": "tfmg:block/bars/steel_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_scaffolding.json b/src/generated/resources/assets/tfmg/models/block/steel_scaffolding.json new file mode 100644 index 00000000..4890ed09 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_scaffolding.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/scaffold/block", + "textures": { + "casing": "tfmg:block/steel_casing", + "inside": "tfmg:block/scaffold/steel_scaffold_inside", + "particle": "tfmg:block/scaffold/steel_scaffold", + "side": "tfmg:block/scaffold/steel_scaffold", + "top": "tfmg:block/funnel/steel_funnel_frame" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_scaffolding_horizontal.json b/src/generated/resources/assets/tfmg/models/block/steel_scaffolding_horizontal.json new file mode 100644 index 00000000..c5096bdd --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_scaffolding_horizontal.json @@ -0,0 +1,10 @@ +{ + "parent": "tfmg:block/scaffold/block_horizontal", + "textures": { + "casing": "tfmg:block/steel_casing", + "inside": "tfmg:block/scaffold/steel_scaffold_inside", + "particle": "tfmg:block/scaffold/steel_scaffold", + "side": "tfmg:block/scaffold/steel_scaffold", + "top": "tfmg:block/funnel/steel_funnel_frame" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_side.json b/src/generated/resources/assets/tfmg/models/block/steel_side.json new file mode 100644 index 00000000..85947209 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_side.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/side", + "textures": { + "bars": "tfmg:block/bars/steel_bars", + "edge": "tfmg:block/bars/steel_bars_edge", + "particle": "tfmg:block/bars/steel_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/steel_side_alt.json b/src/generated/resources/assets/tfmg/models/block/steel_side_alt.json new file mode 100644 index 00000000..462b925f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/steel_side_alt.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/bars/side_alt", + "textures": { + "bars": "tfmg:block/bars/steel_bars", + "edge": "tfmg:block/bars/steel_bars_edge", + "particle": "tfmg:block/bars/steel_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/sulfur.json b/src/generated/resources/assets/tfmg/models/block/sulfur.json new file mode 100644 index 00000000..4434d579 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/sulfur.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/sulfur" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/sulfuric_acid.json b/src/generated/resources/assets/tfmg/models/block/sulfuric_acid.json new file mode 100644 index 00000000..1c9bdf6e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/sulfuric_acid.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "tfmg:fluid/sulfuric_acid_still" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/white_caution_block.json b/src/generated/resources/assets/tfmg/models/block/white_caution_block.json new file mode 100644 index 00000000..05fb00ed --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/white_caution_block.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/caution_block", + "textures": { + "0": "tfmg:block/caution_block/white", + "particle": "tfmg:block/caution_block/white" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/white_concrete.json b/src/generated/resources/assets/tfmg/models/block/white_concrete.json new file mode 100644 index 00000000..ffa7bcf2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/white_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/white_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/white_concrete_bottom.json b/src/generated/resources/assets/tfmg/models/block/white_concrete_bottom.json new file mode 100644 index 00000000..fc171ab4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/white_concrete_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/white_concrete", + "side": "tfmg:block/white_concrete", + "top": "tfmg:block/white_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/white_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/block/white_concrete_stairs.json new file mode 100644 index 00000000..bc396763 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/white_concrete_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/white_concrete", + "side": "tfmg:block/white_concrete", + "top": "tfmg:block/white_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/white_concrete_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/white_concrete_stairs_inner.json new file mode 100644 index 00000000..2672deb0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/white_concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/white_concrete", + "side": "tfmg:block/white_concrete", + "top": "tfmg:block/white_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/white_concrete_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/white_concrete_stairs_outer.json new file mode 100644 index 00000000..b42f3a75 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/white_concrete_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/white_concrete", + "side": "tfmg:block/white_concrete", + "top": "tfmg:block/white_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/white_concrete_top.json b/src/generated/resources/assets/tfmg/models/block/white_concrete_top.json new file mode 100644 index 00000000..649a5919 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/white_concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/white_concrete", + "side": "tfmg:block/white_concrete", + "top": "tfmg:block/white_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/white_concrete_wall_post.json b/src/generated/resources/assets/tfmg/models/block/white_concrete_wall_post.json new file mode 100644 index 00000000..97a03b8c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/white_concrete_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/white_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/white_concrete_wall_side.json b/src/generated/resources/assets/tfmg/models/block/white_concrete_wall_side.json new file mode 100644 index 00000000..b95ce2f7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/white_concrete_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/white_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/white_concrete_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/white_concrete_wall_side_tall.json new file mode 100644 index 00000000..e4890b95 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/white_concrete_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/white_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/white_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/block/white_rebar_concrete.json new file mode 100644 index 00000000..ffa7bcf2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/white_rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/white_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/yellow_caution_block.json b/src/generated/resources/assets/tfmg/models/block/yellow_caution_block.json new file mode 100644 index 00000000..d95c623c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/yellow_caution_block.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/caution_block", + "textures": { + "0": "tfmg:block/caution_block/yellow", + "particle": "tfmg:block/caution_block/yellow" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/yellow_concrete.json b/src/generated/resources/assets/tfmg/models/block/yellow_concrete.json new file mode 100644 index 00000000..57c26a39 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/yellow_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/yellow_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/yellow_concrete_bottom.json b/src/generated/resources/assets/tfmg/models/block/yellow_concrete_bottom.json new file mode 100644 index 00000000..c5172069 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/yellow_concrete_bottom.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "tfmg:block/yellow_concrete", + "side": "tfmg:block/yellow_concrete", + "top": "tfmg:block/yellow_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/yellow_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/block/yellow_concrete_stairs.json new file mode 100644 index 00000000..c5acde0c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/yellow_concrete_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "tfmg:block/yellow_concrete", + "side": "tfmg:block/yellow_concrete", + "top": "tfmg:block/yellow_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/yellow_concrete_stairs_inner.json b/src/generated/resources/assets/tfmg/models/block/yellow_concrete_stairs_inner.json new file mode 100644 index 00000000..38d8d8d7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/yellow_concrete_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "tfmg:block/yellow_concrete", + "side": "tfmg:block/yellow_concrete", + "top": "tfmg:block/yellow_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/yellow_concrete_stairs_outer.json b/src/generated/resources/assets/tfmg/models/block/yellow_concrete_stairs_outer.json new file mode 100644 index 00000000..b576b14e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/yellow_concrete_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "tfmg:block/yellow_concrete", + "side": "tfmg:block/yellow_concrete", + "top": "tfmg:block/yellow_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/yellow_concrete_top.json b/src/generated/resources/assets/tfmg/models/block/yellow_concrete_top.json new file mode 100644 index 00000000..48df4a3a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/yellow_concrete_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "tfmg:block/yellow_concrete", + "side": "tfmg:block/yellow_concrete", + "top": "tfmg:block/yellow_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/yellow_concrete_wall_post.json b/src/generated/resources/assets/tfmg/models/block/yellow_concrete_wall_post.json new file mode 100644 index 00000000..987197d7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/yellow_concrete_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "tfmg:block/yellow_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/yellow_concrete_wall_side.json b/src/generated/resources/assets/tfmg/models/block/yellow_concrete_wall_side.json new file mode 100644 index 00000000..40e34fca --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/yellow_concrete_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "tfmg:block/yellow_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/yellow_concrete_wall_side_tall.json b/src/generated/resources/assets/tfmg/models/block/yellow_concrete_wall_side_tall.json new file mode 100644 index 00000000..10e9b02b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/yellow_concrete_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "tfmg:block/yellow_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/block/yellow_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/block/yellow_rebar_concrete.json new file mode 100644 index 00000000..57c26a39 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/block/yellow_rebar_concrete.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/yellow_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/accumulator.json b/src/generated/resources/assets/tfmg/models/item/accumulator.json new file mode 100644 index 00000000..17a30b22 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/accumulator.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/accumulator" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/advanced_potato_cannon.json b/src/generated/resources/assets/tfmg/models/item/advanced_potato_cannon.json new file mode 100644 index 00000000..fcc3d81f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/advanced_potato_cannon.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:item/advanced_potato_cannon/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/air_bucket.json b/src/generated/resources/assets/tfmg/models/item/air_bucket.json new file mode 100644 index 00000000..e67d92e7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/air_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/air_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/air_intake.json b/src/generated/resources/assets/tfmg/models/item/air_intake.json new file mode 100644 index 00000000..2564c3cf --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/air_intake.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/air_intake/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_axe.json b/src/generated/resources/assets/tfmg/models/item/aluminum_axe.json new file mode 100644 index 00000000..7d2d19e3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/aluminum_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_bars.json b/src/generated/resources/assets/tfmg/models/item/aluminum_bars.json new file mode 100644 index 00000000..8236a710 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_bars.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:item/bars", + "textures": { + "bars": "tfmg:block/bars/aluminum_bars", + "edge": "tfmg:block/bars/aluminum_bars_edge" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_block.json b/src/generated/resources/assets/tfmg/models/item/aluminum_block.json new file mode 100644 index 00000000..9bb82c17 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/aluminum_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_cable_hub.json b/src/generated/resources/assets/tfmg/models/item/aluminum_cable_hub.json new file mode 100644 index 00000000..06e02234 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_cable_hub.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/aluminum_cable_hub" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_cogwheel.json b/src/generated/resources/assets/tfmg/models/item/aluminum_cogwheel.json new file mode 100644 index 00000000..0bebbc65 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_cogwheel.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/aluminum_cogwheel" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_door.json b/src/generated/resources/assets/tfmg/models/item/aluminum_door.json new file mode 100644 index 00000000..536430a5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_door.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/aluminum_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_fluid_tank.json b/src/generated/resources/assets/tfmg/models/item/aluminum_fluid_tank.json new file mode 100644 index 00000000..61135f93 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_fluid_tank.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/aluminum_fluid_tank/block_single_window" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_flywheel.json b/src/generated/resources/assets/tfmg/models/item/aluminum_flywheel.json new file mode 100644 index 00000000..4d483989 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_flywheel.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/aluminum_flywheel/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_frame.json b/src/generated/resources/assets/tfmg/models/item/aluminum_frame.json new file mode 100644 index 00000000..52501d31 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_frame.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/aluminum_frame/block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_hoe.json b/src/generated/resources/assets/tfmg/models/item/aluminum_hoe.json new file mode 100644 index 00000000..bbe45e87 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_hoe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/aluminum_hoe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_ingot.json b/src/generated/resources/assets/tfmg/models/item/aluminum_ingot.json new file mode 100644 index 00000000..583c3a64 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/aluminum_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_ladder.json b/src/generated/resources/assets/tfmg/models/item/aluminum_ladder.json new file mode 100644 index 00000000..a3b61cf4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_ladder.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:block/ladder_aluminum" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_lamp.json b/src/generated/resources/assets/tfmg/models/item/aluminum_lamp.json new file mode 100644 index 00000000..61831ff5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_lamp.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/aluminum_lamp/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_mechanical_pump.json b/src/generated/resources/assets/tfmg/models/item/aluminum_mechanical_pump.json new file mode 100644 index 00000000..d8633bd0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_mechanical_pump.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/aluminum_mechanical_pump/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_nugget.json b/src/generated/resources/assets/tfmg/models/item/aluminum_nugget.json new file mode 100644 index 00000000..a77910b6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_nugget.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/aluminum_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_pickaxe.json b/src/generated/resources/assets/tfmg/models/item/aluminum_pickaxe.json new file mode 100644 index 00000000..18355649 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/aluminum_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_pipe.json b/src/generated/resources/assets/tfmg/models/item/aluminum_pipe.json new file mode 100644 index 00000000..fc1258b4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_pipe.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/aluminum_pipe/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_scaffolding.json b/src/generated/resources/assets/tfmg/models/item/aluminum_scaffolding.json new file mode 100644 index 00000000..f2dce161 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_scaffolding.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/aluminum_scaffolding" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_sheet.json b/src/generated/resources/assets/tfmg/models/item/aluminum_sheet.json new file mode 100644 index 00000000..8f7bf606 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_sheet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/aluminum_sheet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_shovel.json b/src/generated/resources/assets/tfmg/models/item/aluminum_shovel.json new file mode 100644 index 00000000..7bc634d3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_shovel.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/aluminum_shovel" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_smart_fluid_pipe.json b/src/generated/resources/assets/tfmg/models/item/aluminum_smart_fluid_pipe.json new file mode 100644 index 00000000..1a90cf15 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_smart_fluid_pipe.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/aluminum_smart_fluid_pipe/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_spool.json b/src/generated/resources/assets/tfmg/models/item/aluminum_spool.json new file mode 100644 index 00000000..0055194a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_spool.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/aluminum_spool" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_sword.json b/src/generated/resources/assets/tfmg/models/item/aluminum_sword.json new file mode 100644 index 00000000..9c4f2243 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/aluminum_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_truss.json b/src/generated/resources/assets/tfmg/models/item/aluminum_truss.json new file mode 100644 index 00000000..a29eb8dc --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_truss.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/aluminum_truss" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_wire.json b/src/generated/resources/assets/tfmg/models/item/aluminum_wire.json new file mode 100644 index 00000000..f295b219 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_wire.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/aluminum_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/asphalt.json b/src/generated/resources/assets/tfmg/models/item/asphalt.json new file mode 100644 index 00000000..8b4ea196 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/asphalt.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/asphalt" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/asphalt_mixture.json b/src/generated/resources/assets/tfmg/models/item/asphalt_mixture.json new file mode 100644 index 00000000..38a5977c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/asphalt_mixture.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/asphalt_mixture" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/asphalt_slab.json b/src/generated/resources/assets/tfmg/models/item/asphalt_slab.json new file mode 100644 index 00000000..b7c37180 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/asphalt_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/asphalt_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/asphalt_stairs.json b/src/generated/resources/assets/tfmg/models/item/asphalt_stairs.json new file mode 100644 index 00000000..27d5aa26 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/asphalt_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/asphalt_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/asphalt_wall.json b/src/generated/resources/assets/tfmg/models/item/asphalt_wall.json new file mode 100644 index 00000000..d69ca47c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/asphalt_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/asphalt" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/bauxite.json b/src/generated/resources/assets/tfmg/models/item/bauxite.json new file mode 100644 index 00000000..07fd63cc --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/bauxite.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/palettes/stone_types/natural/bauxite_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/bauxite_pillar.json b/src/generated/resources/assets/tfmg/models/item/bauxite_pillar.json new file mode 100644 index 00000000..a22119c1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/bauxite_pillar.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/bauxite_pillar" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/bauxite_powder.json b/src/generated/resources/assets/tfmg/models/item/bauxite_powder.json new file mode 100644 index 00000000..8ca70a3e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/bauxite_powder.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/bauxite_powder" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/bitumen.json b/src/generated/resources/assets/tfmg/models/item/bitumen.json new file mode 100644 index 00000000..1746fc4e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/bitumen.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/bitumen" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/black_concrete.json b/src/generated/resources/assets/tfmg/models/item/black_concrete.json new file mode 100644 index 00000000..65716848 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/black_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/black_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/black_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/black_concrete_slab.json new file mode 100644 index 00000000..60a74147 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/black_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/black_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/black_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/black_concrete_stairs.json new file mode 100644 index 00000000..1210e894 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/black_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/black_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/black_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/black_concrete_wall.json new file mode 100644 index 00000000..7dbbd03f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/black_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/black_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/black_multimeter.json b/src/generated/resources/assets/tfmg/models/item/black_multimeter.json new file mode 100644 index 00000000..b7c0c73c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/black_multimeter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/black_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/black_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/item/black_rebar_concrete.json new file mode 100644 index 00000000..01d08fa1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/black_rebar_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/black_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/black_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/black_rebar_concrete_slab.json new file mode 100644 index 00000000..60a74147 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/black_rebar_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/black_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/black_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/black_rebar_concrete_stairs.json new file mode 100644 index 00000000..1210e894 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/black_rebar_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/black_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/black_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/black_rebar_concrete_wall.json new file mode 100644 index 00000000..7dbbd03f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/black_rebar_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/black_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/blast_furnace_hatch.json b/src/generated/resources/assets/tfmg/models/item/blast_furnace_hatch.json new file mode 100644 index 00000000..1e1bbd05 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/blast_furnace_hatch.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/blast_furnace_hatch" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/blast_furnace_output.json b/src/generated/resources/assets/tfmg/models/item/blast_furnace_output.json new file mode 100644 index 00000000..61c68ab2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/blast_furnace_output.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/blast_furnace_output/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/blast_furnace_reinforcement.json b/src/generated/resources/assets/tfmg/models/item/blast_furnace_reinforcement.json new file mode 100644 index 00000000..ff3ac0fe --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/blast_furnace_reinforcement.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/blast_furnace_reinforcement" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/blast_stove.json b/src/generated/resources/assets/tfmg/models/item/blast_stove.json new file mode 100644 index 00000000..3ddb73c7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/blast_stove.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/blast_stove/block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/blue_caution_block.json b/src/generated/resources/assets/tfmg/models/item/blue_caution_block.json new file mode 100644 index 00000000..ded6c140 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/blue_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/blue_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/blue_concrete.json b/src/generated/resources/assets/tfmg/models/item/blue_concrete.json new file mode 100644 index 00000000..676104d6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/blue_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/blue_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/blue_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/blue_concrete_slab.json new file mode 100644 index 00000000..432cb70d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/blue_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/blue_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/blue_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/blue_concrete_stairs.json new file mode 100644 index 00000000..cb5cc10c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/blue_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/blue_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/blue_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/blue_concrete_wall.json new file mode 100644 index 00000000..799e622f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/blue_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/blue_multimeter.json b/src/generated/resources/assets/tfmg/models/item/blue_multimeter.json new file mode 100644 index 00000000..9b57e2c6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/blue_multimeter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/blue_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/blue_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/item/blue_rebar_concrete.json new file mode 100644 index 00000000..88abfb36 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/blue_rebar_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/blue_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/blue_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/blue_rebar_concrete_slab.json new file mode 100644 index 00000000..432cb70d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/blue_rebar_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/blue_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/blue_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/blue_rebar_concrete_stairs.json new file mode 100644 index 00000000..cb5cc10c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/blue_rebar_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/blue_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/blue_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/blue_rebar_concrete_wall.json new file mode 100644 index 00000000..799e622f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/blue_rebar_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/brass_cable_hub.json b/src/generated/resources/assets/tfmg/models/item/brass_cable_hub.json new file mode 100644 index 00000000..0f2f8c70 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/brass_cable_hub.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/brass_cable_hub" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/brass_frame.json b/src/generated/resources/assets/tfmg/models/item/brass_frame.json new file mode 100644 index 00000000..2d83afed --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/brass_frame.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/brass_frame/block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/brass_mechanical_pump.json b/src/generated/resources/assets/tfmg/models/item/brass_mechanical_pump.json new file mode 100644 index 00000000..1e38af40 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/brass_mechanical_pump.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/brass_mechanical_pump/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/brass_pipe.json b/src/generated/resources/assets/tfmg/models/item/brass_pipe.json new file mode 100644 index 00000000..cd1f7150 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/brass_pipe.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/brass_pipe/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/brass_smart_fluid_pipe.json b/src/generated/resources/assets/tfmg/models/item/brass_smart_fluid_pipe.json new file mode 100644 index 00000000..573c5dc9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/brass_smart_fluid_pipe.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/brass_smart_fluid_pipe/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/brass_truss.json b/src/generated/resources/assets/tfmg/models/item/brass_truss.json new file mode 100644 index 00000000..e1e22eaf --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/brass_truss.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/brass_truss" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/brick_smokestack.json b/src/generated/resources/assets/tfmg/models/item/brick_smokestack.json new file mode 100644 index 00000000..84260804 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/brick_smokestack.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/brick_smokestack/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/brown_caution_block.json b/src/generated/resources/assets/tfmg/models/item/brown_caution_block.json new file mode 100644 index 00000000..1bc4d4d0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/brown_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/brown_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/brown_concrete.json b/src/generated/resources/assets/tfmg/models/item/brown_concrete.json new file mode 100644 index 00000000..dfc2c988 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/brown_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/brown_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/brown_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/brown_concrete_slab.json new file mode 100644 index 00000000..d6c4d75f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/brown_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/brown_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/brown_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/brown_concrete_stairs.json new file mode 100644 index 00000000..20074c95 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/brown_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/brown_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/brown_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/brown_concrete_wall.json new file mode 100644 index 00000000..7e8f2e14 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/brown_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/brown_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/brown_multimeter.json b/src/generated/resources/assets/tfmg/models/item/brown_multimeter.json new file mode 100644 index 00000000..13c05402 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/brown_multimeter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/brown_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/brown_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/item/brown_rebar_concrete.json new file mode 100644 index 00000000..cb0af203 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/brown_rebar_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/brown_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/brown_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/brown_rebar_concrete_slab.json new file mode 100644 index 00000000..d6c4d75f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/brown_rebar_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/brown_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/brown_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/brown_rebar_concrete_stairs.json new file mode 100644 index 00000000..20074c95 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/brown_rebar_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/brown_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/brown_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/brown_rebar_concrete_wall.json new file mode 100644 index 00000000..7e8f2e14 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/brown_rebar_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/brown_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/butane_bucket.json b/src/generated/resources/assets/tfmg/models/item/butane_bucket.json new file mode 100644 index 00000000..56b5add0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/butane_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/butane_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cable_connector.json b/src/generated/resources/assets/tfmg/models/item/cable_connector.json new file mode 100644 index 00000000..cef22b2b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cable_connector.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cable_connector/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cable_tube.json b/src/generated/resources/assets/tfmg/models/item/cable_tube.json new file mode 100644 index 00000000..3565f52d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cable_tube.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cable_tube" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/capacitor_item.json b/src/generated/resources/assets/tfmg/models/item/capacitor_item.json new file mode 100644 index 00000000..db78f7f7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/capacitor_item.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/capacitor_item" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/carbon_dioxide_bucket.json b/src/generated/resources/assets/tfmg/models/item/carbon_dioxide_bucket.json new file mode 100644 index 00000000..ac38873a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/carbon_dioxide_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/carbon_dioxide_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cast_iron_bars.json b/src/generated/resources/assets/tfmg/models/item/cast_iron_bars.json new file mode 100644 index 00000000..925c46a6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cast_iron_bars.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:item/bars", + "textures": { + "bars": "tfmg:block/bars/cast_iron_bars", + "edge": "tfmg:block/bars/cast_iron_bars_edge" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cast_iron_block.json b/src/generated/resources/assets/tfmg/models/item/cast_iron_block.json new file mode 100644 index 00000000..2c0d95b0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cast_iron_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cast_iron_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cast_iron_chemical_vat.json b/src/generated/resources/assets/tfmg/models/item/cast_iron_chemical_vat.json new file mode 100644 index 00000000..79110ea3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cast_iron_chemical_vat.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cast_iron_chemical_vat/block_single_window" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cast_iron_fluid_tank.json b/src/generated/resources/assets/tfmg/models/item/cast_iron_fluid_tank.json new file mode 100644 index 00000000..5ac00b96 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cast_iron_fluid_tank.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cast_iron_fluid_tank/block_single_window" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cast_iron_flywheel.json b/src/generated/resources/assets/tfmg/models/item/cast_iron_flywheel.json new file mode 100644 index 00000000..26fafd1e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cast_iron_flywheel.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cast_iron_flywheel/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cast_iron_frame.json b/src/generated/resources/assets/tfmg/models/item/cast_iron_frame.json new file mode 100644 index 00000000..018282cb --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cast_iron_frame.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cast_iron_frame/block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cast_iron_ingot.json b/src/generated/resources/assets/tfmg/models/item/cast_iron_ingot.json new file mode 100644 index 00000000..353747f9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cast_iron_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/cast_iron_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cast_iron_ladder.json b/src/generated/resources/assets/tfmg/models/item/cast_iron_ladder.json new file mode 100644 index 00000000..dedf0e87 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cast_iron_ladder.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:block/ladder_cast_iron" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cast_iron_mechanical_pump.json b/src/generated/resources/assets/tfmg/models/item/cast_iron_mechanical_pump.json new file mode 100644 index 00000000..82a5d017 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cast_iron_mechanical_pump.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cast_iron_mechanical_pump/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cast_iron_nugget.json b/src/generated/resources/assets/tfmg/models/item/cast_iron_nugget.json new file mode 100644 index 00000000..7d5aadd3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cast_iron_nugget.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/cast_iron_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cast_iron_pipe.json b/src/generated/resources/assets/tfmg/models/item/cast_iron_pipe.json new file mode 100644 index 00000000..fc4a7e5d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cast_iron_pipe.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cast_iron_pipe/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cast_iron_sheet.json b/src/generated/resources/assets/tfmg/models/item/cast_iron_sheet.json new file mode 100644 index 00000000..2b107ce9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cast_iron_sheet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/cast_iron_sheet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cast_iron_smart_fluid_pipe.json b/src/generated/resources/assets/tfmg/models/item/cast_iron_smart_fluid_pipe.json new file mode 100644 index 00000000..3db6eada --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cast_iron_smart_fluid_pipe.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cast_iron_smart_fluid_pipe/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cast_iron_truss.json b/src/generated/resources/assets/tfmg/models/item/cast_iron_truss.json new file mode 100644 index 00000000..66e1ea45 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cast_iron_truss.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cast_iron_truss" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/casting_basin.json b/src/generated/resources/assets/tfmg/models/item/casting_basin.json new file mode 100644 index 00000000..dae6e284 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/casting_basin.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/casting_basin/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cement.json b/src/generated/resources/assets/tfmg/models/item/cement.json new file mode 100644 index 00000000..d0e43ede --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cement.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cement" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/centrifuge.json b/src/generated/resources/assets/tfmg/models/item/centrifuge.json new file mode 100644 index 00000000..95f8c530 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/centrifuge.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/centrifuge" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cinder_block.json b/src/generated/resources/assets/tfmg/models/item/cinder_block.json new file mode 100644 index 00000000..fff22ece --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cinder_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cinder_block/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cinderblock.json b/src/generated/resources/assets/tfmg/models/item/cinderblock.json new file mode 100644 index 00000000..d61652f2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cinderblock.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/cinderblock" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cinderflour_block.json b/src/generated/resources/assets/tfmg/models/item/cinderflour_block.json new file mode 100644 index 00000000..4d2c1928 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cinderflour_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cinderflour_block/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cinderflourblock.json b/src/generated/resources/assets/tfmg/models/item/cinderflourblock.json new file mode 100644 index 00000000..a3b375e9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cinderflourblock.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/cinderflourblock" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/circuit_board.json b/src/generated/resources/assets/tfmg/models/item/circuit_board.json new file mode 100644 index 00000000..0ac2dd40 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/circuit_board.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/circuit_board" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/circular_light.json b/src/generated/resources/assets/tfmg/models/item/circular_light.json new file mode 100644 index 00000000..b609b98d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/circular_light.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/circular_light/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/coal_coke.json b/src/generated/resources/assets/tfmg/models/item/coal_coke.json new file mode 100644 index 00000000..0f4827ec --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/coal_coke.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/coal_coke" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/coal_coke_block.json b/src/generated/resources/assets/tfmg/models/item/coal_coke_block.json new file mode 100644 index 00000000..332caee7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/coal_coke_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/coal_coke_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/coal_coke_dust.json b/src/generated/resources/assets/tfmg/models/item/coal_coke_dust.json new file mode 100644 index 00000000..196f269c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/coal_coke_dust.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/coal_coke_dust" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/coated_circuit_board.json b/src/generated/resources/assets/tfmg/models/item/coated_circuit_board.json new file mode 100644 index 00000000..8f47a805 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/coated_circuit_board.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/coated_circuit_board" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/coke_oven.json b/src/generated/resources/assets/tfmg/models/item/coke_oven.json new file mode 100644 index 00000000..988a1b83 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/coke_oven.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/coke_oven/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/concrete.json b/src/generated/resources/assets/tfmg/models/item/concrete.json new file mode 100644 index 00000000..c9f717bd --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/concrete_hose.json b/src/generated/resources/assets/tfmg/models/item/concrete_hose.json new file mode 100644 index 00000000..715731fa --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/concrete_hose.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/concrete_hose/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/concrete_mixture.json b/src/generated/resources/assets/tfmg/models/item/concrete_mixture.json new file mode 100644 index 00000000..adf61957 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/concrete_mixture.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/concrete_mixture" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/concrete_slab.json new file mode 100644 index 00000000..52c2712a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/concrete_smokestack.json b/src/generated/resources/assets/tfmg/models/item/concrete_smokestack.json new file mode 100644 index 00000000..7f1de2ee --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/concrete_smokestack.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/concrete_smokestack/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/concrete_stairs.json new file mode 100644 index 00000000..dcef81f4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/concrete_wall.json new file mode 100644 index 00000000..778708ce --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/constantan_block.json b/src/generated/resources/assets/tfmg/models/item/constantan_block.json new file mode 100644 index 00000000..626ff630 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/constantan_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/constantan_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/constantan_frame.json b/src/generated/resources/assets/tfmg/models/item/constantan_frame.json new file mode 100644 index 00000000..83b70d9b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/constantan_frame.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/constantan_frame/block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/constantan_ingot.json b/src/generated/resources/assets/tfmg/models/item/constantan_ingot.json new file mode 100644 index 00000000..60fbef10 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/constantan_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/constantan_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/constantan_ladder.json b/src/generated/resources/assets/tfmg/models/item/constantan_ladder.json new file mode 100644 index 00000000..91a21bab --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/constantan_ladder.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:block/ladder_constantan" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/constantan_nugget.json b/src/generated/resources/assets/tfmg/models/item/constantan_nugget.json new file mode 100644 index 00000000..2a7a3c02 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/constantan_nugget.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/constantan_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/constantan_spool.json b/src/generated/resources/assets/tfmg/models/item/constantan_spool.json new file mode 100644 index 00000000..6fae986c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/constantan_spool.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/constantan_spool" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/constantan_truss.json b/src/generated/resources/assets/tfmg/models/item/constantan_truss.json new file mode 100644 index 00000000..0488c6d7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/constantan_truss.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/constantan_truss" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/constantan_wire.json b/src/generated/resources/assets/tfmg/models/item/constantan_wire.json new file mode 100644 index 00000000..51f994fb --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/constantan_wire.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/constantan_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/converter.json b/src/generated/resources/assets/tfmg/models/item/converter.json new file mode 100644 index 00000000..f4191d23 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/converter.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/converter/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cooling_fluid_bottle.json b/src/generated/resources/assets/tfmg/models/item/cooling_fluid_bottle.json new file mode 100644 index 00000000..14e94e59 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cooling_fluid_bottle.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/cooling_fluid_bottle" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cooling_fluid_bucket.json b/src/generated/resources/assets/tfmg/models/item/cooling_fluid_bucket.json new file mode 100644 index 00000000..e7e6a59e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cooling_fluid_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/cooling_fluid_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/copper_cable_hub.json b/src/generated/resources/assets/tfmg/models/item/copper_cable_hub.json new file mode 100644 index 00000000..472ee502 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/copper_cable_hub.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/copper_cable_hub" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/copper_electrode.json b/src/generated/resources/assets/tfmg/models/item/copper_electrode.json new file mode 100644 index 00000000..c2595098 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/copper_electrode.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:item/copper_electrode_model" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/copper_frame.json b/src/generated/resources/assets/tfmg/models/item/copper_frame.json new file mode 100644 index 00000000..32f44840 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/copper_frame.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/copper_frame/block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/copper_grenade.json b/src/generated/resources/assets/tfmg/models/item/copper_grenade.json new file mode 100644 index 00000000..56a0a703 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/copper_grenade.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/copper_grenade" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/copper_spool.json b/src/generated/resources/assets/tfmg/models/item/copper_spool.json new file mode 100644 index 00000000..01e9db4f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/copper_spool.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/copper_spool" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/copper_sulfate.json b/src/generated/resources/assets/tfmg/models/item/copper_sulfate.json new file mode 100644 index 00000000..0e5c14ab --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/copper_sulfate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/copper_sulfate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/copper_truss.json b/src/generated/resources/assets/tfmg/models/item/copper_truss.json new file mode 100644 index 00000000..8f202289 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/copper_truss.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/copper_truss" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/copper_wire.json b/src/generated/resources/assets/tfmg/models/item/copper_wire.json new file mode 100644 index 00000000..0a57d95a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/copper_wire.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/copper_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/copycat_cable_block.json b/src/generated/resources/assets/tfmg/models/item/copycat_cable_block.json new file mode 100644 index 00000000..c6551049 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/copycat_cable_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/copycat_cable_block/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/crankshaft.json b/src/generated/resources/assets/tfmg/models/item/crankshaft.json new file mode 100644 index 00000000..53fd8293 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/crankshaft.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:item/crankshaft_model" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/creative_generator.json b/src/generated/resources/assets/tfmg/models/item/creative_generator.json new file mode 100644 index 00000000..5044bde5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/creative_generator.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/creative_generator" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/creosote_bucket.json b/src/generated/resources/assets/tfmg/models/item/creosote_bucket.json new file mode 100644 index 00000000..2ee4ed9e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/creosote_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/creosote_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/crude_oil_bucket.json b/src/generated/resources/assets/tfmg/models/item/crude_oil_bucket.json new file mode 100644 index 00000000..6ce9c129 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/crude_oil_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/crude_oil_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cut_bauxite.json b/src/generated/resources/assets/tfmg/models/item/cut_bauxite.json new file mode 100644 index 00000000..09e97da0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cut_bauxite.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cut_bauxite" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cut_bauxite_brick_slab.json b/src/generated/resources/assets/tfmg/models/item/cut_bauxite_brick_slab.json new file mode 100644 index 00000000..ecf67152 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cut_bauxite_brick_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cut_bauxite_brick_slab" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cut_bauxite_brick_stairs.json b/src/generated/resources/assets/tfmg/models/item/cut_bauxite_brick_stairs.json new file mode 100644 index 00000000..6fa4217e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cut_bauxite_brick_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cut_bauxite_brick_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cut_bauxite_brick_wall.json b/src/generated/resources/assets/tfmg/models/item/cut_bauxite_brick_wall.json new file mode 100644 index 00000000..2093a9b7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cut_bauxite_brick_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/palettes/stone_types/brick/bauxite_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cut_bauxite_bricks.json b/src/generated/resources/assets/tfmg/models/item/cut_bauxite_bricks.json new file mode 100644 index 00000000..c30da0af --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cut_bauxite_bricks.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cut_bauxite_bricks" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cut_bauxite_slab.json b/src/generated/resources/assets/tfmg/models/item/cut_bauxite_slab.json new file mode 100644 index 00000000..5656c3dc --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cut_bauxite_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cut_bauxite_slab" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cut_bauxite_stairs.json b/src/generated/resources/assets/tfmg/models/item/cut_bauxite_stairs.json new file mode 100644 index 00000000..4834a131 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cut_bauxite_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cut_bauxite_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cut_bauxite_wall.json b/src/generated/resources/assets/tfmg/models/item/cut_bauxite_wall.json new file mode 100644 index 00000000..c38ccdae --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cut_bauxite_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/palettes/stone_types/cut/bauxite_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cut_galena.json b/src/generated/resources/assets/tfmg/models/item/cut_galena.json new file mode 100644 index 00000000..e78fffd3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cut_galena.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cut_galena" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cut_galena_brick_slab.json b/src/generated/resources/assets/tfmg/models/item/cut_galena_brick_slab.json new file mode 100644 index 00000000..9ea3ca6a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cut_galena_brick_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cut_galena_brick_slab" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cut_galena_brick_stairs.json b/src/generated/resources/assets/tfmg/models/item/cut_galena_brick_stairs.json new file mode 100644 index 00000000..cacc9042 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cut_galena_brick_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cut_galena_brick_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cut_galena_brick_wall.json b/src/generated/resources/assets/tfmg/models/item/cut_galena_brick_wall.json new file mode 100644 index 00000000..8c63bdf7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cut_galena_brick_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/palettes/stone_types/brick/galena_cut_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cut_galena_bricks.json b/src/generated/resources/assets/tfmg/models/item/cut_galena_bricks.json new file mode 100644 index 00000000..5ddd31f4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cut_galena_bricks.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cut_galena_bricks" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cut_galena_slab.json b/src/generated/resources/assets/tfmg/models/item/cut_galena_slab.json new file mode 100644 index 00000000..7267810b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cut_galena_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cut_galena_slab" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cut_galena_stairs.json b/src/generated/resources/assets/tfmg/models/item/cut_galena_stairs.json new file mode 100644 index 00000000..e381ed15 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cut_galena_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cut_galena_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cut_galena_wall.json b/src/generated/resources/assets/tfmg/models/item/cut_galena_wall.json new file mode 100644 index 00000000..f19568a1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cut_galena_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/palettes/stone_types/cut/galena_cut" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cyan_caution_block.json b/src/generated/resources/assets/tfmg/models/item/cyan_caution_block.json new file mode 100644 index 00000000..1cdb61f5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cyan_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cyan_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cyan_concrete.json b/src/generated/resources/assets/tfmg/models/item/cyan_concrete.json new file mode 100644 index 00000000..9da3dd41 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cyan_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cyan_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cyan_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/cyan_concrete_slab.json new file mode 100644 index 00000000..c72b90b4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cyan_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cyan_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cyan_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/cyan_concrete_stairs.json new file mode 100644 index 00000000..f58d9ed8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cyan_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cyan_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cyan_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/cyan_concrete_wall.json new file mode 100644 index 00000000..af0be36c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cyan_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/cyan_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cyan_multimeter.json b/src/generated/resources/assets/tfmg/models/item/cyan_multimeter.json new file mode 100644 index 00000000..a18d99cd --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cyan_multimeter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/cyan_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cyan_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/item/cyan_rebar_concrete.json new file mode 100644 index 00000000..cc45679b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cyan_rebar_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cyan_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cyan_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/cyan_rebar_concrete_slab.json new file mode 100644 index 00000000..c72b90b4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cyan_rebar_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cyan_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cyan_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/cyan_rebar_concrete_stairs.json new file mode 100644 index 00000000..f58d9ed8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cyan_rebar_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cyan_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cyan_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/cyan_rebar_concrete_wall.json new file mode 100644 index 00000000..af0be36c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cyan_rebar_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/cyan_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/debug_cinderblock.json b/src/generated/resources/assets/tfmg/models/item/debug_cinderblock.json new file mode 100644 index 00000000..ab1c6e95 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/debug_cinderblock.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/debug_cinderblock" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/deepslate_lead_ore.json b/src/generated/resources/assets/tfmg/models/item/deepslate_lead_ore.json new file mode 100644 index 00000000..bed40dd0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/deepslate_lead_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/deepslate_lead_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/deepslate_lithium_ore.json b/src/generated/resources/assets/tfmg/models/item/deepslate_lithium_ore.json new file mode 100644 index 00000000..ac3cec3e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/deepslate_lithium_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/deepslate_lithium_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/deepslate_nickel_ore.json b/src/generated/resources/assets/tfmg/models/item/deepslate_nickel_ore.json new file mode 100644 index 00000000..f95b54bc --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/deepslate_nickel_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/deepslate_nickel_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/deposit_item.json b/src/generated/resources/assets/tfmg/models/item/deposit_item.json new file mode 100644 index 00000000..180e3bb6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/deposit_item.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/deposit_item" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/diagonal_cable_block.json b/src/generated/resources/assets/tfmg/models/item/diagonal_cable_block.json new file mode 100644 index 00000000..946e0766 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/diagonal_cable_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/diagonal_cable_block/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/diesel_bucket.json b/src/generated/resources/assets/tfmg/models/item/diesel_bucket.json new file mode 100644 index 00000000..36334c7a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/diesel_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/diesel_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/diesel_engine_cylinder.json b/src/generated/resources/assets/tfmg/models/item/diesel_engine_cylinder.json new file mode 100644 index 00000000..9b2ed33d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/diesel_engine_cylinder.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/diesel_engine_cylinder" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/electric_diode.json b/src/generated/resources/assets/tfmg/models/item/electric_diode.json new file mode 100644 index 00000000..9ef05b91 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/electric_diode.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/electric_diode/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/electric_motor.json b/src/generated/resources/assets/tfmg/models/item/electric_motor.json new file mode 100644 index 00000000..67159389 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/electric_motor.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/electric_motor/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/electric_post.json b/src/generated/resources/assets/tfmg/models/item/electric_post.json new file mode 100644 index 00000000..6d9ef26e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/electric_post.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/electric_post" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/electric_pump.json b/src/generated/resources/assets/tfmg/models/item/electric_pump.json new file mode 100644 index 00000000..fa9ad6b2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/electric_pump.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/electric_pump/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/electrical_switch.json b/src/generated/resources/assets/tfmg/models/item/electrical_switch.json new file mode 100644 index 00000000..280cadcc --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/electrical_switch.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/electrical_switch/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/electricians_wrench.json b/src/generated/resources/assets/tfmg/models/item/electricians_wrench.json new file mode 100644 index 00000000..8bf1949c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/electricians_wrench.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/electricians_wrench" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/electrode_holder.json b/src/generated/resources/assets/tfmg/models/item/electrode_holder.json new file mode 100644 index 00000000..f43d9fe9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/electrode_holder.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/electrode_holder/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/electromagnetic_coil.json b/src/generated/resources/assets/tfmg/models/item/electromagnetic_coil.json new file mode 100644 index 00000000..37dd70d0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/electromagnetic_coil.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/electromagnetic_coil" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/empty_circuit_board.json b/src/generated/resources/assets/tfmg/models/item/empty_circuit_board.json new file mode 100644 index 00000000..e50af9b6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/empty_circuit_board.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/empty_circuit_board" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/empty_spool.json b/src/generated/resources/assets/tfmg/models/item/empty_spool.json new file mode 100644 index 00000000..25637734 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/empty_spool.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/empty_spool" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/engine_controller.json b/src/generated/resources/assets/tfmg/models/item/engine_controller.json new file mode 100644 index 00000000..b043ad71 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/engine_controller.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/engine_controller/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/engine_cylinder.json b/src/generated/resources/assets/tfmg/models/item/engine_cylinder.json new file mode 100644 index 00000000..63b8c76a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/engine_cylinder.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/engine_cylinder" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/engine_gearbox.json b/src/generated/resources/assets/tfmg/models/item/engine_gearbox.json new file mode 100644 index 00000000..5614379a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/engine_gearbox.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/engine_gearbox/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/etched_circuit_board.json b/src/generated/resources/assets/tfmg/models/item/etched_circuit_board.json new file mode 100644 index 00000000..85537d6f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/etched_circuit_board.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/etched_circuit_board" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/ethylene_bucket.json b/src/generated/resources/assets/tfmg/models/item/ethylene_bucket.json new file mode 100644 index 00000000..9d69fc98 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/ethylene_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/ethylene_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/exhaust.json b/src/generated/resources/assets/tfmg/models/item/exhaust.json new file mode 100644 index 00000000..551d4f89 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/exhaust.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/exhaust/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/factory_floor.json b/src/generated/resources/assets/tfmg/models/item/factory_floor.json new file mode 100644 index 00000000..e5c2f5cd --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/factory_floor.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/factory_floor" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/firebox.json b/src/generated/resources/assets/tfmg/models/item/firebox.json new file mode 100644 index 00000000..18d0c3ae --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/firebox.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/firebox/block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/fireclay.json b/src/generated/resources/assets/tfmg/models/item/fireclay.json new file mode 100644 index 00000000..c7f4caf9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/fireclay.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/fireclay" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/fireclay_ball.json b/src/generated/resources/assets/tfmg/models/item/fireclay_ball.json new file mode 100644 index 00000000..6f57d312 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/fireclay_ball.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/fireclay_ball" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/fireproof_brick.json b/src/generated/resources/assets/tfmg/models/item/fireproof_brick.json new file mode 100644 index 00000000..c6bbadc6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/fireproof_brick.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/fireproof_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/fireproof_brick_reinforcement.json b/src/generated/resources/assets/tfmg/models/item/fireproof_brick_reinforcement.json new file mode 100644 index 00000000..d5ec67a9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/fireproof_brick_reinforcement.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/fireproof_brick_reinforcement" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/fireproof_bricks.json b/src/generated/resources/assets/tfmg/models/item/fireproof_bricks.json new file mode 100644 index 00000000..37612526 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/fireproof_bricks.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/fireproof_bricks" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/fireproof_chemical_vat.json b/src/generated/resources/assets/tfmg/models/item/fireproof_chemical_vat.json new file mode 100644 index 00000000..92fdd16e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/fireproof_chemical_vat.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/fireproof_chemical_vat/block_single_window" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/flamethrower.json b/src/generated/resources/assets/tfmg/models/item/flamethrower.json new file mode 100644 index 00000000..baaf80a4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/flamethrower.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:item/flamethrower/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/flarestack.json b/src/generated/resources/assets/tfmg/models/item/flarestack.json new file mode 100644 index 00000000..0a488ad9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/flarestack.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/flarestack/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/fossilstone.json b/src/generated/resources/assets/tfmg/models/item/fossilstone.json new file mode 100644 index 00000000..a18c2ef6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/fossilstone.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/fossilstone" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/furnace_gas_bucket.json b/src/generated/resources/assets/tfmg/models/item/furnace_gas_bucket.json new file mode 100644 index 00000000..589d4492 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/furnace_gas_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/furnace_gas_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/galena.json b/src/generated/resources/assets/tfmg/models/item/galena.json new file mode 100644 index 00000000..3cfd6c36 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/galena.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfmg:block/palettes/stone_types/natural/galena_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/galena_pillar.json b/src/generated/resources/assets/tfmg/models/item/galena_pillar.json new file mode 100644 index 00000000..60e105de --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/galena_pillar.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/galena_pillar" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/gasoline_bucket.json b/src/generated/resources/assets/tfmg/models/item/gasoline_bucket.json new file mode 100644 index 00000000..a3fc00fe --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/gasoline_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/gasoline_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/generator.json b/src/generated/resources/assets/tfmg/models/item/generator.json new file mode 100644 index 00000000..a29815f4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/generator.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/generator/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/glass_cable_insulator.json b/src/generated/resources/assets/tfmg/models/item/glass_cable_insulator.json new file mode 100644 index 00000000..b9a6d7cb --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/glass_cable_insulator.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/glass_cable_insulator/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/glass_insulator_segment.json b/src/generated/resources/assets/tfmg/models/item/glass_insulator_segment.json new file mode 100644 index 00000000..ff08ed2f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/glass_insulator_segment.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:item/glass_insulator_segment_model" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/golden_turbo.json b/src/generated/resources/assets/tfmg/models/item/golden_turbo.json new file mode 100644 index 00000000..c9a82b89 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/golden_turbo.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/golden_turbo" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/graphite_electrode.json b/src/generated/resources/assets/tfmg/models/item/graphite_electrode.json new file mode 100644 index 00000000..88819740 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/graphite_electrode.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:item/graphite_electrode_model" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/gray_caution_block.json b/src/generated/resources/assets/tfmg/models/item/gray_caution_block.json new file mode 100644 index 00000000..2b2c8fb6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/gray_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/gray_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/gray_concrete.json b/src/generated/resources/assets/tfmg/models/item/gray_concrete.json new file mode 100644 index 00000000..7e2b1bf0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/gray_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/gray_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/gray_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/gray_concrete_slab.json new file mode 100644 index 00000000..98f876af --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/gray_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/gray_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/gray_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/gray_concrete_stairs.json new file mode 100644 index 00000000..cca5c4ed --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/gray_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/gray_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/gray_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/gray_concrete_wall.json new file mode 100644 index 00000000..9bc6393a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/gray_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/gray_multimeter.json b/src/generated/resources/assets/tfmg/models/item/gray_multimeter.json new file mode 100644 index 00000000..062cf017 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/gray_multimeter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/gray_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/gray_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/item/gray_rebar_concrete.json new file mode 100644 index 00000000..cdbd84e0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/gray_rebar_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/gray_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/gray_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/gray_rebar_concrete_slab.json new file mode 100644 index 00000000..98f876af --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/gray_rebar_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/gray_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/gray_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/gray_rebar_concrete_stairs.json new file mode 100644 index 00000000..cca5c4ed --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/gray_rebar_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/gray_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/gray_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/gray_rebar_concrete_wall.json new file mode 100644 index 00000000..9bc6393a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/gray_rebar_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/green_caution_block.json b/src/generated/resources/assets/tfmg/models/item/green_caution_block.json new file mode 100644 index 00000000..fbe139eb --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/green_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/green_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/green_concrete.json b/src/generated/resources/assets/tfmg/models/item/green_concrete.json new file mode 100644 index 00000000..03015678 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/green_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/green_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/green_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/green_concrete_slab.json new file mode 100644 index 00000000..e1b0ccec --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/green_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/green_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/green_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/green_concrete_stairs.json new file mode 100644 index 00000000..84c3bc09 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/green_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/green_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/green_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/green_concrete_wall.json new file mode 100644 index 00000000..b43b6fd1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/green_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/green_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/green_multimeter.json b/src/generated/resources/assets/tfmg/models/item/green_multimeter.json new file mode 100644 index 00000000..e31fc00d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/green_multimeter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/green_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/green_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/item/green_rebar_concrete.json new file mode 100644 index 00000000..ddd1645d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/green_rebar_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/green_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/green_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/green_rebar_concrete_slab.json new file mode 100644 index 00000000..e1b0ccec --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/green_rebar_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/green_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/green_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/green_rebar_concrete_stairs.json new file mode 100644 index 00000000..84c3bc09 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/green_rebar_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/green_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/green_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/green_rebar_concrete_wall.json new file mode 100644 index 00000000..b43b6fd1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/green_rebar_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/green_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/hardened_planks.json b/src/generated/resources/assets/tfmg/models/item/hardened_planks.json new file mode 100644 index 00000000..70168772 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/hardened_planks.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/hardened_planks" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/heavy_cable_hub.json b/src/generated/resources/assets/tfmg/models/item/heavy_cable_hub.json new file mode 100644 index 00000000..b5facfcf --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/heavy_cable_hub.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/heavy_cable_hub" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/heavy_casing_door.json b/src/generated/resources/assets/tfmg/models/item/heavy_casing_door.json new file mode 100644 index 00000000..afd52409 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/heavy_casing_door.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/heavy_casing_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/heavy_casing_encased_aluminum_cogwheel.json b/src/generated/resources/assets/tfmg/models/item/heavy_casing_encased_aluminum_cogwheel.json new file mode 100644 index 00000000..bc58a910 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/heavy_casing_encased_aluminum_cogwheel.json @@ -0,0 +1,9 @@ +{ + "parent": "tfmg:block/encased_cogwheel/item", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/heavy_casing_encased_large_aluminum_cogwheel.json b/src/generated/resources/assets/tfmg/models/item/heavy_casing_encased_large_aluminum_cogwheel.json new file mode 100644 index 00000000..09e84f77 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/heavy_casing_encased_large_aluminum_cogwheel.json @@ -0,0 +1,9 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/item", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/heavy_casing_encased_large_steel_cogwheel.json b/src/generated/resources/assets/tfmg/models/item/heavy_casing_encased_large_steel_cogwheel.json new file mode 100644 index 00000000..09e84f77 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/heavy_casing_encased_large_steel_cogwheel.json @@ -0,0 +1,9 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/item", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/heavy_casing_encased_shaft.json b/src/generated/resources/assets/tfmg/models/item/heavy_casing_encased_shaft.json new file mode 100644 index 00000000..d22d6586 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/heavy_casing_encased_shaft.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/encased_shaft/item_heavy_casing" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/heavy_casing_encased_steel_cogwheel.json b/src/generated/resources/assets/tfmg/models/item/heavy_casing_encased_steel_cogwheel.json new file mode 100644 index 00000000..bc58a910 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/heavy_casing_encased_steel_cogwheel.json @@ -0,0 +1,9 @@ +{ + "parent": "tfmg:block/encased_cogwheel/item", + "textures": { + "1": "tfmg:block/heavy_machinery_casing", + "casing": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing", + "side": "tfmg:block/heavy_machinery_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/heavy_machinery_casing.json b/src/generated/resources/assets/tfmg/models/item/heavy_machinery_casing.json new file mode 100644 index 00000000..73b12767 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/heavy_machinery_casing.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/heavy_machinery_casing" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/heavy_oil_bucket.json b/src/generated/resources/assets/tfmg/models/item/heavy_oil_bucket.json new file mode 100644 index 00000000..0cc83af6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/heavy_oil_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/heavy_oil_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/heavy_plate.json b/src/generated/resources/assets/tfmg/models/item/heavy_plate.json new file mode 100644 index 00000000..14164e6c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/heavy_plate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/heavy_plate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/heavy_plated_door.json b/src/generated/resources/assets/tfmg/models/item/heavy_plated_door.json new file mode 100644 index 00000000..f5cae3d7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/heavy_plated_door.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/heavy_plated_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/hot_air_bucket.json b/src/generated/resources/assets/tfmg/models/item/hot_air_bucket.json new file mode 100644 index 00000000..a03f3743 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/hot_air_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/hot_air_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/hydrogen_bucket.json b/src/generated/resources/assets/tfmg/models/item/hydrogen_bucket.json new file mode 100644 index 00000000..0aa916e1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/hydrogen_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/hydrogen_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/industrial_aluminum_casing.json b/src/generated/resources/assets/tfmg/models/item/industrial_aluminum_casing.json new file mode 100644 index 00000000..bebd6114 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/industrial_aluminum_casing.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/industrial_aluminum_casing" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/industrial_mixer.json b/src/generated/resources/assets/tfmg/models/item/industrial_mixer.json new file mode 100644 index 00000000..fb1f5a1a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/industrial_mixer.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/industrial_mixer/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/industrial_pipe.json b/src/generated/resources/assets/tfmg/models/item/industrial_pipe.json new file mode 100644 index 00000000..fb4e716d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/industrial_pipe.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/industrial_pipe/block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/kerosene_bucket.json b/src/generated/resources/assets/tfmg/models/item/kerosene_bucket.json new file mode 100644 index 00000000..e5c758de --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/kerosene_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/kerosene_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/large_aluminum_cogwheel.json b/src/generated/resources/assets/tfmg/models/item/large_aluminum_cogwheel.json new file mode 100644 index 00000000..f9d5173d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/large_aluminum_cogwheel.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/large_aluminum_cogwheel" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/large_engine.json b/src/generated/resources/assets/tfmg/models/item/large_engine.json new file mode 100644 index 00000000..b7b0f631 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/large_engine.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/large_engine/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/large_pumpjack_hammer_connector.json b/src/generated/resources/assets/tfmg/models/item/large_pumpjack_hammer_connector.json new file mode 100644 index 00000000..f406f44d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/large_pumpjack_hammer_connector.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/large_pumpjack_hammer_connector" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/large_pumpjack_hammer_head.json b/src/generated/resources/assets/tfmg/models/item/large_pumpjack_hammer_head.json new file mode 100644 index 00000000..f5ff863e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/large_pumpjack_hammer_head.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/large_pumpjack_hammer_head" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/large_pumpjack_hammer_part.json b/src/generated/resources/assets/tfmg/models/item/large_pumpjack_hammer_part.json new file mode 100644 index 00000000..342a30e1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/large_pumpjack_hammer_part.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/large_pumpjack_hammer_part" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/large_steel_cogwheel.json b/src/generated/resources/assets/tfmg/models/item/large_steel_cogwheel.json new file mode 100644 index 00000000..d496d5a1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/large_steel_cogwheel.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/large_steel_cogwheel" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/layered_bauxite.json b/src/generated/resources/assets/tfmg/models/item/layered_bauxite.json new file mode 100644 index 00000000..f318b5d9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/layered_bauxite.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/layered_bauxite" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/layered_galena.json b/src/generated/resources/assets/tfmg/models/item/layered_galena.json new file mode 100644 index 00000000..19d7d56a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/layered_galena.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/layered_galena" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lead_axe.json b/src/generated/resources/assets/tfmg/models/item/lead_axe.json new file mode 100644 index 00000000..7595a932 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lead_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/lead_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lead_bars.json b/src/generated/resources/assets/tfmg/models/item/lead_bars.json new file mode 100644 index 00000000..df948ca5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lead_bars.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:item/bars", + "textures": { + "bars": "tfmg:block/bars/lead_bars", + "edge": "tfmg:block/bars/lead_bars_edge" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lead_block.json b/src/generated/resources/assets/tfmg/models/item/lead_block.json new file mode 100644 index 00000000..5946bfaa --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lead_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/lead_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lead_flywheel.json b/src/generated/resources/assets/tfmg/models/item/lead_flywheel.json new file mode 100644 index 00000000..2c54fb84 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lead_flywheel.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/lead_flywheel/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lead_frame.json b/src/generated/resources/assets/tfmg/models/item/lead_frame.json new file mode 100644 index 00000000..333e46f8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lead_frame.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/lead_frame/block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lead_hoe.json b/src/generated/resources/assets/tfmg/models/item/lead_hoe.json new file mode 100644 index 00000000..53c9d1bc --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lead_hoe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/lead_hoe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lead_ingot.json b/src/generated/resources/assets/tfmg/models/item/lead_ingot.json new file mode 100644 index 00000000..2d95461e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lead_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/lead_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lead_ladder.json b/src/generated/resources/assets/tfmg/models/item/lead_ladder.json new file mode 100644 index 00000000..525cfcfe --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lead_ladder.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:block/ladder_lead" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lead_nugget.json b/src/generated/resources/assets/tfmg/models/item/lead_nugget.json new file mode 100644 index 00000000..b2fc5ef9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lead_nugget.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/lead_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lead_ore.json b/src/generated/resources/assets/tfmg/models/item/lead_ore.json new file mode 100644 index 00000000..24c0d7b9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lead_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/lead_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lead_pickaxe.json b/src/generated/resources/assets/tfmg/models/item/lead_pickaxe.json new file mode 100644 index 00000000..4d8b8e90 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lead_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/lead_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lead_sheet.json b/src/generated/resources/assets/tfmg/models/item/lead_sheet.json new file mode 100644 index 00000000..07a6177b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lead_sheet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/lead_sheet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lead_shovel.json b/src/generated/resources/assets/tfmg/models/item/lead_shovel.json new file mode 100644 index 00000000..3da1c1b9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lead_shovel.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/lead_shovel" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lead_sword.json b/src/generated/resources/assets/tfmg/models/item/lead_sword.json new file mode 100644 index 00000000..637e7d17 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lead_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/lead_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lead_truss.json b/src/generated/resources/assets/tfmg/models/item/lead_truss.json new file mode 100644 index 00000000..e92b0314 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lead_truss.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/lead_truss" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/light_blue_caution_block.json b/src/generated/resources/assets/tfmg/models/item/light_blue_caution_block.json new file mode 100644 index 00000000..8831e995 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/light_blue_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/light_blue_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/light_blue_concrete.json b/src/generated/resources/assets/tfmg/models/item/light_blue_concrete.json new file mode 100644 index 00000000..ff4bfd3c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/light_blue_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/light_blue_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/light_blue_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/light_blue_concrete_slab.json new file mode 100644 index 00000000..76c8a2c9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/light_blue_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/light_blue_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/light_blue_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/light_blue_concrete_stairs.json new file mode 100644 index 00000000..72c84d5c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/light_blue_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/light_blue_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/light_blue_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/light_blue_concrete_wall.json new file mode 100644 index 00000000..af3f96d2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/light_blue_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/light_blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/light_blue_multimeter.json b/src/generated/resources/assets/tfmg/models/item/light_blue_multimeter.json new file mode 100644 index 00000000..ac60291b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/light_blue_multimeter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/light_blue_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/light_blue_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/item/light_blue_rebar_concrete.json new file mode 100644 index 00000000..6913632e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/light_blue_rebar_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/light_blue_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/light_blue_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/light_blue_rebar_concrete_slab.json new file mode 100644 index 00000000..76c8a2c9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/light_blue_rebar_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/light_blue_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/light_blue_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/light_blue_rebar_concrete_stairs.json new file mode 100644 index 00000000..72c84d5c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/light_blue_rebar_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/light_blue_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/light_blue_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/light_blue_rebar_concrete_wall.json new file mode 100644 index 00000000..af3f96d2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/light_blue_rebar_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/light_blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/light_bulb.json b/src/generated/resources/assets/tfmg/models/item/light_bulb.json new file mode 100644 index 00000000..d1703b96 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/light_bulb.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/light_bulb/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/light_gray_caution_block.json b/src/generated/resources/assets/tfmg/models/item/light_gray_caution_block.json new file mode 100644 index 00000000..8af5b8f7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/light_gray_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/light_gray_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/light_gray_concrete.json b/src/generated/resources/assets/tfmg/models/item/light_gray_concrete.json new file mode 100644 index 00000000..5a7f2f38 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/light_gray_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/light_gray_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/light_gray_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/light_gray_concrete_slab.json new file mode 100644 index 00000000..ca71419a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/light_gray_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/light_gray_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/light_gray_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/light_gray_concrete_stairs.json new file mode 100644 index 00000000..f80acb8b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/light_gray_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/light_gray_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/light_gray_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/light_gray_concrete_wall.json new file mode 100644 index 00000000..2aa00b1d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/light_gray_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/light_gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/light_gray_multimeter.json b/src/generated/resources/assets/tfmg/models/item/light_gray_multimeter.json new file mode 100644 index 00000000..c8b5e45b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/light_gray_multimeter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/light_gray_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/light_gray_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/item/light_gray_rebar_concrete.json new file mode 100644 index 00000000..b218466d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/light_gray_rebar_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/light_gray_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/light_gray_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/light_gray_rebar_concrete_slab.json new file mode 100644 index 00000000..ca71419a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/light_gray_rebar_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/light_gray_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/light_gray_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/light_gray_rebar_concrete_stairs.json new file mode 100644 index 00000000..f80acb8b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/light_gray_rebar_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/light_gray_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/light_gray_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/light_gray_rebar_concrete_wall.json new file mode 100644 index 00000000..2aa00b1d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/light_gray_rebar_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/light_gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lignite.json b/src/generated/resources/assets/tfmg/models/item/lignite.json new file mode 100644 index 00000000..e56ce60c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lignite.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/lignite" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lime_caution_block.json b/src/generated/resources/assets/tfmg/models/item/lime_caution_block.json new file mode 100644 index 00000000..c2227fc5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lime_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/lime_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lime_concrete.json b/src/generated/resources/assets/tfmg/models/item/lime_concrete.json new file mode 100644 index 00000000..362f19bf --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lime_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/lime_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lime_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/lime_concrete_slab.json new file mode 100644 index 00000000..89676987 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lime_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/lime_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lime_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/lime_concrete_stairs.json new file mode 100644 index 00000000..36440bc3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lime_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/lime_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lime_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/lime_concrete_wall.json new file mode 100644 index 00000000..c5f73b6a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lime_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/lime_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lime_multimeter.json b/src/generated/resources/assets/tfmg/models/item/lime_multimeter.json new file mode 100644 index 00000000..14b9f9d7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lime_multimeter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/lime_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lime_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/item/lime_rebar_concrete.json new file mode 100644 index 00000000..1ceee547 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lime_rebar_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/lime_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lime_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/lime_rebar_concrete_slab.json new file mode 100644 index 00000000..89676987 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lime_rebar_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/lime_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lime_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/lime_rebar_concrete_stairs.json new file mode 100644 index 00000000..36440bc3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lime_rebar_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/lime_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lime_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/lime_rebar_concrete_wall.json new file mode 100644 index 00000000..c5f73b6a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lime_rebar_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/lime_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/limesand.json b/src/generated/resources/assets/tfmg/models/item/limesand.json new file mode 100644 index 00000000..5ae1114d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/limesand.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/limesand" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/liquid_asphalt_bucket.json b/src/generated/resources/assets/tfmg/models/item/liquid_asphalt_bucket.json new file mode 100644 index 00000000..22b8341d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/liquid_asphalt_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/liquid_asphalt_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/liquid_concrete_bucket.json b/src/generated/resources/assets/tfmg/models/item/liquid_concrete_bucket.json new file mode 100644 index 00000000..20f4a7f9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/liquid_concrete_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/liquid_concrete_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/liquid_silicon_bucket.json b/src/generated/resources/assets/tfmg/models/item/liquid_silicon_bucket.json new file mode 100644 index 00000000..0928ef47 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/liquid_silicon_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/liquid_silicon_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lit_lithium_blade.json b/src/generated/resources/assets/tfmg/models/item/lit_lithium_blade.json new file mode 100644 index 00000000..43b05de9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lit_lithium_blade.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/lithium_blade_lit" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lithium_blade.json b/src/generated/resources/assets/tfmg/models/item/lithium_blade.json new file mode 100644 index 00000000..a61a8f46 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lithium_blade.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/lithium_blade" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lithium_block.json b/src/generated/resources/assets/tfmg/models/item/lithium_block.json new file mode 100644 index 00000000..80b55f65 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lithium_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/lithium_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lithium_charge.json b/src/generated/resources/assets/tfmg/models/item/lithium_charge.json new file mode 100644 index 00000000..5c4ef2d4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lithium_charge.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/lithium_charge" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lithium_ingot.json b/src/generated/resources/assets/tfmg/models/item/lithium_ingot.json new file mode 100644 index 00000000..16824644 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lithium_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/lithium_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lithium_nugget.json b/src/generated/resources/assets/tfmg/models/item/lithium_nugget.json new file mode 100644 index 00000000..64c34ca2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lithium_nugget.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/lithium_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lithium_ore.json b/src/generated/resources/assets/tfmg/models/item/lithium_ore.json new file mode 100644 index 00000000..576e8169 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lithium_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/lithium_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lithium_torch.json b/src/generated/resources/assets/tfmg/models/item/lithium_torch.json new file mode 100644 index 00000000..771b74dd --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lithium_torch.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/lithium_torch/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lpg_bucket.json b/src/generated/resources/assets/tfmg/models/item/lpg_bucket.json new file mode 100644 index 00000000..1ed8f047 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lpg_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/lpg_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/lubrication_oil_bucket.json b/src/generated/resources/assets/tfmg/models/item/lubrication_oil_bucket.json new file mode 100644 index 00000000..2c7ee45d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/lubrication_oil_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/lubrication_oil_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/machine_input.json b/src/generated/resources/assets/tfmg/models/item/machine_input.json new file mode 100644 index 00000000..d4beafbe --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/machine_input.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/machine_input" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/magenta_caution_block.json b/src/generated/resources/assets/tfmg/models/item/magenta_caution_block.json new file mode 100644 index 00000000..76a60359 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/magenta_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/magenta_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/magenta_concrete.json b/src/generated/resources/assets/tfmg/models/item/magenta_concrete.json new file mode 100644 index 00000000..a8cd5144 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/magenta_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/magenta_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/magenta_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/magenta_concrete_slab.json new file mode 100644 index 00000000..25a70835 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/magenta_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/magenta_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/magenta_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/magenta_concrete_stairs.json new file mode 100644 index 00000000..ccabc51d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/magenta_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/magenta_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/magenta_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/magenta_concrete_wall.json new file mode 100644 index 00000000..06b98997 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/magenta_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/magenta_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/magenta_multimeter.json b/src/generated/resources/assets/tfmg/models/item/magenta_multimeter.json new file mode 100644 index 00000000..946d063f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/magenta_multimeter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/magenta_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/magenta_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/item/magenta_rebar_concrete.json new file mode 100644 index 00000000..0fce994b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/magenta_rebar_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/magenta_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/magenta_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/magenta_rebar_concrete_slab.json new file mode 100644 index 00000000..25a70835 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/magenta_rebar_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/magenta_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/magenta_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/magenta_rebar_concrete_stairs.json new file mode 100644 index 00000000..ccabc51d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/magenta_rebar_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/magenta_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/magenta_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/magenta_rebar_concrete_wall.json new file mode 100644 index 00000000..06b98997 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/magenta_rebar_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/magenta_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/magnet.json b/src/generated/resources/assets/tfmg/models/item/magnet.json new file mode 100644 index 00000000..cd489a23 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/magnet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/magnet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/magnetic_alloy_ingot.json b/src/generated/resources/assets/tfmg/models/item/magnetic_alloy_ingot.json new file mode 100644 index 00000000..f3cdccd8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/magnetic_alloy_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/magnetic_alloy_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/metal_smokestack.json b/src/generated/resources/assets/tfmg/models/item/metal_smokestack.json new file mode 100644 index 00000000..20e23c8c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/metal_smokestack.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/metal_smokestack/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/mixer_blade.json b/src/generated/resources/assets/tfmg/models/item/mixer_blade.json new file mode 100644 index 00000000..2d94a905 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/mixer_blade.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/mixer_blade" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/modern_light.json b/src/generated/resources/assets/tfmg/models/item/modern_light.json new file mode 100644 index 00000000..2d86ae47 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/modern_light.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/modern_light/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/molten_plastic_bucket.json b/src/generated/resources/assets/tfmg/models/item/molten_plastic_bucket.json new file mode 100644 index 00000000..83f5a754 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/molten_plastic_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/molten_plastic_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/molten_slag_bucket.json b/src/generated/resources/assets/tfmg/models/item/molten_slag_bucket.json new file mode 100644 index 00000000..fee6dac4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/molten_slag_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/molten_slag_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/molten_steel_bucket.json b/src/generated/resources/assets/tfmg/models/item/molten_steel_bucket.json new file mode 100644 index 00000000..6558ee5c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/molten_steel_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/molten_steel_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/multimeter.json b/src/generated/resources/assets/tfmg/models/item/multimeter.json new file mode 100644 index 00000000..f581824d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/multimeter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/n_semiconductor.json b/src/generated/resources/assets/tfmg/models/item/n_semiconductor.json new file mode 100644 index 00000000..8c793a85 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/n_semiconductor.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/n_semiconductor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/napalm_bomb.json b/src/generated/resources/assets/tfmg/models/item/napalm_bomb.json new file mode 100644 index 00000000..5bd89e0e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/napalm_bomb.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/napalm_bomb/block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/napalm_bucket.json b/src/generated/resources/assets/tfmg/models/item/napalm_bucket.json new file mode 100644 index 00000000..c58def53 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/napalm_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/napalm_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/napalm_potato.json b/src/generated/resources/assets/tfmg/models/item/napalm_potato.json new file mode 100644 index 00000000..d8c36209 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/napalm_potato.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/napalm_potato" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/naphtha_bucket.json b/src/generated/resources/assets/tfmg/models/item/naphtha_bucket.json new file mode 100644 index 00000000..edf859fd --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/naphtha_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/naphtha_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/neon_bucket.json b/src/generated/resources/assets/tfmg/models/item/neon_bucket.json new file mode 100644 index 00000000..b6aa7b85 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/neon_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/neon_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/neon_tube.json b/src/generated/resources/assets/tfmg/models/item/neon_tube.json new file mode 100644 index 00000000..f95fc78e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/neon_tube.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/neon_tube/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/nickel_bars.json b/src/generated/resources/assets/tfmg/models/item/nickel_bars.json new file mode 100644 index 00000000..0211ae8d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/nickel_bars.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:item/bars", + "textures": { + "bars": "tfmg:block/bars/nickel_bars", + "edge": "tfmg:block/bars/nickel_bars_edge" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/nickel_block.json b/src/generated/resources/assets/tfmg/models/item/nickel_block.json new file mode 100644 index 00000000..5990dd99 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/nickel_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/nickel_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/nickel_flywheel.json b/src/generated/resources/assets/tfmg/models/item/nickel_flywheel.json new file mode 100644 index 00000000..e930209f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/nickel_flywheel.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/nickel_flywheel/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/nickel_frame.json b/src/generated/resources/assets/tfmg/models/item/nickel_frame.json new file mode 100644 index 00000000..be0cb0a0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/nickel_frame.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/nickel_frame/block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/nickel_ingot.json b/src/generated/resources/assets/tfmg/models/item/nickel_ingot.json new file mode 100644 index 00000000..23093593 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/nickel_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/nickel_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/nickel_ladder.json b/src/generated/resources/assets/tfmg/models/item/nickel_ladder.json new file mode 100644 index 00000000..d9022993 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/nickel_ladder.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:block/ladder_nickel" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/nickel_nugget.json b/src/generated/resources/assets/tfmg/models/item/nickel_nugget.json new file mode 100644 index 00000000..9ab0a919 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/nickel_nugget.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/nickel_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/nickel_ore.json b/src/generated/resources/assets/tfmg/models/item/nickel_ore.json new file mode 100644 index 00000000..311ce54a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/nickel_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/nickel_ore" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/nickel_sheet.json b/src/generated/resources/assets/tfmg/models/item/nickel_sheet.json new file mode 100644 index 00000000..5b6daf49 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/nickel_sheet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/nickel_sheet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/nickel_truss.json b/src/generated/resources/assets/tfmg/models/item/nickel_truss.json new file mode 100644 index 00000000..31d3e0cb --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/nickel_truss.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/nickel_truss" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/nitrate_dust.json b/src/generated/resources/assets/tfmg/models/item/nitrate_dust.json new file mode 100644 index 00000000..d82be54b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/nitrate_dust.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/nitrate_dust" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/oil_can.json b/src/generated/resources/assets/tfmg/models/item/oil_can.json new file mode 100644 index 00000000..8da08d29 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/oil_can.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:item/oil_can_model" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/oil_deposit.json b/src/generated/resources/assets/tfmg/models/item/oil_deposit.json new file mode 100644 index 00000000..6acea743 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/oil_deposit.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/oil_deposit" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/oil_hammer.json b/src/generated/resources/assets/tfmg/models/item/oil_hammer.json new file mode 100644 index 00000000..9182ad94 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/oil_hammer.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/oil_hammer" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/orange_caution_block.json b/src/generated/resources/assets/tfmg/models/item/orange_caution_block.json new file mode 100644 index 00000000..094b5c1d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/orange_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/orange_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/orange_concrete.json b/src/generated/resources/assets/tfmg/models/item/orange_concrete.json new file mode 100644 index 00000000..dbdefe73 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/orange_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/orange_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/orange_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/orange_concrete_slab.json new file mode 100644 index 00000000..fa6296b6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/orange_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/orange_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/orange_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/orange_concrete_stairs.json new file mode 100644 index 00000000..d511469f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/orange_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/orange_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/orange_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/orange_concrete_wall.json new file mode 100644 index 00000000..a4663f08 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/orange_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/orange_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/orange_multimeter.json b/src/generated/resources/assets/tfmg/models/item/orange_multimeter.json new file mode 100644 index 00000000..6bf51842 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/orange_multimeter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/orange_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/orange_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/item/orange_rebar_concrete.json new file mode 100644 index 00000000..5f923aa2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/orange_rebar_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/orange_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/orange_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/orange_rebar_concrete_slab.json new file mode 100644 index 00000000..fa6296b6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/orange_rebar_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/orange_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/orange_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/orange_rebar_concrete_stairs.json new file mode 100644 index 00000000..d511469f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/orange_rebar_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/orange_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/orange_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/orange_rebar_concrete_wall.json new file mode 100644 index 00000000..a4663f08 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/orange_rebar_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/orange_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/p_semiconductor.json b/src/generated/resources/assets/tfmg/models/item/p_semiconductor.json new file mode 100644 index 00000000..975671a6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/p_semiconductor.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/p_semiconductor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/pink_caution_block.json b/src/generated/resources/assets/tfmg/models/item/pink_caution_block.json new file mode 100644 index 00000000..b38ce26e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/pink_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/pink_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/pink_concrete.json b/src/generated/resources/assets/tfmg/models/item/pink_concrete.json new file mode 100644 index 00000000..e54a8bd7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/pink_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/pink_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/pink_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/pink_concrete_slab.json new file mode 100644 index 00000000..70dfab34 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/pink_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/pink_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/pink_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/pink_concrete_stairs.json new file mode 100644 index 00000000..ddb88f29 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/pink_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/pink_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/pink_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/pink_concrete_wall.json new file mode 100644 index 00000000..8ec2d50c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/pink_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/pink_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/pink_multimeter.json b/src/generated/resources/assets/tfmg/models/item/pink_multimeter.json new file mode 100644 index 00000000..36830a29 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/pink_multimeter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/pink_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/pink_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/item/pink_rebar_concrete.json new file mode 100644 index 00000000..ef8d8ff4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/pink_rebar_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/pink_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/pink_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/pink_rebar_concrete_slab.json new file mode 100644 index 00000000..70dfab34 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/pink_rebar_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/pink_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/pink_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/pink_rebar_concrete_stairs.json new file mode 100644 index 00000000..ddb88f29 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/pink_rebar_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/pink_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/pink_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/pink_rebar_concrete_wall.json new file mode 100644 index 00000000..8ec2d50c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/pink_rebar_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/pink_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/pipe_bomb.json b/src/generated/resources/assets/tfmg/models/item/pipe_bomb.json new file mode 100644 index 00000000..f1a6868e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/pipe_bomb.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/pipe_bomb" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/plastic_block.json b/src/generated/resources/assets/tfmg/models/item/plastic_block.json new file mode 100644 index 00000000..842669a4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/plastic_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/plastic_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/plastic_mechanical_pump.json b/src/generated/resources/assets/tfmg/models/item/plastic_mechanical_pump.json new file mode 100644 index 00000000..099dda6d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/plastic_mechanical_pump.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/plastic_mechanical_pump/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/plastic_pipe.json b/src/generated/resources/assets/tfmg/models/item/plastic_pipe.json new file mode 100644 index 00000000..6d99e34a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/plastic_pipe.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/plastic_pipe/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/plastic_sheet.json b/src/generated/resources/assets/tfmg/models/item/plastic_sheet.json new file mode 100644 index 00000000..62dcc738 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/plastic_sheet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/plastic_sheet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/plastic_smart_fluid_pipe.json b/src/generated/resources/assets/tfmg/models/item/plastic_smart_fluid_pipe.json new file mode 100644 index 00000000..fcfde5d0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/plastic_smart_fluid_pipe.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/plastic_smart_fluid_pipe/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/polarizer.json b/src/generated/resources/assets/tfmg/models/item/polarizer.json new file mode 100644 index 00000000..9f27437f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/polarizer.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/polarizer/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/polished_cut_bauxite.json b/src/generated/resources/assets/tfmg/models/item/polished_cut_bauxite.json new file mode 100644 index 00000000..1e2a976f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/polished_cut_bauxite.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/polished_cut_bauxite" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/polished_cut_bauxite_slab.json b/src/generated/resources/assets/tfmg/models/item/polished_cut_bauxite_slab.json new file mode 100644 index 00000000..875b5d3c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/polished_cut_bauxite_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/polished_cut_bauxite_slab" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/polished_cut_bauxite_stairs.json b/src/generated/resources/assets/tfmg/models/item/polished_cut_bauxite_stairs.json new file mode 100644 index 00000000..94807f1f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/polished_cut_bauxite_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/polished_cut_bauxite_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/polished_cut_bauxite_wall.json b/src/generated/resources/assets/tfmg/models/item/polished_cut_bauxite_wall.json new file mode 100644 index 00000000..627b6752 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/polished_cut_bauxite_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/palettes/stone_types/polished/bauxite_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/polished_cut_galena.json b/src/generated/resources/assets/tfmg/models/item/polished_cut_galena.json new file mode 100644 index 00000000..77e13b13 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/polished_cut_galena.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/polished_cut_galena" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/polished_cut_galena_slab.json b/src/generated/resources/assets/tfmg/models/item/polished_cut_galena_slab.json new file mode 100644 index 00000000..102426e6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/polished_cut_galena_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/polished_cut_galena_slab" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/polished_cut_galena_stairs.json b/src/generated/resources/assets/tfmg/models/item/polished_cut_galena_stairs.json new file mode 100644 index 00000000..92b9083a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/polished_cut_galena_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/polished_cut_galena_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/polished_cut_galena_wall.json b/src/generated/resources/assets/tfmg/models/item/polished_cut_galena_wall.json new file mode 100644 index 00000000..38e30653 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/polished_cut_galena_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/palettes/stone_types/polished/galena_cut_polished" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/potentiometer.json b/src/generated/resources/assets/tfmg/models/item/potentiometer.json new file mode 100644 index 00000000..3f6085a7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/potentiometer.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/potentiometer/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/propane_bucket.json b/src/generated/resources/assets/tfmg/models/item/propane_bucket.json new file mode 100644 index 00000000..9f585a91 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/propane_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/propane_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/propylene_bucket.json b/src/generated/resources/assets/tfmg/models/item/propylene_bucket.json new file mode 100644 index 00000000..a5fb2a0c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/propylene_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/propylene_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/pumpjack_base.json b/src/generated/resources/assets/tfmg/models/item/pumpjack_base.json new file mode 100644 index 00000000..1a527608 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/pumpjack_base.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/pumpjack_base/block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/pumpjack_crank.json b/src/generated/resources/assets/tfmg/models/item/pumpjack_crank.json new file mode 100644 index 00000000..d8221ba0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/pumpjack_crank.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/pumpjack_crank" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/pumpjack_hammer.json b/src/generated/resources/assets/tfmg/models/item/pumpjack_hammer.json new file mode 100644 index 00000000..df711b4b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/pumpjack_hammer.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/pumpjack_hammer/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/pumpjack_hammer_connector.json b/src/generated/resources/assets/tfmg/models/item/pumpjack_hammer_connector.json new file mode 100644 index 00000000..ddc0b3f3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/pumpjack_hammer_connector.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/pumpjack_hammer_connector" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/pumpjack_hammer_head.json b/src/generated/resources/assets/tfmg/models/item/pumpjack_hammer_head.json new file mode 100644 index 00000000..b24944e2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/pumpjack_hammer_head.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/pumpjack_hammer_head" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/pumpjack_hammer_part.json b/src/generated/resources/assets/tfmg/models/item/pumpjack_hammer_part.json new file mode 100644 index 00000000..1bf99df2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/pumpjack_hammer_part.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/pumpjack_hammer_part" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/purple_caution_block.json b/src/generated/resources/assets/tfmg/models/item/purple_caution_block.json new file mode 100644 index 00000000..d7cd43fa --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/purple_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/purple_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/purple_concrete.json b/src/generated/resources/assets/tfmg/models/item/purple_concrete.json new file mode 100644 index 00000000..635f4471 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/purple_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/purple_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/purple_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/purple_concrete_slab.json new file mode 100644 index 00000000..c6cd8d39 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/purple_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/purple_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/purple_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/purple_concrete_stairs.json new file mode 100644 index 00000000..96d3f159 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/purple_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/purple_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/purple_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/purple_concrete_wall.json new file mode 100644 index 00000000..1f06160e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/purple_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/purple_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/purple_multimeter.json b/src/generated/resources/assets/tfmg/models/item/purple_multimeter.json new file mode 100644 index 00000000..f60d182a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/purple_multimeter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/purple_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/purple_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/item/purple_rebar_concrete.json new file mode 100644 index 00000000..aba51f67 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/purple_rebar_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/purple_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/purple_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/purple_rebar_concrete_slab.json new file mode 100644 index 00000000..c6cd8d39 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/purple_rebar_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/purple_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/purple_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/purple_rebar_concrete_stairs.json new file mode 100644 index 00000000..96d3f159 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/purple_rebar_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/purple_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/purple_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/purple_rebar_concrete_wall.json new file mode 100644 index 00000000..1f06160e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/purple_rebar_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/purple_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/quad_potato_cannon.json b/src/generated/resources/assets/tfmg/models/item/quad_potato_cannon.json new file mode 100644 index 00000000..b3994b33 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/quad_potato_cannon.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:item/quad_potato_cannon/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/radial_engine.json b/src/generated/resources/assets/tfmg/models/item/radial_engine.json new file mode 100644 index 00000000..e8fe8713 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/radial_engine.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/radial_engine/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/raw_lead.json b/src/generated/resources/assets/tfmg/models/item/raw_lead.json new file mode 100644 index 00000000..c7cd0eb1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/raw_lead.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/raw_lead" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/raw_lead_block.json b/src/generated/resources/assets/tfmg/models/item/raw_lead_block.json new file mode 100644 index 00000000..dd7dc78d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/raw_lead_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/raw_lead_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/raw_lithium.json b/src/generated/resources/assets/tfmg/models/item/raw_lithium.json new file mode 100644 index 00000000..d05e9d93 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/raw_lithium.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/raw_lithium" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/raw_lithium_block.json b/src/generated/resources/assets/tfmg/models/item/raw_lithium_block.json new file mode 100644 index 00000000..49d5cf92 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/raw_lithium_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/raw_lithium_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/raw_nickel.json b/src/generated/resources/assets/tfmg/models/item/raw_nickel.json new file mode 100644 index 00000000..b500ea60 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/raw_nickel.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/raw_nickel" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/raw_nickel_block.json b/src/generated/resources/assets/tfmg/models/item/raw_nickel_block.json new file mode 100644 index 00000000..3115dde5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/raw_nickel_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/raw_nickel_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/rebar.json b/src/generated/resources/assets/tfmg/models/item/rebar.json new file mode 100644 index 00000000..c80fde9a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/rebar.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/rebar" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/rebar_block.json b/src/generated/resources/assets/tfmg/models/item/rebar_block.json new file mode 100644 index 00000000..8683272a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/rebar_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/rebar_block/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/rebar_concrete.json b/src/generated/resources/assets/tfmg/models/item/rebar_concrete.json new file mode 100644 index 00000000..6719be4b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/rebar_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/rebar_concrete_slab.json new file mode 100644 index 00000000..52c2712a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/rebar_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/rebar_concrete_stairs.json new file mode 100644 index 00000000..9f8084dc --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/rebar_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/rebar_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/rebar_concrete_wall.json new file mode 100644 index 00000000..778708ce --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/rebar_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/rebar_floor.json b/src/generated/resources/assets/tfmg/models/item/rebar_floor.json new file mode 100644 index 00000000..a05612ba --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/rebar_floor.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/rebar_floor/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/rebar_pile.json b/src/generated/resources/assets/tfmg/models/item/rebar_pile.json new file mode 100644 index 00000000..9fb805f7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/rebar_pile.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/rebar_pile/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/rebar_pillar.json b/src/generated/resources/assets/tfmg/models/item/rebar_pillar.json new file mode 100644 index 00000000..91924ff9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/rebar_pillar.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/rebar_pillar/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/rebar_stairs.json b/src/generated/resources/assets/tfmg/models/item/rebar_stairs.json new file mode 100644 index 00000000..8896ba1c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/rebar_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/rebar_stairs/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/rebar_wall.json b/src/generated/resources/assets/tfmg/models/item/rebar_wall.json new file mode 100644 index 00000000..561bab71 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/rebar_wall.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/rebar_wall/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/red_caution_block.json b/src/generated/resources/assets/tfmg/models/item/red_caution_block.json new file mode 100644 index 00000000..21024859 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/red_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/red_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/red_concrete.json b/src/generated/resources/assets/tfmg/models/item/red_concrete.json new file mode 100644 index 00000000..657d6752 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/red_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/red_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/red_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/red_concrete_slab.json new file mode 100644 index 00000000..32b2cbba --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/red_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/red_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/red_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/red_concrete_stairs.json new file mode 100644 index 00000000..0e1eb0bc --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/red_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/red_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/red_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/red_concrete_wall.json new file mode 100644 index 00000000..83a6814e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/red_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/red_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/red_multimeter.json b/src/generated/resources/assets/tfmg/models/item/red_multimeter.json new file mode 100644 index 00000000..3d16e1a1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/red_multimeter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/red_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/red_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/item/red_rebar_concrete.json new file mode 100644 index 00000000..b73831c9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/red_rebar_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/red_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/red_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/red_rebar_concrete_slab.json new file mode 100644 index 00000000..32b2cbba --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/red_rebar_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/red_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/red_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/red_rebar_concrete_stairs.json new file mode 100644 index 00000000..0e1eb0bc --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/red_rebar_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/red_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/red_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/red_rebar_concrete_wall.json new file mode 100644 index 00000000..83a6814e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/red_rebar_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/red_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/regular_engine.json b/src/generated/resources/assets/tfmg/models/item/regular_engine.json new file mode 100644 index 00000000..e81cfc18 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/regular_engine.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/regular_engine/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/resistor.json b/src/generated/resources/assets/tfmg/models/item/resistor.json new file mode 100644 index 00000000..b99586c2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/resistor.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/resistor/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/rotor.json b/src/generated/resources/assets/tfmg/models/item/rotor.json new file mode 100644 index 00000000..fe6bbb13 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/rotor.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/rotor/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/rubber_sheet.json b/src/generated/resources/assets/tfmg/models/item/rubber_sheet.json new file mode 100644 index 00000000..0e59e9ab --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/rubber_sheet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/rubber_sheet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/rusted_blast_furnace_reinforcement.json b/src/generated/resources/assets/tfmg/models/item/rusted_blast_furnace_reinforcement.json new file mode 100644 index 00000000..689e3859 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/rusted_blast_furnace_reinforcement.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/rusted_blast_furnace_reinforcement" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/screw.json b/src/generated/resources/assets/tfmg/models/item/screw.json new file mode 100644 index 00000000..654db24b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/screw.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/screw" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/screwdriver.json b/src/generated/resources/assets/tfmg/models/item/screwdriver.json new file mode 100644 index 00000000..b7ec5704 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/screwdriver.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/screwdriver" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/segmented_display.json b/src/generated/resources/assets/tfmg/models/item/segmented_display.json new file mode 100644 index 00000000..f73cd861 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/segmented_display.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/segmented_display/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/silicon_ingot.json b/src/generated/resources/assets/tfmg/models/item/silicon_ingot.json new file mode 100644 index 00000000..6df081a6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/silicon_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/silicon_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/simple_engine_cylinder.json b/src/generated/resources/assets/tfmg/models/item/simple_engine_cylinder.json new file mode 100644 index 00000000..6c8f198f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/simple_engine_cylinder.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/simple_engine_cylinder" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/simple_large_engine.json b/src/generated/resources/assets/tfmg/models/item/simple_large_engine.json new file mode 100644 index 00000000..a02f6f37 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/simple_large_engine.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/simple_large_engine/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/slag.json b/src/generated/resources/assets/tfmg/models/item/slag.json new file mode 100644 index 00000000..aa85a885 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/slag.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/slag" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/slag_block.json b/src/generated/resources/assets/tfmg/models/item/slag_block.json new file mode 100644 index 00000000..975656b3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/slag_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/slag_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/slag_bricks.json b/src/generated/resources/assets/tfmg/models/item/slag_bricks.json new file mode 100644 index 00000000..e7f8085c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/slag_bricks.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/slag_bricks" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/small_bauxite_brick_slab.json b/src/generated/resources/assets/tfmg/models/item/small_bauxite_brick_slab.json new file mode 100644 index 00000000..53e0492a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/small_bauxite_brick_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/small_bauxite_brick_slab" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/small_bauxite_brick_stairs.json b/src/generated/resources/assets/tfmg/models/item/small_bauxite_brick_stairs.json new file mode 100644 index 00000000..b01f7981 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/small_bauxite_brick_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/small_bauxite_brick_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/small_bauxite_brick_wall.json b/src/generated/resources/assets/tfmg/models/item/small_bauxite_brick_wall.json new file mode 100644 index 00000000..28241ead --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/small_bauxite_brick_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/palettes/stone_types/small_brick/bauxite_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/small_bauxite_bricks.json b/src/generated/resources/assets/tfmg/models/item/small_bauxite_bricks.json new file mode 100644 index 00000000..04d4b668 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/small_bauxite_bricks.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/small_bauxite_bricks" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/small_galena_brick_slab.json b/src/generated/resources/assets/tfmg/models/item/small_galena_brick_slab.json new file mode 100644 index 00000000..636c4d22 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/small_galena_brick_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/small_galena_brick_slab" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/small_galena_brick_stairs.json b/src/generated/resources/assets/tfmg/models/item/small_galena_brick_stairs.json new file mode 100644 index 00000000..fc92daf5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/small_galena_brick_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/small_galena_brick_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/small_galena_brick_wall.json b/src/generated/resources/assets/tfmg/models/item/small_galena_brick_wall.json new file mode 100644 index 00000000..ddcb2c93 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/small_galena_brick_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/palettes/stone_types/small_brick/galena_cut_small_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/small_galena_bricks.json b/src/generated/resources/assets/tfmg/models/item/small_galena_bricks.json new file mode 100644 index 00000000..2bd1b663 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/small_galena_bricks.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/small_galena_bricks" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/spark_plug.json b/src/generated/resources/assets/tfmg/models/item/spark_plug.json new file mode 100644 index 00000000..0d963d61 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/spark_plug.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/spark_plug" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/stator.json b/src/generated/resources/assets/tfmg/models/item/stator.json new file mode 100644 index 00000000..51741634 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/stator.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/stator/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_axe.json b/src/generated/resources/assets/tfmg/models/item/steel_axe.json new file mode 100644 index 00000000..9e4e5ef1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/steel_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_bars.json b/src/generated/resources/assets/tfmg/models/item/steel_bars.json new file mode 100644 index 00000000..31be2e79 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_bars.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:item/bars", + "textures": { + "bars": "tfmg:block/bars/steel_bars", + "edge": "tfmg:block/bars/steel_bars_edge" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_block.json b/src/generated/resources/assets/tfmg/models/item/steel_block.json new file mode 100644 index 00000000..66066a02 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_cable_hub.json b/src/generated/resources/assets/tfmg/models/item/steel_cable_hub.json new file mode 100644 index 00000000..e484299f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_cable_hub.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_cable_hub" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_casing.json b/src/generated/resources/assets/tfmg/models/item/steel_casing.json new file mode 100644 index 00000000..2368c472 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_casing.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_casing" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_casing_cable_hub.json b/src/generated/resources/assets/tfmg/models/item/steel_casing_cable_hub.json new file mode 100644 index 00000000..8a1deafd --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_casing_cable_hub.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_casing_cable_hub" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_chemical_vat.json b/src/generated/resources/assets/tfmg/models/item/steel_chemical_vat.json new file mode 100644 index 00000000..5c237f57 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_chemical_vat.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_chemical_vat/block_single_window" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_cogwheel.json b/src/generated/resources/assets/tfmg/models/item/steel_cogwheel.json new file mode 100644 index 00000000..21570530 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_cogwheel.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_cogwheel" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_distillation_controller.json b/src/generated/resources/assets/tfmg/models/item/steel_distillation_controller.json new file mode 100644 index 00000000..95930b56 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_distillation_controller.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_distillation_controller" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_distillation_output.json b/src/generated/resources/assets/tfmg/models/item/steel_distillation_output.json new file mode 100644 index 00000000..48a28014 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_distillation_output.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_distillation_output/block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_door.json b/src/generated/resources/assets/tfmg/models/item/steel_door.json new file mode 100644 index 00000000..7c2721eb --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_door.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/steel_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_encased_aluminum_cogwheel.json b/src/generated/resources/assets/tfmg/models/item/steel_encased_aluminum_cogwheel.json new file mode 100644 index 00000000..daf71b24 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_encased_aluminum_cogwheel.json @@ -0,0 +1,9 @@ +{ + "parent": "tfmg:block/encased_cogwheel/item", + "textures": { + "1": "tfmg:block/steel_casing", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_encased_large_aluminum_cogwheel.json b/src/generated/resources/assets/tfmg/models/item/steel_encased_large_aluminum_cogwheel.json new file mode 100644 index 00000000..c2a01eb6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_encased_large_aluminum_cogwheel.json @@ -0,0 +1,9 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/item", + "textures": { + "1": "tfmg:block/steel_casing", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_encased_large_steel_cogwheel.json b/src/generated/resources/assets/tfmg/models/item/steel_encased_large_steel_cogwheel.json new file mode 100644 index 00000000..c2a01eb6 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_encased_large_steel_cogwheel.json @@ -0,0 +1,9 @@ +{ + "parent": "tfmg:block/encased_large_cogwheel/item", + "textures": { + "1": "tfmg:block/steel_casing", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side_large" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_encased_shaft.json b/src/generated/resources/assets/tfmg/models/item/steel_encased_shaft.json new file mode 100644 index 00000000..6c040ed5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_encased_shaft.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/encased_shaft/item_steel" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_encased_steel_cogwheel.json b/src/generated/resources/assets/tfmg/models/item/steel_encased_steel_cogwheel.json new file mode 100644 index 00000000..daf71b24 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_encased_steel_cogwheel.json @@ -0,0 +1,9 @@ +{ + "parent": "tfmg:block/encased_cogwheel/item", + "textures": { + "1": "tfmg:block/steel_casing", + "casing": "tfmg:block/steel_casing", + "particle": "tfmg:block/steel_casing", + "side": "tfmg:block/steel_encased_cogwheel_side" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_fluid_tank.json b/src/generated/resources/assets/tfmg/models/item/steel_fluid_tank.json new file mode 100644 index 00000000..06dfc437 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_fluid_tank.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_fluid_tank/block_single_window" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_flywheel.json b/src/generated/resources/assets/tfmg/models/item/steel_flywheel.json new file mode 100644 index 00000000..992247c4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_flywheel.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_flywheel/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_frame.json b/src/generated/resources/assets/tfmg/models/item/steel_frame.json new file mode 100644 index 00000000..b0e141f8 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_frame.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_frame/block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_gearbox.json b/src/generated/resources/assets/tfmg/models/item/steel_gearbox.json new file mode 100644 index 00000000..7089a7e4 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_gearbox.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_gearbox/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_hoe.json b/src/generated/resources/assets/tfmg/models/item/steel_hoe.json new file mode 100644 index 00000000..da38cf54 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_hoe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/steel_hoe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_ingot.json b/src/generated/resources/assets/tfmg/models/item/steel_ingot.json new file mode 100644 index 00000000..4c02092e --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/steel_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_ladder.json b/src/generated/resources/assets/tfmg/models/item/steel_ladder.json new file mode 100644 index 00000000..e73bca6a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_ladder.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:block/ladder_steel" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_mechanical_pump.json b/src/generated/resources/assets/tfmg/models/item/steel_mechanical_pump.json new file mode 100644 index 00000000..81817e44 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_mechanical_pump.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_mechanical_pump/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_mechanism.json b/src/generated/resources/assets/tfmg/models/item/steel_mechanism.json new file mode 100644 index 00000000..f0d7edac --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_mechanism.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/steel_mechanism" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_nugget.json b/src/generated/resources/assets/tfmg/models/item/steel_nugget.json new file mode 100644 index 00000000..f0a0d582 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_nugget.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/steel_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_pickaxe.json b/src/generated/resources/assets/tfmg/models/item/steel_pickaxe.json new file mode 100644 index 00000000..4ca1b71f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/steel_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_pipe.json b/src/generated/resources/assets/tfmg/models/item/steel_pipe.json new file mode 100644 index 00000000..2fe21a63 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_pipe.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_pipe/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_scaffolding.json b/src/generated/resources/assets/tfmg/models/item/steel_scaffolding.json new file mode 100644 index 00000000..d70aab75 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_scaffolding.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_scaffolding" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_shovel.json b/src/generated/resources/assets/tfmg/models/item/steel_shovel.json new file mode 100644 index 00000000..a49074d7 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_shovel.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/steel_shovel" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_smart_fluid_pipe.json b/src/generated/resources/assets/tfmg/models/item/steel_smart_fluid_pipe.json new file mode 100644 index 00000000..bbd5ad5d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_smart_fluid_pipe.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_smart_fluid_pipe/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_sword.json b/src/generated/resources/assets/tfmg/models/item/steel_sword.json new file mode 100644 index 00000000..743d06f0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "tfmg:item/steel_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_trapdoor.json b/src/generated/resources/assets/tfmg/models/item/steel_trapdoor.json new file mode 100644 index 00000000..acff829d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_trapdoor.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_trapdoor" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_truss.json b/src/generated/resources/assets/tfmg/models/item/steel_truss.json new file mode 100644 index 00000000..d1f0da0d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_truss.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_truss" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_vertical_gearbox.json b/src/generated/resources/assets/tfmg/models/item/steel_vertical_gearbox.json new file mode 100644 index 00000000..65177f01 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_vertical_gearbox.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_gearbox/item_vertical" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/sulfur.json b/src/generated/resources/assets/tfmg/models/item/sulfur.json new file mode 100644 index 00000000..f70095c3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/sulfur.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/sulfur" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/sulfur_dust.json b/src/generated/resources/assets/tfmg/models/item/sulfur_dust.json new file mode 100644 index 00000000..436517cc --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/sulfur_dust.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/sulfur_dust" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/sulfuric_acid_bucket.json b/src/generated/resources/assets/tfmg/models/item/sulfuric_acid_bucket.json new file mode 100644 index 00000000..a6934d14 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/sulfuric_acid_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/sulfuric_acid_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/surface_scanner.json b/src/generated/resources/assets/tfmg/models/item/surface_scanner.json new file mode 100644 index 00000000..a3096218 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/surface_scanner.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/surface_scanner/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/synthetic_leather.json b/src/generated/resources/assets/tfmg/models/item/synthetic_leather.json new file mode 100644 index 00000000..b7856a61 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/synthetic_leather.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/synthetic_leather" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/synthetic_string.json b/src/generated/resources/assets/tfmg/models/item/synthetic_string.json new file mode 100644 index 00000000..58ca2037 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/synthetic_string.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/synthetic_string" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/thermite_grenade.json b/src/generated/resources/assets/tfmg/models/item/thermite_grenade.json new file mode 100644 index 00000000..b1d03422 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/thermite_grenade.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/thermite_grenade" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/thermite_powder.json b/src/generated/resources/assets/tfmg/models/item/thermite_powder.json new file mode 100644 index 00000000..6f286eaa --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/thermite_powder.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/thermite_powder" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/traffic_light.json b/src/generated/resources/assets/tfmg/models/item/traffic_light.json new file mode 100644 index 00000000..cf3a6b11 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/traffic_light.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/traffic_light/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/transformer.json b/src/generated/resources/assets/tfmg/models/item/transformer.json new file mode 100644 index 00000000..7b2403ba --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/transformer.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/transformer/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/transistor_item.json b/src/generated/resources/assets/tfmg/models/item/transistor_item.json new file mode 100644 index 00000000..8792a456 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/transistor_item.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/transistor_item" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/transmission.json b/src/generated/resources/assets/tfmg/models/item/transmission.json new file mode 100644 index 00000000..5c789f9f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/transmission.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:item/transmission_model" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/turbine_blade.json b/src/generated/resources/assets/tfmg/models/item/turbine_blade.json new file mode 100644 index 00000000..82ced20d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/turbine_blade.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/turbine_blade" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/turbine_engine.json b/src/generated/resources/assets/tfmg/models/item/turbine_engine.json new file mode 100644 index 00000000..1a7f9634 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/turbine_engine.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/turbine_engine/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/turbo.json b/src/generated/resources/assets/tfmg/models/item/turbo.json new file mode 100644 index 00000000..92f0a9a0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/turbo.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/turbo" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/unfinished_capacitor.json b/src/generated/resources/assets/tfmg/models/item/unfinished_capacitor.json new file mode 100644 index 00000000..fcb8af29 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/unfinished_capacitor.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/unfinished_capacitor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/unfinished_circuit_board.json b/src/generated/resources/assets/tfmg/models/item/unfinished_circuit_board.json new file mode 100644 index 00000000..1876fb7b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/unfinished_circuit_board.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/unfinished_circuit_board" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/unfinished_electric_motor.json b/src/generated/resources/assets/tfmg/models/item/unfinished_electric_motor.json new file mode 100644 index 00000000..7e6ddade --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/unfinished_electric_motor.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/electric_motor/unfinished" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/unfinished_electromagnetic_coil.json b/src/generated/resources/assets/tfmg/models/item/unfinished_electromagnetic_coil.json new file mode 100644 index 00000000..ba19245b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/unfinished_electromagnetic_coil.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/unfinished_electromagnetic_coil" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/unfinished_generator.json b/src/generated/resources/assets/tfmg/models/item/unfinished_generator.json new file mode 100644 index 00000000..6d018204 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/unfinished_generator.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:item/unfinished_generator_model" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/unfinished_insulator.json b/src/generated/resources/assets/tfmg/models/item/unfinished_insulator.json new file mode 100644 index 00000000..0dab0b56 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/unfinished_insulator.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:item/unfinished_insulator_model" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/unfinished_potentiometer.json b/src/generated/resources/assets/tfmg/models/item/unfinished_potentiometer.json new file mode 100644 index 00000000..e2301077 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/unfinished_potentiometer.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/potentiometer/unfinished" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/unfinished_resistor.json b/src/generated/resources/assets/tfmg/models/item/unfinished_resistor.json new file mode 100644 index 00000000..fdd2b076 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/unfinished_resistor.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/unfinished_resistor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/unfinished_steel_mechanism.json b/src/generated/resources/assets/tfmg/models/item/unfinished_steel_mechanism.json new file mode 100644 index 00000000..e24f8d7b --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/unfinished_steel_mechanism.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/unfinished_steel_mechanism" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/unfinished_transistor.json b/src/generated/resources/assets/tfmg/models/item/unfinished_transistor.json new file mode 100644 index 00000000..41b4aea2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/unfinished_transistor.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/unfinished_transistor" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/unfired_insulator.json b/src/generated/resources/assets/tfmg/models/item/unfired_insulator.json new file mode 100644 index 00000000..2aaf702f --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/unfired_insulator.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:item/unfired_insulator_model" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/unprocessed_heavy_plate.json b/src/generated/resources/assets/tfmg/models/item/unprocessed_heavy_plate.json new file mode 100644 index 00000000..752534ee --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/unprocessed_heavy_plate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/unprocessed_heavy_plate" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/voltage_observer.json b/src/generated/resources/assets/tfmg/models/item/voltage_observer.json new file mode 100644 index 00000000..3afb3291 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/voltage_observer.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/voltage_observer/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/voltmeter.json b/src/generated/resources/assets/tfmg/models/item/voltmeter.json new file mode 100644 index 00000000..9c3ba015 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/voltmeter.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/voltmeter/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/white_caution_block.json b/src/generated/resources/assets/tfmg/models/item/white_caution_block.json new file mode 100644 index 00000000..c60b8579 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/white_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/white_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/white_concrete.json b/src/generated/resources/assets/tfmg/models/item/white_concrete.json new file mode 100644 index 00000000..0540b9d9 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/white_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/white_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/white_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/white_concrete_slab.json new file mode 100644 index 00000000..4ad65670 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/white_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/white_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/white_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/white_concrete_stairs.json new file mode 100644 index 00000000..b41709a2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/white_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/white_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/white_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/white_concrete_wall.json new file mode 100644 index 00000000..53100f34 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/white_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/white_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/white_multimeter.json b/src/generated/resources/assets/tfmg/models/item/white_multimeter.json new file mode 100644 index 00000000..f10cf8bf --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/white_multimeter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/white_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/white_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/item/white_rebar_concrete.json new file mode 100644 index 00000000..72c728ea --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/white_rebar_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/white_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/white_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/white_rebar_concrete_slab.json new file mode 100644 index 00000000..4ad65670 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/white_rebar_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/white_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/white_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/white_rebar_concrete_stairs.json new file mode 100644 index 00000000..b41709a2 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/white_rebar_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/white_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/white_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/white_rebar_concrete_wall.json new file mode 100644 index 00000000..53100f34 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/white_rebar_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/white_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/winding_machine.json b/src/generated/resources/assets/tfmg/models/item/winding_machine.json new file mode 100644 index 00000000..a2a472c3 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/winding_machine.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/winding_machine/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/yellow_caution_block.json b/src/generated/resources/assets/tfmg/models/item/yellow_caution_block.json new file mode 100644 index 00000000..f2f54bd0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/yellow_caution_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/yellow_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/yellow_concrete.json b/src/generated/resources/assets/tfmg/models/item/yellow_concrete.json new file mode 100644 index 00000000..58d4b828 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/yellow_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/yellow_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/yellow_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/yellow_concrete_slab.json new file mode 100644 index 00000000..330134fa --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/yellow_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/yellow_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/yellow_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/yellow_concrete_stairs.json new file mode 100644 index 00000000..44f43393 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/yellow_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/yellow_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/yellow_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/yellow_concrete_wall.json new file mode 100644 index 00000000..01962c00 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/yellow_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/yellow_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/yellow_multimeter.json b/src/generated/resources/assets/tfmg/models/item/yellow_multimeter.json new file mode 100644 index 00000000..d945983d --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/yellow_multimeter.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/yellow_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/yellow_rebar_concrete.json b/src/generated/resources/assets/tfmg/models/item/yellow_rebar_concrete.json new file mode 100644 index 00000000..b9c2f813 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/yellow_rebar_concrete.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/yellow_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/yellow_rebar_concrete_slab.json b/src/generated/resources/assets/tfmg/models/item/yellow_rebar_concrete_slab.json new file mode 100644 index 00000000..330134fa --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/yellow_rebar_concrete_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/yellow_concrete_bottom" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/yellow_rebar_concrete_stairs.json b/src/generated/resources/assets/tfmg/models/item/yellow_rebar_concrete_stairs.json new file mode 100644 index 00000000..44f43393 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/yellow_rebar_concrete_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/yellow_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/yellow_rebar_concrete_wall.json b/src/generated/resources/assets/tfmg/models/item/yellow_rebar_concrete_wall.json new file mode 100644 index 00000000..01962c00 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/yellow_rebar_concrete_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "tfmg:block/yellow_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/zinc_electrode.json b/src/generated/resources/assets/tfmg/models/item/zinc_electrode.json new file mode 100644 index 00000000..325ec756 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/zinc_electrode.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:item/zinc_electrode_model" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/zinc_frame.json b/src/generated/resources/assets/tfmg/models/item/zinc_frame.json new file mode 100644 index 00000000..16996c6c --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/zinc_frame.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/zinc_frame/block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/zinc_grenade.json b/src/generated/resources/assets/tfmg/models/item/zinc_grenade.json new file mode 100644 index 00000000..2b57c349 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/zinc_grenade.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/zinc_grenade" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/zinc_truss.json b/src/generated/resources/assets/tfmg/models/item/zinc_truss.json new file mode 100644 index 00000000..810efe2a --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/zinc_truss.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/zinc_truss" +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/block/concrete.json b/src/generated/resources/data/c/tags/block/concrete.json new file mode 100644 index 00000000..4fa61502 --- /dev/null +++ b/src/generated/resources/data/c/tags/block/concrete.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:concrete", + "tfmg:rebar_concrete" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/block/ores.json b/src/generated/resources/data/c/tags/block/ores.json new file mode 100644 index 00000000..20d648fe --- /dev/null +++ b/src/generated/resources/data/c/tags/block/ores.json @@ -0,0 +1,10 @@ +{ + "values": [ + "tfmg:lead_ore", + "tfmg:deepslate_lead_ore", + "tfmg:nickel_ore", + "tfmg:deepslate_nickel_ore", + "tfmg:lithium_ore", + "tfmg:deepslate_lithium_ore" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/block/ores/lead.json b/src/generated/resources/data/c/tags/block/ores/lead.json new file mode 100644 index 00000000..264048ac --- /dev/null +++ b/src/generated/resources/data/c/tags/block/ores/lead.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:lead_ore", + "tfmg:deepslate_lead_ore" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/block/ores/lithium.json b/src/generated/resources/data/c/tags/block/ores/lithium.json new file mode 100644 index 00000000..396a2d05 --- /dev/null +++ b/src/generated/resources/data/c/tags/block/ores/lithium.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:lithium_ore", + "tfmg:deepslate_lithium_ore" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/block/ores/nickel.json b/src/generated/resources/data/c/tags/block/ores/nickel.json new file mode 100644 index 00000000..ddc59df5 --- /dev/null +++ b/src/generated/resources/data/c/tags/block/ores/nickel.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:nickel_ore", + "tfmg:deepslate_nickel_ore" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/block/ores_in_ground/deepslate.json b/src/generated/resources/data/c/tags/block/ores_in_ground/deepslate.json new file mode 100644 index 00000000..3931b56e --- /dev/null +++ b/src/generated/resources/data/c/tags/block/ores_in_ground/deepslate.json @@ -0,0 +1,7 @@ +{ + "values": [ + "tfmg:deepslate_lead_ore", + "tfmg:deepslate_nickel_ore", + "tfmg:deepslate_lithium_ore" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/block/ores_in_ground/stone.json b/src/generated/resources/data/c/tags/block/ores_in_ground/stone.json new file mode 100644 index 00000000..bc683351 --- /dev/null +++ b/src/generated/resources/data/c/tags/block/ores_in_ground/stone.json @@ -0,0 +1,7 @@ +{ + "values": [ + "tfmg:lead_ore", + "tfmg:nickel_ore", + "tfmg:lithium_ore" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/block/storage_blocks.json b/src/generated/resources/data/c/tags/block/storage_blocks.json new file mode 100644 index 00000000..1499a549 --- /dev/null +++ b/src/generated/resources/data/c/tags/block/storage_blocks.json @@ -0,0 +1,16 @@ +{ + "values": [ + "tfmg:raw_nickel_block", + "tfmg:raw_lead_block", + "tfmg:raw_lithium_block", + "tfmg:steel_block", + "tfmg:cast_iron_block", + "tfmg:aluminum_block", + "tfmg:plastic_block", + "tfmg:lead_block", + "tfmg:constantan_block", + "tfmg:nickel_block", + "tfmg:lithium_block", + "tfmg:coal_coke_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/block/storage_blocks/aluminum.json b/src/generated/resources/data/c/tags/block/storage_blocks/aluminum.json new file mode 100644 index 00000000..a88e7648 --- /dev/null +++ b/src/generated/resources/data/c/tags/block/storage_blocks/aluminum.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:aluminum_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/block/storage_blocks/cast_iron.json b/src/generated/resources/data/c/tags/block/storage_blocks/cast_iron.json new file mode 100644 index 00000000..498da03a --- /dev/null +++ b/src/generated/resources/data/c/tags/block/storage_blocks/cast_iron.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:cast_iron_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/block/storage_blocks/coal_coke.json b/src/generated/resources/data/c/tags/block/storage_blocks/coal_coke.json new file mode 100644 index 00000000..5490b710 --- /dev/null +++ b/src/generated/resources/data/c/tags/block/storage_blocks/coal_coke.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:coal_coke_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/block/storage_blocks/constantan.json b/src/generated/resources/data/c/tags/block/storage_blocks/constantan.json new file mode 100644 index 00000000..625838b4 --- /dev/null +++ b/src/generated/resources/data/c/tags/block/storage_blocks/constantan.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:constantan_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/block/storage_blocks/lead.json b/src/generated/resources/data/c/tags/block/storage_blocks/lead.json new file mode 100644 index 00000000..aac1dd9c --- /dev/null +++ b/src/generated/resources/data/c/tags/block/storage_blocks/lead.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:lead_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/block/storage_blocks/lithium.json b/src/generated/resources/data/c/tags/block/storage_blocks/lithium.json new file mode 100644 index 00000000..bc9a4fd3 --- /dev/null +++ b/src/generated/resources/data/c/tags/block/storage_blocks/lithium.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:lithium_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/block/storage_blocks/nickel.json b/src/generated/resources/data/c/tags/block/storage_blocks/nickel.json new file mode 100644 index 00000000..ec57e0a0 --- /dev/null +++ b/src/generated/resources/data/c/tags/block/storage_blocks/nickel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:nickel_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/block/storage_blocks/plastic.json b/src/generated/resources/data/c/tags/block/storage_blocks/plastic.json new file mode 100644 index 00000000..108f3f95 --- /dev/null +++ b/src/generated/resources/data/c/tags/block/storage_blocks/plastic.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:plastic_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/block/storage_blocks/raw_lead.json b/src/generated/resources/data/c/tags/block/storage_blocks/raw_lead.json new file mode 100644 index 00000000..41c1cbc2 --- /dev/null +++ b/src/generated/resources/data/c/tags/block/storage_blocks/raw_lead.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:raw_lead_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/block/storage_blocks/raw_lithium.json b/src/generated/resources/data/c/tags/block/storage_blocks/raw_lithium.json new file mode 100644 index 00000000..af200fbd --- /dev/null +++ b/src/generated/resources/data/c/tags/block/storage_blocks/raw_lithium.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:raw_lithium_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/block/storage_blocks/raw_nickel.json b/src/generated/resources/data/c/tags/block/storage_blocks/raw_nickel.json new file mode 100644 index 00000000..4e01dbfe --- /dev/null +++ b/src/generated/resources/data/c/tags/block/storage_blocks/raw_nickel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:raw_nickel_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/block/storage_blocks/steel.json b/src/generated/resources/data/c/tags/block/storage_blocks/steel.json new file mode 100644 index 00000000..72a5c238 --- /dev/null +++ b/src/generated/resources/data/c/tags/block/storage_blocks/steel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:steel_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/fluid/air.json b/src/generated/resources/data/c/tags/fluid/air.json new file mode 100644 index 00000000..05bfc412 --- /dev/null +++ b/src/generated/resources/data/c/tags/fluid/air.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:flowing_air", + "tfmg:air" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/fluid/cooling_fluid.json b/src/generated/resources/data/c/tags/fluid/cooling_fluid.json new file mode 100644 index 00000000..febb3cf7 --- /dev/null +++ b/src/generated/resources/data/c/tags/fluid/cooling_fluid.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:flowing_cooling_fluid", + "tfmg:cooling_fluid" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/fluid/creosote.json b/src/generated/resources/data/c/tags/fluid/creosote.json new file mode 100644 index 00000000..3fd3f79f --- /dev/null +++ b/src/generated/resources/data/c/tags/fluid/creosote.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:flowing_creosote", + "tfmg:creosote" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/fluid/crude_oil.json b/src/generated/resources/data/c/tags/fluid/crude_oil.json new file mode 100644 index 00000000..2da118ca --- /dev/null +++ b/src/generated/resources/data/c/tags/fluid/crude_oil.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:flowing_crude_oil", + "tfmg:crude_oil" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/fluid/diesel.json b/src/generated/resources/data/c/tags/fluid/diesel.json new file mode 100644 index 00000000..c5d97f81 --- /dev/null +++ b/src/generated/resources/data/c/tags/fluid/diesel.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:flowing_diesel", + "tfmg:diesel" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/fluid/fuel.json b/src/generated/resources/data/c/tags/fluid/fuel.json new file mode 100644 index 00000000..3d3f79ce --- /dev/null +++ b/src/generated/resources/data/c/tags/fluid/fuel.json @@ -0,0 +1,24 @@ +{ + "values": [ + "tfmg:flowing_lpg", + "tfmg:lpg", + "tfmg:flowing_butane", + "tfmg:butane", + "tfmg:flowing_propane", + "tfmg:propane", + "tfmg:flowing_hydrogen", + "tfmg:hydrogen", + "tfmg:flowing_furnace_gas", + "tfmg:furnace_gas", + "tfmg:flowing_gasoline", + "tfmg:gasoline", + "tfmg:flowing_diesel", + "tfmg:diesel", + "tfmg:flowing_naphtha", + "tfmg:naphtha", + "tfmg:flowing_kerosene", + "tfmg:kerosene", + "tfmg:flowing_creosote", + "tfmg:creosote" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/fluid/furnace_gas.json b/src/generated/resources/data/c/tags/fluid/furnace_gas.json new file mode 100644 index 00000000..0a368e9b --- /dev/null +++ b/src/generated/resources/data/c/tags/fluid/furnace_gas.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:flowing_furnace_gas", + "tfmg:furnace_gas" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/fluid/gasoline.json b/src/generated/resources/data/c/tags/fluid/gasoline.json new file mode 100644 index 00000000..ff85d4f5 --- /dev/null +++ b/src/generated/resources/data/c/tags/fluid/gasoline.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:flowing_gasoline", + "tfmg:gasoline" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/fluid/heavy_oil.json b/src/generated/resources/data/c/tags/fluid/heavy_oil.json new file mode 100644 index 00000000..646fe1c7 --- /dev/null +++ b/src/generated/resources/data/c/tags/fluid/heavy_oil.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:flowing_heavy_oil", + "tfmg:heavy_oil" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/fluid/kerosene.json b/src/generated/resources/data/c/tags/fluid/kerosene.json new file mode 100644 index 00000000..fe47fba0 --- /dev/null +++ b/src/generated/resources/data/c/tags/fluid/kerosene.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:flowing_kerosene", + "tfmg:kerosene" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/fluid/lpg.json b/src/generated/resources/data/c/tags/fluid/lpg.json new file mode 100644 index 00000000..2507b47b --- /dev/null +++ b/src/generated/resources/data/c/tags/fluid/lpg.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:flowing_lpg", + "tfmg:lpg" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/fluid/lubrication_oil.json b/src/generated/resources/data/c/tags/fluid/lubrication_oil.json new file mode 100644 index 00000000..396bffd0 --- /dev/null +++ b/src/generated/resources/data/c/tags/fluid/lubrication_oil.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:flowing_lubrication_oil", + "tfmg:lubrication_oil" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/fluid/molten_steel.json b/src/generated/resources/data/c/tags/fluid/molten_steel.json new file mode 100644 index 00000000..6e519e9b --- /dev/null +++ b/src/generated/resources/data/c/tags/fluid/molten_steel.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:flowing_molten_steel", + "tfmg:molten_steel" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/fluid/naphtha.json b/src/generated/resources/data/c/tags/fluid/naphtha.json new file mode 100644 index 00000000..6b5d7461 --- /dev/null +++ b/src/generated/resources/data/c/tags/fluid/naphtha.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:flowing_naphtha", + "tfmg:naphtha" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/air.json b/src/generated/resources/data/c/tags/item/buckets/air.json new file mode 100644 index 00000000..0aa9532c --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/air.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:air_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/butane.json b/src/generated/resources/data/c/tags/item/buckets/butane.json new file mode 100644 index 00000000..8e001916 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/butane.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:butane_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/carbon_dioxide.json b/src/generated/resources/data/c/tags/item/buckets/carbon_dioxide.json new file mode 100644 index 00000000..4cdf0c7e --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/carbon_dioxide.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:carbon_dioxide_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/cooling_fluid.json b/src/generated/resources/data/c/tags/item/buckets/cooling_fluid.json new file mode 100644 index 00000000..7dc01b5c --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/cooling_fluid.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:cooling_fluid_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/creosote.json b/src/generated/resources/data/c/tags/item/buckets/creosote.json new file mode 100644 index 00000000..b2875f8a --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/creosote.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:creosote_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/crude_oil.json b/src/generated/resources/data/c/tags/item/buckets/crude_oil.json new file mode 100644 index 00000000..e36bc724 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/crude_oil.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:crude_oil_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/diesel.json b/src/generated/resources/data/c/tags/item/buckets/diesel.json new file mode 100644 index 00000000..6d2f67b8 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/diesel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:diesel_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/ethylene.json b/src/generated/resources/data/c/tags/item/buckets/ethylene.json new file mode 100644 index 00000000..c32a8357 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/ethylene.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:ethylene_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/furnace_gas.json b/src/generated/resources/data/c/tags/item/buckets/furnace_gas.json new file mode 100644 index 00000000..951285bb --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/furnace_gas.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:furnace_gas_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/gasoline.json b/src/generated/resources/data/c/tags/item/buckets/gasoline.json new file mode 100644 index 00000000..15e9bfd3 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/gasoline.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:gasoline_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/heavy_oil.json b/src/generated/resources/data/c/tags/item/buckets/heavy_oil.json new file mode 100644 index 00000000..06f52293 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/heavy_oil.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:heavy_oil_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/hot_air.json b/src/generated/resources/data/c/tags/item/buckets/hot_air.json new file mode 100644 index 00000000..daf1be82 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/hot_air.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:hot_air_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/hydrogen.json b/src/generated/resources/data/c/tags/item/buckets/hydrogen.json new file mode 100644 index 00000000..30ee14e2 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/hydrogen.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:hydrogen_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/kerosene.json b/src/generated/resources/data/c/tags/item/buckets/kerosene.json new file mode 100644 index 00000000..f495b371 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/kerosene.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:kerosene_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/liquid_asphalt.json b/src/generated/resources/data/c/tags/item/buckets/liquid_asphalt.json new file mode 100644 index 00000000..6547ded6 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/liquid_asphalt.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:liquid_asphalt_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/liquid_concrete.json b/src/generated/resources/data/c/tags/item/buckets/liquid_concrete.json new file mode 100644 index 00000000..ba85f543 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/liquid_concrete.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:liquid_concrete_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/liquid_silicon.json b/src/generated/resources/data/c/tags/item/buckets/liquid_silicon.json new file mode 100644 index 00000000..ba6f2b50 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/liquid_silicon.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:liquid_silicon_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/lpg.json b/src/generated/resources/data/c/tags/item/buckets/lpg.json new file mode 100644 index 00000000..4dc74a2c --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/lpg.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:lpg_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/lubrication_oil.json b/src/generated/resources/data/c/tags/item/buckets/lubrication_oil.json new file mode 100644 index 00000000..b60bdf02 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/lubrication_oil.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:lubrication_oil_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/molten_plastic.json b/src/generated/resources/data/c/tags/item/buckets/molten_plastic.json new file mode 100644 index 00000000..154b9f06 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/molten_plastic.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:molten_plastic_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/molten_slag.json b/src/generated/resources/data/c/tags/item/buckets/molten_slag.json new file mode 100644 index 00000000..dd3b6a03 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/molten_slag.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:molten_slag_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/molten_steel.json b/src/generated/resources/data/c/tags/item/buckets/molten_steel.json new file mode 100644 index 00000000..126698d0 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/molten_steel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:molten_steel_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/napalm.json b/src/generated/resources/data/c/tags/item/buckets/napalm.json new file mode 100644 index 00000000..3a83f8d2 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/napalm.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:napalm_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/naphtha.json b/src/generated/resources/data/c/tags/item/buckets/naphtha.json new file mode 100644 index 00000000..0e1377dd --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/naphtha.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:naphtha_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/neon.json b/src/generated/resources/data/c/tags/item/buckets/neon.json new file mode 100644 index 00000000..c783dcbe --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/neon.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:neon_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/propane.json b/src/generated/resources/data/c/tags/item/buckets/propane.json new file mode 100644 index 00000000..9afa176a --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/propane.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:propane_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/propylene.json b/src/generated/resources/data/c/tags/item/buckets/propylene.json new file mode 100644 index 00000000..d0539bb5 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/propylene.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:propylene_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/buckets/sulfuric_acid.json b/src/generated/resources/data/c/tags/item/buckets/sulfuric_acid.json new file mode 100644 index 00000000..f78d21e1 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/buckets/sulfuric_acid.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:sulfuric_acid_bucket" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/concrete.json b/src/generated/resources/data/c/tags/item/concrete.json new file mode 100644 index 00000000..4fa61502 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/concrete.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:concrete", + "tfmg:rebar_concrete" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/dusts/coal_coke.json b/src/generated/resources/data/c/tags/item/dusts/coal_coke.json new file mode 100644 index 00000000..dddd0b09 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/dusts/coal_coke.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:coal_coke_dust" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/dusts/sulfur.json b/src/generated/resources/data/c/tags/item/dusts/sulfur.json new file mode 100644 index 00000000..27bba09c --- /dev/null +++ b/src/generated/resources/data/c/tags/item/dusts/sulfur.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:sulfur_dust" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/ingots/aluminum.json b/src/generated/resources/data/c/tags/item/ingots/aluminum.json new file mode 100644 index 00000000..3afcf4a8 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/ingots/aluminum.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:aluminum_ingot" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/ingots/cast_iron.json b/src/generated/resources/data/c/tags/item/ingots/cast_iron.json new file mode 100644 index 00000000..92e52e31 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/ingots/cast_iron.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:cast_iron_ingot" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/ingots/constantan.json b/src/generated/resources/data/c/tags/item/ingots/constantan.json new file mode 100644 index 00000000..00174cc1 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/ingots/constantan.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:constantan_ingot" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/ingots/lead.json b/src/generated/resources/data/c/tags/item/ingots/lead.json new file mode 100644 index 00000000..5b822dc6 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/ingots/lead.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:lead_ingot" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/ingots/lithium.json b/src/generated/resources/data/c/tags/item/ingots/lithium.json new file mode 100644 index 00000000..dd1a0897 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/ingots/lithium.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:lithium_ingot" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/ingots/nickel.json b/src/generated/resources/data/c/tags/item/ingots/nickel.json new file mode 100644 index 00000000..50327213 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/ingots/nickel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:nickel_ingot" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/ingots/plastic.json b/src/generated/resources/data/c/tags/item/ingots/plastic.json new file mode 100644 index 00000000..a6a9089a --- /dev/null +++ b/src/generated/resources/data/c/tags/item/ingots/plastic.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:plastic_sheet" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/ingots/rubber.json b/src/generated/resources/data/c/tags/item/ingots/rubber.json new file mode 100644 index 00000000..4edded48 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/ingots/rubber.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:rubber_sheet" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/ingots/silicon.json b/src/generated/resources/data/c/tags/item/ingots/silicon.json new file mode 100644 index 00000000..9c36530a --- /dev/null +++ b/src/generated/resources/data/c/tags/item/ingots/silicon.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:silicon_ingot" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/ingots/steel.json b/src/generated/resources/data/c/tags/item/ingots/steel.json new file mode 100644 index 00000000..be70e8ef --- /dev/null +++ b/src/generated/resources/data/c/tags/item/ingots/steel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:steel_ingot" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/leather.json b/src/generated/resources/data/c/tags/item/leather.json new file mode 100644 index 00000000..8325db53 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/leather.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:synthetic_leather" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/leathers.json b/src/generated/resources/data/c/tags/item/leathers.json new file mode 100644 index 00000000..8325db53 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/leathers.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:synthetic_leather" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/nuggets/aluminum.json b/src/generated/resources/data/c/tags/item/nuggets/aluminum.json new file mode 100644 index 00000000..99c7e5ff --- /dev/null +++ b/src/generated/resources/data/c/tags/item/nuggets/aluminum.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:aluminum_nugget" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/nuggets/cast_iron.json b/src/generated/resources/data/c/tags/item/nuggets/cast_iron.json new file mode 100644 index 00000000..685d68cc --- /dev/null +++ b/src/generated/resources/data/c/tags/item/nuggets/cast_iron.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:cast_iron_nugget" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/nuggets/constantan.json b/src/generated/resources/data/c/tags/item/nuggets/constantan.json new file mode 100644 index 00000000..9bc0860a --- /dev/null +++ b/src/generated/resources/data/c/tags/item/nuggets/constantan.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:constantan_nugget" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/nuggets/lead.json b/src/generated/resources/data/c/tags/item/nuggets/lead.json new file mode 100644 index 00000000..b9ebbfef --- /dev/null +++ b/src/generated/resources/data/c/tags/item/nuggets/lead.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:lead_nugget" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/nuggets/lithium.json b/src/generated/resources/data/c/tags/item/nuggets/lithium.json new file mode 100644 index 00000000..37e82f8a --- /dev/null +++ b/src/generated/resources/data/c/tags/item/nuggets/lithium.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:lithium_nugget" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/nuggets/nickel.json b/src/generated/resources/data/c/tags/item/nuggets/nickel.json new file mode 100644 index 00000000..b39f524d --- /dev/null +++ b/src/generated/resources/data/c/tags/item/nuggets/nickel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:nickel_nugget" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/nuggets/steel.json b/src/generated/resources/data/c/tags/item/nuggets/steel.json new file mode 100644 index 00000000..9d5ca9e6 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/nuggets/steel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:steel_nugget" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/ores.json b/src/generated/resources/data/c/tags/item/ores.json new file mode 100644 index 00000000..20d648fe --- /dev/null +++ b/src/generated/resources/data/c/tags/item/ores.json @@ -0,0 +1,10 @@ +{ + "values": [ + "tfmg:lead_ore", + "tfmg:deepslate_lead_ore", + "tfmg:nickel_ore", + "tfmg:deepslate_nickel_ore", + "tfmg:lithium_ore", + "tfmg:deepslate_lithium_ore" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/ores/lead.json b/src/generated/resources/data/c/tags/item/ores/lead.json new file mode 100644 index 00000000..264048ac --- /dev/null +++ b/src/generated/resources/data/c/tags/item/ores/lead.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:lead_ore", + "tfmg:deepslate_lead_ore" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/ores/lithium.json b/src/generated/resources/data/c/tags/item/ores/lithium.json new file mode 100644 index 00000000..396a2d05 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/ores/lithium.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:lithium_ore", + "tfmg:deepslate_lithium_ore" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/ores/nickel.json b/src/generated/resources/data/c/tags/item/ores/nickel.json new file mode 100644 index 00000000..ddc59df5 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/ores/nickel.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:nickel_ore", + "tfmg:deepslate_nickel_ore" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/ores_in_ground/deepslate.json b/src/generated/resources/data/c/tags/item/ores_in_ground/deepslate.json new file mode 100644 index 00000000..3931b56e --- /dev/null +++ b/src/generated/resources/data/c/tags/item/ores_in_ground/deepslate.json @@ -0,0 +1,7 @@ +{ + "values": [ + "tfmg:deepslate_lead_ore", + "tfmg:deepslate_nickel_ore", + "tfmg:deepslate_lithium_ore" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/ores_in_ground/stone.json b/src/generated/resources/data/c/tags/item/ores_in_ground/stone.json new file mode 100644 index 00000000..bc683351 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/ores_in_ground/stone.json @@ -0,0 +1,7 @@ +{ + "values": [ + "tfmg:lead_ore", + "tfmg:nickel_ore", + "tfmg:lithium_ore" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/plates/aluminum.json b/src/generated/resources/data/c/tags/item/plates/aluminum.json new file mode 100644 index 00000000..7f70c219 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/plates/aluminum.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:aluminum_sheet" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/plates/cast_iron.json b/src/generated/resources/data/c/tags/item/plates/cast_iron.json new file mode 100644 index 00000000..6aacf2fd --- /dev/null +++ b/src/generated/resources/data/c/tags/item/plates/cast_iron.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:cast_iron_sheet" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/plates/lead.json b/src/generated/resources/data/c/tags/item/plates/lead.json new file mode 100644 index 00000000..98b26132 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/plates/lead.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:lead_sheet" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/plates/nickel.json b/src/generated/resources/data/c/tags/item/plates/nickel.json new file mode 100644 index 00000000..ebc698c1 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/plates/nickel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:nickel_sheet" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/plates/steel.json b/src/generated/resources/data/c/tags/item/plates/steel.json new file mode 100644 index 00000000..24cacec7 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/plates/steel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:heavy_plate" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/raw_materials.json b/src/generated/resources/data/c/tags/item/raw_materials.json new file mode 100644 index 00000000..49ddde9a --- /dev/null +++ b/src/generated/resources/data/c/tags/item/raw_materials.json @@ -0,0 +1,7 @@ +{ + "values": [ + "tfmg:raw_lead", + "tfmg:raw_nickel", + "tfmg:raw_lithium" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/raw_materials/lead.json b/src/generated/resources/data/c/tags/item/raw_materials/lead.json new file mode 100644 index 00000000..1f66e76c --- /dev/null +++ b/src/generated/resources/data/c/tags/item/raw_materials/lead.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:raw_lead" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/raw_materials/lithium.json b/src/generated/resources/data/c/tags/item/raw_materials/lithium.json new file mode 100644 index 00000000..99f0b99c --- /dev/null +++ b/src/generated/resources/data/c/tags/item/raw_materials/lithium.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:raw_lithium" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/raw_materials/nickel.json b/src/generated/resources/data/c/tags/item/raw_materials/nickel.json new file mode 100644 index 00000000..6a19db93 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/raw_materials/nickel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:raw_nickel" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/rods/steel.json b/src/generated/resources/data/c/tags/item/rods/steel.json new file mode 100644 index 00000000..625e3c2f --- /dev/null +++ b/src/generated/resources/data/c/tags/item/rods/steel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:rebar" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/storage_blocks.json b/src/generated/resources/data/c/tags/item/storage_blocks.json new file mode 100644 index 00000000..1499a549 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/storage_blocks.json @@ -0,0 +1,16 @@ +{ + "values": [ + "tfmg:raw_nickel_block", + "tfmg:raw_lead_block", + "tfmg:raw_lithium_block", + "tfmg:steel_block", + "tfmg:cast_iron_block", + "tfmg:aluminum_block", + "tfmg:plastic_block", + "tfmg:lead_block", + "tfmg:constantan_block", + "tfmg:nickel_block", + "tfmg:lithium_block", + "tfmg:coal_coke_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/storage_blocks/aluminum.json b/src/generated/resources/data/c/tags/item/storage_blocks/aluminum.json new file mode 100644 index 00000000..a88e7648 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/storage_blocks/aluminum.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:aluminum_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/storage_blocks/cast_iron.json b/src/generated/resources/data/c/tags/item/storage_blocks/cast_iron.json new file mode 100644 index 00000000..498da03a --- /dev/null +++ b/src/generated/resources/data/c/tags/item/storage_blocks/cast_iron.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:cast_iron_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/storage_blocks/coal_coke.json b/src/generated/resources/data/c/tags/item/storage_blocks/coal_coke.json new file mode 100644 index 00000000..5490b710 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/storage_blocks/coal_coke.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:coal_coke_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/storage_blocks/constantan.json b/src/generated/resources/data/c/tags/item/storage_blocks/constantan.json new file mode 100644 index 00000000..625838b4 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/storage_blocks/constantan.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:constantan_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/storage_blocks/lead.json b/src/generated/resources/data/c/tags/item/storage_blocks/lead.json new file mode 100644 index 00000000..aac1dd9c --- /dev/null +++ b/src/generated/resources/data/c/tags/item/storage_blocks/lead.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:lead_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/storage_blocks/lithium.json b/src/generated/resources/data/c/tags/item/storage_blocks/lithium.json new file mode 100644 index 00000000..bc9a4fd3 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/storage_blocks/lithium.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:lithium_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/storage_blocks/nickel.json b/src/generated/resources/data/c/tags/item/storage_blocks/nickel.json new file mode 100644 index 00000000..ec57e0a0 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/storage_blocks/nickel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:nickel_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/storage_blocks/plastic.json b/src/generated/resources/data/c/tags/item/storage_blocks/plastic.json new file mode 100644 index 00000000..108f3f95 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/storage_blocks/plastic.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:plastic_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/storage_blocks/raw_lead.json b/src/generated/resources/data/c/tags/item/storage_blocks/raw_lead.json new file mode 100644 index 00000000..41c1cbc2 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/storage_blocks/raw_lead.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:raw_lead_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/storage_blocks/raw_lithium.json b/src/generated/resources/data/c/tags/item/storage_blocks/raw_lithium.json new file mode 100644 index 00000000..af200fbd --- /dev/null +++ b/src/generated/resources/data/c/tags/item/storage_blocks/raw_lithium.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:raw_lithium_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/storage_blocks/raw_nickel.json b/src/generated/resources/data/c/tags/item/storage_blocks/raw_nickel.json new file mode 100644 index 00000000..4e01dbfe --- /dev/null +++ b/src/generated/resources/data/c/tags/item/storage_blocks/raw_nickel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:raw_nickel_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/storage_blocks/steel.json b/src/generated/resources/data/c/tags/item/storage_blocks/steel.json new file mode 100644 index 00000000..72a5c238 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/storage_blocks/steel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:steel_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/string.json b/src/generated/resources/data/c/tags/item/string.json new file mode 100644 index 00000000..193758e6 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/string.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:synthetic_string" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/strings.json b/src/generated/resources/data/c/tags/item/strings.json new file mode 100644 index 00000000..193758e6 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/strings.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:synthetic_string" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/wires/aluminum.json b/src/generated/resources/data/c/tags/item/wires/aluminum.json new file mode 100644 index 00000000..a3e83fe6 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/wires/aluminum.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:aluminum_wire" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/wires/constantan.json b/src/generated/resources/data/c/tags/item/wires/constantan.json new file mode 100644 index 00000000..54951139 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/wires/constantan.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:constantan_wire" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/wires/copper.json b/src/generated/resources/data/c/tags/item/wires/copper.json new file mode 100644 index 00000000..67457773 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/wires/copper.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:copper_wire" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/crushing/bauxite.json b/src/generated/resources/data/create/recipe/crushing/bauxite.json new file mode 100644 index 00000000..ec837c87 --- /dev/null +++ b/src/generated/resources/data/create/recipe/crushing/bauxite.json @@ -0,0 +1,19 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "tfmg:bauxite" + } + ], + "results": [ + { + "chance": 0.75, + "count": 2, + "id": "tfmg:bauxite_powder" + }, + { + "chance": 0.2, + "id": "tfmg:bauxite_powder" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/crushing/coal_coke.json b/src/generated/resources/data/create/recipe/crushing/coal_coke.json new file mode 100644 index 00000000..35f88ee5 --- /dev/null +++ b/src/generated/resources/data/create/recipe/crushing/coal_coke.json @@ -0,0 +1,13 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "tfmg:coal_coke" + } + ], + "results": [ + { + "id": "tfmg:coal_coke_dust" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/crushing/copper_sulfate.json b/src/generated/resources/data/create/recipe/crushing/copper_sulfate.json new file mode 100644 index 00000000..13ea813e --- /dev/null +++ b/src/generated/resources/data/create/recipe/crushing/copper_sulfate.json @@ -0,0 +1,27 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "tfmg:copper_sulfate" + } + ], + "results": [ + { + "count": 4, + "id": "minecraft:bone_meal" + }, + { + "chance": 0.25, + "count": 3, + "id": "minecraft:bone_meal" + }, + { + "chance": 0.5, + "id": "minecraft:cyan_dye" + }, + { + "chance": 0.75, + "id": "minecraft:blue_dye" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/crushing/dirt.json b/src/generated/resources/data/create/recipe/crushing/dirt.json new file mode 100644 index 00000000..7a9ae790 --- /dev/null +++ b/src/generated/resources/data/create/recipe/crushing/dirt.json @@ -0,0 +1,14 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "minecraft:dirt" + } + ], + "results": [ + { + "chance": 0.05, + "id": "tfmg:nitrate_dust" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/crushing/galena.json b/src/generated/resources/data/create/recipe/crushing/galena.json new file mode 100644 index 00000000..358f6ab4 --- /dev/null +++ b/src/generated/resources/data/create/recipe/crushing/galena.json @@ -0,0 +1,19 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "tfmg:galena" + } + ], + "results": [ + { + "chance": 0.4, + "id": "create:crushed_raw_lead" + }, + { + "chance": 0.1, + "count": 2, + "id": "tfmg:lead_nugget" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/crushing/lignite.json b/src/generated/resources/data/create/recipe/crushing/lignite.json new file mode 100644 index 00000000..78e6f24b --- /dev/null +++ b/src/generated/resources/data/create/recipe/crushing/lignite.json @@ -0,0 +1,18 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "tfmg:lignite" + } + ], + "results": [ + { + "chance": 0.75, + "id": "minecraft:coal" + }, + { + "chance": 0.2, + "id": "minecraft:coal" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/crushing/limestone.json b/src/generated/resources/data/create/recipe/crushing/limestone.json new file mode 100644 index 00000000..78df87e7 --- /dev/null +++ b/src/generated/resources/data/create/recipe/crushing/limestone.json @@ -0,0 +1,13 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "create:limestone" + } + ], + "results": [ + { + "id": "tfmg:limesand" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/crushing/slag_block.json b/src/generated/resources/data/create/recipe/crushing/slag_block.json new file mode 100644 index 00000000..7e5d27fe --- /dev/null +++ b/src/generated/resources/data/create/recipe/crushing/slag_block.json @@ -0,0 +1,18 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "tfmg:slag_block" + } + ], + "results": [ + { + "count": 2, + "id": "tfmg:slag" + }, + { + "chance": 0.3, + "id": "tfmg:slag" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/crushing/sulfur.json b/src/generated/resources/data/create/recipe/crushing/sulfur.json new file mode 100644 index 00000000..9f003f4a --- /dev/null +++ b/src/generated/resources/data/create/recipe/crushing/sulfur.json @@ -0,0 +1,18 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "tfmg:sulfur" + } + ], + "results": [ + { + "chance": 0.2, + "id": "tfmg:sulfur_dust" + }, + { + "chance": 0.1, + "id": "tfmg:sulfur_dust" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/tags/block/casing.json b/src/generated/resources/data/create/tags/block/casing.json new file mode 100644 index 00000000..e210d238 --- /dev/null +++ b/src/generated/resources/data/create/tags/block/casing.json @@ -0,0 +1,7 @@ +{ + "values": [ + "tfmg:steel_casing", + "tfmg:heavy_machinery_casing", + "tfmg:industrial_aluminum_casing" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/tags/block/fan_transparent.json b/src/generated/resources/data/create/tags/block/fan_transparent.json new file mode 100644 index 00000000..d80575ae --- /dev/null +++ b/src/generated/resources/data/create/tags/block/fan_transparent.json @@ -0,0 +1,10 @@ +{ + "values": [ + "tfmg:copycat_cable_base", + "tfmg:steel_bars", + "tfmg:aluminum_bars", + "tfmg:cast_iron_bars", + "tfmg:lead_bars", + "tfmg:nickel_bars" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/tags/block/non_movable.json b/src/generated/resources/data/create/tags/block/non_movable.json new file mode 100644 index 00000000..b01ff787 --- /dev/null +++ b/src/generated/resources/data/create/tags/block/non_movable.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:oil_deposit" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/tags/block/safe_nbt.json b/src/generated/resources/data/create/tags/block/safe_nbt.json new file mode 100644 index 00000000..97f121bc --- /dev/null +++ b/src/generated/resources/data/create/tags/block/safe_nbt.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:pumpjack_hammer" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/tags/block/wrench_pickup.json b/src/generated/resources/data/create/tags/block/wrench_pickup.json new file mode 100644 index 00000000..c72282b9 --- /dev/null +++ b/src/generated/resources/data/create/tags/block/wrench_pickup.json @@ -0,0 +1,9 @@ +{ + "values": [ + "tfmg:steel_bars", + "tfmg:aluminum_bars", + "tfmg:cast_iron_bars", + "tfmg:lead_bars", + "tfmg:nickel_bars" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/tags/item/casing.json b/src/generated/resources/data/create/tags/item/casing.json new file mode 100644 index 00000000..e210d238 --- /dev/null +++ b/src/generated/resources/data/create/tags/item/casing.json @@ -0,0 +1,7 @@ +{ + "values": [ + "tfmg:steel_casing", + "tfmg:heavy_machinery_casing", + "tfmg:industrial_aluminum_casing" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/tags/item/contraption_controlled.json b/src/generated/resources/data/create/tags/item/contraption_controlled.json new file mode 100644 index 00000000..73c4858a --- /dev/null +++ b/src/generated/resources/data/create/tags/item/contraption_controlled.json @@ -0,0 +1,8 @@ +{ + "values": [ + "tfmg:heavy_casing_door", + "tfmg:steel_door", + "tfmg:aluminum_door", + "tfmg:heavy_plated_door" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/tags/item/create_ingots.json b/src/generated/resources/data/create/tags/item/create_ingots.json new file mode 100644 index 00000000..56c764e0 --- /dev/null +++ b/src/generated/resources/data/create/tags/item/create_ingots.json @@ -0,0 +1,12 @@ +{ + "values": [ + "tfmg:steel_ingot", + "tfmg:cast_iron_ingot", + "tfmg:aluminum_ingot", + "tfmg:plastic_sheet", + "tfmg:lead_ingot", + "tfmg:nickel_ingot", + "tfmg:constantan_ingot", + "tfmg:lithium_ingot" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/azalea_root_replaceable.json b/src/generated/resources/data/minecraft/tags/block/azalea_root_replaceable.json new file mode 100644 index 00000000..258d635d --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/azalea_root_replaceable.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:bauxite", + "tfmg:galena" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/beacon_base_blocks.json b/src/generated/resources/data/minecraft/tags/block/beacon_base_blocks.json new file mode 100644 index 00000000..c2febb4a --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/beacon_base_blocks.json @@ -0,0 +1,11 @@ +{ + "values": [ + "tfmg:steel_block", + "tfmg:cast_iron_block", + "tfmg:aluminum_block", + "tfmg:lead_block", + "tfmg:constantan_block", + "tfmg:nickel_block", + "tfmg:lithium_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/climbable.json b/src/generated/resources/data/minecraft/tags/block/climbable.json new file mode 100644 index 00000000..fa6c6601 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/climbable.json @@ -0,0 +1,12 @@ +{ + "values": [ + "tfmg:steel_ladder", + "tfmg:aluminum_ladder", + "tfmg:cast_iron_ladder", + "tfmg:lead_ladder", + "tfmg:nickel_ladder", + "tfmg:constantan_ladder", + "tfmg:steel_scaffolding", + "tfmg:aluminum_scaffolding" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/doors.json b/src/generated/resources/data/minecraft/tags/block/doors.json new file mode 100644 index 00000000..73c4858a --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/doors.json @@ -0,0 +1,8 @@ +{ + "values": [ + "tfmg:heavy_casing_door", + "tfmg:steel_door", + "tfmg:aluminum_door", + "tfmg:heavy_plated_door" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/dragon_immune.json b/src/generated/resources/data/minecraft/tags/block/dragon_immune.json new file mode 100644 index 00000000..b01ff787 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/dragon_immune.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:oil_deposit" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/dripstone_replaceable_blocks.json b/src/generated/resources/data/minecraft/tags/block/dripstone_replaceable_blocks.json new file mode 100644 index 00000000..258d635d --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/dripstone_replaceable_blocks.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:bauxite", + "tfmg:galena" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/features_cannot_replace.json b/src/generated/resources/data/minecraft/tags/block/features_cannot_replace.json new file mode 100644 index 00000000..b01ff787 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/features_cannot_replace.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:oil_deposit" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/infiniburn_overworld.json b/src/generated/resources/data/minecraft/tags/block/infiniburn_overworld.json new file mode 100644 index 00000000..b01ff787 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/infiniburn_overworld.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:oil_deposit" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/lush_ground_replaceable.json b/src/generated/resources/data/minecraft/tags/block/lush_ground_replaceable.json new file mode 100644 index 00000000..258d635d --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/lush_ground_replaceable.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:bauxite", + "tfmg:galena" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/mineable/axe.json b/src/generated/resources/data/minecraft/tags/block/mineable/axe.json new file mode 100644 index 00000000..ba2e2872 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/mineable/axe.json @@ -0,0 +1,35 @@ +{ + "values": [ + "tfmg:machine_input", + "tfmg:copycat_cable_block", + "tfmg:steel_cogwheel", + "tfmg:large_steel_cogwheel", + "tfmg:aluminum_cogwheel", + "tfmg:large_aluminum_cogwheel", + "tfmg:steel_casing", + "tfmg:heavy_machinery_casing", + "tfmg:industrial_aluminum_casing", + "tfmg:steel_gearbox", + "tfmg:hardened_planks", + "tfmg:steel_flywheel", + "tfmg:lead_flywheel", + "tfmg:cast_iron_flywheel", + "tfmg:aluminum_flywheel", + "tfmg:nickel_flywheel", + "tfmg:steel_encased_shaft", + "tfmg:heavy_casing_encased_shaft", + "tfmg:steel_encased_steel_cogwheel", + "tfmg:heavy_casing_encased_steel_cogwheel", + "tfmg:steel_encased_large_steel_cogwheel", + "tfmg:heavy_casing_encased_large_steel_cogwheel", + "tfmg:steel_encased_aluminum_cogwheel", + "tfmg:heavy_casing_encased_aluminum_cogwheel", + "tfmg:steel_encased_large_aluminum_cogwheel", + "tfmg:heavy_casing_encased_large_aluminum_cogwheel", + "tfmg:copper_encased_brass_pipe", + "tfmg:copper_encased_steel_pipe", + "tfmg:copper_encased_aluminum_pipe", + "tfmg:copper_encased_cast_iron_pipe", + "tfmg:copper_encased_plastic_pipe" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json b/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json new file mode 100644 index 00000000..66e3396c --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json @@ -0,0 +1,393 @@ +{ + "values": [ + "tfmg:aluminum_fluid_tank", + "tfmg:cast_iron_fluid_tank", + "tfmg:steel_fluid_tank", + "tfmg:steel_distillation_output", + "tfmg:steel_distillation_controller", + "tfmg:industrial_pipe", + "tfmg:concrete_encased_industrial_pipe", + "tfmg:pumpjack_hammer", + "tfmg:pumpjack_crank", + "tfmg:pumpjack_hammer_part", + "tfmg:pumpjack_hammer_head", + "tfmg:pumpjack_hammer_connector", + "tfmg:large_pumpjack_hammer_part", + "tfmg:large_pumpjack_hammer_head", + "tfmg:large_pumpjack_hammer_connector", + "tfmg:pumpjack_base", + "tfmg:oil_deposit", + "tfmg:steel_chemical_vat", + "tfmg:cast_iron_chemical_vat", + "tfmg:fireproof_chemical_vat", + "tfmg:industrial_mixer", + "tfmg:electrode_holder", + "tfmg:lead_ore", + "tfmg:deepslate_lead_ore", + "tfmg:nickel_ore", + "tfmg:deepslate_nickel_ore", + "tfmg:lithium_ore", + "tfmg:deepslate_lithium_ore", + "tfmg:sulfur", + "tfmg:lignite", + "tfmg:fossilstone", + "tfmg:slag_block", + "tfmg:raw_nickel_block", + "tfmg:raw_lead_block", + "tfmg:raw_lithium_block", + "tfmg:air_intake", + "tfmg:firebox", + "tfmg:winding_machine", + "tfmg:surface_scanner", + "tfmg:machine_input", + "tfmg:concrete_hose", + "tfmg:blast_furnace_output", + "tfmg:blast_furnace_hatch", + "tfmg:fireproof_bricks", + "tfmg:reinforced_fireproof_bricks", + "tfmg:blast_furnace_reinforcement", + "tfmg:blast_furnace_reinforcement_wall", + "tfmg:rusted_blast_furnace_reinforcement", + "tfmg:rusted_blast_furnace_reinforcement_wall", + "tfmg:fireproof_brick_reinforcement", + "tfmg:coke_oven", + "tfmg:blast_stove", + "tfmg:casting_basin", + "tfmg:napalm_bomb", + "tfmg:generator", + "tfmg:cable_connector", + "tfmg:glass_cable_insulator", + "tfmg:resistor", + "tfmg:copycat_cable_block", + "tfmg:copycat_cable_base", + "tfmg:brass_cable_hub", + "tfmg:copper_cable_hub", + "tfmg:steel_cable_hub", + "tfmg:aluminum_cable_hub", + "tfmg:steel_casing_cable_hub", + "tfmg:heavy_cable_hub", + "tfmg:cable_tube", + "tfmg:concrete_encased_cable_tube", + "tfmg:electric_post", + "tfmg:concrete_encased_electric_post", + "tfmg:diagonal_cable_block", + "tfmg:electric_motor", + "tfmg:creative_generator", + "tfmg:accumulator", + "tfmg:light_bulb", + "tfmg:circular_light", + "tfmg:modern_light", + "tfmg:aluminum_lamp", + "tfmg:neon_tube", + "tfmg:electric_diode", + "tfmg:encased_diode", + "tfmg:potentiometer", + "tfmg:electrical_switch", + "tfmg:encased_potentiometer", + "tfmg:electric_pump", + "tfmg:voltage_observer", + "tfmg:voltmeter", + "tfmg:polarizer", + "tfmg:rotor", + "tfmg:stator", + "tfmg:traffic_light", + "tfmg:segmented_display", + "tfmg:transformer", + "tfmg:converter", + "tfmg:brick_smokestack", + "tfmg:metal_smokestack", + "tfmg:concrete_smokestack", + "tfmg:exhaust", + "tfmg:flarestack", + "tfmg:steel_cogwheel", + "tfmg:large_steel_cogwheel", + "tfmg:aluminum_cogwheel", + "tfmg:large_aluminum_cogwheel", + "tfmg:steel_casing", + "tfmg:heavy_machinery_casing", + "tfmg:industrial_aluminum_casing", + "tfmg:steel_block", + "tfmg:cast_iron_block", + "tfmg:aluminum_block", + "tfmg:plastic_block", + "tfmg:lead_block", + "tfmg:constantan_block", + "tfmg:nickel_block", + "tfmg:lithium_block", + "tfmg:coal_coke_block", + "tfmg:heavy_casing_door", + "tfmg:steel_door", + "tfmg:aluminum_door", + "tfmg:heavy_plated_door", + "tfmg:steel_gearbox", + "tfmg:steel_bars", + "tfmg:aluminum_bars", + "tfmg:cast_iron_bars", + "tfmg:lead_bars", + "tfmg:nickel_bars", + "tfmg:steel_ladder", + "tfmg:aluminum_ladder", + "tfmg:cast_iron_ladder", + "tfmg:lead_ladder", + "tfmg:nickel_ladder", + "tfmg:constantan_ladder", + "tfmg:steel_scaffolding", + "tfmg:aluminum_scaffolding", + "tfmg:slag_bricks", + "tfmg:cinder_block", + "tfmg:cinderflour_block", + "tfmg:factory_floor", + "tfmg:steel_trapdoor", + "tfmg:steel_flywheel", + "tfmg:lead_flywheel", + "tfmg:cast_iron_flywheel", + "tfmg:aluminum_flywheel", + "tfmg:nickel_flywheel", + "tfmg:steel_truss", + "tfmg:steel_frame", + "tfmg:aluminum_truss", + "tfmg:aluminum_frame", + "tfmg:cast_iron_truss", + "tfmg:cast_iron_frame", + "tfmg:lead_truss", + "tfmg:lead_frame", + "tfmg:nickel_truss", + "tfmg:nickel_frame", + "tfmg:constantan_truss", + "tfmg:constantan_frame", + "tfmg:copper_truss", + "tfmg:copper_frame", + "tfmg:zinc_truss", + "tfmg:zinc_frame", + "tfmg:brass_truss", + "tfmg:brass_frame", + "tfmg:white_caution_block", + "tfmg:blue_caution_block", + "tfmg:light_blue_caution_block", + "tfmg:red_caution_block", + "tfmg:green_caution_block", + "tfmg:lime_caution_block", + "tfmg:pink_caution_block", + "tfmg:magenta_caution_block", + "tfmg:yellow_caution_block", + "tfmg:gray_caution_block", + "tfmg:light_gray_caution_block", + "tfmg:brown_caution_block", + "tfmg:cyan_caution_block", + "tfmg:purple_caution_block", + "tfmg:orange_caution_block", + "tfmg:concrete_wall", + "tfmg:concrete", + "tfmg:concrete_stairs", + "tfmg:concrete_slab", + "tfmg:rebar_concrete_wall", + "tfmg:rebar_concrete", + "tfmg:rebar_concrete_stairs", + "tfmg:rebar_concrete_slab", + "tfmg:white_concrete", + "tfmg:white_concrete_wall", + "tfmg:white_concrete_stairs", + "tfmg:white_concrete_slab", + "tfmg:blue_concrete", + "tfmg:blue_concrete_wall", + "tfmg:blue_concrete_stairs", + "tfmg:blue_concrete_slab", + "tfmg:light_blue_concrete", + "tfmg:light_blue_concrete_wall", + "tfmg:light_blue_concrete_stairs", + "tfmg:light_blue_concrete_slab", + "tfmg:red_concrete", + "tfmg:red_concrete_wall", + "tfmg:red_concrete_stairs", + "tfmg:red_concrete_slab", + "tfmg:green_concrete", + "tfmg:green_concrete_wall", + "tfmg:green_concrete_stairs", + "tfmg:green_concrete_slab", + "tfmg:lime_concrete", + "tfmg:lime_concrete_wall", + "tfmg:lime_concrete_stairs", + "tfmg:lime_concrete_slab", + "tfmg:pink_concrete", + "tfmg:pink_concrete_wall", + "tfmg:pink_concrete_stairs", + "tfmg:pink_concrete_slab", + "tfmg:magenta_concrete", + "tfmg:magenta_concrete_wall", + "tfmg:magenta_concrete_stairs", + "tfmg:magenta_concrete_slab", + "tfmg:yellow_concrete", + "tfmg:yellow_concrete_wall", + "tfmg:yellow_concrete_stairs", + "tfmg:yellow_concrete_slab", + "tfmg:gray_concrete", + "tfmg:gray_concrete_wall", + "tfmg:gray_concrete_stairs", + "tfmg:gray_concrete_slab", + "tfmg:light_gray_concrete", + "tfmg:light_gray_concrete_wall", + "tfmg:light_gray_concrete_stairs", + "tfmg:light_gray_concrete_slab", + "tfmg:brown_concrete", + "tfmg:brown_concrete_wall", + "tfmg:brown_concrete_stairs", + "tfmg:brown_concrete_slab", + "tfmg:cyan_concrete", + "tfmg:cyan_concrete_wall", + "tfmg:cyan_concrete_stairs", + "tfmg:cyan_concrete_slab", + "tfmg:purple_concrete", + "tfmg:purple_concrete_wall", + "tfmg:purple_concrete_stairs", + "tfmg:purple_concrete_slab", + "tfmg:orange_concrete", + "tfmg:orange_concrete_wall", + "tfmg:orange_concrete_stairs", + "tfmg:orange_concrete_slab", + "tfmg:black_concrete", + "tfmg:black_concrete_wall", + "tfmg:black_concrete_stairs", + "tfmg:black_concrete_slab", + "tfmg:white_rebar_concrete", + "tfmg:white_rebar_concrete_wall", + "tfmg:white_rebar_concrete_stairs", + "tfmg:white_rebar_concrete_slab", + "tfmg:blue_rebar_concrete", + "tfmg:blue_rebar_concrete_wall", + "tfmg:blue_rebar_concrete_stairs", + "tfmg:blue_rebar_concrete_slab", + "tfmg:light_blue_rebar_concrete", + "tfmg:light_blue_rebar_concrete_wall", + "tfmg:light_blue_rebar_concrete_stairs", + "tfmg:light_blue_rebar_concrete_slab", + "tfmg:red_rebar_concrete", + "tfmg:red_rebar_concrete_wall", + "tfmg:red_rebar_concrete_stairs", + "tfmg:red_rebar_concrete_slab", + "tfmg:green_rebar_concrete", + "tfmg:green_rebar_concrete_wall", + "tfmg:green_rebar_concrete_stairs", + "tfmg:green_rebar_concrete_slab", + "tfmg:lime_rebar_concrete", + "tfmg:lime_rebar_concrete_wall", + "tfmg:lime_rebar_concrete_stairs", + "tfmg:lime_rebar_concrete_slab", + "tfmg:pink_rebar_concrete", + "tfmg:pink_rebar_concrete_wall", + "tfmg:pink_rebar_concrete_stairs", + "tfmg:pink_rebar_concrete_slab", + "tfmg:magenta_rebar_concrete", + "tfmg:magenta_rebar_concrete_wall", + "tfmg:magenta_rebar_concrete_stairs", + "tfmg:magenta_rebar_concrete_slab", + "tfmg:yellow_rebar_concrete", + "tfmg:yellow_rebar_concrete_wall", + "tfmg:yellow_rebar_concrete_stairs", + "tfmg:yellow_rebar_concrete_slab", + "tfmg:gray_rebar_concrete", + "tfmg:gray_rebar_concrete_wall", + "tfmg:gray_rebar_concrete_stairs", + "tfmg:gray_rebar_concrete_slab", + "tfmg:light_gray_rebar_concrete", + "tfmg:light_gray_rebar_concrete_wall", + "tfmg:light_gray_rebar_concrete_stairs", + "tfmg:light_gray_rebar_concrete_slab", + "tfmg:brown_rebar_concrete", + "tfmg:brown_rebar_concrete_wall", + "tfmg:brown_rebar_concrete_stairs", + "tfmg:brown_rebar_concrete_slab", + "tfmg:cyan_rebar_concrete", + "tfmg:cyan_rebar_concrete_wall", + "tfmg:cyan_rebar_concrete_stairs", + "tfmg:cyan_rebar_concrete_slab", + "tfmg:purple_rebar_concrete", + "tfmg:purple_rebar_concrete_wall", + "tfmg:purple_rebar_concrete_stairs", + "tfmg:purple_rebar_concrete_slab", + "tfmg:orange_rebar_concrete", + "tfmg:orange_rebar_concrete_wall", + "tfmg:orange_rebar_concrete_stairs", + "tfmg:orange_rebar_concrete_slab", + "tfmg:black_rebar_concrete", + "tfmg:black_rebar_concrete_wall", + "tfmg:black_rebar_concrete_stairs", + "tfmg:black_rebar_concrete_slab", + "tfmg:asphalt", + "tfmg:asphalt_wall", + "tfmg:asphalt_slab", + "tfmg:asphalt_stairs", + "tfmg:steel_encased_shaft", + "tfmg:heavy_casing_encased_shaft", + "tfmg:steel_encased_steel_cogwheel", + "tfmg:heavy_casing_encased_steel_cogwheel", + "tfmg:steel_encased_large_steel_cogwheel", + "tfmg:heavy_casing_encased_large_steel_cogwheel", + "tfmg:steel_encased_aluminum_cogwheel", + "tfmg:heavy_casing_encased_aluminum_cogwheel", + "tfmg:steel_encased_large_aluminum_cogwheel", + "tfmg:heavy_casing_encased_large_aluminum_cogwheel", + "tfmg:brass_pipe", + "tfmg:copper_encased_brass_pipe", + "tfmg:glass_brass_pipe", + "tfmg:brass_mechanical_pump", + "tfmg:brass_smart_fluid_pipe", + "tfmg:steel_pipe", + "tfmg:copper_encased_steel_pipe", + "tfmg:glass_steel_pipe", + "tfmg:steel_mechanical_pump", + "tfmg:steel_smart_fluid_pipe", + "tfmg:aluminum_pipe", + "tfmg:copper_encased_aluminum_pipe", + "tfmg:glass_aluminum_pipe", + "tfmg:aluminum_mechanical_pump", + "tfmg:aluminum_smart_fluid_pipe", + "tfmg:cast_iron_pipe", + "tfmg:copper_encased_cast_iron_pipe", + "tfmg:glass_cast_iron_pipe", + "tfmg:cast_iron_mechanical_pump", + "tfmg:cast_iron_smart_fluid_pipe", + "tfmg:plastic_pipe", + "tfmg:copper_encased_plastic_pipe", + "tfmg:glass_plastic_pipe", + "tfmg:plastic_mechanical_pump", + "tfmg:plastic_smart_fluid_pipe", + "tfmg:bauxite", + "tfmg:cut_bauxite", + "tfmg:cut_bauxite_stairs", + "tfmg:cut_bauxite_slab", + "tfmg:cut_bauxite_wall", + "tfmg:polished_cut_bauxite", + "tfmg:polished_cut_bauxite_stairs", + "tfmg:polished_cut_bauxite_slab", + "tfmg:polished_cut_bauxite_wall", + "tfmg:cut_bauxite_bricks", + "tfmg:cut_bauxite_brick_stairs", + "tfmg:cut_bauxite_brick_slab", + "tfmg:cut_bauxite_brick_wall", + "tfmg:small_bauxite_bricks", + "tfmg:small_bauxite_brick_stairs", + "tfmg:small_bauxite_brick_slab", + "tfmg:small_bauxite_brick_wall", + "tfmg:layered_bauxite", + "tfmg:bauxite_pillar", + "tfmg:galena", + "tfmg:cut_galena", + "tfmg:cut_galena_stairs", + "tfmg:cut_galena_slab", + "tfmg:cut_galena_wall", + "tfmg:polished_cut_galena", + "tfmg:polished_cut_galena_stairs", + "tfmg:polished_cut_galena_slab", + "tfmg:polished_cut_galena_wall", + "tfmg:cut_galena_bricks", + "tfmg:cut_galena_brick_stairs", + "tfmg:cut_galena_brick_slab", + "tfmg:cut_galena_brick_wall", + "tfmg:small_galena_bricks", + "tfmg:small_galena_brick_stairs", + "tfmg:small_galena_brick_slab", + "tfmg:small_galena_brick_wall", + "tfmg:layered_galena", + "tfmg:galena_pillar" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/mineable/shovel.json b/src/generated/resources/data/minecraft/tags/block/mineable/shovel.json new file mode 100644 index 00000000..61259ee5 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/mineable/shovel.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:fireclay", + "tfmg:cement" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/moss_replaceable.json b/src/generated/resources/data/minecraft/tags/block/moss_replaceable.json new file mode 100644 index 00000000..258d635d --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/moss_replaceable.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:bauxite", + "tfmg:galena" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/needs_iron_tool.json b/src/generated/resources/data/minecraft/tags/block/needs_iron_tool.json new file mode 100644 index 00000000..8dd016f0 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/needs_iron_tool.json @@ -0,0 +1,14 @@ +{ + "values": [ + "tfmg:raw_nickel_block", + "tfmg:raw_lead_block", + "tfmg:raw_lithium_block", + "tfmg:steel_block", + "tfmg:cast_iron_block", + "tfmg:aluminum_block", + "tfmg:lead_block", + "tfmg:constantan_block", + "tfmg:nickel_block", + "tfmg:lithium_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/needs_stone_tool.json b/src/generated/resources/data/minecraft/tags/block/needs_stone_tool.json new file mode 100644 index 00000000..de9af0ce --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/needs_stone_tool.json @@ -0,0 +1,175 @@ +{ + "values": [ + "tfmg:lead_ore", + "tfmg:deepslate_lead_ore", + "tfmg:nickel_ore", + "tfmg:deepslate_nickel_ore", + "tfmg:lithium_ore", + "tfmg:deepslate_lithium_ore", + "tfmg:blast_furnace_output", + "tfmg:blast_furnace_hatch", + "tfmg:fireproof_bricks", + "tfmg:reinforced_fireproof_bricks", + "tfmg:blast_furnace_reinforcement", + "tfmg:blast_furnace_reinforcement_wall", + "tfmg:rusted_blast_furnace_reinforcement", + "tfmg:rusted_blast_furnace_reinforcement_wall", + "tfmg:plastic_block", + "tfmg:coal_coke_block", + "tfmg:white_caution_block", + "tfmg:blue_caution_block", + "tfmg:light_blue_caution_block", + "tfmg:red_caution_block", + "tfmg:green_caution_block", + "tfmg:lime_caution_block", + "tfmg:pink_caution_block", + "tfmg:magenta_caution_block", + "tfmg:yellow_caution_block", + "tfmg:gray_caution_block", + "tfmg:light_gray_caution_block", + "tfmg:brown_caution_block", + "tfmg:cyan_caution_block", + "tfmg:purple_caution_block", + "tfmg:orange_caution_block", + "tfmg:concrete_wall", + "tfmg:concrete", + "tfmg:concrete_stairs", + "tfmg:concrete_slab", + "tfmg:rebar_concrete_wall", + "tfmg:rebar_concrete", + "tfmg:rebar_concrete_stairs", + "tfmg:rebar_concrete_slab", + "tfmg:white_concrete", + "tfmg:white_concrete_wall", + "tfmg:white_concrete_stairs", + "tfmg:white_concrete_slab", + "tfmg:blue_concrete", + "tfmg:blue_concrete_wall", + "tfmg:blue_concrete_stairs", + "tfmg:blue_concrete_slab", + "tfmg:light_blue_concrete", + "tfmg:light_blue_concrete_wall", + "tfmg:light_blue_concrete_stairs", + "tfmg:light_blue_concrete_slab", + "tfmg:red_concrete", + "tfmg:red_concrete_wall", + "tfmg:red_concrete_stairs", + "tfmg:red_concrete_slab", + "tfmg:green_concrete", + "tfmg:green_concrete_wall", + "tfmg:green_concrete_stairs", + "tfmg:green_concrete_slab", + "tfmg:lime_concrete", + "tfmg:lime_concrete_wall", + "tfmg:lime_concrete_stairs", + "tfmg:lime_concrete_slab", + "tfmg:pink_concrete", + "tfmg:pink_concrete_wall", + "tfmg:pink_concrete_stairs", + "tfmg:pink_concrete_slab", + "tfmg:magenta_concrete", + "tfmg:magenta_concrete_wall", + "tfmg:magenta_concrete_stairs", + "tfmg:magenta_concrete_slab", + "tfmg:yellow_concrete", + "tfmg:yellow_concrete_wall", + "tfmg:yellow_concrete_stairs", + "tfmg:yellow_concrete_slab", + "tfmg:gray_concrete", + "tfmg:gray_concrete_wall", + "tfmg:gray_concrete_stairs", + "tfmg:gray_concrete_slab", + "tfmg:light_gray_concrete", + "tfmg:light_gray_concrete_wall", + "tfmg:light_gray_concrete_stairs", + "tfmg:light_gray_concrete_slab", + "tfmg:brown_concrete", + "tfmg:brown_concrete_wall", + "tfmg:brown_concrete_stairs", + "tfmg:brown_concrete_slab", + "tfmg:cyan_concrete", + "tfmg:cyan_concrete_wall", + "tfmg:cyan_concrete_stairs", + "tfmg:cyan_concrete_slab", + "tfmg:purple_concrete", + "tfmg:purple_concrete_wall", + "tfmg:purple_concrete_stairs", + "tfmg:purple_concrete_slab", + "tfmg:orange_concrete", + "tfmg:orange_concrete_wall", + "tfmg:orange_concrete_stairs", + "tfmg:orange_concrete_slab", + "tfmg:black_concrete", + "tfmg:black_concrete_wall", + "tfmg:black_concrete_stairs", + "tfmg:black_concrete_slab", + "tfmg:white_rebar_concrete", + "tfmg:white_rebar_concrete_wall", + "tfmg:white_rebar_concrete_stairs", + "tfmg:white_rebar_concrete_slab", + "tfmg:blue_rebar_concrete", + "tfmg:blue_rebar_concrete_wall", + "tfmg:blue_rebar_concrete_stairs", + "tfmg:blue_rebar_concrete_slab", + "tfmg:light_blue_rebar_concrete", + "tfmg:light_blue_rebar_concrete_wall", + "tfmg:light_blue_rebar_concrete_stairs", + "tfmg:light_blue_rebar_concrete_slab", + "tfmg:red_rebar_concrete", + "tfmg:red_rebar_concrete_wall", + "tfmg:red_rebar_concrete_stairs", + "tfmg:red_rebar_concrete_slab", + "tfmg:green_rebar_concrete", + "tfmg:green_rebar_concrete_wall", + "tfmg:green_rebar_concrete_stairs", + "tfmg:green_rebar_concrete_slab", + "tfmg:lime_rebar_concrete", + "tfmg:lime_rebar_concrete_wall", + "tfmg:lime_rebar_concrete_stairs", + "tfmg:lime_rebar_concrete_slab", + "tfmg:pink_rebar_concrete", + "tfmg:pink_rebar_concrete_wall", + "tfmg:pink_rebar_concrete_stairs", + "tfmg:pink_rebar_concrete_slab", + "tfmg:magenta_rebar_concrete", + "tfmg:magenta_rebar_concrete_wall", + "tfmg:magenta_rebar_concrete_stairs", + "tfmg:magenta_rebar_concrete_slab", + "tfmg:yellow_rebar_concrete", + "tfmg:yellow_rebar_concrete_wall", + "tfmg:yellow_rebar_concrete_stairs", + "tfmg:yellow_rebar_concrete_slab", + "tfmg:gray_rebar_concrete", + "tfmg:gray_rebar_concrete_wall", + "tfmg:gray_rebar_concrete_stairs", + "tfmg:gray_rebar_concrete_slab", + "tfmg:light_gray_rebar_concrete", + "tfmg:light_gray_rebar_concrete_wall", + "tfmg:light_gray_rebar_concrete_stairs", + "tfmg:light_gray_rebar_concrete_slab", + "tfmg:brown_rebar_concrete", + "tfmg:brown_rebar_concrete_wall", + "tfmg:brown_rebar_concrete_stairs", + "tfmg:brown_rebar_concrete_slab", + "tfmg:cyan_rebar_concrete", + "tfmg:cyan_rebar_concrete_wall", + "tfmg:cyan_rebar_concrete_stairs", + "tfmg:cyan_rebar_concrete_slab", + "tfmg:purple_rebar_concrete", + "tfmg:purple_rebar_concrete_wall", + "tfmg:purple_rebar_concrete_stairs", + "tfmg:purple_rebar_concrete_slab", + "tfmg:orange_rebar_concrete", + "tfmg:orange_rebar_concrete_wall", + "tfmg:orange_rebar_concrete_stairs", + "tfmg:orange_rebar_concrete_slab", + "tfmg:black_rebar_concrete", + "tfmg:black_rebar_concrete_wall", + "tfmg:black_rebar_concrete_stairs", + "tfmg:black_rebar_concrete_slab", + "tfmg:asphalt", + "tfmg:asphalt_wall", + "tfmg:asphalt_slab", + "tfmg:asphalt_stairs" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/slabs.json b/src/generated/resources/data/minecraft/tags/block/slabs.json new file mode 100644 index 00000000..2c9aded5 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/slabs.json @@ -0,0 +1,47 @@ +{ + "values": [ + "tfmg:concrete_slab", + "tfmg:rebar_concrete_slab", + "tfmg:white_concrete_slab", + "tfmg:blue_concrete_slab", + "tfmg:light_blue_concrete_slab", + "tfmg:red_concrete_slab", + "tfmg:green_concrete_slab", + "tfmg:lime_concrete_slab", + "tfmg:pink_concrete_slab", + "tfmg:magenta_concrete_slab", + "tfmg:yellow_concrete_slab", + "tfmg:gray_concrete_slab", + "tfmg:light_gray_concrete_slab", + "tfmg:brown_concrete_slab", + "tfmg:cyan_concrete_slab", + "tfmg:purple_concrete_slab", + "tfmg:orange_concrete_slab", + "tfmg:black_concrete_slab", + "tfmg:white_rebar_concrete_slab", + "tfmg:blue_rebar_concrete_slab", + "tfmg:light_blue_rebar_concrete_slab", + "tfmg:red_rebar_concrete_slab", + "tfmg:green_rebar_concrete_slab", + "tfmg:lime_rebar_concrete_slab", + "tfmg:pink_rebar_concrete_slab", + "tfmg:magenta_rebar_concrete_slab", + "tfmg:yellow_rebar_concrete_slab", + "tfmg:gray_rebar_concrete_slab", + "tfmg:light_gray_rebar_concrete_slab", + "tfmg:brown_rebar_concrete_slab", + "tfmg:cyan_rebar_concrete_slab", + "tfmg:purple_rebar_concrete_slab", + "tfmg:orange_rebar_concrete_slab", + "tfmg:black_rebar_concrete_slab", + "tfmg:asphalt_slab", + "tfmg:cut_bauxite_slab", + "tfmg:polished_cut_bauxite_slab", + "tfmg:cut_bauxite_brick_slab", + "tfmg:small_bauxite_brick_slab", + "tfmg:cut_galena_slab", + "tfmg:polished_cut_galena_slab", + "tfmg:cut_galena_brick_slab", + "tfmg:small_galena_brick_slab" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/stairs.json b/src/generated/resources/data/minecraft/tags/block/stairs.json new file mode 100644 index 00000000..c53cbef6 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/stairs.json @@ -0,0 +1,47 @@ +{ + "values": [ + "tfmg:concrete_stairs", + "tfmg:rebar_concrete_stairs", + "tfmg:white_concrete_stairs", + "tfmg:blue_concrete_stairs", + "tfmg:light_blue_concrete_stairs", + "tfmg:red_concrete_stairs", + "tfmg:green_concrete_stairs", + "tfmg:lime_concrete_stairs", + "tfmg:pink_concrete_stairs", + "tfmg:magenta_concrete_stairs", + "tfmg:yellow_concrete_stairs", + "tfmg:gray_concrete_stairs", + "tfmg:light_gray_concrete_stairs", + "tfmg:brown_concrete_stairs", + "tfmg:cyan_concrete_stairs", + "tfmg:purple_concrete_stairs", + "tfmg:orange_concrete_stairs", + "tfmg:black_concrete_stairs", + "tfmg:white_rebar_concrete_stairs", + "tfmg:blue_rebar_concrete_stairs", + "tfmg:light_blue_rebar_concrete_stairs", + "tfmg:red_rebar_concrete_stairs", + "tfmg:green_rebar_concrete_stairs", + "tfmg:lime_rebar_concrete_stairs", + "tfmg:pink_rebar_concrete_stairs", + "tfmg:magenta_rebar_concrete_stairs", + "tfmg:yellow_rebar_concrete_stairs", + "tfmg:gray_rebar_concrete_stairs", + "tfmg:light_gray_rebar_concrete_stairs", + "tfmg:brown_rebar_concrete_stairs", + "tfmg:cyan_rebar_concrete_stairs", + "tfmg:purple_rebar_concrete_stairs", + "tfmg:orange_rebar_concrete_stairs", + "tfmg:black_rebar_concrete_stairs", + "tfmg:asphalt_stairs", + "tfmg:cut_bauxite_stairs", + "tfmg:polished_cut_bauxite_stairs", + "tfmg:cut_bauxite_brick_stairs", + "tfmg:small_bauxite_brick_stairs", + "tfmg:cut_galena_stairs", + "tfmg:polished_cut_galena_stairs", + "tfmg:cut_galena_brick_stairs", + "tfmg:small_galena_brick_stairs" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/trapdoors.json b/src/generated/resources/data/minecraft/tags/block/trapdoors.json new file mode 100644 index 00000000..73d5d7eb --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/trapdoors.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:steel_trapdoor" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/walls.json b/src/generated/resources/data/minecraft/tags/block/walls.json new file mode 100644 index 00000000..c0c10283 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/walls.json @@ -0,0 +1,48 @@ +{ + "values": [ + "tfmg:fireproof_brick_reinforcement", + "tfmg:concrete_wall", + "tfmg:rebar_concrete_wall", + "tfmg:white_concrete_wall", + "tfmg:blue_concrete_wall", + "tfmg:light_blue_concrete_wall", + "tfmg:red_concrete_wall", + "tfmg:green_concrete_wall", + "tfmg:lime_concrete_wall", + "tfmg:pink_concrete_wall", + "tfmg:magenta_concrete_wall", + "tfmg:yellow_concrete_wall", + "tfmg:gray_concrete_wall", + "tfmg:light_gray_concrete_wall", + "tfmg:brown_concrete_wall", + "tfmg:cyan_concrete_wall", + "tfmg:purple_concrete_wall", + "tfmg:orange_concrete_wall", + "tfmg:black_concrete_wall", + "tfmg:white_rebar_concrete_wall", + "tfmg:blue_rebar_concrete_wall", + "tfmg:light_blue_rebar_concrete_wall", + "tfmg:red_rebar_concrete_wall", + "tfmg:green_rebar_concrete_wall", + "tfmg:lime_rebar_concrete_wall", + "tfmg:pink_rebar_concrete_wall", + "tfmg:magenta_rebar_concrete_wall", + "tfmg:yellow_rebar_concrete_wall", + "tfmg:gray_rebar_concrete_wall", + "tfmg:light_gray_rebar_concrete_wall", + "tfmg:brown_rebar_concrete_wall", + "tfmg:cyan_rebar_concrete_wall", + "tfmg:purple_rebar_concrete_wall", + "tfmg:orange_rebar_concrete_wall", + "tfmg:black_rebar_concrete_wall", + "tfmg:asphalt_wall", + "tfmg:cut_bauxite_wall", + "tfmg:polished_cut_bauxite_wall", + "tfmg:cut_bauxite_brick_wall", + "tfmg:small_bauxite_brick_wall", + "tfmg:cut_galena_wall", + "tfmg:polished_cut_galena_wall", + "tfmg:cut_galena_brick_wall", + "tfmg:small_galena_brick_wall" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/wither_immune.json b/src/generated/resources/data/minecraft/tags/block/wither_immune.json new file mode 100644 index 00000000..b01ff787 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/wither_immune.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:oil_deposit" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/wooden_doors.json b/src/generated/resources/data/minecraft/tags/block/wooden_doors.json new file mode 100644 index 00000000..73c4858a --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/block/wooden_doors.json @@ -0,0 +1,8 @@ +{ + "values": [ + "tfmg:heavy_casing_door", + "tfmg:steel_door", + "tfmg:aluminum_door", + "tfmg:heavy_plated_door" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/item/doors.json b/src/generated/resources/data/minecraft/tags/item/doors.json new file mode 100644 index 00000000..73c4858a --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/item/doors.json @@ -0,0 +1,8 @@ +{ + "values": [ + "tfmg:heavy_casing_door", + "tfmg:steel_door", + "tfmg:aluminum_door", + "tfmg:heavy_plated_door" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/item/slabs.json b/src/generated/resources/data/minecraft/tags/item/slabs.json new file mode 100644 index 00000000..e0d67508 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/item/slabs.json @@ -0,0 +1,12 @@ +{ + "values": [ + "tfmg:cut_bauxite_slab", + "tfmg:polished_cut_bauxite_slab", + "tfmg:cut_bauxite_brick_slab", + "tfmg:small_bauxite_brick_slab", + "tfmg:cut_galena_slab", + "tfmg:polished_cut_galena_slab", + "tfmg:cut_galena_brick_slab", + "tfmg:small_galena_brick_slab" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/item/stairs.json b/src/generated/resources/data/minecraft/tags/item/stairs.json new file mode 100644 index 00000000..15b37f20 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/item/stairs.json @@ -0,0 +1,12 @@ +{ + "values": [ + "tfmg:cut_bauxite_stairs", + "tfmg:polished_cut_bauxite_stairs", + "tfmg:cut_bauxite_brick_stairs", + "tfmg:small_bauxite_brick_stairs", + "tfmg:cut_galena_stairs", + "tfmg:polished_cut_galena_stairs", + "tfmg:cut_galena_brick_stairs", + "tfmg:small_galena_brick_stairs" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/item/trapdoors.json b/src/generated/resources/data/minecraft/tags/item/trapdoors.json new file mode 100644 index 00000000..73d5d7eb --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/item/trapdoors.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:steel_trapdoor" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/item/walls.json b/src/generated/resources/data/minecraft/tags/item/walls.json new file mode 100644 index 00000000..ca55f61d --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/item/walls.json @@ -0,0 +1,12 @@ +{ + "values": [ + "tfmg:cut_bauxite_wall", + "tfmg:polished_cut_bauxite_wall", + "tfmg:cut_bauxite_brick_wall", + "tfmg:small_bauxite_brick_wall", + "tfmg:cut_galena_wall", + "tfmg:polished_cut_galena_wall", + "tfmg:cut_galena_brick_wall", + "tfmg:small_galena_brick_wall" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/quark/tags/block/non_double_door.json b/src/generated/resources/data/quark/tags/block/non_double_door.json new file mode 100644 index 00000000..73c4858a --- /dev/null +++ b/src/generated/resources/data/quark/tags/block/non_double_door.json @@ -0,0 +1,8 @@ +{ + "values": [ + "tfmg:heavy_casing_door", + "tfmg:steel_door", + "tfmg:aluminum_door", + "tfmg:heavy_plated_door" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/aluminum_wire_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/aluminum_wire_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..0da55b3a --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/aluminum_wire_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:aluminum_wire_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:aluminum_wire_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/asphalt_slab_from_asphalt_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/asphalt_slab_from_asphalt_stonecutting.json new file mode 100644 index 00000000..c0846054 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/asphalt_slab_from_asphalt_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_asphalt": { + "conditions": { + "items": [ + { + "items": "tfmg:asphalt" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:asphalt_slab_from_asphalt_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_asphalt" + ] + ], + "rewards": { + "recipes": [ + "tfmg:asphalt_slab_from_asphalt_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/asphalt_stairs_from_asphalt_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/asphalt_stairs_from_asphalt_stonecutting.json new file mode 100644 index 00000000..42a5a5bc --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/asphalt_stairs_from_asphalt_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_asphalt": { + "conditions": { + "items": [ + { + "items": "tfmg:asphalt" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:asphalt_stairs_from_asphalt_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_asphalt" + ] + ], + "rewards": { + "recipes": [ + "tfmg:asphalt_stairs_from_asphalt_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/asphalt_wall_from_asphalt_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/asphalt_wall_from_asphalt_stonecutting.json new file mode 100644 index 00000000..987073fe --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/asphalt_wall_from_asphalt_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_asphalt": { + "conditions": { + "items": [ + { + "items": "tfmg:asphalt" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:asphalt_wall_from_asphalt_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_asphalt" + ] + ], + "rewards": { + "recipes": [ + "tfmg:asphalt_wall_from_asphalt_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/bauxite_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/bauxite_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..7b7fa4a2 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/bauxite_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:bauxite_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:bauxite_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/bauxite_pillar_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/bauxite_pillar_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..4b7d7d22 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/bauxite_pillar_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:bauxite_pillar_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:bauxite_pillar_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/black_concrete_slab_from_black_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/black_concrete_slab_from_black_concrete_stonecutting.json new file mode 100644 index 00000000..f01ff375 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/black_concrete_slab_from_black_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_black_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:black_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:black_concrete_slab_from_black_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_black_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:black_concrete_slab_from_black_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/black_concrete_stairs_from_black_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/black_concrete_stairs_from_black_concrete_stonecutting.json new file mode 100644 index 00000000..2bd4fc6c --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/black_concrete_stairs_from_black_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_black_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:black_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:black_concrete_stairs_from_black_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_black_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:black_concrete_stairs_from_black_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/black_concrete_wall_from_black_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/black_concrete_wall_from_black_concrete_stonecutting.json new file mode 100644 index 00000000..4f13a6f3 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/black_concrete_wall_from_black_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_black_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:black_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:black_concrete_wall_from_black_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_black_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:black_concrete_wall_from_black_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/black_rebar_concrete_slab_from_black_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/black_rebar_concrete_slab_from_black_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..5c8f1172 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/black_rebar_concrete_slab_from_black_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_black_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:black_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:black_rebar_concrete_slab_from_black_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_black_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:black_rebar_concrete_slab_from_black_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/black_rebar_concrete_stairs_from_black_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/black_rebar_concrete_stairs_from_black_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..c91b9f5d --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/black_rebar_concrete_stairs_from_black_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_black_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:black_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:black_rebar_concrete_stairs_from_black_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_black_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:black_rebar_concrete_stairs_from_black_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/black_rebar_concrete_wall_from_black_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/black_rebar_concrete_wall_from_black_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..41f05585 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/black_rebar_concrete_wall_from_black_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_black_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:black_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:black_rebar_concrete_wall_from_black_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_black_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:black_rebar_concrete_wall_from_black_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/blue_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/blue_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..67b0093e --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/blue_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:blue_caution_block_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:blue_caution_block_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/blue_concrete_slab_from_blue_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/blue_concrete_slab_from_blue_concrete_stonecutting.json new file mode 100644 index 00000000..5d3361df --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/blue_concrete_slab_from_blue_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_blue_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:blue_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:blue_concrete_slab_from_blue_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_blue_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:blue_concrete_slab_from_blue_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/blue_concrete_stairs_from_blue_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/blue_concrete_stairs_from_blue_concrete_stonecutting.json new file mode 100644 index 00000000..7546adc3 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/blue_concrete_stairs_from_blue_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_blue_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:blue_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:blue_concrete_stairs_from_blue_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_blue_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:blue_concrete_stairs_from_blue_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/blue_concrete_wall_from_blue_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/blue_concrete_wall_from_blue_concrete_stonecutting.json new file mode 100644 index 00000000..abc8352f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/blue_concrete_wall_from_blue_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_blue_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:blue_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:blue_concrete_wall_from_blue_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_blue_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:blue_concrete_wall_from_blue_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/blue_rebar_concrete_slab_from_blue_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/blue_rebar_concrete_slab_from_blue_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..b39022d6 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/blue_rebar_concrete_slab_from_blue_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_blue_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:blue_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:blue_rebar_concrete_slab_from_blue_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_blue_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:blue_rebar_concrete_slab_from_blue_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/blue_rebar_concrete_stairs_from_blue_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/blue_rebar_concrete_stairs_from_blue_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..8fd0b023 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/blue_rebar_concrete_stairs_from_blue_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_blue_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:blue_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:blue_rebar_concrete_stairs_from_blue_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_blue_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:blue_rebar_concrete_stairs_from_blue_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/blue_rebar_concrete_wall_from_blue_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/blue_rebar_concrete_wall_from_blue_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..6c3d5d34 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/blue_rebar_concrete_wall_from_blue_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_blue_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:blue_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:blue_rebar_concrete_wall_from_blue_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_blue_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:blue_rebar_concrete_wall_from_blue_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/brown_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/brown_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..2187076c --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/brown_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:brown_caution_block_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:brown_caution_block_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/brown_concrete_slab_from_brown_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/brown_concrete_slab_from_brown_concrete_stonecutting.json new file mode 100644 index 00000000..826ad0ec --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/brown_concrete_slab_from_brown_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_brown_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:brown_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:brown_concrete_slab_from_brown_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_brown_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:brown_concrete_slab_from_brown_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/brown_concrete_stairs_from_brown_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/brown_concrete_stairs_from_brown_concrete_stonecutting.json new file mode 100644 index 00000000..1a10072d --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/brown_concrete_stairs_from_brown_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_brown_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:brown_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:brown_concrete_stairs_from_brown_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_brown_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:brown_concrete_stairs_from_brown_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/brown_concrete_wall_from_brown_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/brown_concrete_wall_from_brown_concrete_stonecutting.json new file mode 100644 index 00000000..c833e0c1 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/brown_concrete_wall_from_brown_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_brown_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:brown_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:brown_concrete_wall_from_brown_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_brown_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:brown_concrete_wall_from_brown_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/brown_rebar_concrete_slab_from_brown_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/brown_rebar_concrete_slab_from_brown_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..01b9d001 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/brown_rebar_concrete_slab_from_brown_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_brown_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:brown_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:brown_rebar_concrete_slab_from_brown_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_brown_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:brown_rebar_concrete_slab_from_brown_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/brown_rebar_concrete_stairs_from_brown_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/brown_rebar_concrete_stairs_from_brown_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..d2504402 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/brown_rebar_concrete_stairs_from_brown_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_brown_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:brown_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:brown_rebar_concrete_stairs_from_brown_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_brown_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:brown_rebar_concrete_stairs_from_brown_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/brown_rebar_concrete_wall_from_brown_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/brown_rebar_concrete_wall_from_brown_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..123078b7 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/brown_rebar_concrete_wall_from_brown_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_brown_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:brown_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:brown_rebar_concrete_wall_from_brown_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_brown_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:brown_rebar_concrete_wall_from_brown_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cinderblock_from_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cinderblock_from_concrete_stonecutting.json new file mode 100644 index 00000000..ac043fbc --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cinderblock_from_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cinderblock_from_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cinderblock_from_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/concrete_slab_from_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/concrete_slab_from_concrete_stonecutting.json new file mode 100644 index 00000000..684c216e --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/concrete_slab_from_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:concrete_slab_from_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:concrete_slab_from_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/concrete_stairs_from_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/concrete_stairs_from_concrete_stonecutting.json new file mode 100644 index 00000000..6867aa82 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/concrete_stairs_from_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:concrete_stairs_from_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:concrete_stairs_from_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/concrete_wall_from_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/concrete_wall_from_concrete_stonecutting.json new file mode 100644 index 00000000..2806f3d6 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/concrete_wall_from_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:concrete_wall_from_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:concrete_wall_from_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/constantan_wire_from_ingots_constantan_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/constantan_wire_from_ingots_constantan_stonecutting.json new file mode 100644 index 00000000..32fded9d --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/constantan_wire_from_ingots_constantan_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_constantan": { + "conditions": { + "items": [ + { + "items": "#c:ingots/constantan" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:constantan_wire_from_ingots_constantan_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_constantan" + ] + ], + "rewards": { + "recipes": [ + "tfmg:constantan_wire_from_ingots_constantan_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/copper_electrode_from_storage_blocks_copper_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/copper_electrode_from_storage_blocks_copper_stonecutting.json new file mode 100644 index 00000000..aaeb6d64 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/copper_electrode_from_storage_blocks_copper_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_storage_blocks_copper": { + "conditions": { + "items": [ + { + "items": "#c:storage_blocks/copper" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:copper_electrode_from_storage_blocks_copper_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_storage_blocks_copper" + ] + ], + "rewards": { + "recipes": [ + "tfmg:copper_electrode_from_storage_blocks_copper_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/copper_wire_from_ingots_copper_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/copper_wire_from_ingots_copper_stonecutting.json new file mode 100644 index 00000000..9f866192 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/copper_wire_from_ingots_copper_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_copper": { + "conditions": { + "items": [ + { + "items": "#c:ingots/copper" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:copper_wire_from_ingots_copper_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_copper" + ] + ], + "rewards": { + "recipes": [ + "tfmg:copper_wire_from_ingots_copper_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_slab.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_slab.json new file mode 100644 index 00000000..74c03e03 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_bauxite_bricks": { + "conditions": { + "items": [ + { + "items": "tfmg:cut_bauxite_bricks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_bauxite_brick_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cut_bauxite_bricks" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_bauxite_brick_slab" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..38827ca7 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_bauxite_brick_slab_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_bauxite_brick_slab_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_slab_recycling.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_slab_recycling.json new file mode 100644 index 00000000..46bfce07 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_slab_recycling.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_bauxite_brick_slab": { + "conditions": { + "items": [ + { + "items": "tfmg:cut_bauxite_brick_slab" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_bauxite_brick_slab_recycling" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cut_bauxite_brick_slab" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_bauxite_brick_slab_recycling" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_stairs.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_stairs.json new file mode 100644 index 00000000..44282941 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_bauxite_bricks": { + "conditions": { + "items": [ + { + "items": "tfmg:cut_bauxite_bricks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_bauxite_brick_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cut_bauxite_bricks" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_bauxite_brick_stairs" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..20eff9a3 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_wall.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_wall.json new file mode 100644 index 00000000..64346489 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_bauxite_bricks": { + "conditions": { + "items": [ + { + "items": "tfmg:cut_bauxite_bricks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_bauxite_brick_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cut_bauxite_bricks" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_bauxite_brick_wall" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_wall_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_wall_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..6e099228 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_brick_wall_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_bauxite_brick_wall_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_bauxite_brick_wall_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_bricks_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_bricks_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..7ca1e76f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_bricks_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_bauxite_bricks_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_bauxite_bricks_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..af9d85e3 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_bauxite_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_bauxite_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_slab.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_slab.json new file mode 100644 index 00000000..285234bc --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_bauxite": { + "conditions": { + "items": [ + { + "items": "tfmg:cut_bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_bauxite_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cut_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_bauxite_slab" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_slab_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_slab_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..31f69695 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_slab_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_bauxite_slab_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_bauxite_slab_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_slab_recycling.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_slab_recycling.json new file mode 100644 index 00000000..30cd3d44 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_slab_recycling.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_bauxite_slab": { + "conditions": { + "items": [ + { + "items": "tfmg:cut_bauxite_slab" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_bauxite_slab_recycling" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cut_bauxite_slab" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_bauxite_slab_recycling" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_stairs.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_stairs.json new file mode 100644 index 00000000..f3464c97 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_bauxite": { + "conditions": { + "items": [ + { + "items": "tfmg:cut_bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_bauxite_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cut_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_bauxite_stairs" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..93795c3a --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_bauxite_stairs_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_bauxite_stairs_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_wall.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_wall.json new file mode 100644 index 00000000..4e1a1272 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_bauxite": { + "conditions": { + "items": [ + { + "items": "tfmg:cut_bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_bauxite_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cut_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_bauxite_wall" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_wall_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_wall_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..f54d030e --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_bauxite_wall_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_bauxite_wall_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_bauxite_wall_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_slab.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_slab.json new file mode 100644 index 00000000..252b39ab --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_galena_bricks": { + "conditions": { + "items": [ + { + "items": "tfmg:cut_galena_bricks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_galena_brick_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cut_galena_bricks" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_galena_brick_slab" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_slab_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_slab_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..8642d458 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_slab_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_galena_brick_slab_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_galena_brick_slab_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_slab_recycling.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_slab_recycling.json new file mode 100644 index 00000000..c333bf89 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_slab_recycling.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_galena_brick_slab": { + "conditions": { + "items": [ + { + "items": "tfmg:cut_galena_brick_slab" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_galena_brick_slab_recycling" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cut_galena_brick_slab" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_galena_brick_slab_recycling" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_stairs.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_stairs.json new file mode 100644 index 00000000..4b336467 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_galena_bricks": { + "conditions": { + "items": [ + { + "items": "tfmg:cut_galena_bricks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_galena_brick_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cut_galena_bricks" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_galena_brick_stairs" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_stairs_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_stairs_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..21cf98e6 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_stairs_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_galena_brick_stairs_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_galena_brick_stairs_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_wall.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_wall.json new file mode 100644 index 00000000..3fc8bd66 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_galena_bricks": { + "conditions": { + "items": [ + { + "items": "tfmg:cut_galena_bricks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_galena_brick_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cut_galena_bricks" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_galena_brick_wall" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_wall_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_wall_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..47eef391 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_brick_wall_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_galena_brick_wall_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_galena_brick_wall_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_bricks_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_bricks_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..b4bb9666 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_bricks_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_galena_bricks_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_galena_bricks_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..1223edc6 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_galena_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_galena_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_slab.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_slab.json new file mode 100644 index 00000000..d020cbf7 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_galena": { + "conditions": { + "items": [ + { + "items": "tfmg:cut_galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_galena_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cut_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_galena_slab" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_slab_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_slab_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..e2b33fee --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_slab_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_galena_slab_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_galena_slab_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_slab_recycling.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_slab_recycling.json new file mode 100644 index 00000000..ebc003e1 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_slab_recycling.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_galena_slab": { + "conditions": { + "items": [ + { + "items": "tfmg:cut_galena_slab" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_galena_slab_recycling" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cut_galena_slab" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_galena_slab_recycling" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_stairs.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_stairs.json new file mode 100644 index 00000000..2f1bc59f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_galena": { + "conditions": { + "items": [ + { + "items": "tfmg:cut_galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_galena_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cut_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_galena_stairs" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_stairs_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_stairs_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..9450a30d --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_stairs_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_galena_stairs_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_galena_stairs_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_wall.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_wall.json new file mode 100644 index 00000000..894ea2bb --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cut_galena": { + "conditions": { + "items": [ + { + "items": "tfmg:cut_galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_galena_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cut_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_galena_wall" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_wall_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_wall_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..573dbb50 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cut_galena_wall_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cut_galena_wall_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cut_galena_wall_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cyan_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cyan_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..fa89b1b8 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cyan_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cyan_caution_block_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cyan_caution_block_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cyan_concrete_slab_from_cyan_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cyan_concrete_slab_from_cyan_concrete_stonecutting.json new file mode 100644 index 00000000..f23fa35a --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cyan_concrete_slab_from_cyan_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cyan_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:cyan_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cyan_concrete_slab_from_cyan_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cyan_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cyan_concrete_slab_from_cyan_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cyan_concrete_stairs_from_cyan_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cyan_concrete_stairs_from_cyan_concrete_stonecutting.json new file mode 100644 index 00000000..a70c65ae --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cyan_concrete_stairs_from_cyan_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cyan_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:cyan_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cyan_concrete_stairs_from_cyan_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cyan_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cyan_concrete_stairs_from_cyan_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cyan_concrete_wall_from_cyan_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cyan_concrete_wall_from_cyan_concrete_stonecutting.json new file mode 100644 index 00000000..40618069 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cyan_concrete_wall_from_cyan_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cyan_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:cyan_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cyan_concrete_wall_from_cyan_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cyan_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cyan_concrete_wall_from_cyan_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cyan_rebar_concrete_slab_from_cyan_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cyan_rebar_concrete_slab_from_cyan_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..a61718c0 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cyan_rebar_concrete_slab_from_cyan_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cyan_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:cyan_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cyan_rebar_concrete_slab_from_cyan_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cyan_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cyan_rebar_concrete_slab_from_cyan_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cyan_rebar_concrete_stairs_from_cyan_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cyan_rebar_concrete_stairs_from_cyan_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..7dc0c4cc --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cyan_rebar_concrete_stairs_from_cyan_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cyan_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:cyan_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cyan_rebar_concrete_stairs_from_cyan_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cyan_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cyan_rebar_concrete_stairs_from_cyan_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cyan_rebar_concrete_wall_from_cyan_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cyan_rebar_concrete_wall_from_cyan_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..c6d71676 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/cyan_rebar_concrete_wall_from_cyan_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cyan_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:cyan_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cyan_rebar_concrete_wall_from_cyan_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cyan_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cyan_rebar_concrete_wall_from_cyan_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/empty_spool_from_hardened_planks_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/empty_spool_from_hardened_planks_stonecutting.json new file mode 100644 index 00000000..27141e3f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/empty_spool_from_hardened_planks_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_hardened_planks": { + "conditions": { + "items": [ + { + "items": "tfmg:hardened_planks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:empty_spool_from_hardened_planks_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_hardened_planks" + ] + ], + "rewards": { + "recipes": [ + "tfmg:empty_spool_from_hardened_planks_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/factory_floor_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/factory_floor_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..dcedc0fe --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/factory_floor_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:factory_floor_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:factory_floor_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/galena_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/galena_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..efd0eb57 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/galena_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:galena_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:galena_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/galena_pillar_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/galena_pillar_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..457f76a1 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/galena_pillar_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:galena_pillar_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:galena_pillar_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/graphite_electrode_from_storage_blocks_coal_coke_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/graphite_electrode_from_storage_blocks_coal_coke_stonecutting.json new file mode 100644 index 00000000..3bc20e6c --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/graphite_electrode_from_storage_blocks_coal_coke_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_storage_blocks_coal_coke": { + "conditions": { + "items": [ + { + "items": "#c:storage_blocks/coal_coke" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:graphite_electrode_from_storage_blocks_coal_coke_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_storage_blocks_coal_coke" + ] + ], + "rewards": { + "recipes": [ + "tfmg:graphite_electrode_from_storage_blocks_coal_coke_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/gray_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/gray_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..51eedb7b --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/gray_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:gray_caution_block_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:gray_caution_block_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/gray_concrete_slab_from_gray_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/gray_concrete_slab_from_gray_concrete_stonecutting.json new file mode 100644 index 00000000..4cb4fdc2 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/gray_concrete_slab_from_gray_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_gray_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:gray_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:gray_concrete_slab_from_gray_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_gray_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:gray_concrete_slab_from_gray_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/gray_concrete_stairs_from_gray_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/gray_concrete_stairs_from_gray_concrete_stonecutting.json new file mode 100644 index 00000000..318a5eac --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/gray_concrete_stairs_from_gray_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_gray_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:gray_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:gray_concrete_stairs_from_gray_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_gray_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:gray_concrete_stairs_from_gray_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/gray_concrete_wall_from_gray_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/gray_concrete_wall_from_gray_concrete_stonecutting.json new file mode 100644 index 00000000..514a2054 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/gray_concrete_wall_from_gray_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_gray_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:gray_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:gray_concrete_wall_from_gray_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_gray_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:gray_concrete_wall_from_gray_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/gray_rebar_concrete_slab_from_gray_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/gray_rebar_concrete_slab_from_gray_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..248a3da6 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/gray_rebar_concrete_slab_from_gray_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_gray_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:gray_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:gray_rebar_concrete_slab_from_gray_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_gray_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:gray_rebar_concrete_slab_from_gray_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/gray_rebar_concrete_stairs_from_gray_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/gray_rebar_concrete_stairs_from_gray_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..9528b68e --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/gray_rebar_concrete_stairs_from_gray_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_gray_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:gray_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:gray_rebar_concrete_stairs_from_gray_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_gray_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:gray_rebar_concrete_stairs_from_gray_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/gray_rebar_concrete_wall_from_gray_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/gray_rebar_concrete_wall_from_gray_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..cedaa9b8 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/gray_rebar_concrete_wall_from_gray_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_gray_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:gray_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:gray_rebar_concrete_wall_from_gray_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_gray_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:gray_rebar_concrete_wall_from_gray_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/green_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/green_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..5f2b8415 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/green_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:green_caution_block_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:green_caution_block_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/green_concrete_slab_from_green_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/green_concrete_slab_from_green_concrete_stonecutting.json new file mode 100644 index 00000000..5948c331 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/green_concrete_slab_from_green_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_green_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:green_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:green_concrete_slab_from_green_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_green_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:green_concrete_slab_from_green_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/green_concrete_stairs_from_green_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/green_concrete_stairs_from_green_concrete_stonecutting.json new file mode 100644 index 00000000..1b0eb564 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/green_concrete_stairs_from_green_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_green_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:green_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:green_concrete_stairs_from_green_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_green_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:green_concrete_stairs_from_green_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/green_concrete_wall_from_green_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/green_concrete_wall_from_green_concrete_stonecutting.json new file mode 100644 index 00000000..b0f3794d --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/green_concrete_wall_from_green_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_green_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:green_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:green_concrete_wall_from_green_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_green_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:green_concrete_wall_from_green_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/green_rebar_concrete_slab_from_green_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/green_rebar_concrete_slab_from_green_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..f1bb1cf7 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/green_rebar_concrete_slab_from_green_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_green_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:green_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:green_rebar_concrete_slab_from_green_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_green_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:green_rebar_concrete_slab_from_green_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/green_rebar_concrete_stairs_from_green_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/green_rebar_concrete_stairs_from_green_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..b5351bc0 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/green_rebar_concrete_stairs_from_green_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_green_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:green_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:green_rebar_concrete_stairs_from_green_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_green_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:green_rebar_concrete_stairs_from_green_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/green_rebar_concrete_wall_from_green_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/green_rebar_concrete_wall_from_green_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..0b045dac --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/green_rebar_concrete_wall_from_green_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_green_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:green_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:green_rebar_concrete_wall_from_green_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_green_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:green_rebar_concrete_wall_from_green_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/industrial_pipe_from_ingots_steel_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/industrial_pipe_from_ingots_steel_stonecutting.json new file mode 100644 index 00000000..ebe5b75d --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/industrial_pipe_from_ingots_steel_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_steel": { + "conditions": { + "items": [ + { + "items": "#c:ingots/steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:industrial_pipe_from_ingots_steel_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_steel" + ] + ], + "rewards": { + "recipes": [ + "tfmg:industrial_pipe_from_ingots_steel_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/layered_bauxite_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/layered_bauxite_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..6f95b29a --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/layered_bauxite_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:layered_bauxite_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:layered_bauxite_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/layered_galena_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/layered_galena_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..f86ba91e --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/layered_galena_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:layered_galena_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:layered_galena_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_blue_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_blue_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..f8638e63 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_blue_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:light_blue_caution_block_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:light_blue_caution_block_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_blue_concrete_slab_from_light_blue_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_blue_concrete_slab_from_light_blue_concrete_stonecutting.json new file mode 100644 index 00000000..60a47a7d --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_blue_concrete_slab_from_light_blue_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_light_blue_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:light_blue_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:light_blue_concrete_slab_from_light_blue_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_light_blue_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:light_blue_concrete_slab_from_light_blue_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_blue_concrete_stairs_from_light_blue_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_blue_concrete_stairs_from_light_blue_concrete_stonecutting.json new file mode 100644 index 00000000..b1588911 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_blue_concrete_stairs_from_light_blue_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_light_blue_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:light_blue_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:light_blue_concrete_stairs_from_light_blue_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_light_blue_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:light_blue_concrete_stairs_from_light_blue_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_blue_concrete_wall_from_light_blue_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_blue_concrete_wall_from_light_blue_concrete_stonecutting.json new file mode 100644 index 00000000..38bc67f7 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_blue_concrete_wall_from_light_blue_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_light_blue_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:light_blue_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:light_blue_concrete_wall_from_light_blue_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_light_blue_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:light_blue_concrete_wall_from_light_blue_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_blue_rebar_concrete_slab_from_light_blue_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_blue_rebar_concrete_slab_from_light_blue_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..64c95fdf --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_blue_rebar_concrete_slab_from_light_blue_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_light_blue_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:light_blue_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:light_blue_rebar_concrete_slab_from_light_blue_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_light_blue_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:light_blue_rebar_concrete_slab_from_light_blue_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_blue_rebar_concrete_stairs_from_light_blue_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_blue_rebar_concrete_stairs_from_light_blue_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..1961eb08 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_blue_rebar_concrete_stairs_from_light_blue_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_light_blue_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:light_blue_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:light_blue_rebar_concrete_stairs_from_light_blue_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_light_blue_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:light_blue_rebar_concrete_stairs_from_light_blue_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_blue_rebar_concrete_wall_from_light_blue_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_blue_rebar_concrete_wall_from_light_blue_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..cb498fad --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_blue_rebar_concrete_wall_from_light_blue_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_light_blue_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:light_blue_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:light_blue_rebar_concrete_wall_from_light_blue_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_light_blue_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:light_blue_rebar_concrete_wall_from_light_blue_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_gray_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_gray_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..a8e4e635 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_gray_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:light_gray_caution_block_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:light_gray_caution_block_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_gray_concrete_slab_from_light_gray_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_gray_concrete_slab_from_light_gray_concrete_stonecutting.json new file mode 100644 index 00000000..73a1a9cd --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_gray_concrete_slab_from_light_gray_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_light_gray_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:light_gray_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:light_gray_concrete_slab_from_light_gray_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_light_gray_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:light_gray_concrete_slab_from_light_gray_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json new file mode 100644 index 00000000..b848fb99 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_light_gray_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:light_gray_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:light_gray_concrete_stairs_from_light_gray_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_light_gray_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:light_gray_concrete_stairs_from_light_gray_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_gray_concrete_wall_from_light_gray_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_gray_concrete_wall_from_light_gray_concrete_stonecutting.json new file mode 100644 index 00000000..e9018515 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_gray_concrete_wall_from_light_gray_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_light_gray_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:light_gray_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:light_gray_concrete_wall_from_light_gray_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_light_gray_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:light_gray_concrete_wall_from_light_gray_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_gray_rebar_concrete_slab_from_light_gray_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_gray_rebar_concrete_slab_from_light_gray_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..4b729eea --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_gray_rebar_concrete_slab_from_light_gray_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_light_gray_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:light_gray_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:light_gray_rebar_concrete_slab_from_light_gray_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_light_gray_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:light_gray_rebar_concrete_slab_from_light_gray_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_gray_rebar_concrete_stairs_from_light_gray_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_gray_rebar_concrete_stairs_from_light_gray_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..a0f0b499 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_gray_rebar_concrete_stairs_from_light_gray_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_light_gray_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:light_gray_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:light_gray_rebar_concrete_stairs_from_light_gray_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_light_gray_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:light_gray_rebar_concrete_stairs_from_light_gray_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_gray_rebar_concrete_wall_from_light_gray_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_gray_rebar_concrete_wall_from_light_gray_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..5d087225 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/light_gray_rebar_concrete_wall_from_light_gray_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_light_gray_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:light_gray_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:light_gray_rebar_concrete_wall_from_light_gray_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_light_gray_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:light_gray_rebar_concrete_wall_from_light_gray_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/lime_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/lime_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..4177e4d5 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/lime_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:lime_caution_block_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:lime_caution_block_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/lime_concrete_slab_from_lime_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/lime_concrete_slab_from_lime_concrete_stonecutting.json new file mode 100644 index 00000000..a0edfdbe --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/lime_concrete_slab_from_lime_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lime_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:lime_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:lime_concrete_slab_from_lime_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lime_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:lime_concrete_slab_from_lime_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/lime_concrete_stairs_from_lime_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/lime_concrete_stairs_from_lime_concrete_stonecutting.json new file mode 100644 index 00000000..fe99fd0a --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/lime_concrete_stairs_from_lime_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lime_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:lime_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:lime_concrete_stairs_from_lime_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lime_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:lime_concrete_stairs_from_lime_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/lime_concrete_wall_from_lime_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/lime_concrete_wall_from_lime_concrete_stonecutting.json new file mode 100644 index 00000000..7e3e0f4f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/lime_concrete_wall_from_lime_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lime_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:lime_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:lime_concrete_wall_from_lime_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lime_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:lime_concrete_wall_from_lime_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/lime_rebar_concrete_slab_from_lime_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/lime_rebar_concrete_slab_from_lime_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..f8ce81e9 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/lime_rebar_concrete_slab_from_lime_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lime_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:lime_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:lime_rebar_concrete_slab_from_lime_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lime_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:lime_rebar_concrete_slab_from_lime_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/lime_rebar_concrete_stairs_from_lime_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/lime_rebar_concrete_stairs_from_lime_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..bcab9403 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/lime_rebar_concrete_stairs_from_lime_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lime_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:lime_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:lime_rebar_concrete_stairs_from_lime_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lime_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:lime_rebar_concrete_stairs_from_lime_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/lime_rebar_concrete_wall_from_lime_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/lime_rebar_concrete_wall_from_lime_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..d46903f5 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/lime_rebar_concrete_wall_from_lime_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lime_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:lime_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:lime_rebar_concrete_wall_from_lime_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lime_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:lime_rebar_concrete_wall_from_lime_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/magenta_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/magenta_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..cac813b6 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/magenta_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:magenta_caution_block_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:magenta_caution_block_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/magenta_concrete_slab_from_magenta_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/magenta_concrete_slab_from_magenta_concrete_stonecutting.json new file mode 100644 index 00000000..91827dce --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/magenta_concrete_slab_from_magenta_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_magenta_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:magenta_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:magenta_concrete_slab_from_magenta_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_magenta_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:magenta_concrete_slab_from_magenta_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/magenta_concrete_stairs_from_magenta_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/magenta_concrete_stairs_from_magenta_concrete_stonecutting.json new file mode 100644 index 00000000..d77d7768 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/magenta_concrete_stairs_from_magenta_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_magenta_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:magenta_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:magenta_concrete_stairs_from_magenta_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_magenta_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:magenta_concrete_stairs_from_magenta_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/magenta_concrete_wall_from_magenta_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/magenta_concrete_wall_from_magenta_concrete_stonecutting.json new file mode 100644 index 00000000..e19c9c4f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/magenta_concrete_wall_from_magenta_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_magenta_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:magenta_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:magenta_concrete_wall_from_magenta_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_magenta_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:magenta_concrete_wall_from_magenta_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/magenta_rebar_concrete_slab_from_magenta_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/magenta_rebar_concrete_slab_from_magenta_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..17c98d05 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/magenta_rebar_concrete_slab_from_magenta_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_magenta_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:magenta_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:magenta_rebar_concrete_slab_from_magenta_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_magenta_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:magenta_rebar_concrete_slab_from_magenta_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/magenta_rebar_concrete_stairs_from_magenta_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/magenta_rebar_concrete_stairs_from_magenta_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..dd0e7557 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/magenta_rebar_concrete_stairs_from_magenta_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_magenta_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:magenta_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:magenta_rebar_concrete_stairs_from_magenta_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_magenta_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:magenta_rebar_concrete_stairs_from_magenta_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/magenta_rebar_concrete_wall_from_magenta_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/magenta_rebar_concrete_wall_from_magenta_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..932211ce --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/magenta_rebar_concrete_wall_from_magenta_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_magenta_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:magenta_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:magenta_rebar_concrete_wall_from_magenta_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_magenta_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:magenta_rebar_concrete_wall_from_magenta_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/orange_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/orange_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..b3e19648 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/orange_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:orange_caution_block_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:orange_caution_block_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/orange_concrete_slab_from_orange_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/orange_concrete_slab_from_orange_concrete_stonecutting.json new file mode 100644 index 00000000..69b60530 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/orange_concrete_slab_from_orange_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_orange_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:orange_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:orange_concrete_slab_from_orange_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_orange_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:orange_concrete_slab_from_orange_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/orange_concrete_stairs_from_orange_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/orange_concrete_stairs_from_orange_concrete_stonecutting.json new file mode 100644 index 00000000..5031b903 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/orange_concrete_stairs_from_orange_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_orange_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:orange_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:orange_concrete_stairs_from_orange_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_orange_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:orange_concrete_stairs_from_orange_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/orange_concrete_wall_from_orange_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/orange_concrete_wall_from_orange_concrete_stonecutting.json new file mode 100644 index 00000000..ec400f5b --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/orange_concrete_wall_from_orange_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_orange_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:orange_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:orange_concrete_wall_from_orange_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_orange_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:orange_concrete_wall_from_orange_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/orange_rebar_concrete_slab_from_orange_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/orange_rebar_concrete_slab_from_orange_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..a8dfd77f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/orange_rebar_concrete_slab_from_orange_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_orange_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:orange_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:orange_rebar_concrete_slab_from_orange_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_orange_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:orange_rebar_concrete_slab_from_orange_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/orange_rebar_concrete_stairs_from_orange_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/orange_rebar_concrete_stairs_from_orange_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..610d20c7 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/orange_rebar_concrete_stairs_from_orange_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_orange_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:orange_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:orange_rebar_concrete_stairs_from_orange_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_orange_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:orange_rebar_concrete_stairs_from_orange_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/orange_rebar_concrete_wall_from_orange_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/orange_rebar_concrete_wall_from_orange_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..648fdd3a --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/orange_rebar_concrete_wall_from_orange_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_orange_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:orange_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:orange_rebar_concrete_wall_from_orange_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_orange_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:orange_rebar_concrete_wall_from_orange_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/pink_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/pink_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..12695231 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/pink_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:pink_caution_block_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:pink_caution_block_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/pink_concrete_slab_from_pink_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/pink_concrete_slab_from_pink_concrete_stonecutting.json new file mode 100644 index 00000000..4d56fbf2 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/pink_concrete_slab_from_pink_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_pink_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:pink_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:pink_concrete_slab_from_pink_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_pink_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:pink_concrete_slab_from_pink_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/pink_concrete_stairs_from_pink_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/pink_concrete_stairs_from_pink_concrete_stonecutting.json new file mode 100644 index 00000000..e0236f7e --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/pink_concrete_stairs_from_pink_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_pink_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:pink_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:pink_concrete_stairs_from_pink_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_pink_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:pink_concrete_stairs_from_pink_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/pink_concrete_wall_from_pink_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/pink_concrete_wall_from_pink_concrete_stonecutting.json new file mode 100644 index 00000000..1cae885e --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/pink_concrete_wall_from_pink_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_pink_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:pink_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:pink_concrete_wall_from_pink_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_pink_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:pink_concrete_wall_from_pink_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/pink_rebar_concrete_slab_from_pink_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/pink_rebar_concrete_slab_from_pink_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..10369866 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/pink_rebar_concrete_slab_from_pink_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_pink_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:pink_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:pink_rebar_concrete_slab_from_pink_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_pink_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:pink_rebar_concrete_slab_from_pink_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/pink_rebar_concrete_stairs_from_pink_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/pink_rebar_concrete_stairs_from_pink_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..0d2e4b1e --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/pink_rebar_concrete_stairs_from_pink_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_pink_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:pink_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:pink_rebar_concrete_stairs_from_pink_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_pink_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:pink_rebar_concrete_stairs_from_pink_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/pink_rebar_concrete_wall_from_pink_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/pink_rebar_concrete_wall_from_pink_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..8746ef97 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/pink_rebar_concrete_wall_from_pink_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_pink_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:pink_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:pink_rebar_concrete_wall_from_pink_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_pink_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:pink_rebar_concrete_wall_from_pink_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..f2ad5f15 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:polished_cut_bauxite_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:polished_cut_bauxite_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_slab.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_slab.json new file mode 100644 index 00000000..806aa19f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_polished_cut_bauxite": { + "conditions": { + "items": [ + { + "items": "tfmg:polished_cut_bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:polished_cut_bauxite_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_polished_cut_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:polished_cut_bauxite_slab" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_slab_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_slab_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..27a17bce --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_slab_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:polished_cut_bauxite_slab_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:polished_cut_bauxite_slab_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_slab_recycling.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_slab_recycling.json new file mode 100644 index 00000000..25da3ed6 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_slab_recycling.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_polished_cut_bauxite_slab": { + "conditions": { + "items": [ + { + "items": "tfmg:polished_cut_bauxite_slab" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:polished_cut_bauxite_slab_recycling" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_polished_cut_bauxite_slab" + ] + ], + "rewards": { + "recipes": [ + "tfmg:polished_cut_bauxite_slab_recycling" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_stairs.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_stairs.json new file mode 100644 index 00000000..828ebdb9 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_polished_cut_bauxite": { + "conditions": { + "items": [ + { + "items": "tfmg:polished_cut_bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:polished_cut_bauxite_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_polished_cut_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:polished_cut_bauxite_stairs" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..7ab7dc88 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:polished_cut_bauxite_stairs_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:polished_cut_bauxite_stairs_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_wall.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_wall.json new file mode 100644 index 00000000..b51fdbec --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_polished_cut_bauxite": { + "conditions": { + "items": [ + { + "items": "tfmg:polished_cut_bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:polished_cut_bauxite_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_polished_cut_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:polished_cut_bauxite_wall" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_wall_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_wall_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..76347cda --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_bauxite_wall_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:polished_cut_bauxite_wall_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:polished_cut_bauxite_wall_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..0cf50b96 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:polished_cut_galena_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:polished_cut_galena_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_slab.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_slab.json new file mode 100644 index 00000000..76139a75 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_polished_cut_galena": { + "conditions": { + "items": [ + { + "items": "tfmg:polished_cut_galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:polished_cut_galena_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_polished_cut_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:polished_cut_galena_slab" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_slab_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_slab_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..f2ea15c8 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_slab_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:polished_cut_galena_slab_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:polished_cut_galena_slab_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_slab_recycling.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_slab_recycling.json new file mode 100644 index 00000000..366df8dd --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_slab_recycling.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_polished_cut_galena_slab": { + "conditions": { + "items": [ + { + "items": "tfmg:polished_cut_galena_slab" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:polished_cut_galena_slab_recycling" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_polished_cut_galena_slab" + ] + ], + "rewards": { + "recipes": [ + "tfmg:polished_cut_galena_slab_recycling" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_stairs.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_stairs.json new file mode 100644 index 00000000..25f4780e --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_polished_cut_galena": { + "conditions": { + "items": [ + { + "items": "tfmg:polished_cut_galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:polished_cut_galena_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_polished_cut_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:polished_cut_galena_stairs" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_stairs_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_stairs_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..f1a27ed8 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_stairs_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:polished_cut_galena_stairs_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:polished_cut_galena_stairs_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_wall.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_wall.json new file mode 100644 index 00000000..3846ea5a --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_polished_cut_galena": { + "conditions": { + "items": [ + { + "items": "tfmg:polished_cut_galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:polished_cut_galena_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_polished_cut_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:polished_cut_galena_wall" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_wall_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_wall_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..eead722a --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/polished_cut_galena_wall_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:polished_cut_galena_wall_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:polished_cut_galena_wall_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/purple_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/purple_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..a50cc76d --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/purple_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:purple_caution_block_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:purple_caution_block_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/purple_concrete_slab_from_purple_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/purple_concrete_slab_from_purple_concrete_stonecutting.json new file mode 100644 index 00000000..0274089c --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/purple_concrete_slab_from_purple_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_purple_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:purple_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:purple_concrete_slab_from_purple_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_purple_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:purple_concrete_slab_from_purple_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/purple_concrete_stairs_from_purple_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/purple_concrete_stairs_from_purple_concrete_stonecutting.json new file mode 100644 index 00000000..d1350564 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/purple_concrete_stairs_from_purple_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_purple_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:purple_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:purple_concrete_stairs_from_purple_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_purple_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:purple_concrete_stairs_from_purple_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/purple_concrete_wall_from_purple_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/purple_concrete_wall_from_purple_concrete_stonecutting.json new file mode 100644 index 00000000..6b600366 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/purple_concrete_wall_from_purple_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_purple_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:purple_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:purple_concrete_wall_from_purple_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_purple_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:purple_concrete_wall_from_purple_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/purple_rebar_concrete_slab_from_purple_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/purple_rebar_concrete_slab_from_purple_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..03233510 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/purple_rebar_concrete_slab_from_purple_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_purple_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:purple_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:purple_rebar_concrete_slab_from_purple_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_purple_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:purple_rebar_concrete_slab_from_purple_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/purple_rebar_concrete_stairs_from_purple_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/purple_rebar_concrete_stairs_from_purple_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..afa44d08 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/purple_rebar_concrete_stairs_from_purple_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_purple_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:purple_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:purple_rebar_concrete_stairs_from_purple_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_purple_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:purple_rebar_concrete_stairs_from_purple_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/purple_rebar_concrete_wall_from_purple_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/purple_rebar_concrete_wall_from_purple_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..f8e478c1 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/purple_rebar_concrete_wall_from_purple_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_purple_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:purple_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:purple_rebar_concrete_wall_from_purple_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_purple_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:purple_rebar_concrete_wall_from_purple_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/rebar_concrete_slab_from_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/rebar_concrete_slab_from_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..665ba1ba --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/rebar_concrete_slab_from_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:rebar_concrete_slab_from_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:rebar_concrete_slab_from_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/rebar_concrete_stairs_from_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/rebar_concrete_stairs_from_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..be676d9f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/rebar_concrete_stairs_from_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:rebar_concrete_stairs_from_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:rebar_concrete_stairs_from_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/rebar_concrete_wall_from_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/rebar_concrete_wall_from_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..53b7c2c1 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/rebar_concrete_wall_from_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:rebar_concrete_wall_from_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:rebar_concrete_wall_from_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/rebar_from_ingots_steel_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/rebar_from_ingots_steel_stonecutting.json new file mode 100644 index 00000000..9d936f59 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/rebar_from_ingots_steel_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_steel": { + "conditions": { + "items": [ + { + "items": "#c:ingots/steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:rebar_from_ingots_steel_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_steel" + ] + ], + "rewards": { + "recipes": [ + "tfmg:rebar_from_ingots_steel_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/red_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/red_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..ad2022a5 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/red_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:red_caution_block_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:red_caution_block_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/red_concrete_slab_from_red_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/red_concrete_slab_from_red_concrete_stonecutting.json new file mode 100644 index 00000000..23e56316 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/red_concrete_slab_from_red_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_red_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:red_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:red_concrete_slab_from_red_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_red_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:red_concrete_slab_from_red_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/red_concrete_stairs_from_red_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/red_concrete_stairs_from_red_concrete_stonecutting.json new file mode 100644 index 00000000..cfc524fa --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/red_concrete_stairs_from_red_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_red_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:red_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:red_concrete_stairs_from_red_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_red_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:red_concrete_stairs_from_red_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/red_concrete_wall_from_red_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/red_concrete_wall_from_red_concrete_stonecutting.json new file mode 100644 index 00000000..eb546def --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/red_concrete_wall_from_red_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_red_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:red_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:red_concrete_wall_from_red_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_red_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:red_concrete_wall_from_red_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/red_rebar_concrete_slab_from_red_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/red_rebar_concrete_slab_from_red_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..dac8da54 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/red_rebar_concrete_slab_from_red_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_red_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:red_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:red_rebar_concrete_slab_from_red_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_red_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:red_rebar_concrete_slab_from_red_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/red_rebar_concrete_stairs_from_red_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/red_rebar_concrete_stairs_from_red_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..c14eaf83 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/red_rebar_concrete_stairs_from_red_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_red_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:red_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:red_rebar_concrete_stairs_from_red_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_red_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:red_rebar_concrete_stairs_from_red_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/red_rebar_concrete_wall_from_red_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/red_rebar_concrete_wall_from_red_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..32a6f7a2 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/red_rebar_concrete_wall_from_red_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_red_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:red_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:red_rebar_concrete_wall_from_red_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_red_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:red_rebar_concrete_wall_from_red_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/screw_from_ingots_steel_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/screw_from_ingots_steel_stonecutting.json new file mode 100644 index 00000000..4cca96e7 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/screw_from_ingots_steel_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_steel": { + "conditions": { + "items": [ + { + "items": "#c:ingots/steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:screw_from_ingots_steel_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_steel" + ] + ], + "rewards": { + "recipes": [ + "tfmg:screw_from_ingots_steel_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/slag_bricks_from_slag_block_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/slag_bricks_from_slag_block_stonecutting.json new file mode 100644 index 00000000..d034d768 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/slag_bricks_from_slag_block_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_slag_block": { + "conditions": { + "items": [ + { + "items": "tfmg:slag_block" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:slag_bricks_from_slag_block_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_slag_block" + ] + ], + "rewards": { + "recipes": [ + "tfmg:slag_bricks_from_slag_block_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_slab.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_slab.json new file mode 100644 index 00000000..4983bcea --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_small_bauxite_bricks": { + "conditions": { + "items": [ + { + "items": "tfmg:small_bauxite_bricks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:small_bauxite_brick_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_small_bauxite_bricks" + ] + ], + "rewards": { + "recipes": [ + "tfmg:small_bauxite_brick_slab" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..7f4d0837 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:small_bauxite_brick_slab_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:small_bauxite_brick_slab_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_slab_recycling.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_slab_recycling.json new file mode 100644 index 00000000..de6eb939 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_slab_recycling.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_small_bauxite_brick_slab": { + "conditions": { + "items": [ + { + "items": "tfmg:small_bauxite_brick_slab" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:small_bauxite_brick_slab_recycling" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_small_bauxite_brick_slab" + ] + ], + "rewards": { + "recipes": [ + "tfmg:small_bauxite_brick_slab_recycling" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_stairs.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_stairs.json new file mode 100644 index 00000000..26ccb1ae --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_small_bauxite_bricks": { + "conditions": { + "items": [ + { + "items": "tfmg:small_bauxite_bricks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:small_bauxite_brick_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_small_bauxite_bricks" + ] + ], + "rewards": { + "recipes": [ + "tfmg:small_bauxite_brick_stairs" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..9289ea76 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:small_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:small_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_wall.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_wall.json new file mode 100644 index 00000000..8b6d7435 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_small_bauxite_bricks": { + "conditions": { + "items": [ + { + "items": "tfmg:small_bauxite_bricks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:small_bauxite_brick_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_small_bauxite_bricks" + ] + ], + "rewards": { + "recipes": [ + "tfmg:small_bauxite_brick_wall" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_wall_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_wall_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..c4ffa067 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_brick_wall_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:small_bauxite_brick_wall_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:small_bauxite_brick_wall_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_bricks_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_bricks_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..3ac003a8 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_bauxite_bricks_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_bauxite": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/bauxite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:small_bauxite_bricks_from_stone_types_bauxite_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_bauxite" + ] + ], + "rewards": { + "recipes": [ + "tfmg:small_bauxite_bricks_from_stone_types_bauxite_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_slab.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_slab.json new file mode 100644 index 00000000..d6597830 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_small_galena_bricks": { + "conditions": { + "items": [ + { + "items": "tfmg:small_galena_bricks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:small_galena_brick_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_small_galena_bricks" + ] + ], + "rewards": { + "recipes": [ + "tfmg:small_galena_brick_slab" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_slab_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_slab_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..413247ed --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_slab_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:small_galena_brick_slab_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:small_galena_brick_slab_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_slab_recycling.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_slab_recycling.json new file mode 100644 index 00000000..ab916abd --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_slab_recycling.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_small_galena_brick_slab": { + "conditions": { + "items": [ + { + "items": "tfmg:small_galena_brick_slab" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:small_galena_brick_slab_recycling" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_small_galena_brick_slab" + ] + ], + "rewards": { + "recipes": [ + "tfmg:small_galena_brick_slab_recycling" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_stairs.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_stairs.json new file mode 100644 index 00000000..d334a62a --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_small_galena_bricks": { + "conditions": { + "items": [ + { + "items": "tfmg:small_galena_bricks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:small_galena_brick_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_small_galena_bricks" + ] + ], + "rewards": { + "recipes": [ + "tfmg:small_galena_brick_stairs" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_stairs_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_stairs_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..4d72bea7 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_stairs_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:small_galena_brick_stairs_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:small_galena_brick_stairs_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_wall.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_wall.json new file mode 100644 index 00000000..21911ca6 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_small_galena_bricks": { + "conditions": { + "items": [ + { + "items": "tfmg:small_galena_bricks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:small_galena_brick_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_small_galena_bricks" + ] + ], + "rewards": { + "recipes": [ + "tfmg:small_galena_brick_wall" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_wall_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_wall_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..7f3cb82f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_brick_wall_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:small_galena_brick_wall_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:small_galena_brick_wall_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_bricks_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_bricks_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..26c84690 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/small_galena_bricks_from_stone_types_galena_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stone_types_galena": { + "conditions": { + "items": [ + { + "items": "#tfmg:stone_types/galena" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:small_galena_bricks_from_stone_types_galena_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stone_types_galena" + ] + ], + "rewards": { + "recipes": [ + "tfmg:small_galena_bricks_from_stone_types_galena_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/unfired_insulator_from_clay_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/unfired_insulator_from_clay_stonecutting.json new file mode 100644 index 00000000..698eeb0a --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/unfired_insulator_from_clay_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_clay": { + "conditions": { + "items": [ + { + "items": "minecraft:clay" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:unfired_insulator_from_clay_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_clay" + ] + ], + "rewards": { + "recipes": [ + "tfmg:unfired_insulator_from_clay_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/white_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/white_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..40eacd26 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/white_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:white_caution_block_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:white_caution_block_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/white_concrete_slab_from_white_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/white_concrete_slab_from_white_concrete_stonecutting.json new file mode 100644 index 00000000..deefe0aa --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/white_concrete_slab_from_white_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:white_concrete_slab_from_white_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_white_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:white_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_white_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:white_concrete_slab_from_white_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/white_concrete_stairs_from_white_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/white_concrete_stairs_from_white_concrete_stonecutting.json new file mode 100644 index 00000000..c9ebda67 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/white_concrete_stairs_from_white_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:white_concrete_stairs_from_white_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_white_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:white_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_white_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:white_concrete_stairs_from_white_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/white_concrete_wall_from_white_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/white_concrete_wall_from_white_concrete_stonecutting.json new file mode 100644 index 00000000..891459c9 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/white_concrete_wall_from_white_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:white_concrete_wall_from_white_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_white_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:white_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_white_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:white_concrete_wall_from_white_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/white_rebar_concrete_slab_from_white_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/white_rebar_concrete_slab_from_white_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..6d67797f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/white_rebar_concrete_slab_from_white_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:white_rebar_concrete_slab_from_white_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_white_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:white_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_white_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:white_rebar_concrete_slab_from_white_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/white_rebar_concrete_stairs_from_white_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/white_rebar_concrete_stairs_from_white_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..47aa9e0b --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/white_rebar_concrete_stairs_from_white_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:white_rebar_concrete_stairs_from_white_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_white_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:white_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_white_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:white_rebar_concrete_stairs_from_white_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/white_rebar_concrete_wall_from_white_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/white_rebar_concrete_wall_from_white_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..275308c9 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/white_rebar_concrete_wall_from_white_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:white_rebar_concrete_wall_from_white_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_white_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:white_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_white_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:white_rebar_concrete_wall_from_white_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/yellow_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/yellow_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..a0db501f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/yellow_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:yellow_caution_block_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:yellow_caution_block_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/yellow_concrete_slab_from_yellow_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/yellow_concrete_slab_from_yellow_concrete_stonecutting.json new file mode 100644 index 00000000..18d19ef4 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/yellow_concrete_slab_from_yellow_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:yellow_concrete_slab_from_yellow_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_yellow_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:yellow_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_yellow_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:yellow_concrete_slab_from_yellow_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/yellow_concrete_stairs_from_yellow_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/yellow_concrete_stairs_from_yellow_concrete_stonecutting.json new file mode 100644 index 00000000..d5bd4959 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/yellow_concrete_stairs_from_yellow_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:yellow_concrete_stairs_from_yellow_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_yellow_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:yellow_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_yellow_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:yellow_concrete_stairs_from_yellow_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/yellow_concrete_wall_from_yellow_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/yellow_concrete_wall_from_yellow_concrete_stonecutting.json new file mode 100644 index 00000000..ca324363 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/yellow_concrete_wall_from_yellow_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:yellow_concrete_wall_from_yellow_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_yellow_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:yellow_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_yellow_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:yellow_concrete_wall_from_yellow_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/yellow_rebar_concrete_slab_from_yellow_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/yellow_rebar_concrete_slab_from_yellow_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..098d92b2 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/yellow_rebar_concrete_slab_from_yellow_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:yellow_rebar_concrete_slab_from_yellow_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_yellow_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:yellow_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_yellow_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:yellow_rebar_concrete_slab_from_yellow_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/yellow_rebar_concrete_stairs_from_yellow_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/yellow_rebar_concrete_stairs_from_yellow_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..2327f714 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/yellow_rebar_concrete_stairs_from_yellow_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:yellow_rebar_concrete_stairs_from_yellow_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_yellow_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:yellow_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_yellow_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:yellow_rebar_concrete_stairs_from_yellow_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/yellow_rebar_concrete_wall_from_yellow_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/yellow_rebar_concrete_wall_from_yellow_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..d3872197 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/yellow_rebar_concrete_wall_from_yellow_rebar_concrete_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:yellow_rebar_concrete_wall_from_yellow_rebar_concrete_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_yellow_rebar_concrete": { + "conditions": { + "items": [ + { + "items": "tfmg:yellow_rebar_concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_yellow_rebar_concrete" + ] + ], + "rewards": { + "recipes": [ + "tfmg:yellow_rebar_concrete_wall_from_yellow_rebar_concrete_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/zinc_electrode_from_storage_blocks_zinc_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/zinc_electrode_from_storage_blocks_zinc_stonecutting.json new file mode 100644 index 00000000..c1c88642 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/building_blocks/zinc_electrode_from_storage_blocks_zinc_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_storage_blocks_zinc": { + "conditions": { + "items": [ + { + "items": "#c:storage_blocks/zinc" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:zinc_electrode_from_storage_blocks_zinc_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_storage_blocks_zinc" + ] + ], + "rewards": { + "recipes": [ + "tfmg:zinc_electrode_from_storage_blocks_zinc_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/decorations/aluminum_bars_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/decorations/aluminum_bars_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..83c749f1 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/decorations/aluminum_bars_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:aluminum_bars_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:aluminum_bars_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/decorations/aluminum_ladder_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/decorations/aluminum_ladder_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..a1b51af8 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/decorations/aluminum_ladder_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:aluminum_ladder_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:aluminum_ladder_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/decorations/aluminum_scaffolding_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/decorations/aluminum_scaffolding_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..e52cd393 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/decorations/aluminum_scaffolding_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_aluminum": { + "conditions": { + "items": [ + { + "items": "#c:ingots/aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:aluminum_scaffolding_from_ingots_aluminum_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_aluminum" + ] + ], + "rewards": { + "recipes": [ + "tfmg:aluminum_scaffolding_from_ingots_aluminum_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/decorations/cast_iron_bars_from_ingots_cast_iron_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/decorations/cast_iron_bars_from_ingots_cast_iron_stonecutting.json new file mode 100644 index 00000000..03a61b33 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/decorations/cast_iron_bars_from_ingots_cast_iron_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_cast_iron": { + "conditions": { + "items": [ + { + "items": "#c:ingots/cast_iron" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cast_iron_bars_from_ingots_cast_iron_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_cast_iron" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cast_iron_bars_from_ingots_cast_iron_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/decorations/cast_iron_ladder_from_ingots_cast_iron_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/decorations/cast_iron_ladder_from_ingots_cast_iron_stonecutting.json new file mode 100644 index 00000000..cbc202f5 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/decorations/cast_iron_ladder_from_ingots_cast_iron_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_cast_iron": { + "conditions": { + "items": [ + { + "items": "#c:ingots/cast_iron" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:cast_iron_ladder_from_ingots_cast_iron_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_cast_iron" + ] + ], + "rewards": { + "recipes": [ + "tfmg:cast_iron_ladder_from_ingots_cast_iron_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/decorations/constantan_ladder_from_ingots_constantan_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/decorations/constantan_ladder_from_ingots_constantan_stonecutting.json new file mode 100644 index 00000000..6dd4f979 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/decorations/constantan_ladder_from_ingots_constantan_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_constantan": { + "conditions": { + "items": [ + { + "items": "#c:ingots/constantan" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:constantan_ladder_from_ingots_constantan_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_constantan" + ] + ], + "rewards": { + "recipes": [ + "tfmg:constantan_ladder_from_ingots_constantan_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/decorations/large_pumpjack_hammer_part_from_storage_blocks_steel_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/decorations/large_pumpjack_hammer_part_from_storage_blocks_steel_stonecutting.json new file mode 100644 index 00000000..9d7dd667 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/decorations/large_pumpjack_hammer_part_from_storage_blocks_steel_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_storage_blocks_steel": { + "conditions": { + "items": [ + { + "items": "#c:storage_blocks/steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:large_pumpjack_hammer_part_from_storage_blocks_steel_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_storage_blocks_steel" + ] + ], + "rewards": { + "recipes": [ + "tfmg:large_pumpjack_hammer_part_from_storage_blocks_steel_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/decorations/lead_bars_from_ingots_lead_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/decorations/lead_bars_from_ingots_lead_stonecutting.json new file mode 100644 index 00000000..c8bd619d --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/decorations/lead_bars_from_ingots_lead_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_lead": { + "conditions": { + "items": [ + { + "items": "#c:ingots/lead" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:lead_bars_from_ingots_lead_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_lead" + ] + ], + "rewards": { + "recipes": [ + "tfmg:lead_bars_from_ingots_lead_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/decorations/lead_ladder_from_ingots_lead_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/decorations/lead_ladder_from_ingots_lead_stonecutting.json new file mode 100644 index 00000000..998d1690 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/decorations/lead_ladder_from_ingots_lead_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_lead": { + "conditions": { + "items": [ + { + "items": "#c:ingots/lead" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:lead_ladder_from_ingots_lead_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_lead" + ] + ], + "rewards": { + "recipes": [ + "tfmg:lead_ladder_from_ingots_lead_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/decorations/nickel_bars_from_ingots_nickel_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/decorations/nickel_bars_from_ingots_nickel_stonecutting.json new file mode 100644 index 00000000..d237f98c --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/decorations/nickel_bars_from_ingots_nickel_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_nickel": { + "conditions": { + "items": [ + { + "items": "#c:ingots/nickel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:nickel_bars_from_ingots_nickel_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_nickel" + ] + ], + "rewards": { + "recipes": [ + "tfmg:nickel_bars_from_ingots_nickel_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/decorations/nickel_ladder_from_ingots_nickel_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/decorations/nickel_ladder_from_ingots_nickel_stonecutting.json new file mode 100644 index 00000000..cbbc9f8d --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/decorations/nickel_ladder_from_ingots_nickel_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_nickel": { + "conditions": { + "items": [ + { + "items": "#c:ingots/nickel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:nickel_ladder_from_ingots_nickel_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_nickel" + ] + ], + "rewards": { + "recipes": [ + "tfmg:nickel_ladder_from_ingots_nickel_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/decorations/pumpjack_hammer_part_from_storage_blocks_steel_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/decorations/pumpjack_hammer_part_from_storage_blocks_steel_stonecutting.json new file mode 100644 index 00000000..843ec190 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/decorations/pumpjack_hammer_part_from_storage_blocks_steel_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_storage_blocks_steel": { + "conditions": { + "items": [ + { + "items": "#c:storage_blocks/steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:pumpjack_hammer_part_from_storage_blocks_steel_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_storage_blocks_steel" + ] + ], + "rewards": { + "recipes": [ + "tfmg:pumpjack_hammer_part_from_storage_blocks_steel_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/decorations/steel_bars_from_ingots_steel_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/decorations/steel_bars_from_ingots_steel_stonecutting.json new file mode 100644 index 00000000..84984508 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/decorations/steel_bars_from_ingots_steel_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_steel": { + "conditions": { + "items": [ + { + "items": "#c:ingots/steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:steel_bars_from_ingots_steel_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_steel" + ] + ], + "rewards": { + "recipes": [ + "tfmg:steel_bars_from_ingots_steel_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/decorations/steel_ladder_from_ingots_steel_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/decorations/steel_ladder_from_ingots_steel_stonecutting.json new file mode 100644 index 00000000..d1f846aa --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/decorations/steel_ladder_from_ingots_steel_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_steel": { + "conditions": { + "items": [ + { + "items": "#c:ingots/steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:steel_ladder_from_ingots_steel_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_steel" + ] + ], + "rewards": { + "recipes": [ + "tfmg:steel_ladder_from_ingots_steel_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/decorations/steel_scaffolding_from_ingots_steel_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/decorations/steel_scaffolding_from_ingots_steel_stonecutting.json new file mode 100644 index 00000000..8914f9f5 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/decorations/steel_scaffolding_from_ingots_steel_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_steel": { + "conditions": { + "items": [ + { + "items": "#c:ingots/steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:steel_scaffolding_from_ingots_steel_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_steel" + ] + ], + "rewards": { + "recipes": [ + "tfmg:steel_scaffolding_from_ingots_steel_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/blasting/lead_ingot_blasting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/blasting/lead_ingot_blasting.json new file mode 100644 index 00000000..8bf7ebe6 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/blasting/lead_ingot_blasting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:raw_lead" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:blasting/lead_ingot_blasting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:blasting/lead_ingot_blasting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/blasting/lead_ingot_from_crushed_blasting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/blasting/lead_ingot_from_crushed_blasting.json new file mode 100644 index 00000000..26a81a78 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/blasting/lead_ingot_from_crushed_blasting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "create:crushed_raw_lead" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:blasting/lead_ingot_from_crushed_blasting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:blasting/lead_ingot_from_crushed_blasting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/blasting/lithium_ingot_blasting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/blasting/lithium_ingot_blasting.json new file mode 100644 index 00000000..39921b17 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/blasting/lithium_ingot_blasting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:raw_lithium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:blasting/lithium_ingot_blasting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:blasting/lithium_ingot_blasting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/blasting/nickel_ingot_blasting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/blasting/nickel_ingot_blasting.json new file mode 100644 index 00000000..06c49d7b --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/blasting/nickel_ingot_blasting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:raw_nickel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:blasting/nickel_ingot_blasting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:blasting/nickel_ingot_blasting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/blasting/nickel_ingot_from_crushed_blasting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/blasting/nickel_ingot_from_crushed_blasting.json new file mode 100644 index 00000000..3bb3d14a --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/blasting/nickel_ingot_from_crushed_blasting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "create:crushed_raw_nickel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:blasting/nickel_ingot_from_crushed_blasting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:blasting/nickel_ingot_from_crushed_blasting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/accumulator.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/accumulator.json new file mode 100644 index 00000000..d8aa38fa --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/accumulator.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:sulfuric_acid_bucket" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/accumulator" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/accumulator" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/accumulatorfrom_lithium.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/accumulatorfrom_lithium.json new file mode 100644 index 00000000..480c7fb1 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/accumulatorfrom_lithium.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lithium_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/accumulatorfrom_lithium" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/accumulatorfrom_lithium" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/air_intake.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/air_intake.json new file mode 100644 index 00000000..e308d5e7 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/air_intake.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "create:propeller" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/air_intake" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/air_intake" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_axe.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_axe.json new file mode 100644 index 00000000..a8a043c6 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_axe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_axe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_axe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_block_from_compacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_block_from_compacting.json new file mode 100644 index 00000000..22397016 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_block_from_compacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_block_from_compacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_block_from_compacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_cable_hub.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_cable_hub.json new file mode 100644 index 00000000..82081bd1 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_cable_hub.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:magnet" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_cable_hub" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_cable_hub" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_cogwheel.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_cogwheel.json new file mode 100644 index 00000000..e420a5fa --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_cogwheel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_cogwheel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_cogwheel" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_door.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_door.json new file mode 100644 index 00000000..8ec5085a --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_door.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_door" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_door" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_fluid_tank.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_fluid_tank.json new file mode 100644 index 00000000..ff394910 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_fluid_tank.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_fluid_tank" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_fluid_tank" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_flywheel.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_flywheel.json new file mode 100644 index 00000000..3f61d81b --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_flywheel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_flywheel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_flywheel" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_frame.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_frame.json new file mode 100644 index 00000000..c27276b6 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_frame.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_frame" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_frame" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_hoe.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_hoe.json new file mode 100644 index 00000000..e9a875c3 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_hoe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_hoe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_hoe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_ingot_from_compacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_ingot_from_compacting.json new file mode 100644 index 00000000..d73bab50 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_ingot_from_compacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_nugget" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_ingot_from_compacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_ingot_from_compacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_ingot_from_decompacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_ingot_from_decompacting.json new file mode 100644 index 00000000..8d1c3344 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_ingot_from_decompacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_block" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_ingot_from_decompacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_ingot_from_decompacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_lamp.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_lamp.json new file mode 100644 index 00000000..739662e6 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_lamp.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:light_bulb" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_lamp" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_lamp" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_nugget_from_decompacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_nugget_from_decompacting.json new file mode 100644 index 00000000..47c5339a --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_nugget_from_decompacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_nugget_from_decompacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_nugget_from_decompacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_pickaxe.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_pickaxe.json new file mode 100644 index 00000000..c2996916 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_pickaxe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_pickaxe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_pickaxe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_shovel.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_shovel.json new file mode 100644 index 00000000..a2e76f82 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_shovel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_shovel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_shovel" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_spool.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_spool.json new file mode 100644 index 00000000..14e08681 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_spool.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:empty_spool" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_spool" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_spool" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_sword.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_sword.json new file mode 100644 index 00000000..e953f9cb --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_sword.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_sword" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_sword" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_truss.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_truss.json new file mode 100644 index 00000000..4352c345 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_truss.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_truss" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_truss" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/black_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/black_concrete.json new file mode 100644 index 00000000..51f7408c --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/black_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/black_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/black_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/black_multimeter.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/black_multimeter.json new file mode 100644 index 00000000..5c9f5deb --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/black_multimeter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:multimeter" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/black_multimeter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/black_multimeter" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/black_rebar_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/black_rebar_concrete.json new file mode 100644 index 00000000..83389a7f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/black_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/black_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/black_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/blast_furnace_hatch.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/blast_furnace_hatch.json new file mode 100644 index 00000000..7856f03a --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/blast_furnace_hatch.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:fireproof_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/blast_furnace_hatch" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/blast_furnace_hatch" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/blast_furnace_output.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/blast_furnace_output.json new file mode 100644 index 00000000..954489a3 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/blast_furnace_output.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:fireproof_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/blast_furnace_output" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/blast_furnace_output" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/blast_furnace_reinforcement.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/blast_furnace_reinforcement.json new file mode 100644 index 00000000..8e3d9571 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/blast_furnace_reinforcement.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/blast_furnace_reinforcement" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/blast_furnace_reinforcement" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/blast_stove.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/blast_stove.json new file mode 100644 index 00000000..81f30189 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/blast_stove.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:fireproof_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/blast_stove" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/blast_stove" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/blue_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/blue_concrete.json new file mode 100644 index 00000000..2c7b3527 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/blue_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/blue_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/blue_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/blue_multimeter.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/blue_multimeter.json new file mode 100644 index 00000000..764d9b0c --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/blue_multimeter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:multimeter" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/blue_multimeter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/blue_multimeter" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/blue_rebar_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/blue_rebar_concrete.json new file mode 100644 index 00000000..a804d093 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/blue_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/blue_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/blue_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_cable_hub.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_cable_hub.json new file mode 100644 index 00000000..7151a82f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_cable_hub.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:magnet" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/brass_cable_hub" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/brass_cable_hub" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_frame.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_frame.json new file mode 100644 index 00000000..dd094e1d --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_frame.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "create:brass_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/brass_frame" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/brass_frame" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_truss.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_truss.json new file mode 100644 index 00000000..d29179f5 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_truss.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "create:brass_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/brass_truss" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/brass_truss" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brick_smokestack.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brick_smokestack.json new file mode 100644 index 00000000..0bab5e60 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brick_smokestack.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:industrial_pipe" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/brick_smokestack" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/brick_smokestack" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brown_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brown_concrete.json new file mode 100644 index 00000000..519c1096 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brown_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/brown_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/brown_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brown_multimeter.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brown_multimeter.json new file mode 100644 index 00000000..0c92740b --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brown_multimeter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:multimeter" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/brown_multimeter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/brown_multimeter" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brown_rebar_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brown_rebar_concrete.json new file mode 100644 index 00000000..eb333a00 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brown_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/brown_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/brown_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cable_connector.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cable_connector.json new file mode 100644 index 00000000..04360905 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cable_connector.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:copper_wire" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cable_connector" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cable_connector" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cable_tube.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cable_tube.json new file mode 100644 index 00000000..41975dec --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cable_tube.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:rubber_sheet" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cable_tube" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cable_tube" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_block_from_compacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_block_from_compacting.json new file mode 100644 index 00000000..d8d0c5f1 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_block_from_compacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:cast_iron_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cast_iron_block_from_compacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cast_iron_block_from_compacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_chemical_vat.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_chemical_vat.json new file mode 100644 index 00000000..5b4045a2 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_chemical_vat.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:cast_iron_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cast_iron_chemical_vat" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cast_iron_chemical_vat" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_fluid_tank.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_fluid_tank.json new file mode 100644 index 00000000..dd77c473 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_fluid_tank.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:cast_iron_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cast_iron_fluid_tank" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cast_iron_fluid_tank" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_flywheel.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_flywheel.json new file mode 100644 index 00000000..e0003057 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_flywheel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:cast_iron_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cast_iron_flywheel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cast_iron_flywheel" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_frame.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_frame.json new file mode 100644 index 00000000..0b87a268 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_frame.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:cast_iron_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cast_iron_frame" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cast_iron_frame" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_ingot_from_compacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_ingot_from_compacting.json new file mode 100644 index 00000000..4dacac19 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_ingot_from_compacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:cast_iron_nugget" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cast_iron_ingot_from_compacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cast_iron_ingot_from_compacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_ingot_from_decompacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_ingot_from_decompacting.json new file mode 100644 index 00000000..d054f8ec --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_ingot_from_decompacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:cast_iron_block" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cast_iron_ingot_from_decompacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cast_iron_ingot_from_decompacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_nugget_from_decompacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_nugget_from_decompacting.json new file mode 100644 index 00000000..b300401c --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_nugget_from_decompacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:cast_iron_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cast_iron_nugget_from_decompacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cast_iron_nugget_from_decompacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_truss.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_truss.json new file mode 100644 index 00000000..ad3db9e4 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_truss.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:cast_iron_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cast_iron_truss" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cast_iron_truss" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/casting_basin.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/casting_basin.json new file mode 100644 index 00000000..962d9a25 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/casting_basin.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:fireproof_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/casting_basin" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/casting_basin" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/centrifuge.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/centrifuge.json new file mode 100644 index 00000000..67ce5212 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/centrifuge.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/centrifuge" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/centrifuge" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cinder_block.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cinder_block.json new file mode 100644 index 00000000..c2ca702c --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cinder_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:cinderblock" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cinder_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cinder_block" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cinderflour_block.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cinderflour_block.json new file mode 100644 index 00000000..e714e155 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cinderflour_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:cinderflourblock" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cinderflour_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cinderflour_block" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/circular_light.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/circular_light.json new file mode 100644 index 00000000..e07b4310 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/circular_light.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:light_bulb" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/circular_light" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/circular_light" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/coal_coke.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/coal_coke.json new file mode 100644 index 00000000..1ffa03fc --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/coal_coke.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:coal_coke" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/coal_coke" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/coal_coke" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/coal_coke_block.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/coal_coke_block.json new file mode 100644 index 00000000..15646b02 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/coal_coke_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:coal_coke" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/coal_coke_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/coal_coke_block" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/coke_oven.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/coke_oven.json new file mode 100644 index 00000000..34c9fdb4 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/coke_oven.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:cast_iron_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/coke_oven" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/coke_oven" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/concrete_hose.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/concrete_hose.json new file mode 100644 index 00000000..b491cbc1 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/concrete_hose.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_casing" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/concrete_hose" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/concrete_hose" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/concrete_smokestack.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/concrete_smokestack.json new file mode 100644 index 00000000..72a46fa4 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/concrete_smokestack.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:industrial_pipe" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/concrete_smokestack" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/concrete_smokestack" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_block_from_compacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_block_from_compacting.json new file mode 100644 index 00000000..a74e58c1 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_block_from_compacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:constantan_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/constantan_block_from_compacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/constantan_block_from_compacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_frame.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_frame.json new file mode 100644 index 00000000..e8ceb085 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_frame.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:constantan_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/constantan_frame" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/constantan_frame" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_ingot_from_compacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_ingot_from_compacting.json new file mode 100644 index 00000000..c3b99053 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_ingot_from_compacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:constantan_nugget" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/constantan_ingot_from_compacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/constantan_ingot_from_compacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_ingot_from_decompacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_ingot_from_decompacting.json new file mode 100644 index 00000000..f9d98db0 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_ingot_from_decompacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:constantan_block" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/constantan_ingot_from_decompacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/constantan_ingot_from_decompacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_nugget_from_decompacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_nugget_from_decompacting.json new file mode 100644 index 00000000..562ed74c --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_nugget_from_decompacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:constantan_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/constantan_nugget_from_decompacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/constantan_nugget_from_decompacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_spool.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_spool.json new file mode 100644 index 00000000..fc84a9c8 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_spool.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:empty_spool" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/constantan_spool" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/constantan_spool" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_truss.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_truss.json new file mode 100644 index 00000000..5c81ff5f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/constantan_truss.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:constantan_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/constantan_truss" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/constantan_truss" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/converter.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/converter.json new file mode 100644 index 00000000..bdef471a --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/converter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:transformer" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/converter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/converter" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cooling_fluid_bottle.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cooling_fluid_bottle.json new file mode 100644 index 00000000..886dbb17 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cooling_fluid_bottle.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:plastic_sheet" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cooling_fluid_bottle" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cooling_fluid_bottle" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/copper_cable_hub.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/copper_cable_hub.json new file mode 100644 index 00000000..8c5e0fe9 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/copper_cable_hub.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:magnet" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/copper_cable_hub" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/copper_cable_hub" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/copper_frame.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/copper_frame.json new file mode 100644 index 00000000..172c83f8 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/copper_frame.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "minecraft:copper_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/copper_frame" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/copper_frame" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/copper_grenade.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/copper_grenade.json new file mode 100644 index 00000000..8c40c320 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/copper_grenade.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/copper_grenade" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/copper_grenade" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/copper_spool.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/copper_spool.json new file mode 100644 index 00000000..8bb50cc7 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/copper_spool.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:empty_spool" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/copper_spool" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/copper_spool" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/copper_truss.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/copper_truss.json new file mode 100644 index 00000000..58d3b785 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/copper_truss.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "minecraft:copper_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/copper_truss" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/copper_truss" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/copycat_cable_block.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/copycat_cable_block.json new file mode 100644 index 00000000..6f83cb90 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/copycat_cable_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:nickel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/copycat_cable_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/copycat_cable_block" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/crankshaft.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/crankshaft.json new file mode 100644 index 00000000..c228d061 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/crankshaft.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/crankshaft" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/crankshaft" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cyan_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cyan_concrete.json new file mode 100644 index 00000000..c39d6aa6 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cyan_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cyan_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cyan_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cyan_multimeter.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cyan_multimeter.json new file mode 100644 index 00000000..2554ec07 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cyan_multimeter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:multimeter" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cyan_multimeter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cyan_multimeter" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cyan_rebar_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cyan_rebar_concrete.json new file mode 100644 index 00000000..d6da0657 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cyan_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cyan_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cyan_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/diagonal_cable_block.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/diagonal_cable_block.json new file mode 100644 index 00000000..29d64005 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/diagonal_cable_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:rubber_sheet" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/diagonal_cable_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/diagonal_cable_block" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/electric_diode.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/electric_diode.json new file mode 100644 index 00000000..13810e1b --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/electric_diode.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:silicon_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/electric_diode" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/electric_diode" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/electric_post.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/electric_post.json new file mode 100644 index 00000000..113a67ac --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/electric_post.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:copper_wire" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/electric_post" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/electric_post" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/electric_pump.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/electric_pump.json new file mode 100644 index 00000000..00dbcc69 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/electric_pump.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:circuit_board" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/electric_pump" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/electric_pump" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/electrical_switch.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/electrical_switch.json new file mode 100644 index 00000000..7291e3dd --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/electrical_switch.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:copper_wire" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/electrical_switch" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/electrical_switch" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/electricians_wrench.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/electricians_wrench.json new file mode 100644 index 00000000..b18d41d9 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/electricians_wrench.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/electricians_wrench" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/electricians_wrench" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/electrode_holder.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/electrode_holder.json new file mode 100644 index 00000000..4ac67aa3 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/electrode_holder.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:heavy_machinery_casing" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/electrode_holder" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/electrode_holder" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/empty_circuit_board.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/empty_circuit_board.json new file mode 100644 index 00000000..c5898edd --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/empty_circuit_board.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:plastic_sheet" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/empty_circuit_board" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/empty_circuit_board" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/engine_gearbox.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/engine_gearbox.json new file mode 100644 index 00000000..e34de1c3 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/engine_gearbox.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_mechanism" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/engine_gearbox" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/engine_gearbox" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/exhaust.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/exhaust.json new file mode 100644 index 00000000..0453e87f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/exhaust.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:cast_iron_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/exhaust" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/exhaust" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/firebox.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/firebox.json new file mode 100644 index 00000000..36cc01b4 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/firebox.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:industrial_pipe" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/firebox" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/firebox" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/fireclay.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/fireclay.json new file mode 100644 index 00000000..b55a1dae --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/fireclay.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:fireclay_ball" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/fireclay" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/fireclay" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/fireproof_brick_reinforcement.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/fireproof_brick_reinforcement.json new file mode 100644 index 00000000..1569bbe0 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/fireproof_brick_reinforcement.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:fireproof_bricks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/fireproof_brick_reinforcement" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/fireproof_brick_reinforcement" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/fireproof_bricks.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/fireproof_bricks.json new file mode 100644 index 00000000..f8c94ea9 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/fireproof_bricks.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:fireclay_ball" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/fireproof_bricks" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/fireproof_bricks" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/fireproof_chemical_vat.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/fireproof_chemical_vat.json new file mode 100644 index 00000000..59f85132 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/fireproof_chemical_vat.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:circuit_board" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/fireproof_chemical_vat" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/fireproof_chemical_vat" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/flarestack.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/flarestack.json new file mode 100644 index 00000000..a2f341df --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/flarestack.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/flarestack" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/flarestack" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/glass_cable_insulator.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/glass_cable_insulator.json new file mode 100644 index 00000000..011873b9 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/glass_cable_insulator.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:copper_wire" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/glass_cable_insulator" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/glass_cable_insulator" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/glass_insulator_segment.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/glass_insulator_segment.json new file mode 100644 index 00000000..b023d3d0 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/glass_insulator_segment.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:copper_wire" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/glass_insulator_segment" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/glass_insulator_segment" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/gray_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/gray_concrete.json new file mode 100644 index 00000000..e51e9e48 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/gray_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/gray_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/gray_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/gray_multimeter.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/gray_multimeter.json new file mode 100644 index 00000000..ee18910e --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/gray_multimeter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:multimeter" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/gray_multimeter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/gray_multimeter" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/gray_rebar_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/gray_rebar_concrete.json new file mode 100644 index 00000000..f536643e --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/gray_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/gray_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/gray_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/green_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/green_concrete.json new file mode 100644 index 00000000..6d9e64b4 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/green_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/green_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/green_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/green_multimeter.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/green_multimeter.json new file mode 100644 index 00000000..ee30afe5 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/green_multimeter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:multimeter" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/green_multimeter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/green_multimeter" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/green_rebar_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/green_rebar_concrete.json new file mode 100644 index 00000000..cd56c918 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/green_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/green_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/green_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/heavy_cable_hub.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/heavy_cable_hub.json new file mode 100644 index 00000000..92623fa8 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/heavy_cable_hub.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:magnet" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/heavy_cable_hub" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/heavy_cable_hub" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/heavy_casing_door.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/heavy_casing_door.json new file mode 100644 index 00000000..b441a394 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/heavy_casing_door.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/heavy_casing_door" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/heavy_casing_door" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/heavy_plated_door.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/heavy_plated_door.json new file mode 100644 index 00000000..6f968a68 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/heavy_plated_door.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/heavy_plated_door" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/heavy_plated_door" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/industrial_mixer.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/industrial_mixer.json new file mode 100644 index 00000000..21964e11 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/industrial_mixer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:heavy_machinery_casing" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/industrial_mixer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/industrial_mixer" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/large_aluminum_cogwheel.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/large_aluminum_cogwheel.json new file mode 100644 index 00000000..c30a4b6e --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/large_aluminum_cogwheel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/large_aluminum_cogwheel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/large_aluminum_cogwheel" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/large_pumpjack_hammer_connector.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/large_pumpjack_hammer_connector.json new file mode 100644 index 00000000..807daf31 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/large_pumpjack_hammer_connector.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/large_pumpjack_hammer_connector" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/large_pumpjack_hammer_connector" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/large_pumpjack_hammer_head.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/large_pumpjack_hammer_head.json new file mode 100644 index 00000000..9250c582 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/large_pumpjack_hammer_head.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/large_pumpjack_hammer_head" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/large_pumpjack_hammer_head" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/large_steel_cogwheel.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/large_steel_cogwheel.json new file mode 100644 index 00000000..dfd6d572 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/large_steel_cogwheel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/large_steel_cogwheel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/large_steel_cogwheel" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_axe.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_axe.json new file mode 100644 index 00000000..f504e403 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_axe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lead_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lead_axe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lead_axe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_block_from_compacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_block_from_compacting.json new file mode 100644 index 00000000..56a9d930 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_block_from_compacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lead_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lead_block_from_compacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lead_block_from_compacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_flywheel.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_flywheel.json new file mode 100644 index 00000000..7fa8aead --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_flywheel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lead_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lead_flywheel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lead_flywheel" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_frame.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_frame.json new file mode 100644 index 00000000..6fe700e8 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_frame.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lead_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lead_frame" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lead_frame" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_hoe.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_hoe.json new file mode 100644 index 00000000..616633ae --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_hoe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lead_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lead_hoe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lead_hoe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_ingot_from_compacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_ingot_from_compacting.json new file mode 100644 index 00000000..f578a60c --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_ingot_from_compacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lead_nugget" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lead_ingot_from_compacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lead_ingot_from_compacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_ingot_from_decompacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_ingot_from_decompacting.json new file mode 100644 index 00000000..6e8186f7 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_ingot_from_decompacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lead_block" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lead_ingot_from_decompacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lead_ingot_from_decompacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_nugget_from_decompacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_nugget_from_decompacting.json new file mode 100644 index 00000000..e749d963 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_nugget_from_decompacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lead_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lead_nugget_from_decompacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lead_nugget_from_decompacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_pickaxe.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_pickaxe.json new file mode 100644 index 00000000..c43262b0 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_pickaxe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lead_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lead_pickaxe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lead_pickaxe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_shovel.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_shovel.json new file mode 100644 index 00000000..c0d4b618 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_shovel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lead_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lead_shovel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lead_shovel" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_sword.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_sword.json new file mode 100644 index 00000000..9e578420 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_sword.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lead_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lead_sword" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lead_sword" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_truss.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_truss.json new file mode 100644 index 00000000..454c52a3 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lead_truss.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lead_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lead_truss" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lead_truss" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/light_blue_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/light_blue_concrete.json new file mode 100644 index 00000000..66825283 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/light_blue_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/light_blue_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/light_blue_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/light_blue_multimeter.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/light_blue_multimeter.json new file mode 100644 index 00000000..25e23916 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/light_blue_multimeter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:multimeter" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/light_blue_multimeter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/light_blue_multimeter" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/light_blue_rebar_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/light_blue_rebar_concrete.json new file mode 100644 index 00000000..32a37fa2 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/light_blue_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/light_blue_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/light_blue_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/light_bulb.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/light_bulb.json new file mode 100644 index 00000000..b5b2c322 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/light_bulb.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:constantan_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/light_bulb" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/light_bulb" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/light_gray_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/light_gray_concrete.json new file mode 100644 index 00000000..59dffcb4 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/light_gray_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/light_gray_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/light_gray_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/light_gray_multimeter.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/light_gray_multimeter.json new file mode 100644 index 00000000..13bf6310 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/light_gray_multimeter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:multimeter" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/light_gray_multimeter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/light_gray_multimeter" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/light_gray_rebar_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/light_gray_rebar_concrete.json new file mode 100644 index 00000000..79c70702 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/light_gray_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/light_gray_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/light_gray_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lime_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lime_concrete.json new file mode 100644 index 00000000..a05a08ad --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lime_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lime_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lime_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lime_multimeter.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lime_multimeter.json new file mode 100644 index 00000000..42d5da39 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lime_multimeter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:multimeter" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lime_multimeter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lime_multimeter" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lime_rebar_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lime_rebar_concrete.json new file mode 100644 index 00000000..3b0ee5df --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lime_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lime_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lime_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lithium_blade.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lithium_blade.json new file mode 100644 index 00000000..1bc3d3ee --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lithium_blade.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lithium_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lithium_blade" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lithium_blade" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lithium_block_from_compacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lithium_block_from_compacting.json new file mode 100644 index 00000000..0cfaf335 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lithium_block_from_compacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lithium_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lithium_block_from_compacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lithium_block_from_compacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lithium_charge.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lithium_charge.json new file mode 100644 index 00000000..e2aa25a1 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lithium_charge.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lithium_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lithium_charge" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lithium_charge" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lithium_ingot_from_compacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lithium_ingot_from_compacting.json new file mode 100644 index 00000000..b0aad487 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lithium_ingot_from_compacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lithium_nugget" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lithium_ingot_from_compacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lithium_ingot_from_compacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lithium_ingot_from_decompacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lithium_ingot_from_decompacting.json new file mode 100644 index 00000000..838f9394 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lithium_ingot_from_decompacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lithium_block" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lithium_ingot_from_decompacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lithium_ingot_from_decompacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lithium_nugget_from_decompacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lithium_nugget_from_decompacting.json new file mode 100644 index 00000000..3056a4ba --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lithium_nugget_from_decompacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lithium_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lithium_nugget_from_decompacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lithium_nugget_from_decompacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lithium_torch.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lithium_torch.json new file mode 100644 index 00000000..a2ab7eb4 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/lithium_torch.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:lithium_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/lithium_torch" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/lithium_torch" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/machine_input.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/machine_input.json new file mode 100644 index 00000000..fa78541f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/machine_input.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:heavy_machinery_casing" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/machine_input" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/machine_input" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/magenta_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/magenta_concrete.json new file mode 100644 index 00000000..5a92c9e3 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/magenta_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/magenta_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/magenta_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/magenta_multimeter.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/magenta_multimeter.json new file mode 100644 index 00000000..663baa80 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/magenta_multimeter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:multimeter" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/magenta_multimeter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/magenta_multimeter" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/magenta_rebar_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/magenta_rebar_concrete.json new file mode 100644 index 00000000..31b7cc0f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/magenta_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/magenta_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/magenta_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/metal_smokestack.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/metal_smokestack.json new file mode 100644 index 00000000..896d3141 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/metal_smokestack.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:industrial_pipe" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/metal_smokestack" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/metal_smokestack" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/mixer_blade.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/mixer_blade.json new file mode 100644 index 00000000..3cb8b824 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/mixer_blade.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:heavy_plate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/mixer_blade" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/mixer_blade" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/modern_light.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/modern_light.json new file mode 100644 index 00000000..63b2fe11 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/modern_light.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:light_bulb" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/modern_light" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/modern_light" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/multimeter.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/multimeter.json new file mode 100644 index 00000000..a597ac11 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/multimeter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:voltmeter" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/multimeter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/multimeter" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/napalm_bomb.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/napalm_bomb.json new file mode 100644 index 00000000..241f3e7a --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/napalm_bomb.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:fireproof_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/napalm_bomb" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/napalm_bomb" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/neon_tube.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/neon_tube.json new file mode 100644 index 00000000..c974d53b --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/neon_tube.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:copper_wire" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/neon_tube" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/neon_tube" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_block_from_compacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_block_from_compacting.json new file mode 100644 index 00000000..d360fc8d --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_block_from_compacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:nickel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/nickel_block_from_compacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/nickel_block_from_compacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_flywheel.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_flywheel.json new file mode 100644 index 00000000..72965823 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_flywheel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:nickel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/nickel_flywheel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/nickel_flywheel" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_frame.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_frame.json new file mode 100644 index 00000000..54f868fb --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_frame.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:nickel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/nickel_frame" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/nickel_frame" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_ingot_from_compacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_ingot_from_compacting.json new file mode 100644 index 00000000..2ed12fa7 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_ingot_from_compacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:nickel_nugget" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/nickel_ingot_from_compacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/nickel_ingot_from_compacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_ingot_from_decompacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_ingot_from_decompacting.json new file mode 100644 index 00000000..9dd58fe1 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_ingot_from_decompacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:nickel_block" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/nickel_ingot_from_decompacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/nickel_ingot_from_decompacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_nugget_from_decompacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_nugget_from_decompacting.json new file mode 100644 index 00000000..048aa9a1 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_nugget_from_decompacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:nickel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/nickel_nugget_from_decompacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/nickel_nugget_from_decompacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_truss.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_truss.json new file mode 100644 index 00000000..a2830236 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/nickel_truss.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:nickel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/nickel_truss" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/nickel_truss" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/oil_can.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/oil_can.json new file mode 100644 index 00000000..733a43c1 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/oil_can.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_nugget" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/oil_can" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/oil_can" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/oil_hammer.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/oil_hammer.json new file mode 100644 index 00000000..f7471a29 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/oil_hammer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/oil_hammer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/oil_hammer" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/orange_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/orange_concrete.json new file mode 100644 index 00000000..bfa33023 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/orange_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/orange_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/orange_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/orange_multimeter.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/orange_multimeter.json new file mode 100644 index 00000000..81fcdf76 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/orange_multimeter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:multimeter" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/orange_multimeter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/orange_multimeter" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/orange_rebar_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/orange_rebar_concrete.json new file mode 100644 index 00000000..75858313 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/orange_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/orange_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/orange_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pink_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pink_concrete.json new file mode 100644 index 00000000..962eab08 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pink_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/pink_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/pink_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pink_multimeter.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pink_multimeter.json new file mode 100644 index 00000000..2fc493ab --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pink_multimeter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:multimeter" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/pink_multimeter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/pink_multimeter" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pink_rebar_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pink_rebar_concrete.json new file mode 100644 index 00000000..f68575ca --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pink_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/pink_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/pink_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pipe_bomb.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pipe_bomb.json new file mode 100644 index 00000000..9ff54112 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pipe_bomb.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_pipe" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/pipe_bomb" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/pipe_bomb" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_block.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_block.json new file mode 100644 index 00000000..576d32a1 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:plastic_sheet" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/plastic_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/plastic_block" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_sheet.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_sheet.json new file mode 100644 index 00000000..0dbae2a5 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_sheet.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:plastic_sheet" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/plastic_sheet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/plastic_sheet" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/polarizer.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/polarizer.json new file mode 100644 index 00000000..0342c7af --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/polarizer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_casing" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/polarizer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/polarizer" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_base.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_base.json new file mode 100644 index 00000000..01823b8b --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_base.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/pumpjack_base" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/pumpjack_base" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_crank.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_crank.json new file mode 100644 index 00000000..94c1088d --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_crank.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/pumpjack_crank" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/pumpjack_crank" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_hammer.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_hammer.json new file mode 100644 index 00000000..5e84d194 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_hammer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/pumpjack_hammer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/pumpjack_hammer" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_hammer_connector.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_hammer_connector.json new file mode 100644 index 00000000..7291896c --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_hammer_connector.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/pumpjack_hammer_connector" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/pumpjack_hammer_connector" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_hammer_head.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_hammer_head.json new file mode 100644 index 00000000..3fdb55c9 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/pumpjack_hammer_head.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/pumpjack_hammer_head" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/pumpjack_hammer_head" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/purple_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/purple_concrete.json new file mode 100644 index 00000000..2747d6c1 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/purple_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/purple_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/purple_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/purple_multimeter.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/purple_multimeter.json new file mode 100644 index 00000000..ce35d1b4 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/purple_multimeter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:multimeter" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/purple_multimeter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/purple_multimeter" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/purple_rebar_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/purple_rebar_concrete.json new file mode 100644 index 00000000..3e8b3d5c --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/purple_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/purple_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/purple_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/radial_engine.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/radial_engine.json new file mode 100644 index 00000000..3ebb6c6f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/radial_engine.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:heavy_machinery_casing" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/radial_engine" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/radial_engine" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/raw_lead.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/raw_lead.json new file mode 100644 index 00000000..a7edac9e --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/raw_lead.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:raw_lead" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/raw_lead" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/raw_lead" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/raw_lead_block.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/raw_lead_block.json new file mode 100644 index 00000000..48f9b8dd --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/raw_lead_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:raw_lead" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/raw_lead_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/raw_lead_block" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/raw_lithium.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/raw_lithium.json new file mode 100644 index 00000000..98cb6bb2 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/raw_lithium.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:raw_lithium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/raw_lithium" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/raw_lithium" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/raw_lithium_block.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/raw_lithium_block.json new file mode 100644 index 00000000..875363ac --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/raw_lithium_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:raw_lithium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/raw_lithium_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/raw_lithium_block" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/raw_nickel.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/raw_nickel.json new file mode 100644 index 00000000..d84480b5 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/raw_nickel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:raw_nickel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/raw_nickel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/raw_nickel" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/raw_nickel_block.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/raw_nickel_block.json new file mode 100644 index 00000000..05835cd2 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/raw_nickel_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:raw_nickel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/raw_nickel_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/raw_nickel_block" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rebar.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rebar.json new file mode 100644 index 00000000..779ff570 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rebar.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:rebar" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/rebar" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/rebar" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rebar_block.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rebar_block.json new file mode 100644 index 00000000..cf853832 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rebar_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:rebar" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/rebar_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/rebar_block" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rebar_floor.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rebar_floor.json new file mode 100644 index 00000000..3ca92eb0 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rebar_floor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:rebar" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/rebar_floor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/rebar_floor" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rebar_pile.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rebar_pile.json new file mode 100644 index 00000000..2dd3b6d3 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rebar_pile.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:rebar" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/rebar_pile" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/rebar_pile" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rebar_pillar.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rebar_pillar.json new file mode 100644 index 00000000..9595c11f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rebar_pillar.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:rebar" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/rebar_pillar" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/rebar_pillar" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rebar_stairs.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rebar_stairs.json new file mode 100644 index 00000000..753ef6b7 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rebar_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:rebar" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/rebar_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/rebar_stairs" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rebar_wall.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rebar_wall.json new file mode 100644 index 00000000..b4209cd5 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rebar_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:rebar" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/rebar_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/rebar_wall" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/red_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/red_concrete.json new file mode 100644 index 00000000..9022f5f3 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/red_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/red_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/red_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/red_multimeter.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/red_multimeter.json new file mode 100644 index 00000000..63ab53e2 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/red_multimeter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:multimeter" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/red_multimeter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/red_multimeter" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/red_rebar_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/red_rebar_concrete.json new file mode 100644 index 00000000..0bfedd18 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/red_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/red_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/red_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/regular_engine.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/regular_engine.json new file mode 100644 index 00000000..85ee737b --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/regular_engine.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:heavy_machinery_casing" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/regular_engine" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/regular_engine" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rusted_blast_furnace_reinforcement.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rusted_blast_furnace_reinforcement.json new file mode 100644 index 00000000..cc2bc5dd --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/rusted_blast_furnace_reinforcement.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:blast_furnace_reinforcement" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/rusted_blast_furnace_reinforcement" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/rusted_blast_furnace_reinforcement" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/screwdriver.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/screwdriver.json new file mode 100644 index 00000000..9a22a198 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/screwdriver.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/screwdriver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/screwdriver" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/screwdriverfrom_brass.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/screwdriverfrom_brass.json new file mode 100644 index 00000000..8b4e4f1e --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/screwdriverfrom_brass.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "create:brass_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/screwdriverfrom_brass" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/screwdriverfrom_brass" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/segmented_display.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/segmented_display.json new file mode 100644 index 00000000..c3534039 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/segmented_display.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:industrial_aluminum_casing" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/segmented_display" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/segmented_display" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_axe.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_axe.json new file mode 100644 index 00000000..67ea2cd8 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_axe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_axe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_axe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_block_from_compacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_block_from_compacting.json new file mode 100644 index 00000000..d95a50d8 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_block_from_compacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_block_from_compacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_block_from_compacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_cable_hub.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_cable_hub.json new file mode 100644 index 00000000..7a045812 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_cable_hub.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:magnet" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_cable_hub" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_cable_hub" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_casing_cable_hub.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_casing_cable_hub.json new file mode 100644 index 00000000..22adca79 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_casing_cable_hub.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:magnet" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_casing_cable_hub" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_casing_cable_hub" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_chemical_vat.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_chemical_vat.json new file mode 100644 index 00000000..24532ae6 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_chemical_vat.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_chemical_vat" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_chemical_vat" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_cogwheel.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_cogwheel.json new file mode 100644 index 00000000..6449aa2d --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_cogwheel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_cogwheel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_cogwheel" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_distillation_controller.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_distillation_controller.json new file mode 100644 index 00000000..dc64195a --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_distillation_controller.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_distillation_controller" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_distillation_controller" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_distillation_output.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_distillation_output.json new file mode 100644 index 00000000..b60ef397 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_distillation_output.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:heavy_machinery_casing" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_distillation_output" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_distillation_output" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_door.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_door.json new file mode 100644 index 00000000..b70cd439 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_door.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_door" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_door" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_fluid_tank.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_fluid_tank.json new file mode 100644 index 00000000..74edc46e --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_fluid_tank.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_fluid_tank" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_fluid_tank" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_flywheel.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_flywheel.json new file mode 100644 index 00000000..29175717 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_flywheel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_flywheel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_flywheel" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_frame.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_frame.json new file mode 100644 index 00000000..df6ec41e --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_frame.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_frame" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_frame" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_gearbox.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_gearbox.json new file mode 100644 index 00000000..9e8a083e --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_gearbox.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_gearbox" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_gearbox" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_hoe.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_hoe.json new file mode 100644 index 00000000..ee4722bd --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_hoe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_hoe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_hoe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_ingot_from_compacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_ingot_from_compacting.json new file mode 100644 index 00000000..b0d1ec71 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_ingot_from_compacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_nugget" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_ingot_from_compacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_ingot_from_compacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_ingot_from_decompacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_ingot_from_decompacting.json new file mode 100644 index 00000000..e1f842ca --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_ingot_from_decompacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_block" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_ingot_from_decompacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_ingot_from_decompacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_nugget_from_decompacting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_nugget_from_decompacting.json new file mode 100644 index 00000000..222e78bb --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_nugget_from_decompacting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_nugget_from_decompacting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_nugget_from_decompacting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_pickaxe.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_pickaxe.json new file mode 100644 index 00000000..a70002d1 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_pickaxe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_pickaxe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_pickaxe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_shovel.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_shovel.json new file mode 100644 index 00000000..197cdbe5 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_shovel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_shovel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_shovel" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_sword.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_sword.json new file mode 100644 index 00000000..85b4c4e4 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_sword.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_sword" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_sword" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_trapdoor.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_trapdoor.json new file mode 100644 index 00000000..f17a043a --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_trapdoor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_trapdoor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_trapdoor" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_truss.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_truss.json new file mode 100644 index 00000000..49f27de0 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_truss.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_truss" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_truss" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/surface_scanner.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/surface_scanner.json new file mode 100644 index 00000000..3927404c --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/surface_scanner.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:heavy_machinery_casing" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/surface_scanner" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/surface_scanner" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/thermite_grenade.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/thermite_grenade.json new file mode 100644 index 00000000..53624f5c --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/thermite_grenade.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/thermite_grenade" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/thermite_grenade" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/traffic_light.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/traffic_light.json new file mode 100644 index 00000000..10313383 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/traffic_light.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:light_bulb" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/traffic_light" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/traffic_light" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/transformer.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/transformer.json new file mode 100644 index 00000000..2106c72b --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/transformer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_casing" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/transformer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/transformer" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/transmission.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/transmission.json new file mode 100644 index 00000000..7e23a36a --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/transmission.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:plastic_sheet" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/transmission" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/transmission" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/turbine_engine.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/turbine_engine.json new file mode 100644 index 00000000..ab631b8e --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/turbine_engine.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:heavy_machinery_casing" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/turbine_engine" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/turbine_engine" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/turbo.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/turbo.json new file mode 100644 index 00000000..abe1ade2 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/turbo.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/turbo" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/turbo" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/unfinished_electromagnetic_coil.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/unfinished_electromagnetic_coil.json new file mode 100644 index 00000000..b932c5f4 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/unfinished_electromagnetic_coil.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/unfinished_electromagnetic_coil" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/unfinished_electromagnetic_coil" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/unfinished_resistor.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/unfinished_resistor.json new file mode 100644 index 00000000..651d3467 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/unfinished_resistor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/unfinished_resistor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/unfinished_resistor" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/unfinished_resistorfrom_slime.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/unfinished_resistorfrom_slime.json new file mode 100644 index 00000000..89731684 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/unfinished_resistorfrom_slime.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/unfinished_resistorfrom_slime" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/unfinished_resistorfrom_slime" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/voltage_observer.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/voltage_observer.json new file mode 100644 index 00000000..e6f077b2 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/voltage_observer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/voltage_observer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/voltage_observer" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/voltmeter.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/voltmeter.json new file mode 100644 index 00000000..e03943ac --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/voltmeter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/voltmeter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/voltmeter" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/white_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/white_concrete.json new file mode 100644 index 00000000..7c59af23 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/white_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/white_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/white_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/white_multimeter.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/white_multimeter.json new file mode 100644 index 00000000..d1ddba13 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/white_multimeter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:multimeter" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/white_multimeter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/white_multimeter" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/white_rebar_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/white_rebar_concrete.json new file mode 100644 index 00000000..3f224dab --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/white_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/white_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/white_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/winding_machine.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/winding_machine.json new file mode 100644 index 00000000..2df106e0 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/winding_machine.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/winding_machine" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/winding_machine" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/yellow_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/yellow_concrete.json new file mode 100644 index 00000000..27cc4c5e --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/yellow_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/yellow_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/yellow_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/yellow_multimeter.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/yellow_multimeter.json new file mode 100644 index 00000000..8842e640 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/yellow_multimeter.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:multimeter" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/yellow_multimeter" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/yellow_multimeter" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/yellow_rebar_concrete.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/yellow_rebar_concrete.json new file mode 100644 index 00000000..58a154ba --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/yellow_rebar_concrete.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:concrete" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/yellow_rebar_concrete" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/yellow_rebar_concrete" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/zinc_frame.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/zinc_frame.json new file mode 100644 index 00000000..7b8fe154 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/zinc_frame.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "create:zinc_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/zinc_frame" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/zinc_frame" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/zinc_grenade.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/zinc_grenade.json new file mode 100644 index 00000000..d160bb6f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/zinc_grenade.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/zinc_grenade" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/zinc_grenade" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/zinc_truss.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/zinc_truss.json new file mode 100644 index 00000000..d1e7eca7 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/zinc_truss.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "create:zinc_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/zinc_truss" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/zinc_truss" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/fireproof_brick.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/fireproof_brick.json new file mode 100644 index 00000000..b7cd6004 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/fireproof_brick.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:fireclay_ball" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:smelting/fireproof_brick" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:smelting/fireproof_brick" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/lead_ingot.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/lead_ingot.json new file mode 100644 index 00000000..40c0ddcb --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/lead_ingot.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:raw_lead" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:smelting/lead_ingot" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:smelting/lead_ingot" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/lead_ingot_blasting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/lead_ingot_blasting.json new file mode 100644 index 00000000..b27b39e1 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/lead_ingot_blasting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:raw_lead" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:smelting/lead_ingot_blasting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:smelting/lead_ingot_blasting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/lead_ingot_from_crushed_blasting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/lead_ingot_from_crushed_blasting.json new file mode 100644 index 00000000..50badd15 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/lead_ingot_from_crushed_blasting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "create:crushed_raw_lead" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:smelting/lead_ingot_from_crushed_blasting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:smelting/lead_ingot_from_crushed_blasting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/lithium_ingot.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/lithium_ingot.json new file mode 100644 index 00000000..21783118 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/lithium_ingot.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:raw_lithium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:smelting/lithium_ingot" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:smelting/lithium_ingot" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/lithium_ingot_blasting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/lithium_ingot_blasting.json new file mode 100644 index 00000000..2b22166a --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/lithium_ingot_blasting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:raw_lithium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:smelting/lithium_ingot_blasting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:smelting/lithium_ingot_blasting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/nickel_ingot.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/nickel_ingot.json new file mode 100644 index 00000000..1114a4d4 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/nickel_ingot.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:raw_nickel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:smelting/nickel_ingot" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:smelting/nickel_ingot" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/nickel_ingot_blasting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/nickel_ingot_blasting.json new file mode 100644 index 00000000..2492e14c --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/nickel_ingot_blasting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:raw_nickel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:smelting/nickel_ingot_blasting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:smelting/nickel_ingot_blasting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/nickel_ingot_from_crushed_blasting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/nickel_ingot_from_crushed_blasting.json new file mode 100644 index 00000000..43f8728e --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/nickel_ingot_from_crushed_blasting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "create:crushed_raw_nickel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:smelting/nickel_ingot_from_crushed_blasting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:smelting/nickel_ingot_from_crushed_blasting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/unfinished_insulator.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/unfinished_insulator.json new file mode 100644 index 00000000..eabbc00b --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/smelting/unfinished_insulator.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:unfired_insulator" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:smelting/unfinished_insulator" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:smelting/unfinished_insulator" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/synthetic_string_from_ingots_rubber_stonecutting.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/synthetic_string_from_ingots_rubber_stonecutting.json new file mode 100644 index 00000000..cd7553bb --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/synthetic_string_from_ingots_rubber_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ingots_rubber": { + "conditions": { + "items": [ + { + "items": "#c:ingots/rubber" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:synthetic_string_from_ingots_rubber_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ingots_rubber" + ] + ], + "rewards": { + "recipes": [ + "tfmg:synthetic_string_from_ingots_rubber_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/damage_type/acid.json b/src/generated/resources/data/tfmg/damage_type/acid.json new file mode 100644 index 00000000..a5c2e866 --- /dev/null +++ b/src/generated/resources/data/tfmg/damage_type/acid.json @@ -0,0 +1,5 @@ +{ + "exhaustion": 0.0, + "message_id": "tfmg.acid", + "scaling": "when_caused_by_living_non_player" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/damage_type/blast_furnace.json b/src/generated/resources/data/tfmg/damage_type/blast_furnace.json new file mode 100644 index 00000000..0da12a12 --- /dev/null +++ b/src/generated/resources/data/tfmg/damage_type/blast_furnace.json @@ -0,0 +1,5 @@ +{ + "exhaustion": 0.0, + "message_id": "tfmg.blast_furnace", + "scaling": "when_caused_by_living_non_player" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/damage_type/concrete.json b/src/generated/resources/data/tfmg/damage_type/concrete.json new file mode 100644 index 00000000..e28a0dc2 --- /dev/null +++ b/src/generated/resources/data/tfmg/damage_type/concrete.json @@ -0,0 +1,5 @@ +{ + "exhaustion": 0.0, + "message_id": "tfmg.concrete", + "scaling": "when_caused_by_living_non_player" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/accumulator.json b/src/generated/resources/data/tfmg/loot_table/blocks/accumulator.json new file mode 100644 index 00000000..b3f2ed9a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/accumulator.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:accumulator" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/accumulator" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/air_intake.json b/src/generated/resources/data/tfmg/loot_table/blocks/air_intake.json new file mode 100644 index 00000000..c8ced00e --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/air_intake.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:air_intake" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/air_intake" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_bars.json b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_bars.json new file mode 100644 index 00000000..e47d3d61 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_bars.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_bars" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/aluminum_bars" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_block.json new file mode 100644 index 00000000..5f4a9dca --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/aluminum_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_cable_hub.json b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_cable_hub.json new file mode 100644 index 00000000..d570a2eb --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_cable_hub.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_cable_hub" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/aluminum_cable_hub" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_cogwheel.json b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_cogwheel.json new file mode 100644 index 00000000..a11944b1 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_cogwheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_cogwheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/aluminum_cogwheel" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_door.json b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_door.json new file mode 100644 index 00000000..288e7384 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_door.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "block": "tfmg:aluminum_door", + "condition": "minecraft:block_state_property", + "properties": { + "half": "lower" + } + } + ], + "name": "tfmg:aluminum_door" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/aluminum_door" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_fluid_tank.json b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_fluid_tank.json new file mode 100644 index 00000000..790facc7 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_fluid_tank.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_fluid_tank" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/aluminum_fluid_tank" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_flywheel.json b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_flywheel.json new file mode 100644 index 00000000..ccb99b0d --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_flywheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_flywheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/aluminum_flywheel" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_frame.json b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_frame.json new file mode 100644 index 00000000..c33081fc --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_frame.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_frame" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/aluminum_frame" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_ladder.json b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_ladder.json new file mode 100644 index 00000000..b7dcbe9d --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_ladder.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_ladder" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/aluminum_ladder" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_lamp.json b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_lamp.json new file mode 100644 index 00000000..950652a3 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_lamp.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_lamp" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/aluminum_lamp" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_mechanical_pump.json b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_mechanical_pump.json new file mode 100644 index 00000000..a740317e --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_mechanical_pump.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_mechanical_pump" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/aluminum_mechanical_pump" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_pipe.json new file mode 100644 index 00000000..40d4d75d --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/aluminum_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_scaffolding.json b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_scaffolding.json new file mode 100644 index 00000000..53737e15 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_scaffolding.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_scaffolding" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/aluminum_scaffolding" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_smart_fluid_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_smart_fluid_pipe.json new file mode 100644 index 00000000..85eb93ae --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_smart_fluid_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_smart_fluid_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/aluminum_smart_fluid_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_truss.json b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_truss.json new file mode 100644 index 00000000..f53fbfac --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_truss.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_truss" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/aluminum_truss" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/asphalt.json b/src/generated/resources/data/tfmg/loot_table/blocks/asphalt.json new file mode 100644 index 00000000..5dbcaf8a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/asphalt.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:asphalt" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/asphalt" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/asphalt_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/asphalt_slab.json new file mode 100644 index 00000000..fe0a5248 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/asphalt_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:asphalt_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/asphalt_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/asphalt_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/asphalt_stairs.json new file mode 100644 index 00000000..f4e518b7 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/asphalt_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:asphalt_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/asphalt_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/asphalt_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/asphalt_wall.json new file mode 100644 index 00000000..d3f00c18 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/asphalt_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:asphalt_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/asphalt_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/bauxite.json b/src/generated/resources/data/tfmg/loot_table/blocks/bauxite.json new file mode 100644 index 00000000..f34cef38 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/bauxite.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:bauxite" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/bauxite" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/bauxite_pillar.json b/src/generated/resources/data/tfmg/loot_table/blocks/bauxite_pillar.json new file mode 100644 index 00000000..1c5e342c --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/bauxite_pillar.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:bauxite_pillar" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/bauxite_pillar" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/black_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/black_concrete.json new file mode 100644 index 00000000..b734652c --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/black_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:black_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/black_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/black_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/black_concrete_slab.json new file mode 100644 index 00000000..f85b2e0b --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/black_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:black_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/black_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/black_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/black_concrete_stairs.json new file mode 100644 index 00000000..52c24353 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/black_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:black_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/black_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/black_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/black_concrete_wall.json new file mode 100644 index 00000000..86267dc6 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/black_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:black_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/black_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/black_rebar_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/black_rebar_concrete.json new file mode 100644 index 00000000..36bb59b5 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/black_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:black_rebar_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/black_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/black_rebar_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/black_rebar_concrete_slab.json new file mode 100644 index 00000000..884aa0f9 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/black_rebar_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:black_rebar_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/black_rebar_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/black_rebar_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/black_rebar_concrete_stairs.json new file mode 100644 index 00000000..ea8cfa1c --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/black_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:black_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/black_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/black_rebar_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/black_rebar_concrete_wall.json new file mode 100644 index 00000000..afb4f6e2 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/black_rebar_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:black_rebar_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/black_rebar_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/blast_furnace_hatch.json b/src/generated/resources/data/tfmg/loot_table/blocks/blast_furnace_hatch.json new file mode 100644 index 00000000..5f03a6c2 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/blast_furnace_hatch.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:blast_furnace_hatch" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/blast_furnace_hatch" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/blast_furnace_output.json b/src/generated/resources/data/tfmg/loot_table/blocks/blast_furnace_output.json new file mode 100644 index 00000000..4004b64b --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/blast_furnace_output.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:blast_furnace_output" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/blast_furnace_output" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/blast_furnace_reinforcement.json b/src/generated/resources/data/tfmg/loot_table/blocks/blast_furnace_reinforcement.json new file mode 100644 index 00000000..7de741ab --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/blast_furnace_reinforcement.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:blast_furnace_reinforcement" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/blast_furnace_reinforcement" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/blast_furnace_reinforcement_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/blast_furnace_reinforcement_wall.json new file mode 100644 index 00000000..0ccb97c8 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/blast_furnace_reinforcement_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:blast_furnace_reinforcement" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/blast_furnace_reinforcement_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/blast_stove.json b/src/generated/resources/data/tfmg/loot_table/blocks/blast_stove.json new file mode 100644 index 00000000..a70fc1ea --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/blast_stove.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:blast_stove" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/blast_stove" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/blue_caution_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/blue_caution_block.json new file mode 100644 index 00000000..43c7b98b --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/blue_caution_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:blue_caution_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/blue_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/blue_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/blue_concrete.json new file mode 100644 index 00000000..bd71be1b --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/blue_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:blue_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/blue_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/blue_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/blue_concrete_slab.json new file mode 100644 index 00000000..909f4116 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/blue_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:blue_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/blue_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/blue_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/blue_concrete_stairs.json new file mode 100644 index 00000000..f057fd15 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/blue_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:blue_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/blue_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/blue_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/blue_concrete_wall.json new file mode 100644 index 00000000..4c68e0e9 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/blue_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:blue_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/blue_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/blue_rebar_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/blue_rebar_concrete.json new file mode 100644 index 00000000..7e9ace8e --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/blue_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:blue_rebar_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/blue_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/blue_rebar_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/blue_rebar_concrete_slab.json new file mode 100644 index 00000000..1e77d2a2 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/blue_rebar_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:blue_rebar_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/blue_rebar_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/blue_rebar_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/blue_rebar_concrete_stairs.json new file mode 100644 index 00000000..53a080b6 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/blue_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:blue_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/blue_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/blue_rebar_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/blue_rebar_concrete_wall.json new file mode 100644 index 00000000..2af57c14 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/blue_rebar_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:blue_rebar_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/blue_rebar_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/brass_cable_hub.json b/src/generated/resources/data/tfmg/loot_table/blocks/brass_cable_hub.json new file mode 100644 index 00000000..5a857834 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/brass_cable_hub.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brass_cable_hub" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/brass_cable_hub" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/brass_frame.json b/src/generated/resources/data/tfmg/loot_table/blocks/brass_frame.json new file mode 100644 index 00000000..b78e2f98 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/brass_frame.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brass_frame" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/brass_frame" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/brass_mechanical_pump.json b/src/generated/resources/data/tfmg/loot_table/blocks/brass_mechanical_pump.json new file mode 100644 index 00000000..c814ba28 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/brass_mechanical_pump.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brass_mechanical_pump" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/brass_mechanical_pump" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/brass_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/brass_pipe.json new file mode 100644 index 00000000..ea34d142 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/brass_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brass_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/brass_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/brass_smart_fluid_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/brass_smart_fluid_pipe.json new file mode 100644 index 00000000..c8581c49 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/brass_smart_fluid_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brass_smart_fluid_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/brass_smart_fluid_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/brass_truss.json b/src/generated/resources/data/tfmg/loot_table/blocks/brass_truss.json new file mode 100644 index 00000000..f7a58d29 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/brass_truss.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brass_truss" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/brass_truss" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/brick_smokestack.json b/src/generated/resources/data/tfmg/loot_table/blocks/brick_smokestack.json new file mode 100644 index 00000000..0ccd9c65 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/brick_smokestack.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brick_smokestack" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/brick_smokestack" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/brown_caution_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/brown_caution_block.json new file mode 100644 index 00000000..78abcc6a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/brown_caution_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brown_caution_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/brown_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/brown_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/brown_concrete.json new file mode 100644 index 00000000..87fc23a1 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/brown_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brown_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/brown_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/brown_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/brown_concrete_slab.json new file mode 100644 index 00000000..a95a2b3c --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/brown_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brown_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/brown_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/brown_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/brown_concrete_stairs.json new file mode 100644 index 00000000..3b50f279 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/brown_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brown_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/brown_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/brown_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/brown_concrete_wall.json new file mode 100644 index 00000000..38b43e4e --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/brown_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brown_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/brown_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/brown_rebar_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/brown_rebar_concrete.json new file mode 100644 index 00000000..1de9a4f3 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/brown_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brown_rebar_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/brown_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/brown_rebar_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/brown_rebar_concrete_slab.json new file mode 100644 index 00000000..2ebe1e69 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/brown_rebar_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brown_rebar_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/brown_rebar_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/brown_rebar_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/brown_rebar_concrete_stairs.json new file mode 100644 index 00000000..57bfbb21 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/brown_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brown_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/brown_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/brown_rebar_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/brown_rebar_concrete_wall.json new file mode 100644 index 00000000..a61996fc --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/brown_rebar_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brown_rebar_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/brown_rebar_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cable_connector.json b/src/generated/resources/data/tfmg/loot_table/blocks/cable_connector.json new file mode 100644 index 00000000..81175ac0 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cable_connector.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cable_connector" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cable_connector" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cable_tube.json b/src/generated/resources/data/tfmg/loot_table/blocks/cable_tube.json new file mode 100644 index 00000000..15d7b06a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cable_tube.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cable_tube" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cable_tube" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_bars.json b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_bars.json new file mode 100644 index 00000000..f2a8459f --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_bars.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_bars" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cast_iron_bars" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_block.json new file mode 100644 index 00000000..22c8946c --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cast_iron_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_chemical_vat.json b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_chemical_vat.json new file mode 100644 index 00000000..e930dd8d --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_chemical_vat.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_chemical_vat" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cast_iron_chemical_vat" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_fluid_tank.json b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_fluid_tank.json new file mode 100644 index 00000000..ded7af34 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_fluid_tank.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_fluid_tank" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cast_iron_fluid_tank" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_flywheel.json b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_flywheel.json new file mode 100644 index 00000000..ba043bd5 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_flywheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_flywheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cast_iron_flywheel" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_frame.json b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_frame.json new file mode 100644 index 00000000..5b707206 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_frame.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_frame" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cast_iron_frame" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_ladder.json b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_ladder.json new file mode 100644 index 00000000..2011140f --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_ladder.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_ladder" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cast_iron_ladder" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_mechanical_pump.json b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_mechanical_pump.json new file mode 100644 index 00000000..df9ed330 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_mechanical_pump.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_mechanical_pump" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cast_iron_mechanical_pump" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_pipe.json new file mode 100644 index 00000000..b0a86f24 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cast_iron_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_smart_fluid_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_smart_fluid_pipe.json new file mode 100644 index 00000000..32c79d21 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_smart_fluid_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_smart_fluid_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cast_iron_smart_fluid_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_truss.json b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_truss.json new file mode 100644 index 00000000..3341a527 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_truss.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_truss" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cast_iron_truss" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/casting_basin.json b/src/generated/resources/data/tfmg/loot_table/blocks/casting_basin.json new file mode 100644 index 00000000..a94510f1 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/casting_basin.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:casting_basin" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/casting_basin" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cement.json b/src/generated/resources/data/tfmg/loot_table/blocks/cement.json new file mode 100644 index 00000000..2665a046 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cement.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cement" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cement" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cinder_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/cinder_block.json new file mode 100644 index 00000000..bbeab046 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cinder_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cinder_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cinder_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cinderflour_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/cinderflour_block.json new file mode 100644 index 00000000..2b28889e --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cinderflour_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cinderflour_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cinderflour_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/circular_light.json b/src/generated/resources/data/tfmg/loot_table/blocks/circular_light.json new file mode 100644 index 00000000..346d0cc8 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/circular_light.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:circular_light" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/circular_light" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/coal_coke_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/coal_coke_block.json new file mode 100644 index 00000000..8d76d5f7 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/coal_coke_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:coal_coke_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/coal_coke_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/coke_oven.json b/src/generated/resources/data/tfmg/loot_table/blocks/coke_oven.json new file mode 100644 index 00000000..87a95817 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/coke_oven.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:coke_oven" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/coke_oven" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/concrete.json new file mode 100644 index 00000000..fad213b0 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/concrete_encased_cable_tube.json b/src/generated/resources/data/tfmg/loot_table/blocks/concrete_encased_cable_tube.json new file mode 100644 index 00000000..4d594066 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/concrete_encased_cable_tube.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cable_tube" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/concrete_encased_cable_tube" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/concrete_encased_electric_post.json b/src/generated/resources/data/tfmg/loot_table/blocks/concrete_encased_electric_post.json new file mode 100644 index 00000000..09245064 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/concrete_encased_electric_post.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:electric_post" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/concrete_encased_electric_post" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/concrete_encased_industrial_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/concrete_encased_industrial_pipe.json new file mode 100644 index 00000000..b84c04d0 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/concrete_encased_industrial_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:industrial_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/concrete_encased_industrial_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/concrete_hose.json b/src/generated/resources/data/tfmg/loot_table/blocks/concrete_hose.json new file mode 100644 index 00000000..125ba7ab --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/concrete_hose.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:concrete_hose" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/concrete_hose" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/concrete_slab.json new file mode 100644 index 00000000..08441c92 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/concrete_smokestack.json b/src/generated/resources/data/tfmg/loot_table/blocks/concrete_smokestack.json new file mode 100644 index 00000000..93cd6ef4 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/concrete_smokestack.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:concrete_smokestack" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/concrete_smokestack" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/concrete_stairs.json new file mode 100644 index 00000000..645e68b4 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/concrete_wall.json new file mode 100644 index 00000000..0f9671cc --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/constantan_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/constantan_block.json new file mode 100644 index 00000000..d927924a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/constantan_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:constantan_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/constantan_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/constantan_frame.json b/src/generated/resources/data/tfmg/loot_table/blocks/constantan_frame.json new file mode 100644 index 00000000..32f90e4c --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/constantan_frame.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:constantan_frame" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/constantan_frame" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/constantan_ladder.json b/src/generated/resources/data/tfmg/loot_table/blocks/constantan_ladder.json new file mode 100644 index 00000000..3fa12321 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/constantan_ladder.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:constantan_ladder" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/constantan_ladder" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/constantan_truss.json b/src/generated/resources/data/tfmg/loot_table/blocks/constantan_truss.json new file mode 100644 index 00000000..f4858f01 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/constantan_truss.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:constantan_truss" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/constantan_truss" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/converter.json b/src/generated/resources/data/tfmg/loot_table/blocks/converter.json new file mode 100644 index 00000000..74bcf215 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/converter.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:converter" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/converter" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/copper_cable_hub.json b/src/generated/resources/data/tfmg/loot_table/blocks/copper_cable_hub.json new file mode 100644 index 00000000..58b18209 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/copper_cable_hub.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:copper_cable_hub" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/copper_cable_hub" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/copper_encased_aluminum_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/copper_encased_aluminum_pipe.json new file mode 100644 index 00000000..b4694a00 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/copper_encased_aluminum_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/copper_encased_aluminum_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/copper_encased_brass_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/copper_encased_brass_pipe.json new file mode 100644 index 00000000..f26e8ba8 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/copper_encased_brass_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brass_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/copper_encased_brass_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/copper_encased_cast_iron_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/copper_encased_cast_iron_pipe.json new file mode 100644 index 00000000..00f432ad --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/copper_encased_cast_iron_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/copper_encased_cast_iron_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/copper_encased_plastic_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/copper_encased_plastic_pipe.json new file mode 100644 index 00000000..a37de870 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/copper_encased_plastic_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:plastic_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/copper_encased_plastic_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/copper_encased_steel_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/copper_encased_steel_pipe.json new file mode 100644 index 00000000..c890c261 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/copper_encased_steel_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/copper_encased_steel_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/copper_frame.json b/src/generated/resources/data/tfmg/loot_table/blocks/copper_frame.json new file mode 100644 index 00000000..81f9729a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/copper_frame.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:copper_frame" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/copper_frame" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/copper_truss.json b/src/generated/resources/data/tfmg/loot_table/blocks/copper_truss.json new file mode 100644 index 00000000..f598085e --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/copper_truss.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:copper_truss" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/copper_truss" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/copycat_cable_base.json b/src/generated/resources/data/tfmg/loot_table/blocks/copycat_cable_base.json new file mode 100644 index 00000000..c4592e6a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/copycat_cable_base.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:air" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/copycat_cable_base" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/copycat_cable_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/copycat_cable_block.json new file mode 100644 index 00000000..375865c8 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/copycat_cable_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:copycat_cable_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/copycat_cable_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/creative_generator.json b/src/generated/resources/data/tfmg/loot_table/blocks/creative_generator.json new file mode 100644 index 00000000..d6679790 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/creative_generator.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:creative_generator" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/creative_generator" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite.json b/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite.json new file mode 100644 index 00000000..12e2aeb7 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cut_bauxite" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cut_bauxite" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite_brick_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite_brick_slab.json new file mode 100644 index 00000000..c335305c --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite_brick_slab.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "conditions": [ + { + "block": "tfmg:cut_bauxite_brick_slab", + "condition": "minecraft:block_state_property", + "properties": { + "type": "double" + } + } + ], + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "tfmg:cut_bauxite_brick_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cut_bauxite_brick_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite_brick_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite_brick_stairs.json new file mode 100644 index 00000000..6356393d --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite_brick_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cut_bauxite_brick_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cut_bauxite_brick_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite_brick_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite_brick_wall.json new file mode 100644 index 00000000..22457d7c --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite_brick_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cut_bauxite_brick_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cut_bauxite_brick_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite_bricks.json b/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite_bricks.json new file mode 100644 index 00000000..f056df02 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite_bricks.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cut_bauxite_bricks" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cut_bauxite_bricks" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite_slab.json new file mode 100644 index 00000000..08e80cb1 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite_slab.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "conditions": [ + { + "block": "tfmg:cut_bauxite_slab", + "condition": "minecraft:block_state_property", + "properties": { + "type": "double" + } + } + ], + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "tfmg:cut_bauxite_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cut_bauxite_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite_stairs.json new file mode 100644 index 00000000..21ac230c --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cut_bauxite_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cut_bauxite_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite_wall.json new file mode 100644 index 00000000..5dc916c0 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cut_bauxite_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cut_bauxite_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cut_bauxite_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena.json b/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena.json new file mode 100644 index 00000000..b753e353 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cut_galena" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cut_galena" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena_brick_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena_brick_slab.json new file mode 100644 index 00000000..581ebcf8 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena_brick_slab.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "conditions": [ + { + "block": "tfmg:cut_galena_brick_slab", + "condition": "minecraft:block_state_property", + "properties": { + "type": "double" + } + } + ], + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "tfmg:cut_galena_brick_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cut_galena_brick_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena_brick_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena_brick_stairs.json new file mode 100644 index 00000000..30f1c67b --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena_brick_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cut_galena_brick_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cut_galena_brick_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena_brick_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena_brick_wall.json new file mode 100644 index 00000000..be7be4da --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena_brick_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cut_galena_brick_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cut_galena_brick_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena_bricks.json b/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena_bricks.json new file mode 100644 index 00000000..8862be75 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena_bricks.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cut_galena_bricks" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cut_galena_bricks" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena_slab.json new file mode 100644 index 00000000..6df60fb4 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena_slab.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "conditions": [ + { + "block": "tfmg:cut_galena_slab", + "condition": "minecraft:block_state_property", + "properties": { + "type": "double" + } + } + ], + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "tfmg:cut_galena_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cut_galena_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena_stairs.json new file mode 100644 index 00000000..d9a1f575 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cut_galena_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cut_galena_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena_wall.json new file mode 100644 index 00000000..708c9336 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cut_galena_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cut_galena_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cut_galena_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cyan_caution_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/cyan_caution_block.json new file mode 100644 index 00000000..dd148ad2 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cyan_caution_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cyan_caution_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cyan_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cyan_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/cyan_concrete.json new file mode 100644 index 00000000..5aa25c3d --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cyan_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cyan_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cyan_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cyan_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/cyan_concrete_slab.json new file mode 100644 index 00000000..20cfcc8b --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cyan_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cyan_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cyan_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cyan_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/cyan_concrete_stairs.json new file mode 100644 index 00000000..1c7274e7 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cyan_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cyan_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cyan_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cyan_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/cyan_concrete_wall.json new file mode 100644 index 00000000..69c8915d --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cyan_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cyan_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cyan_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cyan_rebar_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/cyan_rebar_concrete.json new file mode 100644 index 00000000..c1836561 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cyan_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cyan_rebar_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cyan_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cyan_rebar_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/cyan_rebar_concrete_slab.json new file mode 100644 index 00000000..08bacc84 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cyan_rebar_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cyan_rebar_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cyan_rebar_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cyan_rebar_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/cyan_rebar_concrete_stairs.json new file mode 100644 index 00000000..21f3f4cc --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cyan_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cyan_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cyan_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cyan_rebar_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/cyan_rebar_concrete_wall.json new file mode 100644 index 00000000..2f1000bd --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cyan_rebar_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cyan_rebar_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cyan_rebar_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/deepslate_lead_ore.json b/src/generated/resources/data/tfmg/loot_table/blocks/deepslate_lead_ore.json new file mode 100644 index 00000000..21d113f7 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/deepslate_lead_ore.json @@ -0,0 +1,52 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "tfmg:deepslate_lead_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:ore_drops", + "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "tfmg:raw_lead" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/deepslate_lead_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/deepslate_lithium_ore.json b/src/generated/resources/data/tfmg/loot_table/blocks/deepslate_lithium_ore.json new file mode 100644 index 00000000..2a5e7b01 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/deepslate_lithium_ore.json @@ -0,0 +1,52 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "tfmg:deepslate_lithium_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:ore_drops", + "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "tfmg:raw_lithium" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/deepslate_lithium_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/deepslate_nickel_ore.json b/src/generated/resources/data/tfmg/loot_table/blocks/deepslate_nickel_ore.json new file mode 100644 index 00000000..67d8ae80 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/deepslate_nickel_ore.json @@ -0,0 +1,52 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "tfmg:deepslate_nickel_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:ore_drops", + "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "tfmg:raw_nickel" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/deepslate_nickel_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/diagonal_cable_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/diagonal_cable_block.json new file mode 100644 index 00000000..69a2d7c2 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/diagonal_cable_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:diagonal_cable_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/diagonal_cable_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/electric_diode.json b/src/generated/resources/data/tfmg/loot_table/blocks/electric_diode.json new file mode 100644 index 00000000..e4f7b4f0 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/electric_diode.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:electric_diode" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/electric_diode" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/electric_motor.json b/src/generated/resources/data/tfmg/loot_table/blocks/electric_motor.json new file mode 100644 index 00000000..007b27b0 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/electric_motor.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:electric_motor" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/electric_motor" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/electric_post.json b/src/generated/resources/data/tfmg/loot_table/blocks/electric_post.json new file mode 100644 index 00000000..1203eeb9 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/electric_post.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:electric_post" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/electric_post" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/electric_pump.json b/src/generated/resources/data/tfmg/loot_table/blocks/electric_pump.json new file mode 100644 index 00000000..21f40f38 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/electric_pump.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:electric_pump" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/electric_pump" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/electrical_switch.json b/src/generated/resources/data/tfmg/loot_table/blocks/electrical_switch.json new file mode 100644 index 00000000..abe8812a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/electrical_switch.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:electrical_switch" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/electrical_switch" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/electrode_holder.json b/src/generated/resources/data/tfmg/loot_table/blocks/electrode_holder.json new file mode 100644 index 00000000..ba1b9a25 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/electrode_holder.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:electrode_holder" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/electrode_holder" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/encased_diode.json b/src/generated/resources/data/tfmg/loot_table/blocks/encased_diode.json new file mode 100644 index 00000000..fe5f888b --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/encased_diode.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:air" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/encased_diode" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/encased_potentiometer.json b/src/generated/resources/data/tfmg/loot_table/blocks/encased_potentiometer.json new file mode 100644 index 00000000..1f1f65a5 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/encased_potentiometer.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:air" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/encased_potentiometer" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/engine_controller.json b/src/generated/resources/data/tfmg/loot_table/blocks/engine_controller.json new file mode 100644 index 00000000..2e3d1e48 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/engine_controller.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:engine_controller" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/engine_controller" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/engine_gearbox.json b/src/generated/resources/data/tfmg/loot_table/blocks/engine_gearbox.json new file mode 100644 index 00000000..615a4c75 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/engine_gearbox.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:engine_gearbox" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/engine_gearbox" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/exhaust.json b/src/generated/resources/data/tfmg/loot_table/blocks/exhaust.json new file mode 100644 index 00000000..d1f00910 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/exhaust.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:exhaust" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/exhaust" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/factory_floor.json b/src/generated/resources/data/tfmg/loot_table/blocks/factory_floor.json new file mode 100644 index 00000000..65ebfa7d --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/factory_floor.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:factory_floor" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/factory_floor" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/firebox.json b/src/generated/resources/data/tfmg/loot_table/blocks/firebox.json new file mode 100644 index 00000000..a1afc257 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/firebox.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:firebox" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/firebox" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/fireclay.json b/src/generated/resources/data/tfmg/loot_table/blocks/fireclay.json new file mode 100644 index 00000000..5bbb7614 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/fireclay.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:fireclay_ball" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/fireclay" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/fireproof_brick_reinforcement.json b/src/generated/resources/data/tfmg/loot_table/blocks/fireproof_brick_reinforcement.json new file mode 100644 index 00000000..9fb43496 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/fireproof_brick_reinforcement.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:fireproof_brick_reinforcement" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/fireproof_brick_reinforcement" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/fireproof_bricks.json b/src/generated/resources/data/tfmg/loot_table/blocks/fireproof_bricks.json new file mode 100644 index 00000000..be8e145f --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/fireproof_bricks.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:fireproof_bricks" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/fireproof_bricks" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/fireproof_chemical_vat.json b/src/generated/resources/data/tfmg/loot_table/blocks/fireproof_chemical_vat.json new file mode 100644 index 00000000..c024c237 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/fireproof_chemical_vat.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:fireproof_chemical_vat" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/fireproof_chemical_vat" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/flarestack.json b/src/generated/resources/data/tfmg/loot_table/blocks/flarestack.json new file mode 100644 index 00000000..4dbae3f4 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/flarestack.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:flarestack" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/flarestack" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/fossilstone.json b/src/generated/resources/data/tfmg/loot_table/blocks/fossilstone.json new file mode 100644 index 00000000..3c9fd916 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/fossilstone.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:fossilstone" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/fossilstone" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/galena.json b/src/generated/resources/data/tfmg/loot_table/blocks/galena.json new file mode 100644 index 00000000..b580b39b --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/galena.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:galena" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/galena" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/galena_pillar.json b/src/generated/resources/data/tfmg/loot_table/blocks/galena_pillar.json new file mode 100644 index 00000000..eab7a92a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/galena_pillar.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:galena_pillar" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/galena_pillar" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/generator.json b/src/generated/resources/data/tfmg/loot_table/blocks/generator.json new file mode 100644 index 00000000..0228d2e7 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/generator.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:generator" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/generator" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/glass_aluminum_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/glass_aluminum_pipe.json new file mode 100644 index 00000000..6611c3ad --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/glass_aluminum_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/glass_aluminum_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/glass_brass_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/glass_brass_pipe.json new file mode 100644 index 00000000..c0db7fc5 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/glass_brass_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brass_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/glass_brass_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/glass_cable_insulator.json b/src/generated/resources/data/tfmg/loot_table/blocks/glass_cable_insulator.json new file mode 100644 index 00000000..6cdbeae6 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/glass_cable_insulator.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:glass_cable_insulator" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/glass_cable_insulator" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/glass_cast_iron_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/glass_cast_iron_pipe.json new file mode 100644 index 00000000..d4deb9a9 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/glass_cast_iron_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/glass_cast_iron_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/glass_plastic_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/glass_plastic_pipe.json new file mode 100644 index 00000000..0d088265 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/glass_plastic_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:plastic_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/glass_plastic_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/glass_steel_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/glass_steel_pipe.json new file mode 100644 index 00000000..47ba8ff5 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/glass_steel_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/glass_steel_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/gray_caution_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/gray_caution_block.json new file mode 100644 index 00000000..b07d54fb --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/gray_caution_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:gray_caution_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/gray_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/gray_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/gray_concrete.json new file mode 100644 index 00000000..149d3f2e --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/gray_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:gray_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/gray_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/gray_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/gray_concrete_slab.json new file mode 100644 index 00000000..dcf45765 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/gray_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:gray_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/gray_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/gray_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/gray_concrete_stairs.json new file mode 100644 index 00000000..61fea03d --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/gray_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:gray_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/gray_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/gray_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/gray_concrete_wall.json new file mode 100644 index 00000000..10cc7fe6 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/gray_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:gray_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/gray_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/gray_rebar_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/gray_rebar_concrete.json new file mode 100644 index 00000000..1f4a8cc1 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/gray_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:gray_rebar_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/gray_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/gray_rebar_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/gray_rebar_concrete_slab.json new file mode 100644 index 00000000..fccc5525 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/gray_rebar_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:gray_rebar_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/gray_rebar_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/gray_rebar_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/gray_rebar_concrete_stairs.json new file mode 100644 index 00000000..d6db0d68 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/gray_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:gray_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/gray_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/gray_rebar_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/gray_rebar_concrete_wall.json new file mode 100644 index 00000000..7b834310 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/gray_rebar_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:gray_rebar_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/gray_rebar_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/green_caution_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/green_caution_block.json new file mode 100644 index 00000000..b179f077 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/green_caution_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:green_caution_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/green_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/green_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/green_concrete.json new file mode 100644 index 00000000..61913b8b --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/green_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:green_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/green_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/green_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/green_concrete_slab.json new file mode 100644 index 00000000..341d4049 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/green_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:green_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/green_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/green_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/green_concrete_stairs.json new file mode 100644 index 00000000..7d0d836a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/green_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:green_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/green_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/green_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/green_concrete_wall.json new file mode 100644 index 00000000..e1d8f054 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/green_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:green_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/green_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/green_rebar_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/green_rebar_concrete.json new file mode 100644 index 00000000..96abe15d --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/green_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:green_rebar_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/green_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/green_rebar_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/green_rebar_concrete_slab.json new file mode 100644 index 00000000..ba08277f --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/green_rebar_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:green_rebar_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/green_rebar_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/green_rebar_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/green_rebar_concrete_stairs.json new file mode 100644 index 00000000..0a09cb34 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/green_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:green_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/green_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/green_rebar_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/green_rebar_concrete_wall.json new file mode 100644 index 00000000..1471c5e8 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/green_rebar_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:green_rebar_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/green_rebar_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/hardened_planks.json b/src/generated/resources/data/tfmg/loot_table/blocks/hardened_planks.json new file mode 100644 index 00000000..ea2d04da --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/hardened_planks.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:hardened_planks" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/hardened_planks" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/heavy_cable_hub.json b/src/generated/resources/data/tfmg/loot_table/blocks/heavy_cable_hub.json new file mode 100644 index 00000000..cedc35bb --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/heavy_cable_hub.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:heavy_cable_hub" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/heavy_cable_hub" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/heavy_casing_door.json b/src/generated/resources/data/tfmg/loot_table/blocks/heavy_casing_door.json new file mode 100644 index 00000000..9c5c43dc --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/heavy_casing_door.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "block": "tfmg:heavy_casing_door", + "condition": "minecraft:block_state_property", + "properties": { + "half": "lower" + } + } + ], + "name": "tfmg:heavy_casing_door" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/heavy_casing_door" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/heavy_casing_encased_aluminum_cogwheel.json b/src/generated/resources/data/tfmg/loot_table/blocks/heavy_casing_encased_aluminum_cogwheel.json new file mode 100644 index 00000000..4cd123fb --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/heavy_casing_encased_aluminum_cogwheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "create:cogwheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/heavy_casing_encased_aluminum_cogwheel" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/heavy_casing_encased_large_aluminum_cogwheel.json b/src/generated/resources/data/tfmg/loot_table/blocks/heavy_casing_encased_large_aluminum_cogwheel.json new file mode 100644 index 00000000..8bf8839d --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/heavy_casing_encased_large_aluminum_cogwheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "create:large_cogwheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/heavy_casing_encased_large_aluminum_cogwheel" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/heavy_casing_encased_large_steel_cogwheel.json b/src/generated/resources/data/tfmg/loot_table/blocks/heavy_casing_encased_large_steel_cogwheel.json new file mode 100644 index 00000000..5f289063 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/heavy_casing_encased_large_steel_cogwheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "create:large_cogwheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/heavy_casing_encased_large_steel_cogwheel" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/heavy_casing_encased_shaft.json b/src/generated/resources/data/tfmg/loot_table/blocks/heavy_casing_encased_shaft.json new file mode 100644 index 00000000..7dbb6953 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/heavy_casing_encased_shaft.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "create:shaft" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/heavy_casing_encased_shaft" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/heavy_casing_encased_steel_cogwheel.json b/src/generated/resources/data/tfmg/loot_table/blocks/heavy_casing_encased_steel_cogwheel.json new file mode 100644 index 00000000..3e74fe66 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/heavy_casing_encased_steel_cogwheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "create:cogwheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/heavy_casing_encased_steel_cogwheel" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/heavy_machinery_casing.json b/src/generated/resources/data/tfmg/loot_table/blocks/heavy_machinery_casing.json new file mode 100644 index 00000000..cb9bd340 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/heavy_machinery_casing.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:heavy_machinery_casing" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/heavy_machinery_casing" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/heavy_plated_door.json b/src/generated/resources/data/tfmg/loot_table/blocks/heavy_plated_door.json new file mode 100644 index 00000000..82a0bea7 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/heavy_plated_door.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "block": "tfmg:heavy_plated_door", + "condition": "minecraft:block_state_property", + "properties": { + "half": "lower" + } + } + ], + "name": "tfmg:heavy_plated_door" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/heavy_plated_door" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/industrial_aluminum_casing.json b/src/generated/resources/data/tfmg/loot_table/blocks/industrial_aluminum_casing.json new file mode 100644 index 00000000..77bb5b65 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/industrial_aluminum_casing.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:industrial_aluminum_casing" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/industrial_aluminum_casing" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/industrial_mixer.json b/src/generated/resources/data/tfmg/loot_table/blocks/industrial_mixer.json new file mode 100644 index 00000000..70fb5d7b --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/industrial_mixer.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:industrial_mixer" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/industrial_mixer" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/industrial_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/industrial_pipe.json new file mode 100644 index 00000000..105eba02 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/industrial_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:industrial_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/industrial_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/large_aluminum_cogwheel.json b/src/generated/resources/data/tfmg/loot_table/blocks/large_aluminum_cogwheel.json new file mode 100644 index 00000000..e2ef7a82 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/large_aluminum_cogwheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:large_aluminum_cogwheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/large_aluminum_cogwheel" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/large_engine.json b/src/generated/resources/data/tfmg/loot_table/blocks/large_engine.json new file mode 100644 index 00000000..07995853 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/large_engine.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:large_engine" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/large_engine" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/large_pumpjack_hammer_connector.json b/src/generated/resources/data/tfmg/loot_table/blocks/large_pumpjack_hammer_connector.json new file mode 100644 index 00000000..80d52159 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/large_pumpjack_hammer_connector.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:large_pumpjack_hammer_connector" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/large_pumpjack_hammer_connector" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/large_pumpjack_hammer_head.json b/src/generated/resources/data/tfmg/loot_table/blocks/large_pumpjack_hammer_head.json new file mode 100644 index 00000000..ba1a5391 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/large_pumpjack_hammer_head.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:large_pumpjack_hammer_head" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/large_pumpjack_hammer_head" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/large_pumpjack_hammer_part.json b/src/generated/resources/data/tfmg/loot_table/blocks/large_pumpjack_hammer_part.json new file mode 100644 index 00000000..b05ba1b2 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/large_pumpjack_hammer_part.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:large_pumpjack_hammer_part" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/large_pumpjack_hammer_part" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/large_steel_cogwheel.json b/src/generated/resources/data/tfmg/loot_table/blocks/large_steel_cogwheel.json new file mode 100644 index 00000000..3cb78c62 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/large_steel_cogwheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:large_steel_cogwheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/large_steel_cogwheel" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/layered_bauxite.json b/src/generated/resources/data/tfmg/loot_table/blocks/layered_bauxite.json new file mode 100644 index 00000000..6b43d918 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/layered_bauxite.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:layered_bauxite" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/layered_bauxite" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/layered_galena.json b/src/generated/resources/data/tfmg/loot_table/blocks/layered_galena.json new file mode 100644 index 00000000..255e47c9 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/layered_galena.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:layered_galena" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/layered_galena" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/lead_bars.json b/src/generated/resources/data/tfmg/loot_table/blocks/lead_bars.json new file mode 100644 index 00000000..8d6b7350 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/lead_bars.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lead_bars" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lead_bars" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/lead_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/lead_block.json new file mode 100644 index 00000000..7a070859 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/lead_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lead_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lead_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/lead_flywheel.json b/src/generated/resources/data/tfmg/loot_table/blocks/lead_flywheel.json new file mode 100644 index 00000000..7559eaca --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/lead_flywheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lead_flywheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lead_flywheel" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/lead_frame.json b/src/generated/resources/data/tfmg/loot_table/blocks/lead_frame.json new file mode 100644 index 00000000..625c909b --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/lead_frame.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lead_frame" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lead_frame" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/lead_ladder.json b/src/generated/resources/data/tfmg/loot_table/blocks/lead_ladder.json new file mode 100644 index 00000000..9e591ba8 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/lead_ladder.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lead_ladder" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lead_ladder" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/lead_ore.json b/src/generated/resources/data/tfmg/loot_table/blocks/lead_ore.json new file mode 100644 index 00000000..a99c5071 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/lead_ore.json @@ -0,0 +1,52 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "tfmg:lead_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:ore_drops", + "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "tfmg:raw_lead" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lead_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/lead_truss.json b/src/generated/resources/data/tfmg/loot_table/blocks/lead_truss.json new file mode 100644 index 00000000..515b076c --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/lead_truss.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lead_truss" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lead_truss" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_caution_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_caution_block.json new file mode 100644 index 00000000..334eec07 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_caution_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_blue_caution_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_blue_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_concrete.json new file mode 100644 index 00000000..eb28d15c --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_blue_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_blue_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_concrete_slab.json new file mode 100644 index 00000000..2ecbe84e --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_blue_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_blue_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_concrete_stairs.json new file mode 100644 index 00000000..c1d5da19 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_blue_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_blue_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_concrete_wall.json new file mode 100644 index 00000000..642990b5 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_blue_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_blue_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_rebar_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_rebar_concrete.json new file mode 100644 index 00000000..cc04b6aa --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_blue_rebar_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_blue_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_rebar_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_rebar_concrete_slab.json new file mode 100644 index 00000000..71371b2b --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_rebar_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_blue_rebar_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_blue_rebar_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_rebar_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_rebar_concrete_stairs.json new file mode 100644 index 00000000..6172d035 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_blue_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_blue_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_rebar_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_rebar_concrete_wall.json new file mode 100644 index 00000000..9eea7268 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/light_blue_rebar_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_blue_rebar_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_blue_rebar_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/light_bulb.json b/src/generated/resources/data/tfmg/loot_table/blocks/light_bulb.json new file mode 100644 index 00000000..ddf57b33 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/light_bulb.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_bulb" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_bulb" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_caution_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_caution_block.json new file mode 100644 index 00000000..afe4de6a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_caution_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_gray_caution_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_gray_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_concrete.json new file mode 100644 index 00000000..b8a687da --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_gray_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_gray_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_concrete_slab.json new file mode 100644 index 00000000..7def96b4 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_gray_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_gray_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_concrete_stairs.json new file mode 100644 index 00000000..007bd51b --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_gray_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_gray_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_concrete_wall.json new file mode 100644 index 00000000..8cbc6e7a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_gray_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_gray_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_rebar_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_rebar_concrete.json new file mode 100644 index 00000000..4d8d457a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_gray_rebar_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_gray_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_rebar_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_rebar_concrete_slab.json new file mode 100644 index 00000000..75bf577d --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_rebar_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_gray_rebar_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_gray_rebar_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_rebar_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_rebar_concrete_stairs.json new file mode 100644 index 00000000..c8ba472d --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_gray_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_gray_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_rebar_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_rebar_concrete_wall.json new file mode 100644 index 00000000..906ac36d --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/light_gray_rebar_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:light_gray_rebar_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/light_gray_rebar_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/lignite.json b/src/generated/resources/data/tfmg/loot_table/blocks/lignite.json new file mode 100644 index 00000000..9413f367 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/lignite.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lignite" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lignite" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/lime_caution_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/lime_caution_block.json new file mode 100644 index 00000000..3a91ffb9 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/lime_caution_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lime_caution_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lime_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/lime_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/lime_concrete.json new file mode 100644 index 00000000..81ad489a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/lime_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lime_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lime_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/lime_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/lime_concrete_slab.json new file mode 100644 index 00000000..8044fef4 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/lime_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lime_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lime_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/lime_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/lime_concrete_stairs.json new file mode 100644 index 00000000..caae2398 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/lime_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lime_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lime_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/lime_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/lime_concrete_wall.json new file mode 100644 index 00000000..bbfbf290 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/lime_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lime_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lime_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/lime_rebar_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/lime_rebar_concrete.json new file mode 100644 index 00000000..f22e9faf --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/lime_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lime_rebar_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lime_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/lime_rebar_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/lime_rebar_concrete_slab.json new file mode 100644 index 00000000..76dd8ac1 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/lime_rebar_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lime_rebar_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lime_rebar_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/lime_rebar_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/lime_rebar_concrete_stairs.json new file mode 100644 index 00000000..3f576551 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/lime_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lime_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lime_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/lime_rebar_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/lime_rebar_concrete_wall.json new file mode 100644 index 00000000..6a24e43d --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/lime_rebar_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lime_rebar_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lime_rebar_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/lithium_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/lithium_block.json new file mode 100644 index 00000000..95e119ed --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/lithium_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lithium_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lithium_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/lithium_ore.json b/src/generated/resources/data/tfmg/loot_table/blocks/lithium_ore.json new file mode 100644 index 00000000..17b62715 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/lithium_ore.json @@ -0,0 +1,52 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "tfmg:lithium_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:ore_drops", + "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "tfmg:raw_lithium" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lithium_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/lithium_torch.json b/src/generated/resources/data/tfmg/loot_table/blocks/lithium_torch.json new file mode 100644 index 00000000..7900da36 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/lithium_torch.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:lithium_torch" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/lithium_torch" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/machine_input.json b/src/generated/resources/data/tfmg/loot_table/blocks/machine_input.json new file mode 100644 index 00000000..5018704b --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/machine_input.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:machine_input" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/machine_input" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/magenta_caution_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/magenta_caution_block.json new file mode 100644 index 00000000..7dba53cb --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/magenta_caution_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:magenta_caution_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/magenta_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/magenta_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/magenta_concrete.json new file mode 100644 index 00000000..716ae7cd --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/magenta_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:magenta_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/magenta_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/magenta_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/magenta_concrete_slab.json new file mode 100644 index 00000000..6ac66fd3 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/magenta_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:magenta_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/magenta_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/magenta_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/magenta_concrete_stairs.json new file mode 100644 index 00000000..66cc4a06 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/magenta_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:magenta_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/magenta_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/magenta_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/magenta_concrete_wall.json new file mode 100644 index 00000000..eb938281 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/magenta_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:magenta_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/magenta_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/magenta_rebar_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/magenta_rebar_concrete.json new file mode 100644 index 00000000..80795f9f --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/magenta_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:magenta_rebar_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/magenta_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/magenta_rebar_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/magenta_rebar_concrete_slab.json new file mode 100644 index 00000000..356844d8 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/magenta_rebar_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:magenta_rebar_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/magenta_rebar_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/magenta_rebar_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/magenta_rebar_concrete_stairs.json new file mode 100644 index 00000000..07fe6c86 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/magenta_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:magenta_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/magenta_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/magenta_rebar_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/magenta_rebar_concrete_wall.json new file mode 100644 index 00000000..e432d0fe --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/magenta_rebar_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:magenta_rebar_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/magenta_rebar_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/metal_smokestack.json b/src/generated/resources/data/tfmg/loot_table/blocks/metal_smokestack.json new file mode 100644 index 00000000..110eb37e --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/metal_smokestack.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:metal_smokestack" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/metal_smokestack" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/modern_light.json b/src/generated/resources/data/tfmg/loot_table/blocks/modern_light.json new file mode 100644 index 00000000..df091889 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/modern_light.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:modern_light" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/modern_light" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/napalm_bomb.json b/src/generated/resources/data/tfmg/loot_table/blocks/napalm_bomb.json new file mode 100644 index 00000000..3f85c602 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/napalm_bomb.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:napalm_bomb" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/napalm_bomb" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/neon_tube.json b/src/generated/resources/data/tfmg/loot_table/blocks/neon_tube.json new file mode 100644 index 00000000..bcfd5e20 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/neon_tube.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:neon_tube" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/neon_tube" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/nickel_bars.json b/src/generated/resources/data/tfmg/loot_table/blocks/nickel_bars.json new file mode 100644 index 00000000..0c3e9a2a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/nickel_bars.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:nickel_bars" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/nickel_bars" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/nickel_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/nickel_block.json new file mode 100644 index 00000000..4a0a0cf7 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/nickel_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:nickel_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/nickel_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/nickel_flywheel.json b/src/generated/resources/data/tfmg/loot_table/blocks/nickel_flywheel.json new file mode 100644 index 00000000..9473d431 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/nickel_flywheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:nickel_flywheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/nickel_flywheel" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/nickel_frame.json b/src/generated/resources/data/tfmg/loot_table/blocks/nickel_frame.json new file mode 100644 index 00000000..4f2d3053 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/nickel_frame.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:nickel_frame" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/nickel_frame" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/nickel_ladder.json b/src/generated/resources/data/tfmg/loot_table/blocks/nickel_ladder.json new file mode 100644 index 00000000..496ab604 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/nickel_ladder.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:nickel_ladder" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/nickel_ladder" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/nickel_ore.json b/src/generated/resources/data/tfmg/loot_table/blocks/nickel_ore.json new file mode 100644 index 00000000..87eeee8c --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/nickel_ore.json @@ -0,0 +1,52 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "tfmg:nickel_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:ore_drops", + "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "tfmg:raw_nickel" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/nickel_ore" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/nickel_truss.json b/src/generated/resources/data/tfmg/loot_table/blocks/nickel_truss.json new file mode 100644 index 00000000..172397b2 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/nickel_truss.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:nickel_truss" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/nickel_truss" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/oil_deposit.json b/src/generated/resources/data/tfmg/loot_table/blocks/oil_deposit.json new file mode 100644 index 00000000..4f59977e --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/oil_deposit.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:oil_deposit" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/oil_deposit" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/orange_caution_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/orange_caution_block.json new file mode 100644 index 00000000..002b66de --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/orange_caution_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:orange_caution_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/orange_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/orange_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/orange_concrete.json new file mode 100644 index 00000000..a0b52483 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/orange_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:orange_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/orange_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/orange_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/orange_concrete_slab.json new file mode 100644 index 00000000..1ebc5401 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/orange_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:orange_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/orange_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/orange_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/orange_concrete_stairs.json new file mode 100644 index 00000000..bc26b7e4 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/orange_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:orange_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/orange_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/orange_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/orange_concrete_wall.json new file mode 100644 index 00000000..2f8f79cf --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/orange_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:orange_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/orange_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/orange_rebar_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/orange_rebar_concrete.json new file mode 100644 index 00000000..138fed89 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/orange_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:orange_rebar_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/orange_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/orange_rebar_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/orange_rebar_concrete_slab.json new file mode 100644 index 00000000..593206b8 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/orange_rebar_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:orange_rebar_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/orange_rebar_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/orange_rebar_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/orange_rebar_concrete_stairs.json new file mode 100644 index 00000000..6b56004e --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/orange_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:orange_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/orange_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/orange_rebar_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/orange_rebar_concrete_wall.json new file mode 100644 index 00000000..fbd8e1c5 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/orange_rebar_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:orange_rebar_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/orange_rebar_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/pink_caution_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/pink_caution_block.json new file mode 100644 index 00000000..4fc4e454 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/pink_caution_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:pink_caution_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/pink_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/pink_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/pink_concrete.json new file mode 100644 index 00000000..35ed075c --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/pink_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:pink_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/pink_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/pink_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/pink_concrete_slab.json new file mode 100644 index 00000000..719fb16c --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/pink_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:pink_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/pink_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/pink_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/pink_concrete_stairs.json new file mode 100644 index 00000000..f1de2e80 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/pink_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:pink_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/pink_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/pink_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/pink_concrete_wall.json new file mode 100644 index 00000000..c9a92b95 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/pink_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:pink_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/pink_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/pink_rebar_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/pink_rebar_concrete.json new file mode 100644 index 00000000..37a13e27 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/pink_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:pink_rebar_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/pink_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/pink_rebar_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/pink_rebar_concrete_slab.json new file mode 100644 index 00000000..2de99ff5 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/pink_rebar_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:pink_rebar_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/pink_rebar_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/pink_rebar_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/pink_rebar_concrete_stairs.json new file mode 100644 index 00000000..88d2ed63 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/pink_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:pink_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/pink_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/pink_rebar_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/pink_rebar_concrete_wall.json new file mode 100644 index 00000000..3511bf6d --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/pink_rebar_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:pink_rebar_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/pink_rebar_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/plastic_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/plastic_block.json new file mode 100644 index 00000000..9529f33a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/plastic_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:plastic_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/plastic_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/plastic_mechanical_pump.json b/src/generated/resources/data/tfmg/loot_table/blocks/plastic_mechanical_pump.json new file mode 100644 index 00000000..f334881d --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/plastic_mechanical_pump.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:plastic_mechanical_pump" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/plastic_mechanical_pump" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/plastic_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/plastic_pipe.json new file mode 100644 index 00000000..680b0889 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/plastic_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:plastic_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/plastic_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/plastic_smart_fluid_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/plastic_smart_fluid_pipe.json new file mode 100644 index 00000000..6a59865a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/plastic_smart_fluid_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:plastic_smart_fluid_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/plastic_smart_fluid_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/polarizer.json b/src/generated/resources/data/tfmg/loot_table/blocks/polarizer.json new file mode 100644 index 00000000..e8d5ba07 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/polarizer.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:polarizer" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/polarizer" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_bauxite.json b/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_bauxite.json new file mode 100644 index 00000000..a1edacc9 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_bauxite.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:polished_cut_bauxite" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/polished_cut_bauxite" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_bauxite_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_bauxite_slab.json new file mode 100644 index 00000000..f191d410 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_bauxite_slab.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "conditions": [ + { + "block": "tfmg:polished_cut_bauxite_slab", + "condition": "minecraft:block_state_property", + "properties": { + "type": "double" + } + } + ], + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "tfmg:polished_cut_bauxite_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/polished_cut_bauxite_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_bauxite_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_bauxite_stairs.json new file mode 100644 index 00000000..af9c2152 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_bauxite_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:polished_cut_bauxite_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/polished_cut_bauxite_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_bauxite_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_bauxite_wall.json new file mode 100644 index 00000000..56cd730f --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_bauxite_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:polished_cut_bauxite_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/polished_cut_bauxite_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_galena.json b/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_galena.json new file mode 100644 index 00000000..87aa8a1e --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_galena.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:polished_cut_galena" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/polished_cut_galena" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_galena_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_galena_slab.json new file mode 100644 index 00000000..c599bbaf --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_galena_slab.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "conditions": [ + { + "block": "tfmg:polished_cut_galena_slab", + "condition": "minecraft:block_state_property", + "properties": { + "type": "double" + } + } + ], + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "tfmg:polished_cut_galena_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/polished_cut_galena_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_galena_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_galena_stairs.json new file mode 100644 index 00000000..081c99cc --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_galena_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:polished_cut_galena_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/polished_cut_galena_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_galena_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_galena_wall.json new file mode 100644 index 00000000..cae045cb --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/polished_cut_galena_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:polished_cut_galena_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/polished_cut_galena_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/potentiometer.json b/src/generated/resources/data/tfmg/loot_table/blocks/potentiometer.json new file mode 100644 index 00000000..55d49d07 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/potentiometer.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:potentiometer" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/potentiometer" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/pumpjack_base.json b/src/generated/resources/data/tfmg/loot_table/blocks/pumpjack_base.json new file mode 100644 index 00000000..26482138 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/pumpjack_base.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:pumpjack_base" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/pumpjack_base" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/pumpjack_crank.json b/src/generated/resources/data/tfmg/loot_table/blocks/pumpjack_crank.json new file mode 100644 index 00000000..fae4cad0 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/pumpjack_crank.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:pumpjack_crank" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/pumpjack_crank" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/pumpjack_hammer.json b/src/generated/resources/data/tfmg/loot_table/blocks/pumpjack_hammer.json new file mode 100644 index 00000000..f442cba6 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/pumpjack_hammer.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:pumpjack_hammer" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/pumpjack_hammer" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/pumpjack_hammer_connector.json b/src/generated/resources/data/tfmg/loot_table/blocks/pumpjack_hammer_connector.json new file mode 100644 index 00000000..1fdd9e4e --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/pumpjack_hammer_connector.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:pumpjack_hammer_connector" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/pumpjack_hammer_connector" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/pumpjack_hammer_head.json b/src/generated/resources/data/tfmg/loot_table/blocks/pumpjack_hammer_head.json new file mode 100644 index 00000000..a4164519 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/pumpjack_hammer_head.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:pumpjack_hammer_head" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/pumpjack_hammer_head" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/pumpjack_hammer_part.json b/src/generated/resources/data/tfmg/loot_table/blocks/pumpjack_hammer_part.json new file mode 100644 index 00000000..3edc532e --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/pumpjack_hammer_part.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:pumpjack_hammer_part" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/pumpjack_hammer_part" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/purple_caution_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/purple_caution_block.json new file mode 100644 index 00000000..b4b1c5c7 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/purple_caution_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:purple_caution_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/purple_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/purple_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/purple_concrete.json new file mode 100644 index 00000000..31b1207a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/purple_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:purple_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/purple_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/purple_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/purple_concrete_slab.json new file mode 100644 index 00000000..abd80de4 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/purple_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:purple_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/purple_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/purple_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/purple_concrete_stairs.json new file mode 100644 index 00000000..ac2f0a03 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/purple_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:purple_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/purple_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/purple_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/purple_concrete_wall.json new file mode 100644 index 00000000..f8c39fab --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/purple_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:purple_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/purple_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/purple_rebar_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/purple_rebar_concrete.json new file mode 100644 index 00000000..0362c7d2 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/purple_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:purple_rebar_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/purple_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/purple_rebar_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/purple_rebar_concrete_slab.json new file mode 100644 index 00000000..a779a4d1 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/purple_rebar_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:purple_rebar_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/purple_rebar_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/purple_rebar_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/purple_rebar_concrete_stairs.json new file mode 100644 index 00000000..41c4dff0 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/purple_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:purple_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/purple_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/purple_rebar_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/purple_rebar_concrete_wall.json new file mode 100644 index 00000000..f1614d51 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/purple_rebar_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:purple_rebar_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/purple_rebar_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/radial_engine.json b/src/generated/resources/data/tfmg/loot_table/blocks/radial_engine.json new file mode 100644 index 00000000..b5651615 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/radial_engine.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:radial_engine" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/radial_engine" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/raw_lead_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/raw_lead_block.json new file mode 100644 index 00000000..f776f89a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/raw_lead_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:raw_lead_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/raw_lead_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/raw_lithium_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/raw_lithium_block.json new file mode 100644 index 00000000..3790b355 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/raw_lithium_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:raw_lithium_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/raw_lithium_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/raw_nickel_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/raw_nickel_block.json new file mode 100644 index 00000000..5d906a6d --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/raw_nickel_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:raw_nickel_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/raw_nickel_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/rebar_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/rebar_block.json new file mode 100644 index 00000000..f79c5a45 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/rebar_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:rebar_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/rebar_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/rebar_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/rebar_concrete.json new file mode 100644 index 00000000..2b4110b3 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:rebar_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/rebar_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/rebar_concrete_slab.json new file mode 100644 index 00000000..62280371 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/rebar_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:rebar_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/rebar_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/rebar_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/rebar_concrete_stairs.json new file mode 100644 index 00000000..09070f79 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/rebar_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/rebar_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/rebar_concrete_wall.json new file mode 100644 index 00000000..ebd6eeb4 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/rebar_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:rebar_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/rebar_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/rebar_floor.json b/src/generated/resources/data/tfmg/loot_table/blocks/rebar_floor.json new file mode 100644 index 00000000..901377a6 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/rebar_floor.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:rebar_floor" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/rebar_floor" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/rebar_pile.json b/src/generated/resources/data/tfmg/loot_table/blocks/rebar_pile.json new file mode 100644 index 00000000..236f58b5 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/rebar_pile.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:rebar_pile" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/rebar_pile" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/rebar_pillar.json b/src/generated/resources/data/tfmg/loot_table/blocks/rebar_pillar.json new file mode 100644 index 00000000..adf7a40e --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/rebar_pillar.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:rebar_pillar" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/rebar_pillar" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/rebar_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/rebar_stairs.json new file mode 100644 index 00000000..f89d2582 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/rebar_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:rebar_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/rebar_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/rebar_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/rebar_wall.json new file mode 100644 index 00000000..c9314823 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/rebar_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:rebar_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/rebar_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/red_caution_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/red_caution_block.json new file mode 100644 index 00000000..e24c584a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/red_caution_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:red_caution_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/red_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/red_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/red_concrete.json new file mode 100644 index 00000000..582a0d17 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/red_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:red_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/red_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/red_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/red_concrete_slab.json new file mode 100644 index 00000000..576c0ddb --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/red_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:red_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/red_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/red_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/red_concrete_stairs.json new file mode 100644 index 00000000..e3713891 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/red_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:red_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/red_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/red_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/red_concrete_wall.json new file mode 100644 index 00000000..779d4c9f --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/red_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:red_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/red_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/red_rebar_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/red_rebar_concrete.json new file mode 100644 index 00000000..07de7f5d --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/red_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:red_rebar_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/red_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/red_rebar_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/red_rebar_concrete_slab.json new file mode 100644 index 00000000..0227946c --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/red_rebar_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:red_rebar_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/red_rebar_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/red_rebar_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/red_rebar_concrete_stairs.json new file mode 100644 index 00000000..d4c45cc5 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/red_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:red_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/red_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/red_rebar_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/red_rebar_concrete_wall.json new file mode 100644 index 00000000..ff837110 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/red_rebar_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:red_rebar_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/red_rebar_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/regular_engine.json b/src/generated/resources/data/tfmg/loot_table/blocks/regular_engine.json new file mode 100644 index 00000000..d3203e32 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/regular_engine.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:regular_engine" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/regular_engine" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/reinforced_fireproof_bricks.json b/src/generated/resources/data/tfmg/loot_table/blocks/reinforced_fireproof_bricks.json new file mode 100644 index 00000000..54ab8ad8 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/reinforced_fireproof_bricks.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:fireproof_bricks" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/reinforced_fireproof_bricks" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/resistor.json b/src/generated/resources/data/tfmg/loot_table/blocks/resistor.json new file mode 100644 index 00000000..dbbbb81a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/resistor.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:resistor" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/resistor" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/rotor.json b/src/generated/resources/data/tfmg/loot_table/blocks/rotor.json new file mode 100644 index 00000000..df354ff6 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/rotor.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:rotor" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/rotor" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/rusted_blast_furnace_reinforcement.json b/src/generated/resources/data/tfmg/loot_table/blocks/rusted_blast_furnace_reinforcement.json new file mode 100644 index 00000000..7caa0aea --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/rusted_blast_furnace_reinforcement.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:rusted_blast_furnace_reinforcement" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/rusted_blast_furnace_reinforcement" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/rusted_blast_furnace_reinforcement_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/rusted_blast_furnace_reinforcement_wall.json new file mode 100644 index 00000000..faabb86d --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/rusted_blast_furnace_reinforcement_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:rusted_blast_furnace_reinforcement" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/rusted_blast_furnace_reinforcement_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/segmented_display.json b/src/generated/resources/data/tfmg/loot_table/blocks/segmented_display.json new file mode 100644 index 00000000..811b14c0 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/segmented_display.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:segmented_display" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/segmented_display" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/simple_large_engine.json b/src/generated/resources/data/tfmg/loot_table/blocks/simple_large_engine.json new file mode 100644 index 00000000..ba0f76c8 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/simple_large_engine.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:simple_large_engine" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/simple_large_engine" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/slag_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/slag_block.json new file mode 100644 index 00000000..42c66fe3 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/slag_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:slag_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/slag_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/slag_bricks.json b/src/generated/resources/data/tfmg/loot_table/blocks/slag_bricks.json new file mode 100644 index 00000000..d04da7bd --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/slag_bricks.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:slag_bricks" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/slag_bricks" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/small_bauxite_brick_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/small_bauxite_brick_slab.json new file mode 100644 index 00000000..f617190e --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/small_bauxite_brick_slab.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "conditions": [ + { + "block": "tfmg:small_bauxite_brick_slab", + "condition": "minecraft:block_state_property", + "properties": { + "type": "double" + } + } + ], + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "tfmg:small_bauxite_brick_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/small_bauxite_brick_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/small_bauxite_brick_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/small_bauxite_brick_stairs.json new file mode 100644 index 00000000..e5bf9897 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/small_bauxite_brick_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:small_bauxite_brick_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/small_bauxite_brick_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/small_bauxite_brick_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/small_bauxite_brick_wall.json new file mode 100644 index 00000000..f5f5dd81 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/small_bauxite_brick_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:small_bauxite_brick_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/small_bauxite_brick_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/small_bauxite_bricks.json b/src/generated/resources/data/tfmg/loot_table/blocks/small_bauxite_bricks.json new file mode 100644 index 00000000..00bc662d --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/small_bauxite_bricks.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:small_bauxite_bricks" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/small_bauxite_bricks" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/small_galena_brick_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/small_galena_brick_slab.json new file mode 100644 index 00000000..1820b0ee --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/small_galena_brick_slab.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "conditions": [ + { + "block": "tfmg:small_galena_brick_slab", + "condition": "minecraft:block_state_property", + "properties": { + "type": "double" + } + } + ], + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "tfmg:small_galena_brick_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/small_galena_brick_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/small_galena_brick_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/small_galena_brick_stairs.json new file mode 100644 index 00000000..d8d2a2fb --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/small_galena_brick_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:small_galena_brick_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/small_galena_brick_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/small_galena_brick_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/small_galena_brick_wall.json new file mode 100644 index 00000000..d59e61ce --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/small_galena_brick_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:small_galena_brick_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/small_galena_brick_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/small_galena_bricks.json b/src/generated/resources/data/tfmg/loot_table/blocks/small_galena_bricks.json new file mode 100644 index 00000000..d7b915dd --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/small_galena_bricks.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:small_galena_bricks" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/small_galena_bricks" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/stator.json b/src/generated/resources/data/tfmg/loot_table/blocks/stator.json new file mode 100644 index 00000000..78b2b80a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/stator.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:stator" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/stator" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_bars.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_bars.json new file mode 100644 index 00000000..4fb619e7 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_bars.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_bars" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_bars" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_block.json new file mode 100644 index 00000000..0a12d7df --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_cable_hub.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_cable_hub.json new file mode 100644 index 00000000..fe45b57a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_cable_hub.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_cable_hub" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_cable_hub" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_casing.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_casing.json new file mode 100644 index 00000000..38a11e75 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_casing.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_casing" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_casing" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_casing_cable_hub.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_casing_cable_hub.json new file mode 100644 index 00000000..7d06ea86 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_casing_cable_hub.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_casing_cable_hub" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_casing_cable_hub" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_chemical_vat.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_chemical_vat.json new file mode 100644 index 00000000..f37c41b5 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_chemical_vat.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_chemical_vat" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_chemical_vat" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_cogwheel.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_cogwheel.json new file mode 100644 index 00000000..2a70619c --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_cogwheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_cogwheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_cogwheel" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_distillation_controller.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_distillation_controller.json new file mode 100644 index 00000000..318eccec --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_distillation_controller.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_distillation_controller" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_distillation_controller" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_distillation_output.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_distillation_output.json new file mode 100644 index 00000000..2d36a81e --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_distillation_output.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_distillation_output" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_distillation_output" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_door.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_door.json new file mode 100644 index 00000000..cb030af1 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_door.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "block": "tfmg:steel_door", + "condition": "minecraft:block_state_property", + "properties": { + "half": "lower" + } + } + ], + "name": "tfmg:steel_door" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_door" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_encased_aluminum_cogwheel.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_encased_aluminum_cogwheel.json new file mode 100644 index 00000000..74a48587 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_encased_aluminum_cogwheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "create:cogwheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_encased_aluminum_cogwheel" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_encased_large_aluminum_cogwheel.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_encased_large_aluminum_cogwheel.json new file mode 100644 index 00000000..1b56fe79 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_encased_large_aluminum_cogwheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "create:large_cogwheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_encased_large_aluminum_cogwheel" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_encased_large_steel_cogwheel.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_encased_large_steel_cogwheel.json new file mode 100644 index 00000000..94e9a46f --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_encased_large_steel_cogwheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "create:large_cogwheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_encased_large_steel_cogwheel" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_encased_shaft.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_encased_shaft.json new file mode 100644 index 00000000..35452c8b --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_encased_shaft.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "create:shaft" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_encased_shaft" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_encased_steel_cogwheel.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_encased_steel_cogwheel.json new file mode 100644 index 00000000..15223058 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_encased_steel_cogwheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "create:cogwheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_encased_steel_cogwheel" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_fluid_tank.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_fluid_tank.json new file mode 100644 index 00000000..f90b7abe --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_fluid_tank.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_fluid_tank" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_fluid_tank" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_flywheel.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_flywheel.json new file mode 100644 index 00000000..2476b64b --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_flywheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_flywheel" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_flywheel" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_frame.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_frame.json new file mode 100644 index 00000000..90c92587 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_frame.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_frame" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_frame" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_gearbox.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_gearbox.json new file mode 100644 index 00000000..10bbdd27 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_gearbox.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_gearbox" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_gearbox" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_ladder.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_ladder.json new file mode 100644 index 00000000..d8c373d8 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_ladder.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_ladder" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_ladder" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_mechanical_pump.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_mechanical_pump.json new file mode 100644 index 00000000..4fd34fb6 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_mechanical_pump.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_mechanical_pump" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_mechanical_pump" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_pipe.json new file mode 100644 index 00000000..a413db66 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_scaffolding.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_scaffolding.json new file mode 100644 index 00000000..13295491 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_scaffolding.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_scaffolding" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_scaffolding" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_smart_fluid_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_smart_fluid_pipe.json new file mode 100644 index 00000000..c644fc75 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_smart_fluid_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_smart_fluid_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_smart_fluid_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_trapdoor.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_trapdoor.json new file mode 100644 index 00000000..1f911a76 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_trapdoor.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_trapdoor" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_trapdoor" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_truss.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_truss.json new file mode 100644 index 00000000..ad80cee7 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_truss.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_truss" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_truss" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/sulfur.json b/src/generated/resources/data/tfmg/loot_table/blocks/sulfur.json new file mode 100644 index 00000000..c2a714eb --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/sulfur.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:sulfur" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/sulfur" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/surface_scanner.json b/src/generated/resources/data/tfmg/loot_table/blocks/surface_scanner.json new file mode 100644 index 00000000..8a822aa3 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/surface_scanner.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:surface_scanner" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/surface_scanner" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/traffic_light.json b/src/generated/resources/data/tfmg/loot_table/blocks/traffic_light.json new file mode 100644 index 00000000..01731c0f --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/traffic_light.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:traffic_light" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/traffic_light" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/transformer.json b/src/generated/resources/data/tfmg/loot_table/blocks/transformer.json new file mode 100644 index 00000000..0300acdc --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/transformer.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:transformer" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/transformer" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/turbine_engine.json b/src/generated/resources/data/tfmg/loot_table/blocks/turbine_engine.json new file mode 100644 index 00000000..ed85d46b --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/turbine_engine.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:turbine_engine" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/turbine_engine" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/voltage_observer.json b/src/generated/resources/data/tfmg/loot_table/blocks/voltage_observer.json new file mode 100644 index 00000000..bab9ec0c --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/voltage_observer.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:voltage_observer" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/voltage_observer" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/voltmeter.json b/src/generated/resources/data/tfmg/loot_table/blocks/voltmeter.json new file mode 100644 index 00000000..0220f596 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/voltmeter.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:voltmeter" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/voltmeter" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/white_caution_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/white_caution_block.json new file mode 100644 index 00000000..7119ead0 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/white_caution_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:white_caution_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/white_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/white_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/white_concrete.json new file mode 100644 index 00000000..52792fd5 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/white_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:white_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/white_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/white_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/white_concrete_slab.json new file mode 100644 index 00000000..766cb293 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/white_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:white_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/white_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/white_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/white_concrete_stairs.json new file mode 100644 index 00000000..a11d658d --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/white_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:white_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/white_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/white_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/white_concrete_wall.json new file mode 100644 index 00000000..5dd89d89 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/white_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:white_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/white_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/white_rebar_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/white_rebar_concrete.json new file mode 100644 index 00000000..ef12e0e6 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/white_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:white_rebar_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/white_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/white_rebar_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/white_rebar_concrete_slab.json new file mode 100644 index 00000000..c7a02a8c --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/white_rebar_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:white_rebar_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/white_rebar_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/white_rebar_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/white_rebar_concrete_stairs.json new file mode 100644 index 00000000..12732cf4 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/white_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:white_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/white_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/white_rebar_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/white_rebar_concrete_wall.json new file mode 100644 index 00000000..f5d25dc4 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/white_rebar_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:white_rebar_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/white_rebar_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/winding_machine.json b/src/generated/resources/data/tfmg/loot_table/blocks/winding_machine.json new file mode 100644 index 00000000..07c7db86 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/winding_machine.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:winding_machine" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/winding_machine" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/yellow_caution_block.json b/src/generated/resources/data/tfmg/loot_table/blocks/yellow_caution_block.json new file mode 100644 index 00000000..33706986 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/yellow_caution_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:yellow_caution_block" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/yellow_caution_block" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/yellow_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/yellow_concrete.json new file mode 100644 index 00000000..93aff6e9 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/yellow_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:yellow_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/yellow_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/yellow_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/yellow_concrete_slab.json new file mode 100644 index 00000000..47fdcbc8 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/yellow_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:yellow_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/yellow_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/yellow_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/yellow_concrete_stairs.json new file mode 100644 index 00000000..12fadbb1 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/yellow_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:yellow_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/yellow_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/yellow_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/yellow_concrete_wall.json new file mode 100644 index 00000000..141c0a3c --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/yellow_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:yellow_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/yellow_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/yellow_rebar_concrete.json b/src/generated/resources/data/tfmg/loot_table/blocks/yellow_rebar_concrete.json new file mode 100644 index 00000000..31eb8eef --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/yellow_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:yellow_rebar_concrete" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/yellow_rebar_concrete" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/yellow_rebar_concrete_slab.json b/src/generated/resources/data/tfmg/loot_table/blocks/yellow_rebar_concrete_slab.json new file mode 100644 index 00000000..2696fcf7 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/yellow_rebar_concrete_slab.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:yellow_rebar_concrete_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/yellow_rebar_concrete_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/yellow_rebar_concrete_stairs.json b/src/generated/resources/data/tfmg/loot_table/blocks/yellow_rebar_concrete_stairs.json new file mode 100644 index 00000000..c27465f2 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/yellow_rebar_concrete_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:yellow_rebar_concrete_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/yellow_rebar_concrete_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/yellow_rebar_concrete_wall.json b/src/generated/resources/data/tfmg/loot_table/blocks/yellow_rebar_concrete_wall.json new file mode 100644 index 00000000..a7673099 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/yellow_rebar_concrete_wall.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:yellow_rebar_concrete_wall" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/yellow_rebar_concrete_wall" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/zinc_frame.json b/src/generated/resources/data/tfmg/loot_table/blocks/zinc_frame.json new file mode 100644 index 00000000..d3a7c594 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/zinc_frame.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:zinc_frame" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/zinc_frame" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/zinc_truss.json b/src/generated/resources/data/tfmg/loot_table/blocks/zinc_truss.json new file mode 100644 index 00000000..8aa672d9 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/zinc_truss.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:zinc_truss" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/zinc_truss" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/neoforge/biome_modifier/lead_ore.json b/src/generated/resources/data/tfmg/neoforge/biome_modifier/lead_ore.json new file mode 100644 index 00000000..d4876113 --- /dev/null +++ b/src/generated/resources/data/tfmg/neoforge/biome_modifier/lead_ore.json @@ -0,0 +1,6 @@ +{ + "type": "neoforge:add_features", + "biomes": "#minecraft:is_overworld", + "features": "tfmg:lead_ore", + "step": "underground_ores" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/neoforge/biome_modifier/lithium_ore.json b/src/generated/resources/data/tfmg/neoforge/biome_modifier/lithium_ore.json new file mode 100644 index 00000000..7f820e48 --- /dev/null +++ b/src/generated/resources/data/tfmg/neoforge/biome_modifier/lithium_ore.json @@ -0,0 +1,6 @@ +{ + "type": "neoforge:add_features", + "biomes": "#minecraft:is_overworld", + "features": "tfmg:lithium_ore", + "step": "underground_ores" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/neoforge/biome_modifier/nickel_ore.json b/src/generated/resources/data/tfmg/neoforge/biome_modifier/nickel_ore.json new file mode 100644 index 00000000..d7e53e5b --- /dev/null +++ b/src/generated/resources/data/tfmg/neoforge/biome_modifier/nickel_ore.json @@ -0,0 +1,6 @@ +{ + "type": "neoforge:add_features", + "biomes": "#minecraft:is_overworld", + "features": "tfmg:nickel_ore", + "step": "underground_ores" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/neoforge/biome_modifier/oil_deposit.json b/src/generated/resources/data/tfmg/neoforge/biome_modifier/oil_deposit.json new file mode 100644 index 00000000..df880938 --- /dev/null +++ b/src/generated/resources/data/tfmg/neoforge/biome_modifier/oil_deposit.json @@ -0,0 +1,6 @@ +{ + "type": "neoforge:add_features", + "biomes": "#minecraft:is_overworld", + "features": "tfmg:oil_deposit", + "step": "underground_ores" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/neoforge/biome_modifier/oil_well.json b/src/generated/resources/data/tfmg/neoforge/biome_modifier/oil_well.json new file mode 100644 index 00000000..f20421f3 --- /dev/null +++ b/src/generated/resources/data/tfmg/neoforge/biome_modifier/oil_well.json @@ -0,0 +1,6 @@ +{ + "type": "neoforge:add_features", + "biomes": "#minecraft:has_structure/desert_pyramid", + "features": "tfmg:oil_well", + "step": "fluid_springs" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/neoforge/biome_modifier/tfmg_striated_ores_nether.json b/src/generated/resources/data/tfmg/neoforge/biome_modifier/tfmg_striated_ores_nether.json new file mode 100644 index 00000000..85954617 --- /dev/null +++ b/src/generated/resources/data/tfmg/neoforge/biome_modifier/tfmg_striated_ores_nether.json @@ -0,0 +1,6 @@ +{ + "type": "neoforge:add_features", + "biomes": "#minecraft:is_nether", + "features": "tfmg:tfmg_striated_ores_nether", + "step": "underground_ores" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/neoforge/biome_modifier/tfmg_striated_ores_overworld.json b/src/generated/resources/data/tfmg/neoforge/biome_modifier/tfmg_striated_ores_overworld.json new file mode 100644 index 00000000..da65f504 --- /dev/null +++ b/src/generated/resources/data/tfmg/neoforge/biome_modifier/tfmg_striated_ores_overworld.json @@ -0,0 +1,6 @@ +{ + "type": "neoforge:add_features", + "biomes": "#minecraft:is_overworld", + "features": "tfmg:tfmg_striated_ores_overworld", + "step": "underground_ores" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/aluminum_bars_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/recipe/aluminum_bars_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..2dcb4658 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/aluminum_bars_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 4, + "id": "tfmg:aluminum_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/aluminum_ladder_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/recipe/aluminum_ladder_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..96c0a857 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/aluminum_ladder_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:aluminum_ladder" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/aluminum_scaffolding_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/recipe/aluminum_scaffolding_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..70618716 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/aluminum_scaffolding_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:aluminum_scaffolding" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/aluminum_wire_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/recipe/aluminum_wire_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..775f8b0b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/aluminum_wire_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:aluminum_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/asphalt_slab_from_asphalt_stonecutting.json b/src/generated/resources/data/tfmg/recipe/asphalt_slab_from_asphalt_stonecutting.json new file mode 100644 index 00000000..2ec77a9a --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/asphalt_slab_from_asphalt_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:asphalt" + }, + "result": { + "count": 2, + "id": "tfmg:asphalt_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/asphalt_stairs_from_asphalt_stonecutting.json b/src/generated/resources/data/tfmg/recipe/asphalt_stairs_from_asphalt_stonecutting.json new file mode 100644 index 00000000..f15604fe --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/asphalt_stairs_from_asphalt_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:asphalt" + }, + "result": { + "count": 1, + "id": "tfmg:asphalt_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/asphalt_wall_from_asphalt_stonecutting.json b/src/generated/resources/data/tfmg/recipe/asphalt_wall_from_asphalt_stonecutting.json new file mode 100644 index 00000000..9340d5d2 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/asphalt_wall_from_asphalt_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:asphalt" + }, + "result": { + "count": 1, + "id": "tfmg:asphalt_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/bauxite_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/recipe/bauxite_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..6227d3ab --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/bauxite_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 1, + "id": "tfmg:bauxite" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/bauxite_pillar_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/recipe/bauxite_pillar_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..f0403dba --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/bauxite_pillar_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 1, + "id": "tfmg:bauxite_pillar" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/black_concrete_slab_from_black_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/black_concrete_slab_from_black_concrete_stonecutting.json new file mode 100644 index 00000000..0ee38956 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/black_concrete_slab_from_black_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:black_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:black_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/black_concrete_stairs_from_black_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/black_concrete_stairs_from_black_concrete_stonecutting.json new file mode 100644 index 00000000..64dc4b7b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/black_concrete_stairs_from_black_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:black_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:black_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/black_concrete_wall_from_black_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/black_concrete_wall_from_black_concrete_stonecutting.json new file mode 100644 index 00000000..eeea9097 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/black_concrete_wall_from_black_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:black_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:black_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/black_rebar_concrete_slab_from_black_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/black_rebar_concrete_slab_from_black_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..a304311c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/black_rebar_concrete_slab_from_black_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:black_rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:black_rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/black_rebar_concrete_stairs_from_black_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/black_rebar_concrete_stairs_from_black_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..0361c4f2 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/black_rebar_concrete_stairs_from_black_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:black_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:black_rebar_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/black_rebar_concrete_wall_from_black_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/black_rebar_concrete_wall_from_black_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..9dd837e7 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/black_rebar_concrete_wall_from_black_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:black_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:black_rebar_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/blasting/lead_ingot_blasting.json b/src/generated/resources/data/tfmg/recipe/blasting/lead_ingot_blasting.json new file mode 100644 index 00000000..415baac8 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/blasting/lead_ingot_blasting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.0, + "ingredient": { + "item": "tfmg:raw_lead" + }, + "result": { + "count": 1, + "id": "tfmg:lead_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/blasting/lead_ingot_from_crushed_blasting.json b/src/generated/resources/data/tfmg/recipe/blasting/lead_ingot_from_crushed_blasting.json new file mode 100644 index 00000000..daea49a5 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/blasting/lead_ingot_from_crushed_blasting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.0, + "ingredient": { + "item": "create:crushed_raw_lead" + }, + "result": { + "count": 1, + "id": "tfmg:lead_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/blasting/lithium_ingot_blasting.json b/src/generated/resources/data/tfmg/recipe/blasting/lithium_ingot_blasting.json new file mode 100644 index 00000000..dffabf88 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/blasting/lithium_ingot_blasting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.0, + "ingredient": { + "item": "tfmg:raw_lithium" + }, + "result": { + "count": 1, + "id": "tfmg:lithium_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/blasting/nickel_ingot_blasting.json b/src/generated/resources/data/tfmg/recipe/blasting/nickel_ingot_blasting.json new file mode 100644 index 00000000..8d107e0d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/blasting/nickel_ingot_blasting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.0, + "ingredient": { + "item": "tfmg:raw_nickel" + }, + "result": { + "count": 1, + "id": "tfmg:nickel_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/blasting/nickel_ingot_from_crushed_blasting.json b/src/generated/resources/data/tfmg/recipe/blasting/nickel_ingot_from_crushed_blasting.json new file mode 100644 index 00000000..6cad3b53 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/blasting/nickel_ingot_from_crushed_blasting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.0, + "ingredient": { + "item": "create:crushed_raw_nickel" + }, + "result": { + "count": 1, + "id": "tfmg:nickel_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/blue_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/recipe/blue_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..1bc62b8a --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/blue_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:blue_caution_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/blue_concrete_slab_from_blue_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/blue_concrete_slab_from_blue_concrete_stonecutting.json new file mode 100644 index 00000000..cd0ff81e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/blue_concrete_slab_from_blue_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:blue_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:blue_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/blue_concrete_stairs_from_blue_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/blue_concrete_stairs_from_blue_concrete_stonecutting.json new file mode 100644 index 00000000..8203772c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/blue_concrete_stairs_from_blue_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:blue_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:blue_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/blue_concrete_wall_from_blue_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/blue_concrete_wall_from_blue_concrete_stonecutting.json new file mode 100644 index 00000000..1b3b04fd --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/blue_concrete_wall_from_blue_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:blue_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:blue_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/blue_rebar_concrete_slab_from_blue_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/blue_rebar_concrete_slab_from_blue_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..1af16e7b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/blue_rebar_concrete_slab_from_blue_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:blue_rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:blue_rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/blue_rebar_concrete_stairs_from_blue_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/blue_rebar_concrete_stairs_from_blue_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..732cfb61 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/blue_rebar_concrete_stairs_from_blue_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:blue_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:blue_rebar_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/blue_rebar_concrete_wall_from_blue_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/blue_rebar_concrete_wall_from_blue_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..db2bf6b8 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/blue_rebar_concrete_wall_from_blue_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:blue_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:blue_rebar_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/brown_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/recipe/brown_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..ad185853 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/brown_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:brown_caution_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/brown_concrete_slab_from_brown_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/brown_concrete_slab_from_brown_concrete_stonecutting.json new file mode 100644 index 00000000..8ea3cf73 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/brown_concrete_slab_from_brown_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:brown_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:brown_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/brown_concrete_stairs_from_brown_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/brown_concrete_stairs_from_brown_concrete_stonecutting.json new file mode 100644 index 00000000..7af64d2c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/brown_concrete_stairs_from_brown_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:brown_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:brown_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/brown_concrete_wall_from_brown_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/brown_concrete_wall_from_brown_concrete_stonecutting.json new file mode 100644 index 00000000..87bc0814 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/brown_concrete_wall_from_brown_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:brown_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:brown_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/brown_rebar_concrete_slab_from_brown_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/brown_rebar_concrete_slab_from_brown_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..6edc07ac --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/brown_rebar_concrete_slab_from_brown_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:brown_rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:brown_rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/brown_rebar_concrete_stairs_from_brown_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/brown_rebar_concrete_stairs_from_brown_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..eae304e4 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/brown_rebar_concrete_stairs_from_brown_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:brown_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:brown_rebar_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/brown_rebar_concrete_wall_from_brown_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/brown_rebar_concrete_wall_from_brown_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..9b94f025 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/brown_rebar_concrete_wall_from_brown_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:brown_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:brown_rebar_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cast_iron_bars_from_ingots_cast_iron_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cast_iron_bars_from_ingots_cast_iron_stonecutting.json new file mode 100644 index 00000000..a6416335 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cast_iron_bars_from_ingots_cast_iron_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/cast_iron" + }, + "result": { + "count": 4, + "id": "tfmg:cast_iron_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cast_iron_ladder_from_ingots_cast_iron_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cast_iron_ladder_from_ingots_cast_iron_stonecutting.json new file mode 100644 index 00000000..2e12d923 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cast_iron_ladder_from_ingots_cast_iron_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/cast_iron" + }, + "result": { + "count": 2, + "id": "tfmg:cast_iron_ladder" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/casting/cinderblock.json b/src/generated/resources/data/tfmg/recipe/casting/cinderblock.json new file mode 100644 index 00000000..75c2ef4c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/casting/cinderblock.json @@ -0,0 +1,16 @@ +{ + "type": "create:casting", + "ingredients": [ + { + "type": "fluid_stack", + "amount": 144, + "fluid": "tfmg:liquid_concrete" + } + ], + "processing_time": 50, + "results": [ + { + "id": "tfmg:cinderblock" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/casting/plastic_sheet.json b/src/generated/resources/data/tfmg/recipe/casting/plastic_sheet.json new file mode 100644 index 00000000..ecff0051 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/casting/plastic_sheet.json @@ -0,0 +1,16 @@ +{ + "type": "create:casting", + "ingredients": [ + { + "type": "fluid_stack", + "amount": 200, + "fluid": "tfmg:molten_plastic" + } + ], + "processing_time": 100, + "results": [ + { + "id": "tfmg:plastic_sheet" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/casting/silicon.json b/src/generated/resources/data/tfmg/recipe/casting/silicon.json new file mode 100644 index 00000000..c41ccde9 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/casting/silicon.json @@ -0,0 +1,16 @@ +{ + "type": "create:casting", + "ingredients": [ + { + "type": "fluid_stack", + "amount": 144, + "fluid": "tfmg:liquid_silicon" + } + ], + "processing_time": 200, + "results": [ + { + "id": "tfmg:silicon_ingot" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/casting/slag_block.json b/src/generated/resources/data/tfmg/recipe/casting/slag_block.json new file mode 100644 index 00000000..8f771071 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/casting/slag_block.json @@ -0,0 +1,16 @@ +{ + "type": "create:casting", + "ingredients": [ + { + "type": "fluid_stack", + "amount": 20, + "fluid": "tfmg:molten_slag" + } + ], + "processing_time": 50, + "results": [ + { + "id": "tfmg:slag_block" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/casting/steel.json b/src/generated/resources/data/tfmg/recipe/casting/steel.json new file mode 100644 index 00000000..c9f54233 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/casting/steel.json @@ -0,0 +1,16 @@ +{ + "type": "create:casting", + "ingredients": [ + { + "type": "fluid_stack", + "amount": 144, + "fluid": "tfmg:molten_steel" + } + ], + "processing_time": 200, + "results": [ + { + "id": "tfmg:steel_ingot" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cinderblock_from_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cinderblock_from_concrete_stonecutting.json new file mode 100644 index 00000000..6f4842fa --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cinderblock_from_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:concrete" + }, + "result": { + "count": 8, + "id": "tfmg:cinderblock" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/coking/charcoal.json b/src/generated/resources/data/tfmg/recipe/coking/charcoal.json new file mode 100644 index 00000000..ee21d4d3 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/coking/charcoal.json @@ -0,0 +1,22 @@ +{ + "type": "create:coking", + "ingredients": [ + { + "tag": "minecraft:logs_that_burn" + } + ], + "processing_time": 600, + "results": [ + { + "id": "minecraft:charcoal" + }, + { + "amount": 2, + "id": "tfmg:flowing_creosote" + }, + { + "amount": 20, + "id": "tfmg:flowing_carbon_dioxide" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/coking/coal.json b/src/generated/resources/data/tfmg/recipe/coking/coal.json new file mode 100644 index 00000000..7d5a52b1 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/coking/coal.json @@ -0,0 +1,22 @@ +{ + "type": "create:coking", + "ingredients": [ + { + "item": "minecraft:coal" + } + ], + "processing_time": 1200, + "results": [ + { + "id": "tfmg:coal_coke" + }, + { + "amount": 1, + "id": "tfmg:flowing_creosote" + }, + { + "amount": 30, + "id": "tfmg:flowing_carbon_dioxide" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/compacting/bitumen.json b/src/generated/resources/data/tfmg/recipe/compacting/bitumen.json new file mode 100644 index 00000000..dffca76f --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/compacting/bitumen.json @@ -0,0 +1,16 @@ +{ + "type": "create:compacting", + "heat_requirement": "heated", + "ingredients": [ + { + "type": "fluid_stack", + "amount": 1000, + "fluid": "tfmg:heavy_oil" + } + ], + "results": [ + { + "id": "tfmg:bitumen" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/compacting/cast_iron.json b/src/generated/resources/data/tfmg/recipe/compacting/cast_iron.json new file mode 100644 index 00000000..36c32f9a --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/compacting/cast_iron.json @@ -0,0 +1,17 @@ +{ + "type": "create:compacting", + "heat_requirement": "heated", + "ingredients": [ + { + "item": "minecraft:iron_ingot" + }, + { + "item": "minecraft:coal" + } + ], + "results": [ + { + "id": "tfmg:cast_iron_ingot" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/compacting/cinderflourblock.json b/src/generated/resources/data/tfmg/recipe/compacting/cinderflourblock.json new file mode 100644 index 00000000..4c865962 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/compacting/cinderflourblock.json @@ -0,0 +1,22 @@ +{ + "type": "create:compacting", + "ingredients": [ + { + "item": "create:cinder_flour" + }, + { + "item": "create:cinder_flour" + }, + { + "item": "create:cinder_flour" + }, + { + "item": "create:cinder_flour" + } + ], + "results": [ + { + "id": "tfmg:cinderflourblock" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/concrete_slab_from_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/concrete_slab_from_concrete_stonecutting.json new file mode 100644 index 00000000..dc4c9b43 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/concrete_slab_from_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:concrete" + }, + "result": { + "count": 2, + "id": "tfmg:concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/concrete_stairs_from_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/concrete_stairs_from_concrete_stonecutting.json new file mode 100644 index 00000000..f7d9d4ee --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/concrete_stairs_from_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:concrete" + }, + "result": { + "count": 1, + "id": "tfmg:concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/concrete_wall_from_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/concrete_wall_from_concrete_stonecutting.json new file mode 100644 index 00000000..fb323174 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/concrete_wall_from_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:concrete" + }, + "result": { + "count": 1, + "id": "tfmg:concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/constantan_ladder_from_ingots_constantan_stonecutting.json b/src/generated/resources/data/tfmg/recipe/constantan_ladder_from_ingots_constantan_stonecutting.json new file mode 100644 index 00000000..730eda9b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/constantan_ladder_from_ingots_constantan_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/constantan" + }, + "result": { + "count": 2, + "id": "tfmg:constantan_ladder" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/constantan_wire_from_ingots_constantan_stonecutting.json b/src/generated/resources/data/tfmg/recipe/constantan_wire_from_ingots_constantan_stonecutting.json new file mode 100644 index 00000000..2c99109d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/constantan_wire_from_ingots_constantan_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/constantan" + }, + "result": { + "count": 2, + "id": "tfmg:constantan_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/copper_electrode_from_storage_blocks_copper_stonecutting.json b/src/generated/resources/data/tfmg/recipe/copper_electrode_from_storage_blocks_copper_stonecutting.json new file mode 100644 index 00000000..a7abe6a9 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/copper_electrode_from_storage_blocks_copper_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:storage_blocks/copper" + }, + "result": { + "count": 1, + "id": "tfmg:copper_electrode" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/copper_wire_from_ingots_copper_stonecutting.json b/src/generated/resources/data/tfmg/recipe/copper_wire_from_ingots_copper_stonecutting.json new file mode 100644 index 00000000..99c430fd --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/copper_wire_from_ingots_copper_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/copper" + }, + "result": { + "count": 2, + "id": "tfmg:copper_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/accumulator.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/accumulator.json new file mode 100644 index 00000000..219ab2c7 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/accumulator.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "tag": "c:storage_blocks/lead" + }, + "C": { + "item": "tfmg:industrial_aluminum_casing" + }, + "L": { + "tag": "c:plates/lead" + }, + "S": { + "item": "tfmg:sulfuric_acid_bucket" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "LWL", + "SBS", + "LCL" + ], + "result": { + "count": 1, + "id": "tfmg:accumulator" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/accumulatorfrom_lithium.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/accumulatorfrom_lithium.json new file mode 100644 index 00000000..bae723da --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/accumulatorfrom_lithium.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "tag": "c:storage_blocks/lithium" + }, + "C": { + "item": "tfmg:industrial_aluminum_casing" + }, + "L": { + "tag": "c:ingots/lithium" + }, + "S": { + "tag": "c:plates/nickel" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "LWL", + "SBS", + "LCL" + ], + "result": { + "count": 1, + "id": "tfmg:accumulator" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/air_intake.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/air_intake.json new file mode 100644 index 00000000..d17886fd --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/air_intake.json @@ -0,0 +1,33 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "create:andesite_bars" + }, + "C": { + "item": "create:industrial_iron_block" + }, + "G": { + "item": "create:cogwheel" + }, + "P": { + "item": "create:propeller" + }, + "S": { + "item": "create:shaft" + }, + "T": { + "item": "tfmg:cast_iron_pipe" + } + }, + "pattern": [ + "SPT", + "GCG", + " B " + ], + "result": { + "count": 3, + "id": "tfmg:air_intake" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_axe.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_axe.json new file mode 100644 index 00000000..679f6947 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_axe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/aluminum" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + " CC", + " SC", + " S " + ], + "result": { + "count": 1, + "id": "tfmg:aluminum_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_block_from_compacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_block_from_compacting.json new file mode 100644 index 00000000..a45bfcf5 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_block_from_compacting.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "tag": "c:ingots/aluminum" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "tfmg:aluminum_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_cable_hub.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_cable_hub.json new file mode 100644 index 00000000..963947a8 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_cable_hub.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "M": { + "tag": "c:ingots/aluminum" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "WWW", + "MMM", + "WWW" + ], + "result": { + "count": 2, + "id": "tfmg:aluminum_cable_hub" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_cogwheel.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_cogwheel.json new file mode 100644 index 00000000..5e52a7d8 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_cogwheel.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:ingots/aluminum" + }, + { + "item": "create:shaft" + } + ], + "result": { + "count": 4, + "id": "tfmg:aluminum_cogwheel" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_door.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_door.json new file mode 100644 index 00000000..77caa48e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_door.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "tag": "c:ingots/aluminum" + } + }, + "pattern": [ + "II ", + "II ", + "II " + ], + "result": { + "count": 3, + "id": "tfmg:aluminum_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_fluid_tank.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_fluid_tank.json new file mode 100644 index 00000000..b389e164 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_fluid_tank.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "minecraft:barrel" + }, + "P": { + "tag": "c:plates/aluminum" + } + }, + "pattern": [ + " P ", + " B ", + " P " + ], + "result": { + "count": 1, + "id": "tfmg:aluminum_fluid_tank" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_flywheel.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_flywheel.json new file mode 100644 index 00000000..03ee4439 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_flywheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/aluminum" + }, + "S": { + "item": "create:shaft" + } + }, + "pattern": [ + "CCC", + "CSC", + "CCC" + ], + "result": { + "count": 1, + "id": "tfmg:aluminum_flywheel" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_frame.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_frame.json new file mode 100644 index 00000000..7034745c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_frame.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:nuggets/aluminum" + } + }, + "pattern": [ + "NNN", + "N N", + "NNN" + ], + "result": { + "count": 4, + "id": "tfmg:aluminum_frame" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_hoe.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_hoe.json new file mode 100644 index 00000000..cf2cdfd4 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_hoe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/aluminum" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "CC ", + "S ", + "S " + ], + "result": { + "count": 1, + "id": "tfmg:aluminum_hoe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_ingot_from_compacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_ingot_from_compacting.json new file mode 100644 index 00000000..05c732f1 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_ingot_from_compacting.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "tag": "c:nuggets/aluminum" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "tfmg:aluminum_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_ingot_from_decompacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_ingot_from_decompacting.json new file mode 100644 index 00000000..0d3d677a --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_ingot_from_decompacting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:storage_blocks/aluminum" + } + ], + "result": { + "count": 9, + "id": "tfmg:aluminum_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_lamp.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_lamp.json new file mode 100644 index 00000000..73f2f311 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_lamp.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:light_bulb" + }, + "P": { + "item": "create:framed_glass_pane" + }, + "S": { + "tag": "c:plates/aluminum" + } + }, + "pattern": [ + " P ", + " B ", + " S " + ], + "result": { + "count": 1, + "id": "tfmg:aluminum_lamp" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_nugget_from_decompacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_nugget_from_decompacting.json new file mode 100644 index 00000000..eede7cb3 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_nugget_from_decompacting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:ingots/aluminum" + } + ], + "result": { + "count": 9, + "id": "tfmg:aluminum_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_pickaxe.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_pickaxe.json new file mode 100644 index 00000000..76db4cee --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_pickaxe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/aluminum" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "CCC", + " S ", + " S " + ], + "result": { + "count": 1, + "id": "tfmg:aluminum_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_shovel.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_shovel.json new file mode 100644 index 00000000..33599cbe --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_shovel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/aluminum" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "C ", + "S ", + "S " + ], + "result": { + "count": 1, + "id": "tfmg:aluminum_shovel" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_spool.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_spool.json new file mode 100644 index 00000000..7f68be80 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_spool.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "S": { + "item": "tfmg:empty_spool" + }, + "W": { + "tag": "c:wires/aluminum" + } + }, + "pattern": [ + "WWW", + "WSW", + "WWW" + ], + "result": { + "count": 1, + "id": "tfmg:aluminum_spool" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_sword.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_sword.json new file mode 100644 index 00000000..78dec110 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_sword.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/aluminum" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "C ", + "C ", + "S " + ], + "result": { + "count": 1, + "id": "tfmg:aluminum_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_truss.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_truss.json new file mode 100644 index 00000000..1ae0bb35 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_truss.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:nuggets/aluminum" + } + }, + "pattern": [ + "N N", + "NNN", + "N N" + ], + "result": { + "count": 4, + "id": "tfmg:aluminum_truss" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/black_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/black_concrete.json new file mode 100644 index 00000000..9b56dbad --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/black_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:concrete" + }, + "D": { + "item": "minecraft:black_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:black_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/black_multimeter.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/black_multimeter.json new file mode 100644 index 00000000..8f5ec0c5 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/black_multimeter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:multimeter" + }, + { + "item": "minecraft:black_dye" + } + ], + "result": { + "count": 1, + "id": "tfmg:black_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/black_rebar_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/black_rebar_concrete.json new file mode 100644 index 00000000..46d755f3 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/black_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:rebar_concrete" + }, + "D": { + "item": "minecraft:black_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:black_rebar_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/blast_furnace_hatch.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/blast_furnace_hatch.json new file mode 100644 index 00000000..218d9883 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/blast_furnace_hatch.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "F": { + "item": "tfmg:fireproof_bricks" + }, + "I": { + "tag": "c:plates/cast_iron" + }, + "P": { + "item": "tfmg:cast_iron_pipe" + }, + "T": { + "item": "tfmg:cast_iron_fluid_tank" + } + }, + "pattern": [ + "FIF", + "PTP", + "FIF" + ], + "result": { + "count": 1, + "id": "tfmg:blast_furnace_hatch" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/blast_furnace_output.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/blast_furnace_output.json new file mode 100644 index 00000000..b1c3de00 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/blast_furnace_output.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:fireproof_bricks" + }, + "C": { + "item": "tfmg:cast_iron_pipe" + }, + "Q": { + "tag": "c:storage_blocks/cast_iron" + } + }, + "pattern": [ + "BCB", + "CQC", + "BCB" + ], + "result": { + "count": 1, + "id": "tfmg:blast_furnace_output" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/blast_furnace_reinforcement.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/blast_furnace_reinforcement.json new file mode 100644 index 00000000..fd25e339 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/blast_furnace_reinforcement.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:fireproof_bricks" + }, + "I": { + "tag": "c:ingots/steel" + }, + "O": { + "item": "tfmg:heavy_plate" + } + }, + "pattern": [ + "IOB", + "IOB", + "IOB" + ], + "result": { + "count": 4, + "id": "tfmg:blast_furnace_reinforcement" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/blast_stove.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/blast_stove.json new file mode 100644 index 00000000..65413dfa --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/blast_stove.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:cast_iron_pipe" + }, + "F": { + "item": "tfmg:fireproof_bricks" + }, + "T": { + "item": "tfmg:cast_iron_fluid_tank" + } + }, + "pattern": [ + "CC ", + "TT ", + "FF " + ], + "result": { + "count": 2, + "id": "tfmg:blast_stove" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/blue_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/blue_concrete.json new file mode 100644 index 00000000..f93cdfc2 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/blue_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:concrete" + }, + "D": { + "item": "minecraft:blue_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/blue_multimeter.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/blue_multimeter.json new file mode 100644 index 00000000..f7169e63 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/blue_multimeter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:multimeter" + }, + { + "item": "minecraft:blue_dye" + } + ], + "result": { + "count": 1, + "id": "tfmg:blue_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/blue_rebar_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/blue_rebar_concrete.json new file mode 100644 index 00000000..b51c2cde --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/blue_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:rebar_concrete" + }, + "D": { + "item": "minecraft:blue_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:blue_rebar_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_cable_hub.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_cable_hub.json new file mode 100644 index 00000000..6a5d07da --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_cable_hub.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "M": { + "tag": "c:ingots/brass" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "WWW", + "MMM", + "WWW" + ], + "result": { + "count": 2, + "id": "tfmg:brass_cable_hub" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_frame.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_frame.json new file mode 100644 index 00000000..752aec11 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_frame.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:nuggets/brass" + } + }, + "pattern": [ + "NNN", + "N N", + "NNN" + ], + "result": { + "count": 4, + "id": "tfmg:brass_frame" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_truss.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_truss.json new file mode 100644 index 00000000..7a780f4b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_truss.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:nuggets/brass" + } + }, + "pattern": [ + "N N", + "NNN", + "N N" + ], + "result": { + "count": 4, + "id": "tfmg:brass_truss" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/brick_smokestack.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/brick_smokestack.json new file mode 100644 index 00000000..cd03479e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/brick_smokestack.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "minecraft:bricks" + }, + "P": { + "item": "tfmg:industrial_pipe" + } + }, + "pattern": [ + "BPB", + "BPB", + "BPB" + ], + "result": { + "count": 4, + "id": "tfmg:brick_smokestack" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/brown_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/brown_concrete.json new file mode 100644 index 00000000..00229134 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/brown_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:concrete" + }, + "D": { + "item": "minecraft:brown_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:brown_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/brown_multimeter.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/brown_multimeter.json new file mode 100644 index 00000000..a17343ff --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/brown_multimeter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:multimeter" + }, + { + "item": "minecraft:brown_dye" + } + ], + "result": { + "count": 1, + "id": "tfmg:brown_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/brown_rebar_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/brown_rebar_concrete.json new file mode 100644 index 00000000..e941a918 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/brown_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:rebar_concrete" + }, + "D": { + "item": "minecraft:brown_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:brown_rebar_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/cable_connector.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/cable_connector.json new file mode 100644 index 00000000..fb25ed69 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/cable_connector.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:unfinished_insulator" + }, + "N": { + "item": "minecraft:copper_ingot" + }, + "O": { + "tag": "c:nuggets/steel" + } + }, + "pattern": [ + "OOO", + " C ", + " N " + ], + "result": { + "count": 1, + "id": "tfmg:cable_connector" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/cable_tube.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/cable_tube.json new file mode 100644 index 00000000..f74e1887 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/cable_tube.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:wires/copper" + }, + "N": { + "tag": "c:nuggets/steel" + }, + "R": { + "item": "tfmg:rubber_sheet" + } + }, + "pattern": [ + " N ", + "CRC", + " N " + ], + "result": { + "count": 8, + "id": "tfmg:cable_tube" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_block_from_compacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_block_from_compacting.json new file mode 100644 index 00000000..5f334748 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_block_from_compacting.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "tag": "c:ingots/cast_iron" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "tfmg:cast_iron_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_chemical_vat.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_chemical_vat.json new file mode 100644 index 00000000..7644e9f8 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_chemical_vat.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:plates/lead" + }, + "P": { + "tag": "c:plates/cast_iron" + }, + "T": { + "item": "tfmg:cast_iron_fluid_tank" + } + }, + "pattern": [ + "PPP", + "NTN", + "PPP" + ], + "result": { + "count": 1, + "id": "tfmg:cast_iron_chemical_vat" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_fluid_tank.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_fluid_tank.json new file mode 100644 index 00000000..f01cccb1 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_fluid_tank.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "minecraft:barrel" + }, + "P": { + "tag": "c:plates/cast_iron" + } + }, + "pattern": [ + " P ", + " B ", + " P " + ], + "result": { + "count": 1, + "id": "tfmg:cast_iron_fluid_tank" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_flywheel.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_flywheel.json new file mode 100644 index 00000000..ac504409 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_flywheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/cast_iron" + }, + "S": { + "item": "create:shaft" + } + }, + "pattern": [ + "CCC", + "CSC", + "CCC" + ], + "result": { + "count": 1, + "id": "tfmg:cast_iron_flywheel" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_frame.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_frame.json new file mode 100644 index 00000000..c78ced43 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_frame.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:nuggets/cast_iron" + } + }, + "pattern": [ + "NNN", + "N N", + "NNN" + ], + "result": { + "count": 4, + "id": "tfmg:cast_iron_frame" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_ingot_from_compacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_ingot_from_compacting.json new file mode 100644 index 00000000..00bf59e4 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_ingot_from_compacting.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "tag": "c:nuggets/cast_iron" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "tfmg:cast_iron_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_ingot_from_decompacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_ingot_from_decompacting.json new file mode 100644 index 00000000..9104481f --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_ingot_from_decompacting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:storage_blocks/cast_iron" + } + ], + "result": { + "count": 9, + "id": "tfmg:cast_iron_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_nugget_from_decompacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_nugget_from_decompacting.json new file mode 100644 index 00000000..2856824d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_nugget_from_decompacting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:ingots/cast_iron" + } + ], + "result": { + "count": 9, + "id": "tfmg:cast_iron_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_truss.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_truss.json new file mode 100644 index 00000000..aa5831e4 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_truss.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:nuggets/cast_iron" + } + }, + "pattern": [ + "N N", + "NNN", + "N N" + ], + "result": { + "count": 4, + "id": "tfmg:cast_iron_truss" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/casting_basin.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/casting_basin.json new file mode 100644 index 00000000..f0cd6cf4 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/casting_basin.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:fireproof_brick" + }, + "C": { + "tag": "c:ingots/cast_iron" + }, + "P": { + "item": "tfmg:cast_iron_pipe" + } + }, + "pattern": [ + "BPB", + "CBC", + "CCC" + ], + "result": { + "count": 1, + "id": "tfmg:casting_basin" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/centrifuge.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/centrifuge.json new file mode 100644 index 00000000..62b6fced --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/centrifuge.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "tag": "c:ingots/aluminum" + }, + "B": { + "item": "tfmg:aluminum_bars" + } + }, + "pattern": [ + "BAB", + "BAB", + "BAB" + ], + "result": { + "count": 1, + "id": "tfmg:centrifuge" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/cinder_block.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/cinder_block.json new file mode 100644 index 00000000..82d213cb --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/cinder_block.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:cinderblock" + }, + "C": { + "item": "tfmg:liquid_concrete_bucket" + }, + "R": { + "item": "tfmg:rebar" + } + }, + "pattern": [ + "BBB", + "RCR", + "BBB" + ], + "result": { + "count": 8, + "id": "tfmg:cinder_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/cinderflour_block.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/cinderflour_block.json new file mode 100644 index 00000000..b69cf2f0 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/cinderflour_block.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:cinderflourblock" + }, + "C": { + "item": "minecraft:nether_wart_block" + }, + "R": { + "item": "tfmg:rebar" + } + }, + "pattern": [ + "BBB", + "RCR", + "BBB" + ], + "result": { + "count": 8, + "id": "tfmg:cinderflour_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/circular_light.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/circular_light.json new file mode 100644 index 00000000..ccce5333 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/circular_light.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:light_bulb" + }, + "P": { + "item": "create:framed_glass" + }, + "S": { + "tag": "c:nuggets/steel" + } + }, + "pattern": [ + "P", + "B", + "S" + ], + "result": { + "count": 1, + "id": "tfmg:circular_light" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/coal_coke.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/coal_coke.json new file mode 100644 index 00000000..b9b22caa --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/coal_coke.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:coal_coke_block" + } + ], + "result": { + "count": 9, + "id": "tfmg:coal_coke" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/coal_coke_block.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/coal_coke_block.json new file mode 100644 index 00000000..426e706b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/coal_coke_block.json @@ -0,0 +1,37 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:coal_coke" + }, + { + "item": "tfmg:coal_coke" + }, + { + "item": "tfmg:coal_coke" + }, + { + "item": "tfmg:coal_coke" + }, + { + "item": "tfmg:coal_coke" + }, + { + "item": "tfmg:coal_coke" + }, + { + "item": "tfmg:coal_coke" + }, + { + "item": "tfmg:coal_coke" + }, + { + "item": "tfmg:coal_coke" + } + ], + "result": { + "count": 1, + "id": "tfmg:coal_coke_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/coke_oven.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/coke_oven.json new file mode 100644 index 00000000..ce23e28b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/coke_oven.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/cast_iron" + }, + "I": { + "item": "create:industrial_iron_block" + } + }, + "pattern": [ + " C ", + "CIC", + " C " + ], + "result": { + "count": 2, + "id": "tfmg:coke_oven" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/concrete_hose.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/concrete_hose.json new file mode 100644 index 00000000..b6eb943c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/concrete_hose.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:heavy_machinery_casing" + }, + "K": { + "item": "minecraft:dried_kelp_block" + }, + "N": { + "tag": "c:plates/nickel" + }, + "P": { + "item": "tfmg:steel_pipe" + }, + "S": { + "item": "create:shaft" + } + }, + "pattern": [ + " C ", + "SKP", + " N " + ], + "result": { + "count": 1, + "id": "tfmg:concrete_hose" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/concrete_smokestack.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/concrete_smokestack.json new file mode 100644 index 00000000..278b2bb1 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/concrete_smokestack.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:concrete" + }, + "P": { + "item": "tfmg:industrial_pipe" + } + }, + "pattern": [ + "BPB", + "BPB", + "BPB" + ], + "result": { + "count": 4, + "id": "tfmg:concrete_smokestack" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/constantan_block_from_compacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/constantan_block_from_compacting.json new file mode 100644 index 00000000..7ccbbe84 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/constantan_block_from_compacting.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "tag": "c:ingots/constantan" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "tfmg:constantan_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/constantan_frame.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/constantan_frame.json new file mode 100644 index 00000000..1a756d90 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/constantan_frame.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:nuggets/constantan" + } + }, + "pattern": [ + "NNN", + "N N", + "NNN" + ], + "result": { + "count": 4, + "id": "tfmg:constantan_frame" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/constantan_ingot_from_compacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/constantan_ingot_from_compacting.json new file mode 100644 index 00000000..b1d79634 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/constantan_ingot_from_compacting.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "tag": "c:nuggets/constantan" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "tfmg:constantan_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/constantan_ingot_from_decompacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/constantan_ingot_from_decompacting.json new file mode 100644 index 00000000..73392234 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/constantan_ingot_from_decompacting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:storage_blocks/constantan" + } + ], + "result": { + "count": 9, + "id": "tfmg:constantan_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/constantan_nugget_from_decompacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/constantan_nugget_from_decompacting.json new file mode 100644 index 00000000..8b893a90 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/constantan_nugget_from_decompacting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:ingots/constantan" + } + ], + "result": { + "count": 9, + "id": "tfmg:constantan_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/constantan_spool.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/constantan_spool.json new file mode 100644 index 00000000..43d6bc4e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/constantan_spool.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "S": { + "item": "tfmg:empty_spool" + }, + "W": { + "tag": "c:wires/constantan" + } + }, + "pattern": [ + "WWW", + "WSW", + "WWW" + ], + "result": { + "count": 1, + "id": "tfmg:constantan_spool" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/constantan_truss.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/constantan_truss.json new file mode 100644 index 00000000..4382514e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/constantan_truss.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:nuggets/constantan" + } + }, + "pattern": [ + "N N", + "NNN", + "N N" + ], + "result": { + "count": 4, + "id": "tfmg:constantan_truss" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/converter.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/converter.json new file mode 100644 index 00000000..79083c9d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/converter.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "L": { + "tag": "c:plates/lead" + }, + "R": { + "tag": "c:dusts/redstone" + }, + "T": { + "item": "tfmg:transformer" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "WLR", + "WTR", + "WLR" + ], + "result": { + "count": 1, + "id": "tfmg:converter" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/cooling_fluid_bottle.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/cooling_fluid_bottle.json new file mode 100644 index 00000000..7479bdf9 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/cooling_fluid_bottle.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "minecraft:light_blue_dye" + }, + "P": { + "item": "tfmg:plastic_sheet" + } + }, + "pattern": [ + " P ", + "PBP", + "PPP" + ], + "result": { + "count": 1, + "id": "tfmg:cooling_fluid_bottle" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/copper_cable_hub.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/copper_cable_hub.json new file mode 100644 index 00000000..b6b1ea8c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/copper_cable_hub.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "M": { + "item": "minecraft:copper_ingot" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "WWW", + "MMM", + "WWW" + ], + "result": { + "count": 2, + "id": "tfmg:copper_cable_hub" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/copper_frame.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/copper_frame.json new file mode 100644 index 00000000..5cb601d1 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/copper_frame.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:nuggets/copper" + } + }, + "pattern": [ + "NNN", + "N N", + "NNN" + ], + "result": { + "count": 4, + "id": "tfmg:copper_frame" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/copper_grenade.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/copper_grenade.json new file mode 100644 index 00000000..7c3e2b84 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/copper_grenade.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "item": "tfmg:thermite_grenade" + }, + "T": { + "item": "minecraft:copper_ingot" + } + }, + "pattern": [ + " ", + "TAT", + " " + ], + "result": { + "count": 1, + "id": "tfmg:copper_grenade" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/copper_spool.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/copper_spool.json new file mode 100644 index 00000000..f5ec0dc5 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/copper_spool.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "S": { + "item": "tfmg:empty_spool" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "WWW", + "WSW", + "WWW" + ], + "result": { + "count": 1, + "id": "tfmg:copper_spool" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/copper_truss.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/copper_truss.json new file mode 100644 index 00000000..a0681778 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/copper_truss.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:nuggets/copper" + } + }, + "pattern": [ + "N N", + "NNN", + "N N" + ], + "result": { + "count": 4, + "id": "tfmg:copper_truss" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/copycat_cable_block.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/copycat_cable_block.json new file mode 100644 index 00000000..fa4dd18c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/copycat_cable_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "item": "tfmg:nickel_truss" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "NWN", + "WNW", + "NWN" + ], + "result": { + "count": 4, + "id": "tfmg:copycat_cable_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/crankshaft.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/crankshaft.json new file mode 100644 index 00000000..ba551c66 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/crankshaft.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "item": "tfmg:rebar" + }, + "B": { + "tag": "c:plates/aluminum" + } + }, + "pattern": [ + "ABA", + "BAB", + " " + ], + "result": { + "count": 1, + "id": "tfmg:crankshaft" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/cyan_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/cyan_concrete.json new file mode 100644 index 00000000..ec24e08b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/cyan_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:concrete" + }, + "D": { + "item": "minecraft:cyan_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:cyan_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/cyan_multimeter.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/cyan_multimeter.json new file mode 100644 index 00000000..aa27466b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/cyan_multimeter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:multimeter" + }, + { + "item": "minecraft:cyan_dye" + } + ], + "result": { + "count": 1, + "id": "tfmg:cyan_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/cyan_rebar_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/cyan_rebar_concrete.json new file mode 100644 index 00000000..5b015f99 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/cyan_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:rebar_concrete" + }, + "D": { + "item": "minecraft:cyan_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:cyan_rebar_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/diagonal_cable_block.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/diagonal_cable_block.json new file mode 100644 index 00000000..b0ac9962 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/diagonal_cable_block.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:wires/copper" + }, + "N": { + "tag": "c:nuggets/steel" + }, + "R": { + "item": "tfmg:rubber_sheet" + } + }, + "pattern": [ + " C ", + "CRN", + " N " + ], + "result": { + "count": 8, + "id": "tfmg:diagonal_cable_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/electric_diode.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/electric_diode.json new file mode 100644 index 00000000..461518ac --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/electric_diode.json @@ -0,0 +1,33 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "tag": "c:plates/cast_iron" + }, + "I": { + "item": "create:industrial_iron_block" + }, + "N": { + "item": "tfmg:n_semiconductor" + }, + "P": { + "item": "tfmg:heavy_machinery_casing" + }, + "S": { + "item": "tfmg:p_semiconductor" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "WBW", + "SPN", + "WIW" + ], + "result": { + "count": 1, + "id": "tfmg:electric_diode" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/electric_post.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/electric_post.json new file mode 100644 index 00000000..7a8b5a5e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/electric_post.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:wires/copper" + }, + "N": { + "tag": "c:nuggets/steel" + }, + "R": { + "tag": "c:ingots/steel" + } + }, + "pattern": [ + " N ", + "CRC", + " N " + ], + "result": { + "count": 4, + "id": "tfmg:electric_post" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/electric_pump.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/electric_pump.json new file mode 100644 index 00000000..f0fd4ed4 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/electric_pump.json @@ -0,0 +1,33 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:circuit_board" + }, + "K": { + "item": "tfmg:electromagnetic_coil" + }, + "M": { + "item": "tfmg:magnet" + }, + "P": { + "item": "tfmg:steel_mechanical_pump" + }, + "Q": { + "item": "tfmg:capacitor_item" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "MQK", + "CPW", + "MQK" + ], + "result": { + "count": 1, + "id": "tfmg:electric_pump" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/electrical_switch.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/electrical_switch.json new file mode 100644 index 00000000..d1c3d021 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/electrical_switch.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:heavy_machinery_casing" + }, + "L": { + "tag": "c:plates/lead" + }, + "P": { + "item": "tfmg:electric_post" + }, + "R": { + "tag": "c:dusts/redstone" + } + }, + "pattern": [ + "RPR", + "LCL", + "RPR" + ], + "result": { + "count": 1, + "id": "tfmg:electrical_switch" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/electricians_wrench.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/electricians_wrench.json new file mode 100644 index 00000000..05db5a8d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/electricians_wrench.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "tag": "c:plates/aluminum" + }, + "C": { + "item": "tfmg:steel_cogwheel" + }, + "O": { + "tag": "c:plates/steel" + }, + "R": { + "item": "tfmg:rebar" + } + }, + "pattern": [ + "OA ", + "OCA", + " R " + ], + "result": { + "count": 1, + "id": "tfmg:electricians_wrench" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/electrode_holder.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/electrode_holder.json new file mode 100644 index 00000000..8b1cf94a --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/electrode_holder.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:heavy_machinery_casing" + }, + "L": { + "tag": "c:plates/lead" + }, + "S": { + "tag": "c:ingots/steel" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "SLS", + "WCW", + "SLS" + ], + "result": { + "count": 1, + "id": "tfmg:electrode_holder" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/empty_circuit_board.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/empty_circuit_board.json new file mode 100644 index 00000000..18901b4f --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/empty_circuit_board.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "G": { + "item": "minecraft:green_dye" + }, + "P": { + "item": "tfmg:plastic_sheet" + } + }, + "pattern": [ + " ", + " G ", + "PPP" + ], + "result": { + "count": 1, + "id": "tfmg:empty_circuit_board" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/engine_gearbox.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/engine_gearbox.json new file mode 100644 index 00000000..0175bec9 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/engine_gearbox.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:steel_casing" + }, + "K": { + "item": "tfmg:screw" + }, + "M": { + "item": "tfmg:steel_mechanism" + }, + "S": { + "item": "create:shaft" + } + }, + "pattern": [ + "KMK", + "SCS", + "KSK" + ], + "result": { + "count": 1, + "id": "tfmg:engine_gearbox" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/exhaust.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/exhaust.json new file mode 100644 index 00000000..1938fe84 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/exhaust.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "minecraft:iron_bars" + }, + "C": { + "tag": "c:ingots/cast_iron" + }, + "P": { + "item": "tfmg:cast_iron_pipe" + } + }, + "pattern": [ + "BPB", + "BPB", + "CPC" + ], + "result": { + "count": 1, + "id": "tfmg:exhaust" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/firebox.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/firebox.json new file mode 100644 index 00000000..bade52d5 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/firebox.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:fireproof_bricks" + }, + "P": { + "item": "tfmg:brass_pipe" + }, + "T": { + "item": "tfmg:steel_fluid_tank" + } + }, + "pattern": [ + "BTB", + "PPP", + "BPB" + ], + "result": { + "count": 1, + "id": "tfmg:firebox" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/fireclay.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/fireclay.json new file mode 100644 index 00000000..beb5a942 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/fireclay.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:fireclay_ball" + } + }, + "pattern": [ + "BB ", + "BB ", + " " + ], + "result": { + "count": 1, + "id": "tfmg:fireclay" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/fireproof_brick_reinforcement.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/fireproof_brick_reinforcement.json new file mode 100644 index 00000000..a8c08581 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/fireproof_brick_reinforcement.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "W": { + "item": "tfmg:fireproof_bricks" + } + }, + "pattern": [ + " ", + "WWW", + "WWW" + ], + "result": { + "count": 6, + "id": "tfmg:fireproof_brick_reinforcement" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/fireproof_bricks.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/fireproof_bricks.json new file mode 100644 index 00000000..d7c2727e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/fireproof_bricks.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:fireproof_brick" + } + }, + "pattern": [ + "BB ", + "BB ", + " " + ], + "result": { + "count": 1, + "id": "tfmg:fireproof_bricks" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/fireproof_chemical_vat.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/fireproof_chemical_vat.json new file mode 100644 index 00000000..1944cddc --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/fireproof_chemical_vat.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "H": { + "item": "tfmg:heavy_machinery_casing" + }, + "N": { + "item": "tfmg:circuit_board" + }, + "P": { + "item": "tfmg:fireproof_bricks" + }, + "R": { + "item": "tfmg:rubber_sheet" + }, + "T": { + "item": "tfmg:steel_chemical_vat" + } + }, + "pattern": [ + "PRP", + "NTN", + "PHP" + ], + "result": { + "count": 1, + "id": "tfmg:fireproof_chemical_vat" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/flarestack.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/flarestack.json new file mode 100644 index 00000000..bacf5be7 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/flarestack.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "minecraft:iron_bars" + }, + "C": { + "tag": "c:ingots/steel" + }, + "P": { + "item": "tfmg:cast_iron_pipe" + }, + "S": { + "item": "minecraft:flint_and_steel" + } + }, + "pattern": [ + "SPS", + "BPB", + "CPC" + ], + "result": { + "count": 1, + "id": "tfmg:flarestack" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/glass_cable_insulator.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/glass_cable_insulator.json new file mode 100644 index 00000000..c9de23bc --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/glass_cable_insulator.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:nuggets/copper" + }, + "I": { + "item": "tfmg:glass_insulator_segment" + }, + "O": { + "tag": "c:nuggets/steel" + } + }, + "pattern": [ + "CIC", + "OIO", + "CIC" + ], + "result": { + "count": 1, + "id": "tfmg:glass_cable_insulator" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/glass_insulator_segment.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/glass_insulator_segment.json new file mode 100644 index 00000000..95921b39 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/glass_insulator_segment.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:nuggets/copper" + }, + "G": { + "item": "minecraft:green_stained_glass_pane" + }, + "O": { + "tag": "c:nuggets/steel" + } + }, + "pattern": [ + " O ", + "GGG", + " C " + ], + "result": { + "count": 1, + "id": "tfmg:glass_insulator_segment" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/gray_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/gray_concrete.json new file mode 100644 index 00000000..65e2832a --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/gray_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:concrete" + }, + "D": { + "item": "minecraft:gray_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/gray_multimeter.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/gray_multimeter.json new file mode 100644 index 00000000..493087e2 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/gray_multimeter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:multimeter" + }, + { + "item": "minecraft:gray_dye" + } + ], + "result": { + "count": 1, + "id": "tfmg:gray_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/gray_rebar_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/gray_rebar_concrete.json new file mode 100644 index 00000000..090fd11f --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/gray_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:rebar_concrete" + }, + "D": { + "item": "minecraft:gray_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:gray_rebar_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/green_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/green_concrete.json new file mode 100644 index 00000000..af9b7268 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/green_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:concrete" + }, + "D": { + "item": "minecraft:green_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:green_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/green_multimeter.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/green_multimeter.json new file mode 100644 index 00000000..2c9db31a --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/green_multimeter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:multimeter" + }, + { + "item": "minecraft:green_dye" + } + ], + "result": { + "count": 1, + "id": "tfmg:green_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/green_rebar_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/green_rebar_concrete.json new file mode 100644 index 00000000..b90f8200 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/green_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:rebar_concrete" + }, + "D": { + "item": "minecraft:green_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:green_rebar_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/heavy_cable_hub.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/heavy_cable_hub.json new file mode 100644 index 00000000..29b9ee2d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/heavy_cable_hub.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "M": { + "item": "tfmg:heavy_machinery_casing" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "WWW", + " M ", + "WWW" + ], + "result": { + "count": 2, + "id": "tfmg:heavy_cable_hub" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/heavy_casing_door.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/heavy_casing_door.json new file mode 100644 index 00000000..a9a67a9e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/heavy_casing_door.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:heavy_machinery_casing" + }, + { + "tag": "minecraft:wooden_doors" + } + ], + "result": { + "count": 1, + "id": "tfmg:heavy_casing_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/heavy_plated_door.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/heavy_plated_door.json new file mode 100644 index 00000000..74787f2b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/heavy_plated_door.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "tag": "c:ingots/steel" + } + }, + "pattern": [ + "II ", + "II ", + "II " + ], + "result": { + "count": 3, + "id": "tfmg:heavy_plated_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/industrial_mixer.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/industrial_mixer.json new file mode 100644 index 00000000..6aa53a1f --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/industrial_mixer.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:large_steel_cogwheel" + }, + "H": { + "item": "tfmg:heavy_machinery_casing" + }, + "K": { + "item": "tfmg:screw" + }, + "M": { + "item": "tfmg:steel_mechanism" + }, + "S": { + "item": "create:shaft" + } + }, + "pattern": [ + "KSK", + "MHM", + "KCK" + ], + "result": { + "count": 1, + "id": "tfmg:industrial_mixer" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/large_aluminum_cogwheel.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/large_aluminum_cogwheel.json new file mode 100644 index 00000000..4d86b432 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/large_aluminum_cogwheel.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:ingots/aluminum" + }, + { + "tag": "c:ingots/aluminum" + }, + { + "item": "create:shaft" + } + ], + "result": { + "count": 2, + "id": "tfmg:large_aluminum_cogwheel" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/large_pumpjack_hammer_connector.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/large_pumpjack_hammer_connector.json new file mode 100644 index 00000000..0d925d56 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/large_pumpjack_hammer_connector.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "H": { + "item": "tfmg:large_pumpjack_hammer_part" + }, + "R": { + "item": "tfmg:rebar" + } + }, + "pattern": [ + " ", + "RHR", + " " + ], + "result": { + "count": 1, + "id": "tfmg:large_pumpjack_hammer_connector" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/large_pumpjack_hammer_head.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/large_pumpjack_hammer_head.json new file mode 100644 index 00000000..88745017 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/large_pumpjack_hammer_head.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "tag": "c:storage_blocks/steel" + }, + "P": { + "tag": "c:plates/steel" + } + }, + "pattern": [ + "P", + "B", + " " + ], + "result": { + "count": 1, + "id": "tfmg:large_pumpjack_hammer_head" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/large_steel_cogwheel.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/large_steel_cogwheel.json new file mode 100644 index 00000000..1c73ed55 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/large_steel_cogwheel.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:steel_ingot" + }, + { + "item": "tfmg:steel_ingot" + }, + { + "item": "create:shaft" + } + ], + "result": { + "count": 2, + "id": "tfmg:large_steel_cogwheel" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_axe.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_axe.json new file mode 100644 index 00000000..e82ae599 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_axe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/lead" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + " CC", + " SC", + " S " + ], + "result": { + "count": 1, + "id": "tfmg:lead_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_block_from_compacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_block_from_compacting.json new file mode 100644 index 00000000..453fe819 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_block_from_compacting.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "tag": "c:ingots/lead" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "tfmg:lead_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_flywheel.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_flywheel.json new file mode 100644 index 00000000..63f99f72 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_flywheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/lead" + }, + "S": { + "item": "create:shaft" + } + }, + "pattern": [ + "CCC", + "CSC", + "CCC" + ], + "result": { + "count": 1, + "id": "tfmg:lead_flywheel" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_frame.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_frame.json new file mode 100644 index 00000000..5da100c1 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_frame.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:nuggets/lead" + } + }, + "pattern": [ + "NNN", + "N N", + "NNN" + ], + "result": { + "count": 4, + "id": "tfmg:lead_frame" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_hoe.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_hoe.json new file mode 100644 index 00000000..7c4961a1 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_hoe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/lead" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "CC ", + "S ", + "S " + ], + "result": { + "count": 1, + "id": "tfmg:lead_hoe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_ingot_from_compacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_ingot_from_compacting.json new file mode 100644 index 00000000..a0834c82 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_ingot_from_compacting.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "tag": "c:nuggets/lead" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "tfmg:lead_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_ingot_from_decompacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_ingot_from_decompacting.json new file mode 100644 index 00000000..dd2a4698 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_ingot_from_decompacting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:storage_blocks/lead" + } + ], + "result": { + "count": 9, + "id": "tfmg:lead_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_nugget_from_decompacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_nugget_from_decompacting.json new file mode 100644 index 00000000..dbb8fabf --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_nugget_from_decompacting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:ingots/lead" + } + ], + "result": { + "count": 9, + "id": "tfmg:lead_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_pickaxe.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_pickaxe.json new file mode 100644 index 00000000..b3cbb33b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_pickaxe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/lead" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "CCC", + " S ", + " S " + ], + "result": { + "count": 1, + "id": "tfmg:lead_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_shovel.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_shovel.json new file mode 100644 index 00000000..e36452fe --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_shovel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/lead" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "C ", + "S ", + "S " + ], + "result": { + "count": 1, + "id": "tfmg:lead_shovel" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_sword.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_sword.json new file mode 100644 index 00000000..a3f91086 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_sword.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/lead" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "C ", + "C ", + "S " + ], + "result": { + "count": 1, + "id": "tfmg:lead_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_truss.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_truss.json new file mode 100644 index 00000000..b14dfeb0 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/lead_truss.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:nuggets/lead" + } + }, + "pattern": [ + "N N", + "NNN", + "N N" + ], + "result": { + "count": 4, + "id": "tfmg:lead_truss" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/light_blue_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/light_blue_concrete.json new file mode 100644 index 00000000..50a4d28e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/light_blue_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:concrete" + }, + "D": { + "item": "minecraft:light_blue_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:light_blue_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/light_blue_multimeter.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/light_blue_multimeter.json new file mode 100644 index 00000000..d4893e1f --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/light_blue_multimeter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:multimeter" + }, + { + "item": "minecraft:light_blue_dye" + } + ], + "result": { + "count": 1, + "id": "tfmg:light_blue_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/light_blue_rebar_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/light_blue_rebar_concrete.json new file mode 100644 index 00000000..891e9e49 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/light_blue_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:rebar_concrete" + }, + "D": { + "item": "minecraft:light_blue_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:light_blue_rebar_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/light_bulb.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/light_bulb.json new file mode 100644 index 00000000..570b9a26 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/light_bulb.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:nuggets/copper" + }, + "G": { + "item": "create:framed_glass" + }, + "N": { + "tag": "c:nuggets/steel" + }, + "W": { + "item": "tfmg:constantan_wire" + } + }, + "pattern": [ + "CWC", + "CGC", + "NNN" + ], + "result": { + "count": 2, + "id": "tfmg:light_bulb" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/light_gray_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/light_gray_concrete.json new file mode 100644 index 00000000..2f858658 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/light_gray_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:concrete" + }, + "D": { + "item": "minecraft:light_gray_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:light_gray_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/light_gray_multimeter.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/light_gray_multimeter.json new file mode 100644 index 00000000..ac74d14f --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/light_gray_multimeter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:multimeter" + }, + { + "item": "minecraft:light_gray_dye" + } + ], + "result": { + "count": 1, + "id": "tfmg:light_gray_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/light_gray_rebar_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/light_gray_rebar_concrete.json new file mode 100644 index 00000000..b9d185dd --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/light_gray_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:rebar_concrete" + }, + "D": { + "item": "minecraft:light_gray_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:light_gray_rebar_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/lime_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/lime_concrete.json new file mode 100644 index 00000000..eb919cf1 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/lime_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:concrete" + }, + "D": { + "item": "minecraft:lime_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:lime_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/lime_multimeter.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/lime_multimeter.json new file mode 100644 index 00000000..014b1992 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/lime_multimeter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:multimeter" + }, + { + "item": "minecraft:lime_dye" + } + ], + "result": { + "count": 1, + "id": "tfmg:lime_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/lime_rebar_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/lime_rebar_concrete.json new file mode 100644 index 00000000..a0bf9c02 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/lime_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:rebar_concrete" + }, + "D": { + "item": "minecraft:lime_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:lime_rebar_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/lithium_blade.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/lithium_blade.json new file mode 100644 index 00000000..4cb1160b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/lithium_blade.json @@ -0,0 +1,33 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "tag": "c:plates/aluminum" + }, + "C": { + "item": "tfmg:circuit_board" + }, + "M": { + "item": "tfmg:steel_sword" + }, + "P": { + "item": "tfmg:heavy_plate" + }, + "S": { + "item": "tfmg:spark_plug" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + " P ", + "AMS", + "ACW" + ], + "result": { + "count": 1, + "id": "tfmg:lithium_blade" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/lithium_block_from_compacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/lithium_block_from_compacting.json new file mode 100644 index 00000000..2bd7ff4f --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/lithium_block_from_compacting.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "tag": "c:ingots/lithium" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "tfmg:lithium_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/lithium_charge.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/lithium_charge.json new file mode 100644 index 00000000..f96a13cc --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/lithium_charge.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "tag": "c:plates/aluminum" + }, + "L": { + "tag": "c:ingots/lithium" + }, + "P": { + "item": "tfmg:plastic_sheet" + } + }, + "pattern": [ + " P ", + "LLL", + " A " + ], + "result": { + "count": 1, + "id": "tfmg:lithium_charge" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/lithium_ingot_from_compacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/lithium_ingot_from_compacting.json new file mode 100644 index 00000000..41917b92 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/lithium_ingot_from_compacting.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "tag": "c:nuggets/lithium" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "tfmg:lithium_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/lithium_ingot_from_decompacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/lithium_ingot_from_decompacting.json new file mode 100644 index 00000000..81968bf7 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/lithium_ingot_from_decompacting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:storage_blocks/lithium" + } + ], + "result": { + "count": 9, + "id": "tfmg:lithium_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/lithium_nugget_from_decompacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/lithium_nugget_from_decompacting.json new file mode 100644 index 00000000..32896751 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/lithium_nugget_from_decompacting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:ingots/lithium" + } + ], + "result": { + "count": 9, + "id": "tfmg:lithium_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/lithium_torch.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/lithium_torch.json new file mode 100644 index 00000000..3665fa0b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/lithium_torch.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "tag": "c:ingots/aluminum" + }, + "L": { + "tag": "c:ingots/lithium" + } + }, + "pattern": [ + " L ", + " A ", + " " + ], + "result": { + "count": 4, + "id": "tfmg:lithium_torch" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/machine_input.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/machine_input.json new file mode 100644 index 00000000..1d6aa0ff --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/machine_input.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "H": { + "item": "tfmg:heavy_machinery_casing" + }, + "M": { + "item": "tfmg:steel_mechanism" + }, + "S": { + "item": "create:shaft" + } + }, + "pattern": [ + " S ", + " H ", + " M " + ], + "result": { + "count": 1, + "id": "tfmg:machine_input" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/magenta_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/magenta_concrete.json new file mode 100644 index 00000000..5142d223 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/magenta_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:concrete" + }, + "D": { + "item": "minecraft:magenta_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:magenta_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/magenta_multimeter.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/magenta_multimeter.json new file mode 100644 index 00000000..a75b4d89 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/magenta_multimeter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:multimeter" + }, + { + "item": "minecraft:magenta_dye" + } + ], + "result": { + "count": 1, + "id": "tfmg:magenta_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/magenta_rebar_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/magenta_rebar_concrete.json new file mode 100644 index 00000000..00b38b3c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/magenta_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:rebar_concrete" + }, + "D": { + "item": "minecraft:magenta_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:magenta_rebar_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/metal_smokestack.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/metal_smokestack.json new file mode 100644 index 00000000..df5c0a7e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/metal_smokestack.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "tag": "c:nuggets/steel" + }, + "P": { + "item": "tfmg:industrial_pipe" + } + }, + "pattern": [ + "BPB", + "BPB", + "BPB" + ], + "result": { + "count": 4, + "id": "tfmg:metal_smokestack" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/mixer_blade.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/mixer_blade.json new file mode 100644 index 00000000..a93f2da1 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/mixer_blade.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "H": { + "item": "tfmg:heavy_plate" + }, + "P": { + "item": "create:propeller" + }, + "S": { + "item": "create:shaft" + } + }, + "pattern": [ + " S ", + " S ", + "HPH" + ], + "result": { + "count": 1, + "id": "tfmg:mixer_blade" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/modern_light.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/modern_light.json new file mode 100644 index 00000000..b5a579e5 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/modern_light.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:light_bulb" + }, + "N": { + "tag": "c:nuggets/steel" + }, + "P": { + "item": "create:framed_glass_pane" + } + }, + "pattern": [ + " P ", + " B ", + "NNN" + ], + "result": { + "count": 1, + "id": "tfmg:modern_light" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/multimeter.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/multimeter.json new file mode 100644 index 00000000..8a368caa --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/multimeter.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "tag": "c:plates/brass" + }, + "G": { + "item": "tfmg:voltmeter" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "BGB", + "BWB", + "BWB" + ], + "result": { + "count": 1, + "id": "tfmg:multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/napalm_bomb.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/napalm_bomb.json new file mode 100644 index 00000000..4712cb3b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/napalm_bomb.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "item": "tfmg:napalm_bucket" + }, + "P": { + "item": "tfmg:plastic_sheet" + } + }, + "pattern": [ + "PPP", + "NNN", + "PPP" + ], + "result": { + "count": 1, + "id": "tfmg:napalm_bomb" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/neon_tube.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/neon_tube.json new file mode 100644 index 00000000..65f0e566 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/neon_tube.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:nuggets/copper" + }, + "N": { + "item": "tfmg:neon_bucket" + }, + "O": { + "tag": "c:nuggets/steel" + }, + "W": { + "item": "create:framed_glass" + } + }, + "pattern": [ + "OCO", + "NWN", + "OCO" + ], + "result": { + "count": 4, + "id": "tfmg:neon_tube" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/nickel_block_from_compacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/nickel_block_from_compacting.json new file mode 100644 index 00000000..cc92ab78 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/nickel_block_from_compacting.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "tag": "c:ingots/nickel" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "tfmg:nickel_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/nickel_flywheel.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/nickel_flywheel.json new file mode 100644 index 00000000..dd13c2d2 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/nickel_flywheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/nickel" + }, + "S": { + "item": "create:shaft" + } + }, + "pattern": [ + "CCC", + "CSC", + "CCC" + ], + "result": { + "count": 1, + "id": "tfmg:nickel_flywheel" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/nickel_frame.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/nickel_frame.json new file mode 100644 index 00000000..2906ecd9 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/nickel_frame.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:nuggets/nickel" + } + }, + "pattern": [ + "NNN", + "N N", + "NNN" + ], + "result": { + "count": 4, + "id": "tfmg:nickel_frame" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/nickel_ingot_from_compacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/nickel_ingot_from_compacting.json new file mode 100644 index 00000000..9a8ea11d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/nickel_ingot_from_compacting.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "tag": "c:nuggets/nickel" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "tfmg:nickel_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/nickel_ingot_from_decompacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/nickel_ingot_from_decompacting.json new file mode 100644 index 00000000..3a8ff82e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/nickel_ingot_from_decompacting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:storage_blocks/nickel" + } + ], + "result": { + "count": 9, + "id": "tfmg:nickel_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/nickel_nugget_from_decompacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/nickel_nugget_from_decompacting.json new file mode 100644 index 00000000..03ac075f --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/nickel_nugget_from_decompacting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:ingots/nickel" + } + ], + "result": { + "count": 9, + "id": "tfmg:nickel_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/nickel_truss.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/nickel_truss.json new file mode 100644 index 00000000..b5c48bf2 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/nickel_truss.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:nuggets/nickel" + } + }, + "pattern": [ + "N N", + "NNN", + "N N" + ], + "result": { + "count": 4, + "id": "tfmg:nickel_truss" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/oil_can.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/oil_can.json new file mode 100644 index 00000000..283d742d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/oil_can.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "tag": "c:plates/brass" + }, + "O": { + "tag": "c:nuggets/steel" + } + }, + "pattern": [ + " OO", + "BBB", + " BB" + ], + "result": { + "count": 1, + "id": "tfmg:oil_can" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/oil_hammer.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/oil_hammer.json new file mode 100644 index 00000000..45c217d2 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/oil_hammer.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "tag": "c:plates/aluminum" + }, + "O": { + "tag": "c:ingots/steel" + }, + "R": { + "item": "tfmg:rebar" + } + }, + "pattern": [ + "OOA", + " R ", + " R " + ], + "result": { + "count": 1, + "id": "tfmg:oil_hammer" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/orange_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/orange_concrete.json new file mode 100644 index 00000000..2c47ed17 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/orange_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:concrete" + }, + "D": { + "item": "minecraft:orange_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:orange_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/orange_multimeter.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/orange_multimeter.json new file mode 100644 index 00000000..682964d4 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/orange_multimeter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:multimeter" + }, + { + "item": "minecraft:orange_dye" + } + ], + "result": { + "count": 1, + "id": "tfmg:orange_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/orange_rebar_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/orange_rebar_concrete.json new file mode 100644 index 00000000..63d7aa7b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/orange_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:rebar_concrete" + }, + "D": { + "item": "minecraft:orange_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:orange_rebar_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/pink_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/pink_concrete.json new file mode 100644 index 00000000..61836e71 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/pink_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:concrete" + }, + "D": { + "item": "minecraft:pink_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:pink_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/pink_multimeter.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/pink_multimeter.json new file mode 100644 index 00000000..bc496a52 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/pink_multimeter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:multimeter" + }, + { + "item": "minecraft:pink_dye" + } + ], + "result": { + "count": 1, + "id": "tfmg:pink_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/pink_rebar_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/pink_rebar_concrete.json new file mode 100644 index 00000000..5130752b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/pink_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:rebar_concrete" + }, + "D": { + "item": "minecraft:pink_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:pink_rebar_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/pipe_bomb.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/pipe_bomb.json new file mode 100644 index 00000000..ed3519a2 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/pipe_bomb.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:steel_pipe" + }, + { + "item": "minecraft:tnt" + } + ], + "result": { + "count": 2, + "id": "tfmg:pipe_bomb" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_block.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_block.json new file mode 100644 index 00000000..bf2d38da --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_block.json @@ -0,0 +1,37 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:plastic_sheet" + }, + { + "item": "tfmg:plastic_sheet" + }, + { + "item": "tfmg:plastic_sheet" + }, + { + "item": "tfmg:plastic_sheet" + }, + { + "item": "tfmg:plastic_sheet" + }, + { + "item": "tfmg:plastic_sheet" + }, + { + "item": "tfmg:plastic_sheet" + }, + { + "item": "tfmg:plastic_sheet" + }, + { + "item": "tfmg:plastic_sheet" + } + ], + "result": { + "count": 1, + "id": "tfmg:plastic_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_sheet.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_sheet.json new file mode 100644 index 00000000..0c91ec4e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_sheet.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:plastic_block" + } + ], + "result": { + "count": 9, + "id": "tfmg:plastic_sheet" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/polarizer.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/polarizer.json new file mode 100644 index 00000000..2763d21f --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/polarizer.json @@ -0,0 +1,33 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "tag": "c:plates/brass" + }, + "C": { + "item": "tfmg:capacitor_item" + }, + "R": { + "item": "tfmg:resistor" + }, + "S": { + "item": "tfmg:steel_casing" + }, + "V": { + "item": "tfmg:voltmeter" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "BWB", + "CVC", + "RSR" + ], + "result": { + "count": 1, + "id": "tfmg:polarizer" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/pumpjack_base.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/pumpjack_base.json new file mode 100644 index 00000000..ba6d9141 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/pumpjack_base.json @@ -0,0 +1,33 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:heavy_machinery_casing" + }, + "M": { + "item": "tfmg:steel_mechanism" + }, + "O": { + "item": "tfmg:steel_pipe" + }, + "Q": { + "item": "tfmg:industrial_pipe" + }, + "S": { + "tag": "c:string" + }, + "T": { + "item": "tfmg:steel_fluid_tank" + } + }, + "pattern": [ + "STS", + "MCM", + "OQO" + ], + "result": { + "count": 1, + "id": "tfmg:pumpjack_base" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/pumpjack_crank.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/pumpjack_crank.json new file mode 100644 index 00000000..c4c0cb09 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/pumpjack_crank.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:heavy_machinery_casing" + }, + "H": { + "item": "tfmg:heavy_plate" + }, + "M": { + "item": "tfmg:steel_mechanism" + }, + "P": { + "tag": "c:string" + }, + "R": { + "item": "tfmg:rebar" + } + }, + "pattern": [ + "P P", + "HMH", + "RCR" + ], + "result": { + "count": 1, + "id": "tfmg:pumpjack_crank" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/pumpjack_hammer.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/pumpjack_hammer.json new file mode 100644 index 00000000..7476f8f0 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/pumpjack_hammer.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "R": { + "item": "tfmg:rebar" + }, + "S": { + "tag": "c:ingots/steel" + }, + "T": { + "item": "tfmg:steel_truss" + } + }, + "pattern": [ + "RSR", + "STS", + " T " + ], + "result": { + "count": 1, + "id": "tfmg:pumpjack_hammer" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/pumpjack_hammer_connector.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/pumpjack_hammer_connector.json new file mode 100644 index 00000000..9cb26c97 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/pumpjack_hammer_connector.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "H": { + "item": "tfmg:pumpjack_hammer_part" + }, + "R": { + "item": "tfmg:rebar" + } + }, + "pattern": [ + " ", + "RHR", + " " + ], + "result": { + "count": 1, + "id": "tfmg:pumpjack_hammer_connector" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/pumpjack_hammer_head.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/pumpjack_hammer_head.json new file mode 100644 index 00000000..d727d10d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/pumpjack_hammer_head.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "tag": "c:storage_blocks/steel" + }, + "P": { + "tag": "c:plates/steel" + } + }, + "pattern": [ + " ", + "B", + "P" + ], + "result": { + "count": 1, + "id": "tfmg:pumpjack_hammer_head" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/purple_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/purple_concrete.json new file mode 100644 index 00000000..1bb8fc41 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/purple_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:concrete" + }, + "D": { + "item": "minecraft:purple_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:purple_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/purple_multimeter.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/purple_multimeter.json new file mode 100644 index 00000000..d26bc554 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/purple_multimeter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:multimeter" + }, + { + "item": "minecraft:purple_dye" + } + ], + "result": { + "count": 1, + "id": "tfmg:purple_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/purple_rebar_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/purple_rebar_concrete.json new file mode 100644 index 00000000..7468d71f --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/purple_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:rebar_concrete" + }, + "D": { + "item": "minecraft:purple_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:purple_rebar_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/radial_engine.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/radial_engine.json new file mode 100644 index 00000000..749a67ad --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/radial_engine.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:heavy_machinery_casing" + }, + "I": { + "tag": "c:nuggets/steel" + }, + "O": { + "tag": "c:ingots/steel" + }, + "S": { + "item": "create:shaft" + } + }, + "pattern": [ + "IOI", + "OCO", + "ISI" + ], + "result": { + "count": 1, + "id": "tfmg:radial_engine" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/raw_lead.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/raw_lead.json new file mode 100644 index 00000000..e5a46c19 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/raw_lead.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:raw_lead_block" + } + ], + "result": { + "count": 9, + "id": "tfmg:raw_lead" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/raw_lead_block.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/raw_lead_block.json new file mode 100644 index 00000000..3dd7725e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/raw_lead_block.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:raw_lead" + } + }, + "pattern": [ + "BBB", + "BBB", + "BBB" + ], + "result": { + "count": 1, + "id": "tfmg:raw_lead_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/raw_lithium.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/raw_lithium.json new file mode 100644 index 00000000..c5ca5059 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/raw_lithium.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:raw_lithium_block" + } + ], + "result": { + "count": 9, + "id": "tfmg:raw_lithium" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/raw_lithium_block.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/raw_lithium_block.json new file mode 100644 index 00000000..75c4b321 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/raw_lithium_block.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:raw_lithium" + } + }, + "pattern": [ + "BBB", + "BBB", + "BBB" + ], + "result": { + "count": 1, + "id": "tfmg:raw_lithium_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/raw_nickel.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/raw_nickel.json new file mode 100644 index 00000000..9ff44cc7 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/raw_nickel.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:raw_nickel_block" + } + ], + "result": { + "count": 9, + "id": "tfmg:raw_nickel" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/raw_nickel_block.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/raw_nickel_block.json new file mode 100644 index 00000000..484e75c9 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/raw_nickel_block.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:raw_nickel" + } + }, + "pattern": [ + "BBB", + "BBB", + "BBB" + ], + "result": { + "count": 1, + "id": "tfmg:raw_nickel_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/rebar.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/rebar.json new file mode 100644 index 00000000..8afe2739 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/rebar.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:rebar_pile" + } + ], + "result": { + "count": 9, + "id": "tfmg:rebar" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/rebar_block.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/rebar_block.json new file mode 100644 index 00000000..61966794 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/rebar_block.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "O": { + "item": "tfmg:rebar" + } + }, + "pattern": [ + "O O", + " ", + "O O" + ], + "result": { + "count": 4, + "id": "tfmg:rebar_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/rebar_floor.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/rebar_floor.json new file mode 100644 index 00000000..acf8df5b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/rebar_floor.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "O": { + "item": "tfmg:rebar" + } + }, + "pattern": [ + " ", + "OOO", + " " + ], + "result": { + "count": 3, + "id": "tfmg:rebar_floor" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/rebar_pile.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/rebar_pile.json new file mode 100644 index 00000000..32d2a7ae --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/rebar_pile.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "O": { + "item": "tfmg:rebar" + } + }, + "pattern": [ + "OOO", + "OOO", + "OOO" + ], + "result": { + "count": 1, + "id": "tfmg:rebar_pile" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/rebar_pillar.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/rebar_pillar.json new file mode 100644 index 00000000..a3d25298 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/rebar_pillar.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "O": { + "item": "tfmg:rebar" + } + }, + "pattern": [ + " O ", + " O ", + " O " + ], + "result": { + "count": 3, + "id": "tfmg:rebar_pillar" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/rebar_stairs.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/rebar_stairs.json new file mode 100644 index 00000000..054c15e6 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/rebar_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "O": { + "item": "tfmg:rebar" + } + }, + "pattern": [ + " ", + "O ", + "OO " + ], + "result": { + "count": 3, + "id": "tfmg:rebar_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/rebar_wall.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/rebar_wall.json new file mode 100644 index 00000000..3c7046ec --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/rebar_wall.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "O": { + "item": "tfmg:rebar" + } + }, + "pattern": [ + " ", + "OOO", + "OOO" + ], + "result": { + "count": 6, + "id": "tfmg:rebar_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/red_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/red_concrete.json new file mode 100644 index 00000000..3bb175a2 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/red_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:concrete" + }, + "D": { + "item": "minecraft:red_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:red_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/red_multimeter.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/red_multimeter.json new file mode 100644 index 00000000..8359b0fa --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/red_multimeter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:multimeter" + }, + { + "item": "minecraft:red_dye" + } + ], + "result": { + "count": 1, + "id": "tfmg:red_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/red_rebar_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/red_rebar_concrete.json new file mode 100644 index 00000000..6f45f3f8 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/red_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:rebar_concrete" + }, + "D": { + "item": "minecraft:red_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:red_rebar_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/regular_engine.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/regular_engine.json new file mode 100644 index 00000000..c8283ab5 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/regular_engine.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:heavy_machinery_casing" + }, + "I": { + "item": "tfmg:heavy_plate" + }, + "O": { + "tag": "c:ingots/steel" + } + }, + "pattern": [ + " ", + "OIO", + "ICI" + ], + "result": { + "count": 2, + "id": "tfmg:regular_engine" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/rusted_blast_furnace_reinforcement.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/rusted_blast_furnace_reinforcement.json new file mode 100644 index 00000000..145b5bca --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/rusted_blast_furnace_reinforcement.json @@ -0,0 +1,37 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:water_bucket" + }, + { + "item": "tfmg:blast_furnace_reinforcement" + }, + { + "item": "tfmg:blast_furnace_reinforcement" + }, + { + "item": "tfmg:blast_furnace_reinforcement" + }, + { + "item": "tfmg:blast_furnace_reinforcement" + }, + { + "item": "tfmg:blast_furnace_reinforcement" + }, + { + "item": "tfmg:blast_furnace_reinforcement" + }, + { + "item": "tfmg:blast_furnace_reinforcement" + }, + { + "item": "tfmg:blast_furnace_reinforcement" + } + ], + "result": { + "count": 8, + "id": "tfmg:rusted_blast_furnace_reinforcement" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/screwdriver.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/screwdriver.json new file mode 100644 index 00000000..f8bc97f5 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/screwdriver.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "tag": "c:ingots/aluminum" + }, + "R": { + "item": "tfmg:rebar" + } + }, + "pattern": [ + " R", + " I ", + " " + ], + "result": { + "count": 1, + "id": "tfmg:screwdriver" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/screwdriverfrom_brass.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/screwdriverfrom_brass.json new file mode 100644 index 00000000..bed249f7 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/screwdriverfrom_brass.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "tag": "c:ingots/brass" + }, + "R": { + "item": "tfmg:rebar" + } + }, + "pattern": [ + " R", + " I ", + " " + ], + "result": { + "count": 1, + "id": "tfmg:screwdriver" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/segmented_display.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/segmented_display.json new file mode 100644 index 00000000..4e913466 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/segmented_display.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "item": "tfmg:industrial_aluminum_casing" + }, + "C": { + "item": "tfmg:circuit_board" + }, + "G": { + "item": "minecraft:black_stained_glass_pane" + }, + "K": { + "item": "tfmg:silicon_ingot" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "WGW", + "KAK", + "WCW" + ], + "result": { + "count": 4, + "id": "tfmg:segmented_display" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_axe.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_axe.json new file mode 100644 index 00000000..facb2c01 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_axe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/steel" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + " CC", + " SC", + " S " + ], + "result": { + "count": 1, + "id": "tfmg:steel_axe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_block_from_compacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_block_from_compacting.json new file mode 100644 index 00000000..5366582c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_block_from_compacting.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "tag": "c:ingots/steel" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "tfmg:steel_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_cable_hub.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_cable_hub.json new file mode 100644 index 00000000..c011cdf3 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_cable_hub.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "M": { + "tag": "c:nuggets/steel" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "WWW", + "MMM", + "WWW" + ], + "result": { + "count": 2, + "id": "tfmg:steel_cable_hub" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_casing_cable_hub.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_casing_cable_hub.json new file mode 100644 index 00000000..d55f0216 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_casing_cable_hub.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "M": { + "item": "tfmg:steel_casing" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "WWW", + " M ", + "WWW" + ], + "result": { + "count": 2, + "id": "tfmg:steel_casing_cable_hub" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_chemical_vat.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_chemical_vat.json new file mode 100644 index 00000000..fb497129 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_chemical_vat.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:plates/nickel" + }, + "P": { + "item": "tfmg:heavy_plate" + }, + "T": { + "item": "tfmg:steel_fluid_tank" + } + }, + "pattern": [ + "PPP", + "NTN", + "PPP" + ], + "result": { + "count": 2, + "id": "tfmg:steel_chemical_vat" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_cogwheel.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_cogwheel.json new file mode 100644 index 00000000..d48d990c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_cogwheel.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:steel_ingot" + }, + { + "item": "create:shaft" + } + ], + "result": { + "count": 4, + "id": "tfmg:steel_cogwheel" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_distillation_controller.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_distillation_controller.json new file mode 100644 index 00000000..572730c6 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_distillation_controller.json @@ -0,0 +1,33 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "minecraft:compass" + }, + "E": { + "item": "create:electron_tube" + }, + "H": { + "item": "tfmg:heavy_machinery_casing" + }, + "M": { + "item": "tfmg:steel_mechanism" + }, + "P": { + "item": "tfmg:industrial_pipe" + }, + "S": { + "tag": "c:plates/lead" + } + }, + "pattern": [ + "SPS", + "ECE", + "MHM" + ], + "result": { + "count": 1, + "id": "tfmg:steel_distillation_controller" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_distillation_output.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_distillation_output.json new file mode 100644 index 00000000..0abf4d73 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_distillation_output.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:heavy_machinery_casing" + }, + "P": { + "item": "tfmg:steel_pipe" + }, + "T": { + "item": "tfmg:steel_fluid_tank" + } + }, + "pattern": [ + "PTP", + "TBT", + "PTP" + ], + "result": { + "count": 1, + "id": "tfmg:steel_distillation_output" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_door.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_door.json new file mode 100644 index 00000000..ddf8376d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_door.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:steel_casing" + }, + { + "tag": "minecraft:wooden_doors" + } + ], + "result": { + "count": 1, + "id": "tfmg:steel_door" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_fluid_tank.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_fluid_tank.json new file mode 100644 index 00000000..60b6847d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_fluid_tank.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "minecraft:barrel" + }, + "P": { + "item": "tfmg:heavy_plate" + } + }, + "pattern": [ + " P ", + " B ", + " P " + ], + "result": { + "count": 2, + "id": "tfmg:steel_fluid_tank" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_flywheel.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_flywheel.json new file mode 100644 index 00000000..0acc6fff --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_flywheel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:steel_ingot" + }, + "S": { + "item": "create:shaft" + } + }, + "pattern": [ + "CCC", + "CSC", + "CCC" + ], + "result": { + "count": 1, + "id": "tfmg:steel_flywheel" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_frame.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_frame.json new file mode 100644 index 00000000..2a60b86d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_frame.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:nuggets/steel" + } + }, + "pattern": [ + "NNN", + "N N", + "NNN" + ], + "result": { + "count": 4, + "id": "tfmg:steel_frame" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_gearbox.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_gearbox.json new file mode 100644 index 00000000..23cdb068 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_gearbox.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:heavy_machinery_casing" + }, + "O": { + "item": "tfmg:steel_cogwheel" + } + }, + "pattern": [ + " O ", + "OCO", + " O " + ], + "result": { + "count": 1, + "id": "tfmg:steel_gearbox" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_hoe.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_hoe.json new file mode 100644 index 00000000..b8eaf412 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_hoe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/steel" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "CC ", + "S ", + "S " + ], + "result": { + "count": 1, + "id": "tfmg:steel_hoe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_ingot_from_compacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_ingot_from_compacting.json new file mode 100644 index 00000000..e4d67609 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_ingot_from_compacting.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "tag": "c:nuggets/steel" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "tfmg:steel_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_ingot_from_decompacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_ingot_from_decompacting.json new file mode 100644 index 00000000..ba197cb5 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_ingot_from_decompacting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:storage_blocks/steel" + } + ], + "result": { + "count": 9, + "id": "tfmg:steel_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_nugget_from_decompacting.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_nugget_from_decompacting.json new file mode 100644 index 00000000..d2cb1919 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_nugget_from_decompacting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:ingots/steel" + } + ], + "result": { + "count": 9, + "id": "tfmg:steel_nugget" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_pickaxe.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_pickaxe.json new file mode 100644 index 00000000..e7c8c03f --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_pickaxe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/steel" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "CCC", + " S ", + " S " + ], + "result": { + "count": 1, + "id": "tfmg:steel_pickaxe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_shovel.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_shovel.json new file mode 100644 index 00000000..a935af8c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_shovel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/steel" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "C ", + "S ", + "S " + ], + "result": { + "count": 1, + "id": "tfmg:steel_shovel" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_sword.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_sword.json new file mode 100644 index 00000000..eb8b1030 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_sword.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/steel" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "C ", + "C ", + "S " + ], + "result": { + "count": 1, + "id": "tfmg:steel_sword" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_trapdoor.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_trapdoor.json new file mode 100644 index 00000000..0d8ccad9 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_trapdoor.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "O": { + "tag": "c:ingots/steel" + } + }, + "pattern": [ + " ", + "OOO", + " " + ], + "result": { + "count": 1, + "id": "tfmg:steel_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_truss.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_truss.json new file mode 100644 index 00000000..8f012308 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_truss.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:nuggets/steel" + } + }, + "pattern": [ + "N N", + "NNN", + "N N" + ], + "result": { + "count": 4, + "id": "tfmg:steel_truss" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/surface_scanner.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/surface_scanner.json new file mode 100644 index 00000000..aadf0305 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/surface_scanner.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "H": { + "item": "tfmg:heavy_machinery_casing" + }, + "M": { + "item": "tfmg:steel_mechanism" + }, + "T": { + "item": "create:electron_tube" + } + }, + "pattern": [ + "TTT", + "TTT", + "MHM" + ], + "result": { + "count": 1, + "id": "tfmg:surface_scanner" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/thermite_grenade.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/thermite_grenade.json new file mode 100644 index 00000000..956ec53f --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/thermite_grenade.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "tag": "c:ingots/aluminum" + }, + "T": { + "item": "tfmg:thermite_powder" + } + }, + "pattern": [ + " T ", + "TAT", + " T " + ], + "result": { + "count": 1, + "id": "tfmg:thermite_grenade" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/traffic_light.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/traffic_light.json new file mode 100644 index 00000000..80f9a74d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/traffic_light.json @@ -0,0 +1,36 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:light_bulb" + }, + "C": { + "item": "tfmg:circuit_board" + }, + "G": { + "item": "minecraft:green_stained_glass_pane" + }, + "N": { + "tag": "c:wires/copper" + }, + "O": { + "item": "minecraft:orange_stained_glass_pane" + }, + "P": { + "item": "tfmg:heavy_machinery_casing" + }, + "R": { + "item": "minecraft:red_stained_glass_pane" + } + }, + "pattern": [ + "CBR", + "PBO", + "NBG" + ], + "result": { + "count": 1, + "id": "tfmg:traffic_light" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/transformer.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/transformer.json new file mode 100644 index 00000000..9254e03d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/transformer.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:steel_casing" + }, + "M": { + "item": "tfmg:magnetic_alloy_ingot" + }, + "N": { + "tag": "c:plates/nickel" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "MMM", + "MNM", + "WCW" + ], + "result": { + "count": 1, + "id": "tfmg:transformer" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/transmission.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/transmission.json new file mode 100644 index 00000000..5686eb82 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/transmission.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "tag": "c:plates/aluminum" + }, + "C": { + "item": "tfmg:aluminum_cogwheel" + }, + "M": { + "item": "tfmg:steel_mechanism" + }, + "P": { + "item": "tfmg:plastic_sheet" + } + }, + "pattern": [ + "AAA", + "CPC", + "MMM" + ], + "result": { + "count": 1, + "id": "tfmg:transmission" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/turbine_engine.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/turbine_engine.json new file mode 100644 index 00000000..c6d13df4 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/turbine_engine.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "H": { + "item": "tfmg:heavy_machinery_casing" + }, + "O": { + "tag": "c:plates/steel" + }, + "P": { + "item": "tfmg:aluminum_pipe" + } + }, + "pattern": [ + "OOO", + "PHP", + "OOO" + ], + "result": { + "count": 2, + "id": "tfmg:turbine_engine" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/turbo.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/turbo.json new file mode 100644 index 00000000..1d5b8d37 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/turbo.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "tfmg:steel_bars" + }, + "F": { + "item": "create:propeller" + }, + "P": { + "item": "tfmg:aluminum_pipe" + } + }, + "pattern": [ + "PPP", + "BFP", + "PPP" + ], + "result": { + "count": 1, + "id": "tfmg:turbo" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/unfinished_electromagnetic_coil.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/unfinished_electromagnetic_coil.json new file mode 100644 index 00000000..26605bd8 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/unfinished_electromagnetic_coil.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "M": { + "item": "tfmg:magnetic_alloy_ingot" + }, + "N": { + "tag": "c:nuggets/steel" + } + }, + "pattern": [ + " N ", + " M ", + " N " + ], + "result": { + "count": 2, + "id": "tfmg:unfinished_electromagnetic_coil" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/unfinished_resistor.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/unfinished_resistor.json new file mode 100644 index 00000000..287a2c55 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/unfinished_resistor.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "P": { + "item": "tfmg:plastic_sheet" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + " W ", + " P ", + " W " + ], + "result": { + "count": 1, + "id": "tfmg:unfinished_resistor" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/unfinished_resistorfrom_slime.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/unfinished_resistorfrom_slime.json new file mode 100644 index 00000000..8feb5e83 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/unfinished_resistorfrom_slime.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "P": { + "item": "minecraft:slime_ball" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + " W ", + " P ", + " W " + ], + "result": { + "count": 1, + "id": "tfmg:unfinished_resistor" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/voltage_observer.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/voltage_observer.json new file mode 100644 index 00000000..30ade9bb --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/voltage_observer.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:industrial_aluminum_casing" + }, + "Q": { + "item": "tfmg:capacitor_item" + }, + "R": { + "tag": "c:dusts/redstone" + }, + "T": { + "item": "tfmg:transistor_item" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "TRT", + "WCR", + "QRQ" + ], + "result": { + "count": 1, + "id": "tfmg:voltage_observer" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/voltmeter.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/voltmeter.json new file mode 100644 index 00000000..cde6bd96 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/voltmeter.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "tag": "c:ingots/steel" + }, + "C": { + "item": "minecraft:compass" + }, + "M": { + "item": "tfmg:magnet" + }, + "N": { + "tag": "c:nuggets/steel" + } + }, + "pattern": [ + "NNN", + "NCN", + "AMA" + ], + "result": { + "count": 1, + "id": "tfmg:voltmeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/white_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/white_concrete.json new file mode 100644 index 00000000..b98b7bc2 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/white_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:concrete" + }, + "D": { + "item": "minecraft:white_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:white_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/white_multimeter.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/white_multimeter.json new file mode 100644 index 00000000..80766236 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/white_multimeter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:multimeter" + }, + { + "item": "minecraft:white_dye" + } + ], + "result": { + "count": 1, + "id": "tfmg:white_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/white_rebar_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/white_rebar_concrete.json new file mode 100644 index 00000000..71a2c75a --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/white_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:rebar_concrete" + }, + "D": { + "item": "minecraft:white_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:white_rebar_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/winding_machine.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/winding_machine.json new file mode 100644 index 00000000..1a951a3b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/winding_machine.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:heavy_machinery_casing" + }, + "I": { + "tag": "c:ingots/steel" + }, + "M": { + "item": "tfmg:steel_mechanism" + }, + "P": { + "item": "tfmg:heavy_plate" + }, + "T": { + "item": "create:shaft" + } + }, + "pattern": [ + " ", + "ITP", + "ICM" + ], + "result": { + "count": 1, + "id": "tfmg:winding_machine" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/yellow_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/yellow_concrete.json new file mode 100644 index 00000000..39ff1953 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/yellow_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:concrete" + }, + "D": { + "item": "minecraft:yellow_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:yellow_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/yellow_multimeter.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/yellow_multimeter.json new file mode 100644 index 00000000..95c74e20 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/yellow_multimeter.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "tfmg:multimeter" + }, + { + "item": "minecraft:yellow_dye" + } + ], + "result": { + "count": 1, + "id": "tfmg:yellow_multimeter" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/yellow_rebar_concrete.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/yellow_rebar_concrete.json new file mode 100644 index 00000000..aee8c72b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/yellow_rebar_concrete.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:rebar_concrete" + }, + "D": { + "item": "minecraft:yellow_dye" + } + }, + "pattern": [ + "CCC", + "CDC", + "CCC" + ], + "result": { + "count": 8, + "id": "tfmg:yellow_rebar_concrete" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/zinc_frame.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/zinc_frame.json new file mode 100644 index 00000000..15f2750e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/zinc_frame.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:nuggets/zinc" + } + }, + "pattern": [ + "NNN", + "N N", + "NNN" + ], + "result": { + "count": 4, + "id": "tfmg:zinc_frame" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/zinc_grenade.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/zinc_grenade.json new file mode 100644 index 00000000..e4b19376 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/zinc_grenade.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "item": "tfmg:thermite_grenade" + }, + "T": { + "tag": "c:ingots/zinc" + } + }, + "pattern": [ + " ", + "TAT", + " " + ], + "result": { + "count": 1, + "id": "tfmg:zinc_grenade" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/zinc_truss.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/zinc_truss.json new file mode 100644 index 00000000..9032bf92 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/zinc_truss.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "N": { + "tag": "c:nuggets/zinc" + } + }, + "pattern": [ + "N N", + "NNN", + "N N" + ], + "result": { + "count": 4, + "id": "tfmg:zinc_truss" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_bauxite_brick_slab.json b/src/generated/resources/data/tfmg/recipe/cut_bauxite_brick_slab.json new file mode 100644 index 00000000..a4a7e095 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_bauxite_brick_slab.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "cut_bauxite_brick_slab", + "key": { + "X": { + "item": "tfmg:cut_bauxite_bricks" + } + }, + "pattern": [ + "XXX" + ], + "result": { + "count": 6, + "id": "tfmg:cut_bauxite_brick_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cut_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..04124bd7 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 2, + "id": "tfmg:cut_bauxite_brick_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_bauxite_brick_slab_recycling.json b/src/generated/resources/data/tfmg/recipe/cut_bauxite_brick_slab_recycling.json new file mode 100644 index 00000000..5365620a --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_bauxite_brick_slab_recycling.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "tfmg:cut_bauxite_brick_slab" + }, + { + "item": "tfmg:cut_bauxite_brick_slab" + } + ], + "result": { + "count": 1, + "id": "tfmg:cut_bauxite_bricks" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_bauxite_brick_stairs.json b/src/generated/resources/data/tfmg/recipe/cut_bauxite_brick_stairs.json new file mode 100644 index 00000000..7a5d8f0a --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_bauxite_brick_stairs.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "cut_bauxite_brick_stairs", + "key": { + "X": { + "item": "tfmg:cut_bauxite_bricks" + } + }, + "pattern": [ + "X ", + "XX ", + "XXX" + ], + "result": { + "count": 4, + "id": "tfmg:cut_bauxite_brick_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cut_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..2c515e93 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 1, + "id": "tfmg:cut_bauxite_brick_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_bauxite_brick_wall.json b/src/generated/resources/data/tfmg/recipe/cut_bauxite_brick_wall.json new file mode 100644 index 00000000..d3dbe11e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_bauxite_brick_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "X": { + "item": "tfmg:cut_bauxite_bricks" + } + }, + "pattern": [ + "XXX", + "XXX" + ], + "result": { + "count": 6, + "id": "tfmg:cut_bauxite_brick_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_bauxite_brick_wall_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cut_bauxite_brick_wall_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..67cfd8ff --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_bauxite_brick_wall_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 1, + "id": "tfmg:cut_bauxite_brick_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_bauxite_bricks_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cut_bauxite_bricks_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..956975e5 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_bauxite_bricks_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 1, + "id": "tfmg:cut_bauxite_bricks" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_bauxite_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cut_bauxite_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..25a927fa --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_bauxite_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 1, + "id": "tfmg:cut_bauxite" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_bauxite_slab.json b/src/generated/resources/data/tfmg/recipe/cut_bauxite_slab.json new file mode 100644 index 00000000..3f7c8c5e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_bauxite_slab.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "cut_bauxite_slab", + "key": { + "X": { + "item": "tfmg:cut_bauxite" + } + }, + "pattern": [ + "XXX" + ], + "result": { + "count": 6, + "id": "tfmg:cut_bauxite_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_bauxite_slab_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cut_bauxite_slab_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..50c01e96 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_bauxite_slab_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 2, + "id": "tfmg:cut_bauxite_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_bauxite_slab_recycling.json b/src/generated/resources/data/tfmg/recipe/cut_bauxite_slab_recycling.json new file mode 100644 index 00000000..39da2d50 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_bauxite_slab_recycling.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "tfmg:cut_bauxite_slab" + }, + { + "item": "tfmg:cut_bauxite_slab" + } + ], + "result": { + "count": 1, + "id": "tfmg:cut_bauxite" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_bauxite_stairs.json b/src/generated/resources/data/tfmg/recipe/cut_bauxite_stairs.json new file mode 100644 index 00000000..bf37c696 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_bauxite_stairs.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "cut_bauxite_stairs", + "key": { + "X": { + "item": "tfmg:cut_bauxite" + } + }, + "pattern": [ + "X ", + "XX ", + "XXX" + ], + "result": { + "count": 4, + "id": "tfmg:cut_bauxite_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..679fe99b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 1, + "id": "tfmg:cut_bauxite_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_bauxite_wall.json b/src/generated/resources/data/tfmg/recipe/cut_bauxite_wall.json new file mode 100644 index 00000000..5e2d5e46 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_bauxite_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "X": { + "item": "tfmg:cut_bauxite" + } + }, + "pattern": [ + "XXX", + "XXX" + ], + "result": { + "count": 6, + "id": "tfmg:cut_bauxite_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_bauxite_wall_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cut_bauxite_wall_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..9bb62bbd --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_bauxite_wall_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 1, + "id": "tfmg:cut_bauxite_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_galena_brick_slab.json b/src/generated/resources/data/tfmg/recipe/cut_galena_brick_slab.json new file mode 100644 index 00000000..2a7c2dfb --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_galena_brick_slab.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "cut_galena_brick_slab", + "key": { + "X": { + "item": "tfmg:cut_galena_bricks" + } + }, + "pattern": [ + "XXX" + ], + "result": { + "count": 6, + "id": "tfmg:cut_galena_brick_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_galena_brick_slab_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cut_galena_brick_slab_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..a2fbcd69 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_galena_brick_slab_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 2, + "id": "tfmg:cut_galena_brick_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_galena_brick_slab_recycling.json b/src/generated/resources/data/tfmg/recipe/cut_galena_brick_slab_recycling.json new file mode 100644 index 00000000..3424052b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_galena_brick_slab_recycling.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "tfmg:cut_galena_brick_slab" + }, + { + "item": "tfmg:cut_galena_brick_slab" + } + ], + "result": { + "count": 1, + "id": "tfmg:cut_galena_bricks" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_galena_brick_stairs.json b/src/generated/resources/data/tfmg/recipe/cut_galena_brick_stairs.json new file mode 100644 index 00000000..30f34fbf --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_galena_brick_stairs.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "cut_galena_brick_stairs", + "key": { + "X": { + "item": "tfmg:cut_galena_bricks" + } + }, + "pattern": [ + "X ", + "XX ", + "XXX" + ], + "result": { + "count": 4, + "id": "tfmg:cut_galena_brick_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_galena_brick_stairs_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cut_galena_brick_stairs_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..d7884fdb --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_galena_brick_stairs_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 1, + "id": "tfmg:cut_galena_brick_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_galena_brick_wall.json b/src/generated/resources/data/tfmg/recipe/cut_galena_brick_wall.json new file mode 100644 index 00000000..87af2444 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_galena_brick_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "X": { + "item": "tfmg:cut_galena_bricks" + } + }, + "pattern": [ + "XXX", + "XXX" + ], + "result": { + "count": 6, + "id": "tfmg:cut_galena_brick_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_galena_brick_wall_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cut_galena_brick_wall_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..facee7ba --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_galena_brick_wall_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 1, + "id": "tfmg:cut_galena_brick_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_galena_bricks_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cut_galena_bricks_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..c86a6266 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_galena_bricks_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 1, + "id": "tfmg:cut_galena_bricks" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_galena_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cut_galena_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..91e58eb9 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_galena_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 1, + "id": "tfmg:cut_galena" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_galena_slab.json b/src/generated/resources/data/tfmg/recipe/cut_galena_slab.json new file mode 100644 index 00000000..c83bdb73 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_galena_slab.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "cut_galena_slab", + "key": { + "X": { + "item": "tfmg:cut_galena" + } + }, + "pattern": [ + "XXX" + ], + "result": { + "count": 6, + "id": "tfmg:cut_galena_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_galena_slab_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cut_galena_slab_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..4bdace29 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_galena_slab_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 2, + "id": "tfmg:cut_galena_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_galena_slab_recycling.json b/src/generated/resources/data/tfmg/recipe/cut_galena_slab_recycling.json new file mode 100644 index 00000000..0e5aa757 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_galena_slab_recycling.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "tfmg:cut_galena_slab" + }, + { + "item": "tfmg:cut_galena_slab" + } + ], + "result": { + "count": 1, + "id": "tfmg:cut_galena" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_galena_stairs.json b/src/generated/resources/data/tfmg/recipe/cut_galena_stairs.json new file mode 100644 index 00000000..0f89af49 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_galena_stairs.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "cut_galena_stairs", + "key": { + "X": { + "item": "tfmg:cut_galena" + } + }, + "pattern": [ + "X ", + "XX ", + "XXX" + ], + "result": { + "count": 4, + "id": "tfmg:cut_galena_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_galena_stairs_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cut_galena_stairs_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..947c4ce6 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_galena_stairs_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 1, + "id": "tfmg:cut_galena_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_galena_wall.json b/src/generated/resources/data/tfmg/recipe/cut_galena_wall.json new file mode 100644 index 00000000..8281f284 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_galena_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "X": { + "item": "tfmg:cut_galena" + } + }, + "pattern": [ + "XXX", + "XXX" + ], + "result": { + "count": 6, + "id": "tfmg:cut_galena_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cut_galena_wall_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cut_galena_wall_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..1b127830 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cut_galena_wall_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 1, + "id": "tfmg:cut_galena_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cyan_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cyan_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..e38f1071 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cyan_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:cyan_caution_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cyan_concrete_slab_from_cyan_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cyan_concrete_slab_from_cyan_concrete_stonecutting.json new file mode 100644 index 00000000..7499a58e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cyan_concrete_slab_from_cyan_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:cyan_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:cyan_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cyan_concrete_stairs_from_cyan_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cyan_concrete_stairs_from_cyan_concrete_stonecutting.json new file mode 100644 index 00000000..38207e6e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cyan_concrete_stairs_from_cyan_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:cyan_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:cyan_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cyan_concrete_wall_from_cyan_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cyan_concrete_wall_from_cyan_concrete_stonecutting.json new file mode 100644 index 00000000..0c125489 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cyan_concrete_wall_from_cyan_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:cyan_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:cyan_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cyan_rebar_concrete_slab_from_cyan_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cyan_rebar_concrete_slab_from_cyan_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..fe1d4ced --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cyan_rebar_concrete_slab_from_cyan_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:cyan_rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:cyan_rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cyan_rebar_concrete_stairs_from_cyan_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cyan_rebar_concrete_stairs_from_cyan_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..aa9130c9 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cyan_rebar_concrete_stairs_from_cyan_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:cyan_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:cyan_rebar_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/cyan_rebar_concrete_wall_from_cyan_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/cyan_rebar_concrete_wall_from_cyan_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..1378cf21 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/cyan_rebar_concrete_wall_from_cyan_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:cyan_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:cyan_rebar_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/distillation/crude_oil.json b/src/generated/resources/data/tfmg/recipe/distillation/crude_oil.json new file mode 100644 index 00000000..3398a02c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/distillation/crude_oil.json @@ -0,0 +1,36 @@ +{ + "type": "create:distillation", + "ingredients": [ + { + "type": "fluid_stack", + "amount": 340, + "fluid": "tfmg:crude_oil" + } + ], + "results": [ + { + "amount": 120, + "id": "tfmg:heavy_oil" + }, + { + "amount": 60, + "id": "tfmg:diesel" + }, + { + "amount": 30, + "id": "tfmg:kerosene" + }, + { + "amount": 10, + "id": "tfmg:naphtha" + }, + { + "amount": 60, + "id": "tfmg:gasoline" + }, + { + "amount": 60, + "id": "tfmg:lpg" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/distillation/crude_oil_light_distillation.json b/src/generated/resources/data/tfmg/recipe/distillation/crude_oil_light_distillation.json new file mode 100644 index 00000000..6109e547 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/distillation/crude_oil_light_distillation.json @@ -0,0 +1,24 @@ +{ + "type": "create:distillation", + "ingredients": [ + { + "type": "fluid_stack", + "amount": 200, + "fluid": "tfmg:crude_oil" + } + ], + "results": [ + { + "amount": 150, + "id": "tfmg:heavy_oil" + }, + { + "amount": 45, + "id": "tfmg:diesel" + }, + { + "amount": 5, + "id": "tfmg:gasoline" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/distillation/crude_oil_no_naphtha.json b/src/generated/resources/data/tfmg/recipe/distillation/crude_oil_no_naphtha.json new file mode 100644 index 00000000..60d4bc1b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/distillation/crude_oil_no_naphtha.json @@ -0,0 +1,32 @@ +{ + "type": "create:distillation", + "ingredients": [ + { + "type": "fluid_stack", + "amount": 330, + "fluid": "tfmg:crude_oil" + } + ], + "results": [ + { + "amount": 120, + "id": "tfmg:heavy_oil" + }, + { + "amount": 60, + "id": "tfmg:diesel" + }, + { + "amount": 30, + "id": "tfmg:kerosene" + }, + { + "amount": 60, + "id": "tfmg:gasoline" + }, + { + "amount": 60, + "id": "tfmg:lpg" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/distillation/heavy_oil.json b/src/generated/resources/data/tfmg/recipe/distillation/heavy_oil.json new file mode 100644 index 00000000..c8d9bc19 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/distillation/heavy_oil.json @@ -0,0 +1,32 @@ +{ + "type": "create:distillation", + "ingredients": [ + { + "type": "fluid_stack", + "amount": 200, + "fluid": "tfmg:heavy_oil" + } + ], + "results": [ + { + "amount": 100, + "id": "tfmg:heavy_oil" + }, + { + "amount": 25, + "id": "tfmg:lubrication_oil" + }, + { + "amount": 50, + "id": "tfmg:diesel" + }, + { + "amount": 20, + "id": "tfmg:kerosene" + }, + { + "amount": 5, + "id": "tfmg:naphtha" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/distillation/heavy_oil_light_distillation.json b/src/generated/resources/data/tfmg/recipe/distillation/heavy_oil_light_distillation.json new file mode 100644 index 00000000..c40dcbb7 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/distillation/heavy_oil_light_distillation.json @@ -0,0 +1,24 @@ +{ + "type": "create:distillation", + "ingredients": [ + { + "type": "fluid_stack", + "amount": 200, + "fluid": "tfmg:heavy_oil" + } + ], + "results": [ + { + "amount": 100, + "id": "tfmg:heavy_oil" + }, + { + "amount": 50, + "id": "tfmg:diesel" + }, + { + "amount": 50, + "id": "tfmg:lubrication_oil" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/distillation/heavy_oil_no_naphtha.json b/src/generated/resources/data/tfmg/recipe/distillation/heavy_oil_no_naphtha.json new file mode 100644 index 00000000..e61afe48 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/distillation/heavy_oil_no_naphtha.json @@ -0,0 +1,28 @@ +{ + "type": "create:distillation", + "ingredients": [ + { + "type": "fluid_stack", + "amount": 200, + "fluid": "tfmg:heavy_oil" + } + ], + "results": [ + { + "amount": 100, + "id": "tfmg:heavy_oil" + }, + { + "amount": 30, + "id": "tfmg:lubrication_oil" + }, + { + "amount": 50, + "id": "tfmg:diesel" + }, + { + "amount": 20, + "id": "tfmg:kerosene" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/empty_spool_from_hardened_planks_stonecutting.json b/src/generated/resources/data/tfmg/recipe/empty_spool_from_hardened_planks_stonecutting.json new file mode 100644 index 00000000..00bd0c5d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/empty_spool_from_hardened_planks_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:hardened_planks" + }, + "result": { + "count": 1, + "id": "tfmg:empty_spool" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/factory_floor_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/recipe/factory_floor_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..effc597b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/factory_floor_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 1, + "id": "tfmg:factory_floor" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/filling/air_tank.json b/src/generated/resources/data/tfmg/recipe/filling/air_tank.json new file mode 100644 index 00000000..4effee6d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/filling/air_tank.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "minecraft:bucket" + }, + { + "type": "fluid_stack", + "amount": 1000, + "fluid": "tfmg:air" + } + ], + "results": [ + { + "id": "tfmg:air_bucket" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/filling/carbon_dioxide_tank.json b/src/generated/resources/data/tfmg/recipe/filling/carbon_dioxide_tank.json new file mode 100644 index 00000000..810441f1 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/filling/carbon_dioxide_tank.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "minecraft:bucket" + }, + { + "type": "fluid_stack", + "amount": 1000, + "fluid": "tfmg:carbon_dioxide" + } + ], + "results": [ + { + "id": "tfmg:carbon_dioxide_bucket" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/filling/ethylene_tank.json b/src/generated/resources/data/tfmg/recipe/filling/ethylene_tank.json new file mode 100644 index 00000000..cc932f48 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/filling/ethylene_tank.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "minecraft:bucket" + }, + { + "type": "fluid_stack", + "amount": 1000, + "fluid": "tfmg:ethylene" + } + ], + "results": [ + { + "id": "tfmg:ethylene_bucket" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/filling/furnace_gas_tank.json b/src/generated/resources/data/tfmg/recipe/filling/furnace_gas_tank.json new file mode 100644 index 00000000..e6442ebb --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/filling/furnace_gas_tank.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "minecraft:bucket" + }, + { + "type": "fluid_stack", + "amount": 1000, + "fluid": "tfmg:furnace_gas" + } + ], + "results": [ + { + "id": "tfmg:furnace_gas_bucket" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/filling/hardened_planks.json b/src/generated/resources/data/tfmg/recipe/filling/hardened_planks.json new file mode 100644 index 00000000..6b73f87b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/filling/hardened_planks.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "tag": "minecraft:planks" + }, + { + "type": "fluid_stack", + "amount": 250, + "fluid": "tfmg:creosote" + } + ], + "results": [ + { + "id": "tfmg:hardened_planks" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/filling/hot_air_tank.json b/src/generated/resources/data/tfmg/recipe/filling/hot_air_tank.json new file mode 100644 index 00000000..910033e7 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/filling/hot_air_tank.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "minecraft:bucket" + }, + { + "type": "fluid_stack", + "amount": 1000, + "fluid": "tfmg:hot_air" + } + ], + "results": [ + { + "id": "tfmg:hot_air_bucket" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/filling/hydrogen_tank.json b/src/generated/resources/data/tfmg/recipe/filling/hydrogen_tank.json new file mode 100644 index 00000000..1df56b0b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/filling/hydrogen_tank.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "minecraft:bucket" + }, + { + "type": "fluid_stack", + "amount": 1000, + "fluid": "tfmg:hydrogen" + } + ], + "results": [ + { + "id": "tfmg:hydrogen_bucket" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/filling/lpg_tank.json b/src/generated/resources/data/tfmg/recipe/filling/lpg_tank.json new file mode 100644 index 00000000..4336d688 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/filling/lpg_tank.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "minecraft:bucket" + }, + { + "type": "fluid_stack", + "amount": 1000, + "fluid": "tfmg:lpg" + } + ], + "results": [ + { + "id": "tfmg:lpg_bucket" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/filling/napalm_potato.json b/src/generated/resources/data/tfmg/recipe/filling/napalm_potato.json new file mode 100644 index 00000000..922361bb --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/filling/napalm_potato.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "minecraft:potato" + }, + { + "type": "fluid_stack", + "amount": 500, + "fluid": "tfmg:napalm" + } + ], + "results": [ + { + "id": "tfmg:napalm_potato" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/filling/neon_tank.json b/src/generated/resources/data/tfmg/recipe/filling/neon_tank.json new file mode 100644 index 00000000..4b35533c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/filling/neon_tank.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "minecraft:bucket" + }, + { + "type": "fluid_stack", + "amount": 1000, + "fluid": "tfmg:neon" + } + ], + "results": [ + { + "id": "tfmg:neon_bucket" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/filling/propylene_tank.json b/src/generated/resources/data/tfmg/recipe/filling/propylene_tank.json new file mode 100644 index 00000000..e8972a2b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/filling/propylene_tank.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "minecraft:bucket" + }, + { + "type": "fluid_stack", + "amount": 1000, + "fluid": "tfmg:propylene" + } + ], + "results": [ + { + "id": "tfmg:propylene_bucket" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/galena_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/recipe/galena_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..6ea5ad13 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/galena_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 1, + "id": "tfmg:galena" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/galena_pillar_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/recipe/galena_pillar_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..8d77acde --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/galena_pillar_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 1, + "id": "tfmg:galena_pillar" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/graphite_electrode_from_storage_blocks_coal_coke_stonecutting.json b/src/generated/resources/data/tfmg/recipe/graphite_electrode_from_storage_blocks_coal_coke_stonecutting.json new file mode 100644 index 00000000..ec454421 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/graphite_electrode_from_storage_blocks_coal_coke_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:storage_blocks/coal_coke" + }, + "result": { + "count": 1, + "id": "tfmg:graphite_electrode" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/gray_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/recipe/gray_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..02dedc49 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/gray_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:gray_caution_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/gray_concrete_slab_from_gray_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/gray_concrete_slab_from_gray_concrete_stonecutting.json new file mode 100644 index 00000000..61190d28 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/gray_concrete_slab_from_gray_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:gray_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:gray_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/gray_concrete_stairs_from_gray_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/gray_concrete_stairs_from_gray_concrete_stonecutting.json new file mode 100644 index 00000000..738376c7 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/gray_concrete_stairs_from_gray_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:gray_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:gray_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/gray_concrete_wall_from_gray_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/gray_concrete_wall_from_gray_concrete_stonecutting.json new file mode 100644 index 00000000..8701490f --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/gray_concrete_wall_from_gray_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:gray_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:gray_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/gray_rebar_concrete_slab_from_gray_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/gray_rebar_concrete_slab_from_gray_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..526db07c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/gray_rebar_concrete_slab_from_gray_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:gray_rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:gray_rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/gray_rebar_concrete_stairs_from_gray_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/gray_rebar_concrete_stairs_from_gray_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..29fa1652 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/gray_rebar_concrete_stairs_from_gray_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:gray_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:gray_rebar_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/gray_rebar_concrete_wall_from_gray_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/gray_rebar_concrete_wall_from_gray_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..1e55dcff --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/gray_rebar_concrete_wall_from_gray_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:gray_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:gray_rebar_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/green_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/recipe/green_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..f580bb67 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/green_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:green_caution_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/green_concrete_slab_from_green_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/green_concrete_slab_from_green_concrete_stonecutting.json new file mode 100644 index 00000000..5a413956 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/green_concrete_slab_from_green_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:green_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:green_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/green_concrete_stairs_from_green_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/green_concrete_stairs_from_green_concrete_stonecutting.json new file mode 100644 index 00000000..c9e91814 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/green_concrete_stairs_from_green_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:green_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:green_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/green_concrete_wall_from_green_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/green_concrete_wall_from_green_concrete_stonecutting.json new file mode 100644 index 00000000..8776b0e8 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/green_concrete_wall_from_green_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:green_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:green_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/green_rebar_concrete_slab_from_green_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/green_rebar_concrete_slab_from_green_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..a53e9819 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/green_rebar_concrete_slab_from_green_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:green_rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:green_rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/green_rebar_concrete_stairs_from_green_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/green_rebar_concrete_stairs_from_green_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..bef53feb --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/green_rebar_concrete_stairs_from_green_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:green_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:green_rebar_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/green_rebar_concrete_wall_from_green_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/green_rebar_concrete_wall_from_green_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..e4b9d60d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/green_rebar_concrete_wall_from_green_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:green_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:green_rebar_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/hot_blast/hot_air.json b/src/generated/resources/data/tfmg/recipe/hot_blast/hot_air.json new file mode 100644 index 00000000..d89e1cad --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/hot_blast/hot_air.json @@ -0,0 +1,26 @@ +{ + "type": "create:hot_blast", + "ingredients": [ + { + "type": "fluid_stack", + "amount": 25, + "fluid": "tfmg:air" + }, + { + "type": "fluid_tag", + "amount": 5, + "fluid_tag": "tfmg:blast_stove_fuel" + } + ], + "processing_time": 200, + "results": [ + { + "amount": 25, + "id": "tfmg:hot_air" + }, + { + "amount": 25, + "id": "tfmg:carbon_dioxide" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/industrial_blasting/silicon.json b/src/generated/resources/data/tfmg/recipe/industrial_blasting/silicon.json new file mode 100644 index 00000000..2cd2e88a --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/industrial_blasting/silicon.json @@ -0,0 +1,15 @@ +{ + "type": "create:industrial_blasting", + "ingredients": [ + { + "item": "minecraft:quartz" + } + ], + "processing_time": 5, + "results": [ + { + "amount": 40, + "id": "tfmg:liquid_silicon" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/industrial_blasting/steel.json b/src/generated/resources/data/tfmg/recipe/industrial_blasting/steel.json new file mode 100644 index 00000000..d970a663 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/industrial_blasting/steel.json @@ -0,0 +1,27 @@ +{ + "type": "create:industrial_blasting", + "hot_air_usage": 20, + "ingredients": [ + { + "item": "create:crushed_raw_iron" + }, + { + "tag": "tfmg:flux" + } + ], + "processing_time": 20, + "results": [ + { + "amount": 144, + "id": "tfmg:molten_steel" + }, + { + "amount": 144, + "id": "tfmg:molten_slag" + }, + { + "amount": 200, + "id": "tfmg:furnace_gas" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/industrial_blasting/steel_from_dust.json b/src/generated/resources/data/tfmg/recipe/industrial_blasting/steel_from_dust.json new file mode 100644 index 00000000..c1692360 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/industrial_blasting/steel_from_dust.json @@ -0,0 +1,27 @@ +{ + "type": "create:industrial_blasting", + "hot_air_usage": 20, + "ingredients": [ + { + "tag": "c:dusts/iron" + }, + { + "tag": "tfmg:flux" + } + ], + "processing_time": 20, + "results": [ + { + "amount": 144, + "id": "tfmg:molten_steel" + }, + { + "amount": 144, + "id": "tfmg:molten_slag" + }, + { + "amount": 20, + "id": "tfmg:furnace_gas" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/industrial_blasting/steel_from_raw_iron.json b/src/generated/resources/data/tfmg/recipe/industrial_blasting/steel_from_raw_iron.json new file mode 100644 index 00000000..a7bb68d6 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/industrial_blasting/steel_from_raw_iron.json @@ -0,0 +1,27 @@ +{ + "type": "create:industrial_blasting", + "hot_air_usage": 40, + "ingredients": [ + { + "item": "minecraft:raw_iron" + }, + { + "tag": "tfmg:flux" + } + ], + "processing_time": 40, + "results": [ + { + "amount": 288, + "id": "tfmg:molten_steel" + }, + { + "amount": 288, + "id": "tfmg:molten_slag" + }, + { + "amount": 200, + "id": "tfmg:furnace_gas" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/industrial_pipe_from_ingots_steel_stonecutting.json b/src/generated/resources/data/tfmg/recipe/industrial_pipe_from_ingots_steel_stonecutting.json new file mode 100644 index 00000000..f44ab474 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/industrial_pipe_from_ingots_steel_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/steel" + }, + "result": { + "count": 8, + "id": "tfmg:industrial_pipe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/item_application/aluminum_casing.json b/src/generated/resources/data/tfmg/recipe/item_application/aluminum_casing.json new file mode 100644 index 00000000..57c852b7 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/item_application/aluminum_casing.json @@ -0,0 +1,16 @@ +{ + "type": "create:item_application", + "ingredients": [ + { + "item": "tfmg:steel_casing" + }, + { + "tag": "c:plates/aluminum" + } + ], + "results": [ + { + "id": "tfmg:industrial_aluminum_casing" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/item_application/coated_circuit_board.json b/src/generated/resources/data/tfmg/recipe/item_application/coated_circuit_board.json new file mode 100644 index 00000000..257230a5 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/item_application/coated_circuit_board.json @@ -0,0 +1,16 @@ +{ + "type": "create:item_application", + "ingredients": [ + { + "item": "tfmg:empty_circuit_board" + }, + { + "tag": "c:plates/gold" + } + ], + "results": [ + { + "id": "tfmg:coated_circuit_board" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/item_application/heavy_machinery_casing.json b/src/generated/resources/data/tfmg/recipe/item_application/heavy_machinery_casing.json new file mode 100644 index 00000000..7aef00b0 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/item_application/heavy_machinery_casing.json @@ -0,0 +1,16 @@ +{ + "type": "create:item_application", + "ingredients": [ + { + "item": "tfmg:steel_casing" + }, + { + "tag": "c:plates/steel" + } + ], + "results": [ + { + "id": "tfmg:heavy_machinery_casing" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/item_application/steel_casing.json b/src/generated/resources/data/tfmg/recipe/item_application/steel_casing.json new file mode 100644 index 00000000..c980a1a5 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/item_application/steel_casing.json @@ -0,0 +1,16 @@ +{ + "type": "create:item_application", + "ingredients": [ + { + "item": "tfmg:hardened_planks" + }, + { + "tag": "c:ingots/steel" + } + ], + "results": [ + { + "id": "tfmg:steel_casing" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/large_pumpjack_hammer_part_from_storage_blocks_steel_stonecutting.json b/src/generated/resources/data/tfmg/recipe/large_pumpjack_hammer_part_from_storage_blocks_steel_stonecutting.json new file mode 100644 index 00000000..7c852e4b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/large_pumpjack_hammer_part_from_storage_blocks_steel_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:storage_blocks/steel" + }, + "result": { + "count": 2, + "id": "tfmg:large_pumpjack_hammer_part" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/layered_bauxite_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/recipe/layered_bauxite_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..9a364617 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/layered_bauxite_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 1, + "id": "tfmg:layered_bauxite" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/layered_galena_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/recipe/layered_galena_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..3172b7b6 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/layered_galena_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 1, + "id": "tfmg:layered_galena" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/lead_bars_from_ingots_lead_stonecutting.json b/src/generated/resources/data/tfmg/recipe/lead_bars_from_ingots_lead_stonecutting.json new file mode 100644 index 00000000..f5d90a0c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/lead_bars_from_ingots_lead_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/lead" + }, + "result": { + "count": 4, + "id": "tfmg:lead_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/lead_ladder_from_ingots_lead_stonecutting.json b/src/generated/resources/data/tfmg/recipe/lead_ladder_from_ingots_lead_stonecutting.json new file mode 100644 index 00000000..c0e3db94 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/lead_ladder_from_ingots_lead_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/lead" + }, + "result": { + "count": 2, + "id": "tfmg:lead_ladder" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/light_blue_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/recipe/light_blue_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..151ada96 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/light_blue_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:light_blue_caution_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/light_blue_concrete_slab_from_light_blue_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/light_blue_concrete_slab_from_light_blue_concrete_stonecutting.json new file mode 100644 index 00000000..e658fec3 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/light_blue_concrete_slab_from_light_blue_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:light_blue_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:light_blue_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/light_blue_concrete_stairs_from_light_blue_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/light_blue_concrete_stairs_from_light_blue_concrete_stonecutting.json new file mode 100644 index 00000000..bce4fdc3 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/light_blue_concrete_stairs_from_light_blue_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:light_blue_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:light_blue_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/light_blue_concrete_wall_from_light_blue_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/light_blue_concrete_wall_from_light_blue_concrete_stonecutting.json new file mode 100644 index 00000000..c3adf88c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/light_blue_concrete_wall_from_light_blue_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:light_blue_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:light_blue_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/light_blue_rebar_concrete_slab_from_light_blue_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/light_blue_rebar_concrete_slab_from_light_blue_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..27afc346 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/light_blue_rebar_concrete_slab_from_light_blue_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:light_blue_rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:light_blue_rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/light_blue_rebar_concrete_stairs_from_light_blue_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/light_blue_rebar_concrete_stairs_from_light_blue_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..bb1d345e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/light_blue_rebar_concrete_stairs_from_light_blue_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:light_blue_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:light_blue_rebar_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/light_blue_rebar_concrete_wall_from_light_blue_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/light_blue_rebar_concrete_wall_from_light_blue_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..3c24910c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/light_blue_rebar_concrete_wall_from_light_blue_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:light_blue_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:light_blue_rebar_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/light_gray_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/recipe/light_gray_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..452b523d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/light_gray_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:light_gray_caution_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/light_gray_concrete_slab_from_light_gray_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/light_gray_concrete_slab_from_light_gray_concrete_stonecutting.json new file mode 100644 index 00000000..6f202d90 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/light_gray_concrete_slab_from_light_gray_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:light_gray_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:light_gray_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json new file mode 100644 index 00000000..3fe51f45 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/light_gray_concrete_stairs_from_light_gray_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:light_gray_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:light_gray_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/light_gray_concrete_wall_from_light_gray_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/light_gray_concrete_wall_from_light_gray_concrete_stonecutting.json new file mode 100644 index 00000000..164bb222 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/light_gray_concrete_wall_from_light_gray_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:light_gray_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:light_gray_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/light_gray_rebar_concrete_slab_from_light_gray_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/light_gray_rebar_concrete_slab_from_light_gray_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..36e3fc0d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/light_gray_rebar_concrete_slab_from_light_gray_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:light_gray_rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:light_gray_rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/light_gray_rebar_concrete_stairs_from_light_gray_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/light_gray_rebar_concrete_stairs_from_light_gray_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..37e8f974 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/light_gray_rebar_concrete_stairs_from_light_gray_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:light_gray_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:light_gray_rebar_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/light_gray_rebar_concrete_wall_from_light_gray_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/light_gray_rebar_concrete_wall_from_light_gray_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..f99e93b7 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/light_gray_rebar_concrete_wall_from_light_gray_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:light_gray_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:light_gray_rebar_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/lime_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/recipe/lime_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..9df036e3 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/lime_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:lime_caution_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/lime_concrete_slab_from_lime_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/lime_concrete_slab_from_lime_concrete_stonecutting.json new file mode 100644 index 00000000..4f124e01 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/lime_concrete_slab_from_lime_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:lime_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:lime_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/lime_concrete_stairs_from_lime_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/lime_concrete_stairs_from_lime_concrete_stonecutting.json new file mode 100644 index 00000000..6bccc341 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/lime_concrete_stairs_from_lime_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:lime_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:lime_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/lime_concrete_wall_from_lime_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/lime_concrete_wall_from_lime_concrete_stonecutting.json new file mode 100644 index 00000000..44d974bd --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/lime_concrete_wall_from_lime_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:lime_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:lime_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/lime_rebar_concrete_slab_from_lime_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/lime_rebar_concrete_slab_from_lime_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..d51a9cdf --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/lime_rebar_concrete_slab_from_lime_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:lime_rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:lime_rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/lime_rebar_concrete_stairs_from_lime_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/lime_rebar_concrete_stairs_from_lime_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..f1da104b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/lime_rebar_concrete_stairs_from_lime_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:lime_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:lime_rebar_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/lime_rebar_concrete_wall_from_lime_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/lime_rebar_concrete_wall_from_lime_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..64d74573 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/lime_rebar_concrete_wall_from_lime_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:lime_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:lime_rebar_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/magenta_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/recipe/magenta_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..990a4494 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/magenta_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:magenta_caution_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/magenta_concrete_slab_from_magenta_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/magenta_concrete_slab_from_magenta_concrete_stonecutting.json new file mode 100644 index 00000000..37c6e808 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/magenta_concrete_slab_from_magenta_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:magenta_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:magenta_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/magenta_concrete_stairs_from_magenta_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/magenta_concrete_stairs_from_magenta_concrete_stonecutting.json new file mode 100644 index 00000000..2b93628f --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/magenta_concrete_stairs_from_magenta_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:magenta_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:magenta_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/magenta_concrete_wall_from_magenta_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/magenta_concrete_wall_from_magenta_concrete_stonecutting.json new file mode 100644 index 00000000..275dfec9 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/magenta_concrete_wall_from_magenta_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:magenta_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:magenta_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/magenta_rebar_concrete_slab_from_magenta_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/magenta_rebar_concrete_slab_from_magenta_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..69f08947 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/magenta_rebar_concrete_slab_from_magenta_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:magenta_rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:magenta_rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/magenta_rebar_concrete_stairs_from_magenta_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/magenta_rebar_concrete_stairs_from_magenta_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..5e9dab13 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/magenta_rebar_concrete_stairs_from_magenta_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:magenta_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:magenta_rebar_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/magenta_rebar_concrete_wall_from_magenta_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/magenta_rebar_concrete_wall_from_magenta_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..a8747381 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/magenta_rebar_concrete_wall_from_magenta_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:magenta_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:magenta_rebar_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mechanical_crafting/advanced_potato_cannon.json b/src/generated/resources/data/tfmg/recipe/mechanical_crafting/advanced_potato_cannon.json new file mode 100644 index 00000000..1cd3a0d1 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mechanical_crafting/advanced_potato_cannon.json @@ -0,0 +1,31 @@ +{ + "type": "create:mechanical_crafting", + "accept_mirrored": false, + "category": "misc", + "key": { + "C": { + "item": "tfmg:circuit_board" + }, + "M": { + "item": "tfmg:steel_mechanism" + }, + "O": { + "item": "tfmg:rebar" + }, + "P": { + "item": "tfmg:steel_pipe" + }, + "T": { + "item": "tfmg:steel_fluid_tank" + } + }, + "pattern": [ + "PPPT", + " MCO" + ], + "result": { + "count": 1, + "id": "tfmg:advanced_potato_cannon" + }, + "show_notification": false +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mechanical_crafting/engine_controller.json b/src/generated/resources/data/tfmg/recipe/mechanical_crafting/engine_controller.json new file mode 100644 index 00000000..2f0749da --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mechanical_crafting/engine_controller.json @@ -0,0 +1,39 @@ +{ + "type": "create:mechanical_crafting", + "accept_mirrored": false, + "category": "misc", + "key": { + "C": { + "item": "tfmg:heavy_machinery_casing" + }, + "M": { + "item": "tfmg:steel_mechanism" + }, + "R": { + "item": "tfmg:rubber_sheet" + }, + "S": { + "item": "create:shaft" + }, + "V": { + "item": "tfmg:voltmeter" + }, + "W": { + "tag": "c:wires/copper" + }, + "Z": { + "item": "tfmg:circuit_board" + } + }, + "pattern": [ + "RRR", + "VSV", + "WCW", + "ZMZ" + ], + "result": { + "count": 1, + "id": "tfmg:engine_controller" + }, + "show_notification": false +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mechanical_crafting/flamethrower.json b/src/generated/resources/data/tfmg/recipe/mechanical_crafting/flamethrower.json new file mode 100644 index 00000000..e3a580fe --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mechanical_crafting/flamethrower.json @@ -0,0 +1,41 @@ +{ + "type": "create:mechanical_crafting", + "accept_mirrored": false, + "category": "misc", + "key": { + "B": { + "item": "tfmg:aluminum_bars" + }, + "C": { + "item": "tfmg:circuit_board" + }, + "M": { + "item": "tfmg:steel_mechanism" + }, + "O": { + "tag": "c:ingots/steel" + }, + "P": { + "item": "tfmg:steel_pipe" + }, + "S": { + "item": "tfmg:spark_plug" + }, + "T": { + "item": "tfmg:steel_fluid_tank" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "BWC ", + "PPTM", + "S O " + ], + "result": { + "count": 1, + "id": "tfmg:flamethrower" + }, + "show_notification": false +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mechanical_crafting/large_engine.json b/src/generated/resources/data/tfmg/recipe/mechanical_crafting/large_engine.json new file mode 100644 index 00000000..16913873 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mechanical_crafting/large_engine.json @@ -0,0 +1,40 @@ +{ + "type": "create:mechanical_crafting", + "accept_mirrored": true, + "category": "misc", + "key": { + "A": { + "tag": "c:plates/aluminum" + }, + "B": { + "tag": "c:ingots/aluminum" + }, + "C": { + "item": "tfmg:heavy_machinery_casing" + }, + "H": { + "item": "tfmg:heavy_plate" + }, + "O": { + "tag": "c:ingots/steel" + }, + "S": { + "item": "tfmg:steel_mechanism" + }, + "T": { + "item": "tfmg:steel_fluid_tank" + } + }, + "pattern": [ + " O ", + " B ", + "AOA", + "SCS", + "STS", + "HHH" + ], + "result": { + "count": 1, + "id": "tfmg:large_engine" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mechanical_crafting/quad_potato_cannon.json b/src/generated/resources/data/tfmg/recipe/mechanical_crafting/quad_potato_cannon.json new file mode 100644 index 00000000..5c7eb523 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mechanical_crafting/quad_potato_cannon.json @@ -0,0 +1,29 @@ +{ + "type": "create:mechanical_crafting", + "accept_mirrored": false, + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/cast_iron" + }, + "M": { + "item": "tfmg:steel_mechanism" + }, + "O": { + "tag": "c:ingots/steel" + }, + "P": { + "item": "tfmg:steel_pipe" + } + }, + "pattern": [ + "PMPC", + "PMPC", + " O " + ], + "result": { + "count": 1, + "id": "tfmg:quad_potato_cannon" + }, + "show_notification": false +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mechanical_crafting/rotor.json b/src/generated/resources/data/tfmg/recipe/mechanical_crafting/rotor.json new file mode 100644 index 00000000..c8ab82ee --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mechanical_crafting/rotor.json @@ -0,0 +1,28 @@ +{ + "type": "create:mechanical_crafting", + "accept_mirrored": false, + "category": "misc", + "key": { + "A": { + "tag": "c:ingots/aluminum" + }, + "C": { + "item": "tfmg:electromagnetic_coil" + }, + "S": { + "tag": "c:storage_blocks/steel" + } + }, + "pattern": [ + " CCC ", + "CAAAC", + "CASAC", + "CAAAC", + " CCC " + ], + "result": { + "count": 1, + "id": "tfmg:rotor" + }, + "show_notification": false +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mechanical_crafting/simple_large_engine.json b/src/generated/resources/data/tfmg/recipe/mechanical_crafting/simple_large_engine.json new file mode 100644 index 00000000..e29887fc --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mechanical_crafting/simple_large_engine.json @@ -0,0 +1,27 @@ +{ + "type": "create:mechanical_crafting", + "accept_mirrored": false, + "category": "misc", + "key": { + "C": { + "tag": "c:ingots/cast_iron" + }, + "M": { + "item": "create:precision_mechanism" + }, + "O": { + "tag": "c:plates/steel" + } + }, + "pattern": [ + "CCC", + "OCO", + "OMO", + "OCO" + ], + "result": { + "count": 1, + "id": "tfmg:simple_large_engine" + }, + "show_notification": false +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mechanical_crafting/spark_plug.json b/src/generated/resources/data/tfmg/recipe/mechanical_crafting/spark_plug.json new file mode 100644 index 00000000..134d0a2b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mechanical_crafting/spark_plug.json @@ -0,0 +1,22 @@ +{ + "type": "create:mechanical_crafting", + "accept_mirrored": false, + "category": "misc", + "key": { + "A": { + "tag": "c:ingots/aluminum" + }, + "F": { + "item": "minecraft:flint" + } + }, + "pattern": [ + "F", + "A" + ], + "result": { + "count": 1, + "id": "tfmg:spark_plug" + }, + "show_notification": false +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mechanical_crafting/stator.json b/src/generated/resources/data/tfmg/recipe/mechanical_crafting/stator.json new file mode 100644 index 00000000..17f97b1d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mechanical_crafting/stator.json @@ -0,0 +1,33 @@ +{ + "type": "create:mechanical_crafting", + "accept_mirrored": false, + "category": "misc", + "key": { + "A": { + "tag": "c:plates/aluminum" + }, + "C": { + "item": "tfmg:electromagnetic_coil" + }, + "M": { + "item": "tfmg:magnet" + }, + "S": { + "tag": "c:storage_blocks/steel" + }, + "W": { + "tag": "c:wires/copper" + } + }, + "pattern": [ + "CM ", + "ACM ", + "ASCM", + "WAAC" + ], + "result": { + "count": 3, + "id": "tfmg:stator" + }, + "show_notification": false +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mixing/asphalt_mixture.json b/src/generated/resources/data/tfmg/recipe/mixing/asphalt_mixture.json new file mode 100644 index 00000000..edf6dd1e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mixing/asphalt_mixture.json @@ -0,0 +1,20 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "item": "minecraft:sand" + }, + { + "item": "tfmg:bitumen" + }, + { + "item": "minecraft:gravel" + } + ], + "results": [ + { + "count": 16, + "id": "tfmg:asphalt_mixture" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mixing/asphalt_mixture_from_slag.json b/src/generated/resources/data/tfmg/recipe/mixing/asphalt_mixture_from_slag.json new file mode 100644 index 00000000..d1541026 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mixing/asphalt_mixture_from_slag.json @@ -0,0 +1,20 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "item": "tfmg:slag" + }, + { + "item": "tfmg:bitumen" + }, + { + "item": "minecraft:gravel" + } + ], + "results": [ + { + "count": 32, + "id": "tfmg:asphalt_mixture" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mixing/cement.json b/src/generated/resources/data/tfmg/recipe/mixing/cement.json new file mode 100644 index 00000000..2cf4bcb1 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mixing/cement.json @@ -0,0 +1,17 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "item": "minecraft:clay_ball" + }, + { + "item": "tfmg:limesand" + } + ], + "results": [ + { + "count": 4, + "id": "tfmg:cement" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mixing/concrete_mixture.json b/src/generated/resources/data/tfmg/recipe/mixing/concrete_mixture.json new file mode 100644 index 00000000..d969288e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mixing/concrete_mixture.json @@ -0,0 +1,20 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "item": "minecraft:sand" + }, + { + "item": "tfmg:cement" + }, + { + "item": "minecraft:gravel" + } + ], + "results": [ + { + "count": 16, + "id": "tfmg:concrete_mixture" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mixing/concrete_mixture_from_slag.json b/src/generated/resources/data/tfmg/recipe/mixing/concrete_mixture_from_slag.json new file mode 100644 index 00000000..8cbd3bad --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mixing/concrete_mixture_from_slag.json @@ -0,0 +1,20 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "item": "tfmg:slag" + }, + { + "item": "tfmg:cement" + }, + { + "item": "minecraft:gravel" + } + ], + "results": [ + { + "count": 32, + "id": "tfmg:concrete_mixture" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mixing/constantan.json b/src/generated/resources/data/tfmg/recipe/mixing/constantan.json new file mode 100644 index 00000000..e52e4802 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mixing/constantan.json @@ -0,0 +1,18 @@ +{ + "type": "create:mixing", + "heat_requirement": "heated", + "ingredients": [ + { + "item": "minecraft:copper_ingot" + }, + { + "tag": "c:ingots/nickel" + } + ], + "results": [ + { + "count": 2, + "id": "tfmg:constantan_ingot" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mixing/cooling_fluid.json b/src/generated/resources/data/tfmg/recipe/mixing/cooling_fluid.json new file mode 100644 index 00000000..eed588d3 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mixing/cooling_fluid.json @@ -0,0 +1,21 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "type": "fluid_stack", + "amount": 250, + "fluid": "minecraft:water" + }, + { + "type": "fluid_stack", + "amount": 1000, + "fluid": "tfmg:ethylene" + } + ], + "results": [ + { + "amount": 250, + "id": "tfmg:cooling_fluid" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mixing/copper_sulfate.json b/src/generated/resources/data/tfmg/recipe/mixing/copper_sulfate.json new file mode 100644 index 00000000..3d14f724 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mixing/copper_sulfate.json @@ -0,0 +1,18 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "item": "minecraft:copper_ingot" + }, + { + "type": "fluid_stack", + "amount": 500, + "fluid": "tfmg:sulfuric_acid" + } + ], + "results": [ + { + "id": "tfmg:copper_sulfate" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mixing/gunpowder.json b/src/generated/resources/data/tfmg/recipe/mixing/gunpowder.json new file mode 100644 index 00000000..35febc5b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mixing/gunpowder.json @@ -0,0 +1,29 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "item": "tfmg:nitrate_dust" + }, + { + "item": "tfmg:nitrate_dust" + }, + { + "item": "tfmg:nitrate_dust" + }, + { + "item": "minecraft:charcoal" + }, + { + "item": "minecraft:charcoal" + }, + { + "item": "tfmg:sulfur_dust" + } + ], + "results": [ + { + "count": 3, + "id": "minecraft:gunpowder" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mixing/liquid_asphalt.json b/src/generated/resources/data/tfmg/recipe/mixing/liquid_asphalt.json new file mode 100644 index 00000000..caf942a9 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mixing/liquid_asphalt.json @@ -0,0 +1,19 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "item": "tfmg:asphalt_mixture" + }, + { + "type": "fluid_stack", + "amount": 250, + "fluid": "minecraft:water" + } + ], + "results": [ + { + "amount": 1000, + "id": "tfmg:liquid_asphalt" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mixing/liquid_concrete.json b/src/generated/resources/data/tfmg/recipe/mixing/liquid_concrete.json new file mode 100644 index 00000000..5296efe9 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mixing/liquid_concrete.json @@ -0,0 +1,19 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "item": "tfmg:concrete_mixture" + }, + { + "type": "fluid_stack", + "amount": 250, + "fluid": "minecraft:water" + } + ], + "results": [ + { + "amount": 1000, + "id": "tfmg:liquid_concrete" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mixing/magnetic_alloy.json b/src/generated/resources/data/tfmg/recipe/mixing/magnetic_alloy.json new file mode 100644 index 00000000..1771d0e3 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mixing/magnetic_alloy.json @@ -0,0 +1,28 @@ +{ + "type": "create:mixing", + "heat_requirement": "heated", + "ingredients": [ + { + "tag": "c:ingots/nickel" + }, + { + "tag": "c:ingots/nickel" + }, + { + "item": "tfmg:silicon_ingot" + }, + { + "tag": "c:ingots/steel" + }, + { + "tag": "c:ingots/steel" + } + ], + "processing_time": 300, + "results": [ + { + "count": 2, + "id": "tfmg:magnetic_alloy_ingot" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mixing/n_semiconductor.json b/src/generated/resources/data/tfmg/recipe/mixing/n_semiconductor.json new file mode 100644 index 00000000..b5ce20f9 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mixing/n_semiconductor.json @@ -0,0 +1,16 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "item": "tfmg:sulfur_dust" + }, + { + "item": "tfmg:silicon_ingot" + } + ], + "results": [ + { + "id": "tfmg:n_semiconductor" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mixing/napalm.json b/src/generated/resources/data/tfmg/recipe/mixing/napalm.json new file mode 100644 index 00000000..368a2144 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mixing/napalm.json @@ -0,0 +1,19 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "tag": "c:ingots/aluminum" + }, + { + "type": "fluid_stack", + "amount": 1000, + "fluid": "tfmg:gasoline" + } + ], + "results": [ + { + "amount": 250, + "id": "tfmg:napalm" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mixing/p_semiconductor.json b/src/generated/resources/data/tfmg/recipe/mixing/p_semiconductor.json new file mode 100644 index 00000000..4a78cc41 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mixing/p_semiconductor.json @@ -0,0 +1,16 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "tag": "c:ingots/aluminum" + }, + { + "item": "tfmg:silicon_ingot" + } + ], + "results": [ + { + "id": "tfmg:p_semiconductor" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/mixing/thermite.json b/src/generated/resources/data/tfmg/recipe/mixing/thermite.json new file mode 100644 index 00000000..c321a750 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/mixing/thermite.json @@ -0,0 +1,22 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "item": "create:crimsite" + }, + { + "item": "create:crimsite" + }, + { + "tag": "c:ingots/aluminum" + }, + { + "tag": "c:ingots/aluminum" + } + ], + "results": [ + { + "id": "tfmg:thermite_powder" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/nickel_bars_from_ingots_nickel_stonecutting.json b/src/generated/resources/data/tfmg/recipe/nickel_bars_from_ingots_nickel_stonecutting.json new file mode 100644 index 00000000..911f52d8 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/nickel_bars_from_ingots_nickel_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/nickel" + }, + "result": { + "count": 4, + "id": "tfmg:nickel_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/nickel_ladder_from_ingots_nickel_stonecutting.json b/src/generated/resources/data/tfmg/recipe/nickel_ladder_from_ingots_nickel_stonecutting.json new file mode 100644 index 00000000..897f93cd --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/nickel_ladder_from_ingots_nickel_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/nickel" + }, + "result": { + "count": 2, + "id": "tfmg:nickel_ladder" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/orange_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/recipe/orange_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..1319f156 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/orange_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:orange_caution_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/orange_concrete_slab_from_orange_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/orange_concrete_slab_from_orange_concrete_stonecutting.json new file mode 100644 index 00000000..ab022b2a --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/orange_concrete_slab_from_orange_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:orange_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:orange_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/orange_concrete_stairs_from_orange_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/orange_concrete_stairs_from_orange_concrete_stonecutting.json new file mode 100644 index 00000000..0bf8c62e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/orange_concrete_stairs_from_orange_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:orange_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:orange_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/orange_concrete_wall_from_orange_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/orange_concrete_wall_from_orange_concrete_stonecutting.json new file mode 100644 index 00000000..a4eba626 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/orange_concrete_wall_from_orange_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:orange_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:orange_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/orange_rebar_concrete_slab_from_orange_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/orange_rebar_concrete_slab_from_orange_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..32433358 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/orange_rebar_concrete_slab_from_orange_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:orange_rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:orange_rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/orange_rebar_concrete_stairs_from_orange_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/orange_rebar_concrete_stairs_from_orange_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..98f7db46 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/orange_rebar_concrete_stairs_from_orange_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:orange_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:orange_rebar_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/orange_rebar_concrete_wall_from_orange_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/orange_rebar_concrete_wall_from_orange_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..5ac25bf1 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/orange_rebar_concrete_wall_from_orange_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:orange_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:orange_rebar_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/pink_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/recipe/pink_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..0d5edd78 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/pink_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:pink_caution_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/pink_concrete_slab_from_pink_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/pink_concrete_slab_from_pink_concrete_stonecutting.json new file mode 100644 index 00000000..ef116b98 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/pink_concrete_slab_from_pink_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:pink_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:pink_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/pink_concrete_stairs_from_pink_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/pink_concrete_stairs_from_pink_concrete_stonecutting.json new file mode 100644 index 00000000..a6574c0b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/pink_concrete_stairs_from_pink_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:pink_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:pink_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/pink_concrete_wall_from_pink_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/pink_concrete_wall_from_pink_concrete_stonecutting.json new file mode 100644 index 00000000..7a7b9abe --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/pink_concrete_wall_from_pink_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:pink_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:pink_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/pink_rebar_concrete_slab_from_pink_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/pink_rebar_concrete_slab_from_pink_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..79bc8bc9 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/pink_rebar_concrete_slab_from_pink_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:pink_rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:pink_rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/pink_rebar_concrete_stairs_from_pink_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/pink_rebar_concrete_stairs_from_pink_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..cd9e01c1 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/pink_rebar_concrete_stairs_from_pink_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:pink_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:pink_rebar_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/pink_rebar_concrete_wall_from_pink_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/pink_rebar_concrete_wall_from_pink_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..ce68098b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/pink_rebar_concrete_wall_from_pink_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:pink_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:pink_rebar_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/polarizing/magnet.json b/src/generated/resources/data/tfmg/recipe/polarizing/magnet.json new file mode 100644 index 00000000..b7149a2c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/polarizing/magnet.json @@ -0,0 +1,13 @@ +{ + "type": "create:polarizing", + "ingredients": [ + { + "item": "tfmg:magnetic_alloy_ingot" + } + ], + "results": [ + { + "id": "tfmg:magnet" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..a636bd42 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 1, + "id": "tfmg:polished_cut_bauxite" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_slab.json b/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_slab.json new file mode 100644 index 00000000..667a6d51 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_slab.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "polished_cut_bauxite_slab", + "key": { + "X": { + "item": "tfmg:polished_cut_bauxite" + } + }, + "pattern": [ + "XXX" + ], + "result": { + "count": 6, + "id": "tfmg:polished_cut_bauxite_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_slab_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_slab_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..d9bff4b0 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_slab_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 2, + "id": "tfmg:polished_cut_bauxite_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_slab_recycling.json b/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_slab_recycling.json new file mode 100644 index 00000000..e3053c8e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_slab_recycling.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "tfmg:polished_cut_bauxite_slab" + }, + { + "item": "tfmg:polished_cut_bauxite_slab" + } + ], + "result": { + "count": 1, + "id": "tfmg:polished_cut_bauxite" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_stairs.json b/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_stairs.json new file mode 100644 index 00000000..22127c8a --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_stairs.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "polished_cut_bauxite_stairs", + "key": { + "X": { + "item": "tfmg:polished_cut_bauxite" + } + }, + "pattern": [ + "X ", + "XX ", + "XXX" + ], + "result": { + "count": 4, + "id": "tfmg:polished_cut_bauxite_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..c5463bc2 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_stairs_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 1, + "id": "tfmg:polished_cut_bauxite_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_wall.json b/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_wall.json new file mode 100644 index 00000000..e64ed87b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "X": { + "item": "tfmg:polished_cut_bauxite" + } + }, + "pattern": [ + "XXX", + "XXX" + ], + "result": { + "count": 6, + "id": "tfmg:polished_cut_bauxite_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_wall_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_wall_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..cc5c33b2 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/polished_cut_bauxite_wall_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 1, + "id": "tfmg:polished_cut_bauxite_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/polished_cut_galena_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/recipe/polished_cut_galena_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..20c31dc8 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/polished_cut_galena_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 1, + "id": "tfmg:polished_cut_galena" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/polished_cut_galena_slab.json b/src/generated/resources/data/tfmg/recipe/polished_cut_galena_slab.json new file mode 100644 index 00000000..74242daa --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/polished_cut_galena_slab.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "polished_cut_galena_slab", + "key": { + "X": { + "item": "tfmg:polished_cut_galena" + } + }, + "pattern": [ + "XXX" + ], + "result": { + "count": 6, + "id": "tfmg:polished_cut_galena_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/polished_cut_galena_slab_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/recipe/polished_cut_galena_slab_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..5dd8c6d1 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/polished_cut_galena_slab_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 2, + "id": "tfmg:polished_cut_galena_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/polished_cut_galena_slab_recycling.json b/src/generated/resources/data/tfmg/recipe/polished_cut_galena_slab_recycling.json new file mode 100644 index 00000000..802b0a4a --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/polished_cut_galena_slab_recycling.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "tfmg:polished_cut_galena_slab" + }, + { + "item": "tfmg:polished_cut_galena_slab" + } + ], + "result": { + "count": 1, + "id": "tfmg:polished_cut_galena" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/polished_cut_galena_stairs.json b/src/generated/resources/data/tfmg/recipe/polished_cut_galena_stairs.json new file mode 100644 index 00000000..c651b7ce --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/polished_cut_galena_stairs.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "polished_cut_galena_stairs", + "key": { + "X": { + "item": "tfmg:polished_cut_galena" + } + }, + "pattern": [ + "X ", + "XX ", + "XXX" + ], + "result": { + "count": 4, + "id": "tfmg:polished_cut_galena_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/polished_cut_galena_stairs_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/recipe/polished_cut_galena_stairs_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..4b1345bf --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/polished_cut_galena_stairs_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 1, + "id": "tfmg:polished_cut_galena_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/polished_cut_galena_wall.json b/src/generated/resources/data/tfmg/recipe/polished_cut_galena_wall.json new file mode 100644 index 00000000..7401be1e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/polished_cut_galena_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "X": { + "item": "tfmg:polished_cut_galena" + } + }, + "pattern": [ + "XXX", + "XXX" + ], + "result": { + "count": 6, + "id": "tfmg:polished_cut_galena_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/polished_cut_galena_wall_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/recipe/polished_cut_galena_wall_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..b818fb92 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/polished_cut_galena_wall_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 1, + "id": "tfmg:polished_cut_galena_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/pressing/aluminum_ingot.json b/src/generated/resources/data/tfmg/recipe/pressing/aluminum_ingot.json new file mode 100644 index 00000000..320e8b32 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/pressing/aluminum_ingot.json @@ -0,0 +1,13 @@ +{ + "type": "create:pressing", + "ingredients": [ + { + "tag": "c:ingots/aluminum" + } + ], + "results": [ + { + "id": "tfmg:aluminum_sheet" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/pressing/cast_iron_ingot.json b/src/generated/resources/data/tfmg/recipe/pressing/cast_iron_ingot.json new file mode 100644 index 00000000..9a288646 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/pressing/cast_iron_ingot.json @@ -0,0 +1,13 @@ +{ + "type": "create:pressing", + "ingredients": [ + { + "tag": "c:ingots/cast_iron" + } + ], + "results": [ + { + "id": "tfmg:cast_iron_sheet" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/pressing/lead_ingot.json b/src/generated/resources/data/tfmg/recipe/pressing/lead_ingot.json new file mode 100644 index 00000000..371b2a2a --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/pressing/lead_ingot.json @@ -0,0 +1,13 @@ +{ + "type": "create:pressing", + "ingredients": [ + { + "tag": "c:ingots/lead" + } + ], + "results": [ + { + "id": "tfmg:lead_sheet" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/pressing/nickel_ingot.json b/src/generated/resources/data/tfmg/recipe/pressing/nickel_ingot.json new file mode 100644 index 00000000..adf97f7d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/pressing/nickel_ingot.json @@ -0,0 +1,13 @@ +{ + "type": "create:pressing", + "ingredients": [ + { + "tag": "c:ingots/nickel" + } + ], + "results": [ + { + "id": "tfmg:nickel_sheet" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/pressing/synthetic_leather.json b/src/generated/resources/data/tfmg/recipe/pressing/synthetic_leather.json new file mode 100644 index 00000000..d9797b8e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/pressing/synthetic_leather.json @@ -0,0 +1,13 @@ +{ + "type": "create:pressing", + "ingredients": [ + { + "item": "tfmg:rubber_sheet" + } + ], + "results": [ + { + "id": "tfmg:synthetic_leather" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/pumpjack_hammer_part_from_storage_blocks_steel_stonecutting.json b/src/generated/resources/data/tfmg/recipe/pumpjack_hammer_part_from_storage_blocks_steel_stonecutting.json new file mode 100644 index 00000000..c77e448b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/pumpjack_hammer_part_from_storage_blocks_steel_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:storage_blocks/steel" + }, + "result": { + "count": 2, + "id": "tfmg:pumpjack_hammer_part" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/purple_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/recipe/purple_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..2e172ae1 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/purple_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:purple_caution_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/purple_concrete_slab_from_purple_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/purple_concrete_slab_from_purple_concrete_stonecutting.json new file mode 100644 index 00000000..4cb764c3 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/purple_concrete_slab_from_purple_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:purple_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:purple_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/purple_concrete_stairs_from_purple_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/purple_concrete_stairs_from_purple_concrete_stonecutting.json new file mode 100644 index 00000000..7c1aabc2 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/purple_concrete_stairs_from_purple_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:purple_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:purple_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/purple_concrete_wall_from_purple_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/purple_concrete_wall_from_purple_concrete_stonecutting.json new file mode 100644 index 00000000..8701af98 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/purple_concrete_wall_from_purple_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:purple_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:purple_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/purple_rebar_concrete_slab_from_purple_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/purple_rebar_concrete_slab_from_purple_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..0212c3a7 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/purple_rebar_concrete_slab_from_purple_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:purple_rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:purple_rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/purple_rebar_concrete_stairs_from_purple_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/purple_rebar_concrete_stairs_from_purple_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..342324ad --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/purple_rebar_concrete_stairs_from_purple_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:purple_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:purple_rebar_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/purple_rebar_concrete_wall_from_purple_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/purple_rebar_concrete_wall_from_purple_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..88b5678f --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/purple_rebar_concrete_wall_from_purple_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:purple_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:purple_rebar_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/rebar_concrete_slab_from_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/rebar_concrete_slab_from_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..412ae71a --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/rebar_concrete_slab_from_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/rebar_concrete_stairs_from_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/rebar_concrete_stairs_from_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..6a049df9 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/rebar_concrete_stairs_from_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:rebar_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/rebar_concrete_wall_from_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/rebar_concrete_wall_from_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..12a18afa --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/rebar_concrete_wall_from_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:rebar_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/rebar_from_ingots_steel_stonecutting.json b/src/generated/resources/data/tfmg/recipe/rebar_from_ingots_steel_stonecutting.json new file mode 100644 index 00000000..47c944dc --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/rebar_from_ingots_steel_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/steel" + }, + "result": { + "count": 4, + "id": "tfmg:rebar" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/red_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/recipe/red_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..fe109042 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/red_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:red_caution_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/red_concrete_slab_from_red_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/red_concrete_slab_from_red_concrete_stonecutting.json new file mode 100644 index 00000000..f249973c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/red_concrete_slab_from_red_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:red_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:red_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/red_concrete_stairs_from_red_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/red_concrete_stairs_from_red_concrete_stonecutting.json new file mode 100644 index 00000000..6bd3724e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/red_concrete_stairs_from_red_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:red_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:red_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/red_concrete_wall_from_red_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/red_concrete_wall_from_red_concrete_stonecutting.json new file mode 100644 index 00000000..f447e301 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/red_concrete_wall_from_red_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:red_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:red_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/red_rebar_concrete_slab_from_red_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/red_rebar_concrete_slab_from_red_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..cc4fd7cf --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/red_rebar_concrete_slab_from_red_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:red_rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:red_rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/red_rebar_concrete_stairs_from_red_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/red_rebar_concrete_stairs_from_red_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..d3a7f346 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/red_rebar_concrete_stairs_from_red_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:red_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:red_rebar_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/red_rebar_concrete_wall_from_red_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/red_rebar_concrete_wall_from_red_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..f810d877 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/red_rebar_concrete_wall_from_red_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:red_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:red_rebar_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/screw_from_ingots_steel_stonecutting.json b/src/generated/resources/data/tfmg/recipe/screw_from_ingots_steel_stonecutting.json new file mode 100644 index 00000000..4d85c043 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/screw_from_ingots_steel_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/steel" + }, + "result": { + "count": 4, + "id": "tfmg:screw" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/sequenced_assembly/capacitor.json b/src/generated/resources/data/tfmg/recipe/sequenced_assembly/capacitor.json new file mode 100644 index 00000000..bcae3c96 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/sequenced_assembly/capacitor.json @@ -0,0 +1,66 @@ +{ + "type": "create:sequenced_assembly", + "ingredient": { + "tag": "c:plates/steel" + }, + "loops": 1, + "results": [ + { + "count": 4, + "id": "tfmg:capacitor_item" + } + ], + "sequence": [ + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_capacitor" + }, + { + "tag": "c:plates/copper" + } + ], + "results": [ + { + "id": "tfmg:unfinished_capacitor" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_capacitor" + }, + { + "item": "minecraft:paper" + } + ], + "results": [ + { + "id": "tfmg:unfinished_capacitor" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_capacitor" + }, + { + "tag": "c:plates/copper" + } + ], + "results": [ + { + "id": "tfmg:unfinished_capacitor" + } + ] + } + ], + "transitional_item": { + "id": "tfmg:unfinished_capacitor" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/sequenced_assembly/generator.json b/src/generated/resources/data/tfmg/recipe/sequenced_assembly/generator.json new file mode 100644 index 00000000..e5a870e6 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/sequenced_assembly/generator.json @@ -0,0 +1,127 @@ +{ + "type": "create:sequenced_assembly", + "ingredient": { + "item": "create:shaft" + }, + "loops": 3, + "results": [ + { + "chance": 120.0, + "id": "tfmg:generator" + }, + { + "chance": 8.0, + "id": "tfmg:steel_casing" + }, + { + "chance": 8.0, + "id": "tfmg:steel_cogwheel" + }, + { + "chance": 8.0, + "id": "tfmg:capacitor_item" + } + ], + "sequence": [ + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_generator" + }, + { + "item": "tfmg:capacitor_item" + } + ], + "results": [ + { + "id": "tfmg:unfinished_generator" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_generator" + }, + { + "tag": "c:plates/steel" + } + ], + "results": [ + { + "id": "tfmg:unfinished_generator" + } + ] + }, + { + "type": "create:winding", + "ingredients": [ + { + "item": "tfmg:unfinished_generator" + }, + { + "item": "tfmg:copper_spool" + } + ], + "processing_time": 75, + "results": [ + { + "id": "tfmg:unfinished_generator" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_generator" + }, + { + "item": "tfmg:magnet" + } + ], + "results": [ + { + "id": "tfmg:unfinished_generator" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_generator" + }, + { + "item": "tfmg:steel_mechanism" + } + ], + "results": [ + { + "id": "tfmg:unfinished_generator" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_generator" + }, + { + "item": "tfmg:screwdriver" + } + ], + "results": [ + { + "id": "tfmg:unfinished_generator" + } + ] + } + ], + "transitional_item": { + "id": "tfmg:unfinished_generator" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/sequenced_assembly/heavy_plate.json b/src/generated/resources/data/tfmg/recipe/sequenced_assembly/heavy_plate.json new file mode 100644 index 00000000..10e6c5c8 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/sequenced_assembly/heavy_plate.json @@ -0,0 +1,56 @@ +{ + "type": "create:sequenced_assembly", + "ingredient": { + "tag": "c:ingots/steel" + }, + "loops": 1, + "results": [ + { + "id": "tfmg:heavy_plate" + } + ], + "sequence": [ + { + "type": "create:pressing", + "ingredients": [ + { + "item": "tfmg:unprocessed_heavy_plate" + } + ], + "results": [ + { + "id": "tfmg:unprocessed_heavy_plate" + } + ] + }, + { + "type": "create:pressing", + "ingredients": [ + { + "item": "tfmg:unprocessed_heavy_plate" + } + ], + "results": [ + { + "id": "tfmg:unprocessed_heavy_plate" + } + ] + }, + { + "type": "create:pressing", + "ingredients": [ + { + "item": "tfmg:unprocessed_heavy_plate" + } + ], + "results": [ + { + "id": "tfmg:unprocessed_heavy_plate" + } + ] + } + ], + "transitional_item": { + "id": "tfmg:unprocessed_heavy_plate" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/sequenced_assembly/motor.json b/src/generated/resources/data/tfmg/recipe/sequenced_assembly/motor.json new file mode 100644 index 00000000..c51c0235 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/sequenced_assembly/motor.json @@ -0,0 +1,91 @@ +{ + "type": "create:sequenced_assembly", + "ingredient": { + "item": "create:shaft" + }, + "loops": 3, + "results": [ + { + "chance": 120.0, + "id": "tfmg:electric_motor" + }, + { + "chance": 4.0, + "id": "tfmg:steel_casing" + }, + { + "chance": 4.0, + "id": "tfmg:nickel_sheet" + } + ], + "sequence": [ + { + "type": "create:winding", + "ingredients": [ + { + "item": "tfmg:unfinished_electric_motor" + }, + { + "item": "tfmg:copper_spool" + } + ], + "processing_time": 75, + "results": [ + { + "id": "tfmg:unfinished_electric_motor" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_electric_motor" + }, + { + "item": "tfmg:magnet" + } + ], + "results": [ + { + "id": "tfmg:unfinished_electric_motor" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_electric_motor" + }, + { + "item": "tfmg:steel_mechanism" + } + ], + "results": [ + { + "id": "tfmg:unfinished_electric_motor" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_electric_motor" + }, + { + "item": "tfmg:screwdriver" + } + ], + "results": [ + { + "id": "tfmg:unfinished_electric_motor" + } + ] + } + ], + "transitional_item": { + "id": "tfmg:unfinished_electric_motor" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/sequenced_assembly/potentiometer.json b/src/generated/resources/data/tfmg/recipe/sequenced_assembly/potentiometer.json new file mode 100644 index 00000000..e60a09f4 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/sequenced_assembly/potentiometer.json @@ -0,0 +1,97 @@ +{ + "type": "create:sequenced_assembly", + "ingredient": { + "item": "tfmg:heavy_machinery_casing" + }, + "loops": 3, + "results": [ + { + "chance": 120.0, + "id": "tfmg:potentiometer" + }, + { + "chance": 8.0, + "id": "tfmg:steel_casing" + }, + { + "chance": 8.0, + "id": "tfmg:steel_cogwheel" + }, + { + "chance": 8.0, + "id": "tfmg:electric_post" + } + ], + "sequence": [ + { + "type": "create:winding", + "ingredients": [ + { + "item": "tfmg:unfinished_potentiometer" + }, + { + "item": "tfmg:constantan_spool" + } + ], + "processing_time": 100, + "results": [ + { + "id": "tfmg:unfinished_potentiometer" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_potentiometer" + }, + { + "item": "tfmg:steel_cogwheel" + } + ], + "results": [ + { + "id": "tfmg:unfinished_potentiometer" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_potentiometer" + }, + { + "item": "tfmg:copper_wire" + } + ], + "results": [ + { + "id": "tfmg:unfinished_potentiometer" + } + ] + }, + { + "type": "create:filling", + "ingredients": [ + { + "item": "tfmg:unfinished_potentiometer" + }, + { + "type": "fluid_stack", + "amount": 50, + "fluid": "tfmg:lubrication_oil" + } + ], + "results": [ + { + "id": "tfmg:unfinished_potentiometer" + } + ] + } + ], + "transitional_item": { + "id": "tfmg:unfinished_potentiometer" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/sequenced_assembly/steel_mechanism.json b/src/generated/resources/data/tfmg/recipe/sequenced_assembly/steel_mechanism.json new file mode 100644 index 00000000..d053ab93 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/sequenced_assembly/steel_mechanism.json @@ -0,0 +1,122 @@ +{ + "type": "create:sequenced_assembly", + "ingredient": { + "item": "tfmg:heavy_plate" + }, + "loops": 2, + "results": [ + { + "chance": 120.0, + "id": "tfmg:steel_mechanism" + }, + { + "chance": 4.0, + "id": "minecraft:compass" + }, + { + "chance": 4.0, + "id": "tfmg:steel_ingot" + } + ], + "sequence": [ + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_steel_mechanism" + }, + { + "item": "tfmg:steel_cogwheel" + } + ], + "results": [ + { + "id": "tfmg:unfinished_steel_mechanism" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_steel_mechanism" + }, + { + "item": "tfmg:nickel_sheet" + } + ], + "results": [ + { + "id": "tfmg:unfinished_steel_mechanism" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_steel_mechanism" + }, + { + "item": "tfmg:large_steel_cogwheel" + } + ], + "results": [ + { + "id": "tfmg:unfinished_steel_mechanism" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_steel_mechanism" + }, + { + "item": "tfmg:lead_sheet" + } + ], + "results": [ + { + "id": "tfmg:unfinished_steel_mechanism" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_steel_mechanism" + }, + { + "item": "tfmg:screw" + } + ], + "results": [ + { + "id": "tfmg:unfinished_steel_mechanism" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_steel_mechanism" + }, + { + "item": "tfmg:screwdriver" + } + ], + "results": [ + { + "id": "tfmg:unfinished_steel_mechanism" + } + ] + } + ], + "transitional_item": { + "id": "tfmg:unfinished_steel_mechanism" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/sequenced_assembly/transistor.json b/src/generated/resources/data/tfmg/recipe/sequenced_assembly/transistor.json new file mode 100644 index 00000000..e63179b3 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/sequenced_assembly/transistor.json @@ -0,0 +1,95 @@ +{ + "type": "create:sequenced_assembly", + "ingredient": { + "item": "tfmg:plastic_sheet" + }, + "loops": 1, + "results": [ + { + "chance": 120.0, + "count": 4, + "id": "tfmg:transistor_item" + }, + { + "chance": 8.0, + "id": "tfmg:silicon_ingot" + }, + { + "chance": 8.0, + "id": "tfmg:p_semiconductor" + }, + { + "chance": 8.0, + "id": "tfmg:n_semiconductor" + } + ], + "sequence": [ + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_transistor" + }, + { + "tag": "c:wires/copper" + } + ], + "results": [ + { + "id": "tfmg:unfinished_transistor" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_transistor" + }, + { + "item": "tfmg:n_semiconductor" + } + ], + "results": [ + { + "id": "tfmg:unfinished_transistor" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_transistor" + }, + { + "item": "tfmg:p_semiconductor" + } + ], + "results": [ + { + "id": "tfmg:unfinished_transistor" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_transistor" + }, + { + "item": "tfmg:n_semiconductor" + } + ], + "results": [ + { + "id": "tfmg:unfinished_transistor" + } + ] + } + ], + "transitional_item": { + "id": "tfmg:unfinished_transistor" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/sequenced_assembly/unfinished_circuit_board.json b/src/generated/resources/data/tfmg/recipe/sequenced_assembly/unfinished_circuit_board.json new file mode 100644 index 00000000..b9a08282 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/sequenced_assembly/unfinished_circuit_board.json @@ -0,0 +1,81 @@ +{ + "type": "create:sequenced_assembly", + "ingredient": { + "item": "tfmg:etched_circuit_board" + }, + "loops": 4, + "results": [ + { + "id": "tfmg:circuit_board" + } + ], + "sequence": [ + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_circuit_board" + }, + { + "item": "tfmg:capacitor_item" + } + ], + "results": [ + { + "id": "tfmg:unfinished_circuit_board" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_circuit_board" + }, + { + "item": "tfmg:resistor" + } + ], + "results": [ + { + "id": "tfmg:unfinished_circuit_board" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_circuit_board" + }, + { + "item": "tfmg:transistor_item" + } + ], + "results": [ + { + "id": "tfmg:unfinished_circuit_board" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "tfmg:unfinished_circuit_board" + }, + { + "item": "tfmg:resistor" + } + ], + "results": [ + { + "id": "tfmg:unfinished_circuit_board" + } + ] + } + ], + "transitional_item": { + "id": "tfmg:unfinished_circuit_board" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/slag_bricks_from_slag_block_stonecutting.json b/src/generated/resources/data/tfmg/recipe/slag_bricks_from_slag_block_stonecutting.json new file mode 100644 index 00000000..9bdfebdf --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/slag_bricks_from_slag_block_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:slag_block" + }, + "result": { + "count": 4, + "id": "tfmg:slag_bricks" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/small_bauxite_brick_slab.json b/src/generated/resources/data/tfmg/recipe/small_bauxite_brick_slab.json new file mode 100644 index 00000000..7e876945 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/small_bauxite_brick_slab.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "small_bauxite_brick_slab", + "key": { + "X": { + "item": "tfmg:small_bauxite_bricks" + } + }, + "pattern": [ + "XXX" + ], + "result": { + "count": 6, + "id": "tfmg:small_bauxite_brick_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/small_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/recipe/small_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..9884a4f6 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/small_bauxite_brick_slab_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 2, + "id": "tfmg:small_bauxite_brick_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/small_bauxite_brick_slab_recycling.json b/src/generated/resources/data/tfmg/recipe/small_bauxite_brick_slab_recycling.json new file mode 100644 index 00000000..44e1efbc --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/small_bauxite_brick_slab_recycling.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "tfmg:small_bauxite_brick_slab" + }, + { + "item": "tfmg:small_bauxite_brick_slab" + } + ], + "result": { + "count": 1, + "id": "tfmg:small_bauxite_bricks" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/small_bauxite_brick_stairs.json b/src/generated/resources/data/tfmg/recipe/small_bauxite_brick_stairs.json new file mode 100644 index 00000000..2d0368b3 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/small_bauxite_brick_stairs.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "small_bauxite_brick_stairs", + "key": { + "X": { + "item": "tfmg:small_bauxite_bricks" + } + }, + "pattern": [ + "X ", + "XX ", + "XXX" + ], + "result": { + "count": 4, + "id": "tfmg:small_bauxite_brick_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/small_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/recipe/small_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..93c15992 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/small_bauxite_brick_stairs_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 1, + "id": "tfmg:small_bauxite_brick_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/small_bauxite_brick_wall.json b/src/generated/resources/data/tfmg/recipe/small_bauxite_brick_wall.json new file mode 100644 index 00000000..c94944f2 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/small_bauxite_brick_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "X": { + "item": "tfmg:small_bauxite_bricks" + } + }, + "pattern": [ + "XXX", + "XXX" + ], + "result": { + "count": 6, + "id": "tfmg:small_bauxite_brick_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/small_bauxite_brick_wall_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/recipe/small_bauxite_brick_wall_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..195fea55 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/small_bauxite_brick_wall_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 1, + "id": "tfmg:small_bauxite_brick_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/small_bauxite_bricks_from_stone_types_bauxite_stonecutting.json b/src/generated/resources/data/tfmg/recipe/small_bauxite_bricks_from_stone_types_bauxite_stonecutting.json new file mode 100644 index 00000000..d57fdaff --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/small_bauxite_bricks_from_stone_types_bauxite_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/bauxite" + }, + "result": { + "count": 1, + "id": "tfmg:small_bauxite_bricks" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/small_galena_brick_slab.json b/src/generated/resources/data/tfmg/recipe/small_galena_brick_slab.json new file mode 100644 index 00000000..c4bd2be6 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/small_galena_brick_slab.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "small_galena_brick_slab", + "key": { + "X": { + "item": "tfmg:small_galena_bricks" + } + }, + "pattern": [ + "XXX" + ], + "result": { + "count": 6, + "id": "tfmg:small_galena_brick_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/small_galena_brick_slab_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/recipe/small_galena_brick_slab_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..0f33b101 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/small_galena_brick_slab_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 2, + "id": "tfmg:small_galena_brick_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/small_galena_brick_slab_recycling.json b/src/generated/resources/data/tfmg/recipe/small_galena_brick_slab_recycling.json new file mode 100644 index 00000000..81b37a5d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/small_galena_brick_slab_recycling.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "tfmg:small_galena_brick_slab" + }, + { + "item": "tfmg:small_galena_brick_slab" + } + ], + "result": { + "count": 1, + "id": "tfmg:small_galena_bricks" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/small_galena_brick_stairs.json b/src/generated/resources/data/tfmg/recipe/small_galena_brick_stairs.json new file mode 100644 index 00000000..0b816a8f --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/small_galena_brick_stairs.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "group": "small_galena_brick_stairs", + "key": { + "X": { + "item": "tfmg:small_galena_bricks" + } + }, + "pattern": [ + "X ", + "XX ", + "XXX" + ], + "result": { + "count": 4, + "id": "tfmg:small_galena_brick_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/small_galena_brick_stairs_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/recipe/small_galena_brick_stairs_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..3c256779 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/small_galena_brick_stairs_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 1, + "id": "tfmg:small_galena_brick_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/small_galena_brick_wall.json b/src/generated/resources/data/tfmg/recipe/small_galena_brick_wall.json new file mode 100644 index 00000000..ea0c41ed --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/small_galena_brick_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "X": { + "item": "tfmg:small_galena_bricks" + } + }, + "pattern": [ + "XXX", + "XXX" + ], + "result": { + "count": 6, + "id": "tfmg:small_galena_brick_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/small_galena_brick_wall_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/recipe/small_galena_brick_wall_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..c0c92007 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/small_galena_brick_wall_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 1, + "id": "tfmg:small_galena_brick_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/small_galena_bricks_from_stone_types_galena_stonecutting.json b/src/generated/resources/data/tfmg/recipe/small_galena_bricks_from_stone_types_galena_stonecutting.json new file mode 100644 index 00000000..ddd5ac5e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/small_galena_bricks_from_stone_types_galena_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "tfmg:stone_types/galena" + }, + "result": { + "count": 1, + "id": "tfmg:small_galena_bricks" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/smelting/fireproof_brick.json b/src/generated/resources/data/tfmg/recipe/smelting/fireproof_brick.json new file mode 100644 index 00000000..d7a2e5c6 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/smelting/fireproof_brick.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.0, + "ingredient": { + "item": "tfmg:fireclay_ball" + }, + "result": { + "count": 1, + "id": "tfmg:fireproof_brick" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/smelting/lead_ingot.json b/src/generated/resources/data/tfmg/recipe/smelting/lead_ingot.json new file mode 100644 index 00000000..a0fe4eff --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/smelting/lead_ingot.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.0, + "ingredient": { + "item": "tfmg:raw_lead" + }, + "result": { + "count": 1, + "id": "tfmg:lead_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/smelting/lead_ingot_blasting.json b/src/generated/resources/data/tfmg/recipe/smelting/lead_ingot_blasting.json new file mode 100644 index 00000000..a0fe4eff --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/smelting/lead_ingot_blasting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.0, + "ingredient": { + "item": "tfmg:raw_lead" + }, + "result": { + "count": 1, + "id": "tfmg:lead_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/smelting/lead_ingot_from_crushed_blasting.json b/src/generated/resources/data/tfmg/recipe/smelting/lead_ingot_from_crushed_blasting.json new file mode 100644 index 00000000..86cda98e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/smelting/lead_ingot_from_crushed_blasting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.0, + "ingredient": { + "item": "create:crushed_raw_lead" + }, + "result": { + "count": 1, + "id": "tfmg:lead_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/smelting/lithium_ingot.json b/src/generated/resources/data/tfmg/recipe/smelting/lithium_ingot.json new file mode 100644 index 00000000..2f0da1c4 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/smelting/lithium_ingot.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.0, + "ingredient": { + "item": "tfmg:raw_lithium" + }, + "result": { + "count": 1, + "id": "tfmg:lithium_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/smelting/lithium_ingot_blasting.json b/src/generated/resources/data/tfmg/recipe/smelting/lithium_ingot_blasting.json new file mode 100644 index 00000000..2f0da1c4 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/smelting/lithium_ingot_blasting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.0, + "ingredient": { + "item": "tfmg:raw_lithium" + }, + "result": { + "count": 1, + "id": "tfmg:lithium_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/smelting/nickel_ingot.json b/src/generated/resources/data/tfmg/recipe/smelting/nickel_ingot.json new file mode 100644 index 00000000..ba299b32 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/smelting/nickel_ingot.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.0, + "ingredient": { + "item": "tfmg:raw_nickel" + }, + "result": { + "count": 1, + "id": "tfmg:nickel_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/smelting/nickel_ingot_blasting.json b/src/generated/resources/data/tfmg/recipe/smelting/nickel_ingot_blasting.json new file mode 100644 index 00000000..ba299b32 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/smelting/nickel_ingot_blasting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.0, + "ingredient": { + "item": "tfmg:raw_nickel" + }, + "result": { + "count": 1, + "id": "tfmg:nickel_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/smelting/nickel_ingot_from_crushed_blasting.json b/src/generated/resources/data/tfmg/recipe/smelting/nickel_ingot_from_crushed_blasting.json new file mode 100644 index 00000000..4b007081 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/smelting/nickel_ingot_from_crushed_blasting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.0, + "ingredient": { + "item": "create:crushed_raw_nickel" + }, + "result": { + "count": 1, + "id": "tfmg:nickel_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/smelting/unfinished_insulator.json b/src/generated/resources/data/tfmg/recipe/smelting/unfinished_insulator.json new file mode 100644 index 00000000..6c42c312 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/smelting/unfinished_insulator.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.0, + "ingredient": { + "item": "tfmg:unfired_insulator" + }, + "result": { + "count": 1, + "id": "tfmg:unfinished_insulator" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/steel_bars_from_ingots_steel_stonecutting.json b/src/generated/resources/data/tfmg/recipe/steel_bars_from_ingots_steel_stonecutting.json new file mode 100644 index 00000000..f7c86ffd --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/steel_bars_from_ingots_steel_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/steel" + }, + "result": { + "count": 4, + "id": "tfmg:steel_bars" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/steel_ladder_from_ingots_steel_stonecutting.json b/src/generated/resources/data/tfmg/recipe/steel_ladder_from_ingots_steel_stonecutting.json new file mode 100644 index 00000000..5b02ad36 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/steel_ladder_from_ingots_steel_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/steel" + }, + "result": { + "count": 2, + "id": "tfmg:steel_ladder" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/steel_scaffolding_from_ingots_steel_stonecutting.json b/src/generated/resources/data/tfmg/recipe/steel_scaffolding_from_ingots_steel_stonecutting.json new file mode 100644 index 00000000..190982ca --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/steel_scaffolding_from_ingots_steel_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/steel" + }, + "result": { + "count": 2, + "id": "tfmg:steel_scaffolding" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/synthetic_string_from_ingots_rubber_stonecutting.json b/src/generated/resources/data/tfmg/recipe/synthetic_string_from_ingots_rubber_stonecutting.json new file mode 100644 index 00000000..7434d6d9 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/synthetic_string_from_ingots_rubber_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/rubber" + }, + "result": { + "count": 4, + "id": "tfmg:synthetic_string" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/unfired_insulator_from_clay_stonecutting.json b/src/generated/resources/data/tfmg/recipe/unfired_insulator_from_clay_stonecutting.json new file mode 100644 index 00000000..91c93f1c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/unfired_insulator_from_clay_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "minecraft:clay" + }, + "result": { + "count": 1, + "id": "tfmg:unfired_insulator" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/aluminum.json b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/aluminum.json new file mode 100644 index 00000000..c4caf1d2 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/aluminum.json @@ -0,0 +1,47 @@ +{ + "type": "create:vat_machine_recipe", + "allowed_vat_types": [ + "tfmg:steel_vat", + "tfmg:firebrick_lined_vat" + ], + "heat_requirement": "heated", + "ingredients": [ + { + "item": "tfmg:bauxite_powder" + }, + { + "item": "tfmg:bauxite_powder" + }, + { + "item": "tfmg:bauxite_powder" + }, + { + "item": "tfmg:bauxite_powder" + } + ], + "machines": [ + "tfmg:electrode", + "tfmg:electrode" + ], + "min_size": 1, + "processing_time": 100, + "results": [ + { + "id": "tfmg:aluminum_ingot" + }, + { + "chance": 0.5, + "count": 4, + "id": "tfmg:aluminum_nugget" + }, + { + "chance": 0.25, + "count": 2, + "id": "tfmg:aluminum_nugget" + }, + { + "amount": 500, + "id": "tfmg:carbon_dioxide" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/arc_furnace_steel.json b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/arc_furnace_steel.json new file mode 100644 index 00000000..7d5865ae --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/arc_furnace_steel.json @@ -0,0 +1,38 @@ +{ + "type": "create:vat_machine_recipe", + "allowed_vat_types": [ + "tfmg:firebrick_lined_vat" + ], + "ingredients": [ + { + "item": "create:crushed_raw_iron" + }, + { + "tag": "tfmg:flux" + }, + { + "item": "tfmg:coal_coke_dust" + } + ], + "machines": [ + "tfmg:graphite_electrode", + "tfmg:graphite_electrode", + "tfmg:graphite_electrode" + ], + "min_size": 9, + "processing_time": 20, + "results": [ + { + "chance": 0.9, + "id": "tfmg:coal_coke_dust" + }, + { + "amount": 144, + "id": "tfmg:molten_steel" + }, + { + "amount": 288, + "id": "tfmg:molten_slag" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/concrete.json b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/concrete.json new file mode 100644 index 00000000..553f0670 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/concrete.json @@ -0,0 +1,33 @@ +{ + "type": "create:vat_machine_recipe", + "allowed_vat_types": [ + "tfmg:steel_vat", + "tfmg:firebrick_lined_vat" + ], + "ingredients": [ + { + "item": "minecraft:sand" + }, + { + "item": "minecraft:gravel" + }, + { + "item": "tfmg:limesand" + }, + { + "type": "fluid_stack", + "amount": 250, + "fluid": "minecraft:water" + } + ], + "machines": [ + "tfmg:mixing" + ], + "min_size": 1, + "results": [ + { + "amount": 1000, + "id": "tfmg:liquid_concrete" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/etched_circuit_board.json b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/etched_circuit_board.json new file mode 100644 index 00000000..1cfea22b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/etched_circuit_board.json @@ -0,0 +1,19 @@ +{ + "type": "create:vat_machine_recipe", + "ingredients": [ + { + "item": "tfmg:coated_circuit_board" + }, + { + "type": "fluid_stack", + "amount": 250, + "fluid": "tfmg:sulfuric_acid" + } + ], + "processing_time": 100, + "results": [ + { + "id": "tfmg:etched_circuit_board" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/naphtha.json b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/naphtha.json new file mode 100644 index 00000000..fd99b8e6 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/naphtha.json @@ -0,0 +1,29 @@ +{ + "type": "create:vat_machine_recipe", + "allowed_vat_types": [ + "tfmg:steel_vat", + "tfmg:firebrick_lined_vat" + ], + "heat_requirement": "heated", + "ingredients": [ + { + "type": "fluid_stack", + "amount": 500, + "fluid": "tfmg:naphtha" + } + ], + "machines": [ + "tfmg:mixing" + ], + "min_size": 1, + "results": [ + { + "amount": 250, + "id": "tfmg:ethylene" + }, + { + "amount": 250, + "id": "tfmg:propylene" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/neon.json b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/neon.json new file mode 100644 index 00000000..f839908a --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/neon.json @@ -0,0 +1,21 @@ +{ + "type": "create:vat_machine_recipe", + "ingredients": [ + { + "type": "fluid_stack", + "amount": 1000, + "fluid": "tfmg:air" + } + ], + "machines": [ + "tfmg:centrifuge" + ], + "min_size": 1, + "processing_time": 10, + "results": [ + { + "amount": 1, + "id": "tfmg:neon" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/plastic_from_ethylene.json b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/plastic_from_ethylene.json new file mode 100644 index 00000000..955653cd --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/plastic_from_ethylene.json @@ -0,0 +1,25 @@ +{ + "type": "create:vat_machine_recipe", + "allowed_vat_types": [ + "tfmg:steel_vat", + "tfmg:firebrick_lined_vat" + ], + "heat_requirement": "heated", + "ingredients": [ + { + "type": "fluid_stack", + "amount": 500, + "fluid": "tfmg:ethylene" + } + ], + "machines": [ + "tfmg:mixing" + ], + "min_size": 1, + "results": [ + { + "amount": 500, + "id": "tfmg:molten_plastic" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/plastic_from_propylene.json b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/plastic_from_propylene.json new file mode 100644 index 00000000..1f6c1386 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/plastic_from_propylene.json @@ -0,0 +1,25 @@ +{ + "type": "create:vat_machine_recipe", + "allowed_vat_types": [ + "tfmg:steel_vat", + "tfmg:firebrick_lined_vat" + ], + "heat_requirement": "heated", + "ingredients": [ + { + "type": "fluid_stack", + "amount": 500, + "fluid": "tfmg:propylene" + } + ], + "machines": [ + "tfmg:mixing" + ], + "min_size": 1, + "results": [ + { + "amount": 500, + "id": "tfmg:molten_plastic" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/rubber.json b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/rubber.json new file mode 100644 index 00000000..87e12759 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/rubber.json @@ -0,0 +1,27 @@ +{ + "type": "create:vat_machine_recipe", + "allowed_vat_types": [ + "tfmg:steel_vat", + "tfmg:firebrick_lined_vat" + ], + "heat_requirement": "heated", + "ingredients": [ + { + "item": "tfmg:sulfur_dust" + }, + { + "type": "fluid_stack", + "amount": 250, + "fluid": "tfmg:heavy_oil" + } + ], + "machines": [ + "tfmg:mixing" + ], + "min_size": 1, + "results": [ + { + "id": "tfmg:rubber_sheet" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/sulfuric_acid.json b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/sulfuric_acid.json new file mode 100644 index 00000000..27300fe8 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/sulfuric_acid.json @@ -0,0 +1,36 @@ +{ + "type": "create:vat_machine_recipe", + "allowed_vat_types": [ + "tfmg:steel_vat", + "tfmg:firebrick_lined_vat" + ], + "ingredients": [ + { + "item": "tfmg:sulfur_dust" + }, + { + "item": "tfmg:sulfur_dust" + }, + { + "item": "tfmg:sulfur_dust" + }, + { + "item": "tfmg:nitrate_dust" + }, + { + "type": "fluid_stack", + "amount": 1000, + "fluid": "minecraft:water" + } + ], + "machines": [ + "tfmg:mixing" + ], + "min_size": 1, + "results": [ + { + "amount": 500, + "id": "tfmg:sulfuric_acid" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/white_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/recipe/white_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..9e58c34d --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/white_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:white_caution_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/white_concrete_slab_from_white_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/white_concrete_slab_from_white_concrete_stonecutting.json new file mode 100644 index 00000000..90fe4db1 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/white_concrete_slab_from_white_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:white_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:white_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/white_concrete_stairs_from_white_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/white_concrete_stairs_from_white_concrete_stonecutting.json new file mode 100644 index 00000000..2dbc808c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/white_concrete_stairs_from_white_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:white_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:white_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/white_concrete_wall_from_white_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/white_concrete_wall_from_white_concrete_stonecutting.json new file mode 100644 index 00000000..ab221920 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/white_concrete_wall_from_white_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:white_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:white_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/white_rebar_concrete_slab_from_white_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/white_rebar_concrete_slab_from_white_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..a60dbee9 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/white_rebar_concrete_slab_from_white_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:white_rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:white_rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/white_rebar_concrete_stairs_from_white_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/white_rebar_concrete_stairs_from_white_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..ec781586 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/white_rebar_concrete_stairs_from_white_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:white_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:white_rebar_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/white_rebar_concrete_wall_from_white_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/white_rebar_concrete_wall_from_white_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..b18e44de --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/white_rebar_concrete_wall_from_white_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:white_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:white_rebar_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/winding/electromagnetic_coil.json b/src/generated/resources/data/tfmg/recipe/winding/electromagnetic_coil.json new file mode 100644 index 00000000..a3cad6b8 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/winding/electromagnetic_coil.json @@ -0,0 +1,20 @@ +{ + "type": "create:winding", + "ingredients": [ + { + "item": "tfmg:unfinished_electromagnetic_coil" + }, + { + "item": "tfmg:copper_spool" + } + ], + "processing_time": 100, + "results": [ + { + "components": { + "tfmg:coil_turns": 100 + }, + "id": "tfmg:electromagnetic_coil" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/winding/resistor.json b/src/generated/resources/data/tfmg/recipe/winding/resistor.json new file mode 100644 index 00000000..010b0c76 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/winding/resistor.json @@ -0,0 +1,20 @@ +{ + "type": "create:winding", + "ingredients": [ + { + "item": "tfmg:unfinished_resistor" + }, + { + "item": "tfmg:constantan_spool" + } + ], + "processing_time": 50, + "results": [ + { + "components": { + "tfmg:resistance": 10 + }, + "id": "tfmg:resistor" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/yellow_caution_block_from_ingots_aluminum_stonecutting.json b/src/generated/resources/data/tfmg/recipe/yellow_caution_block_from_ingots_aluminum_stonecutting.json new file mode 100644 index 00000000..25d95c91 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/yellow_caution_block_from_ingots_aluminum_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:ingots/aluminum" + }, + "result": { + "count": 2, + "id": "tfmg:yellow_caution_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/yellow_concrete_slab_from_yellow_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/yellow_concrete_slab_from_yellow_concrete_stonecutting.json new file mode 100644 index 00000000..e8dfa081 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/yellow_concrete_slab_from_yellow_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:yellow_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:yellow_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/yellow_concrete_stairs_from_yellow_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/yellow_concrete_stairs_from_yellow_concrete_stonecutting.json new file mode 100644 index 00000000..13199d45 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/yellow_concrete_stairs_from_yellow_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:yellow_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:yellow_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/yellow_concrete_wall_from_yellow_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/yellow_concrete_wall_from_yellow_concrete_stonecutting.json new file mode 100644 index 00000000..827189a6 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/yellow_concrete_wall_from_yellow_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:yellow_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:yellow_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/yellow_rebar_concrete_slab_from_yellow_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/yellow_rebar_concrete_slab_from_yellow_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..b6b616cc --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/yellow_rebar_concrete_slab_from_yellow_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:yellow_rebar_concrete" + }, + "result": { + "count": 2, + "id": "tfmg:yellow_rebar_concrete_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/yellow_rebar_concrete_stairs_from_yellow_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/yellow_rebar_concrete_stairs_from_yellow_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..e466ef41 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/yellow_rebar_concrete_stairs_from_yellow_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:yellow_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:yellow_rebar_concrete_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/yellow_rebar_concrete_wall_from_yellow_rebar_concrete_stonecutting.json b/src/generated/resources/data/tfmg/recipe/yellow_rebar_concrete_wall_from_yellow_rebar_concrete_stonecutting.json new file mode 100644 index 00000000..aa12c4a4 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/yellow_rebar_concrete_wall_from_yellow_rebar_concrete_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "tfmg:yellow_rebar_concrete" + }, + "result": { + "count": 1, + "id": "tfmg:yellow_rebar_concrete_wall" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/zinc_electrode_from_storage_blocks_zinc_stonecutting.json b/src/generated/resources/data/tfmg/recipe/zinc_electrode_from_storage_blocks_zinc_stonecutting.json new file mode 100644 index 00000000..040a944c --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/zinc_electrode_from_storage_blocks_zinc_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "tag": "c:storage_blocks/zinc" + }, + "result": { + "count": 1, + "id": "tfmg:zinc_electrode" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/tags/block/blast_furnace_support.json b/src/generated/resources/data/tfmg/tags/block/blast_furnace_support.json new file mode 100644 index 00000000..5fd7e38a --- /dev/null +++ b/src/generated/resources/data/tfmg/tags/block/blast_furnace_support.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:fireproof_brick_reinforcement" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/tags/block/blast_furnace_wall.json b/src/generated/resources/data/tfmg/tags/block/blast_furnace_wall.json new file mode 100644 index 00000000..a989ac25 --- /dev/null +++ b/src/generated/resources/data/tfmg/tags/block/blast_furnace_wall.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:blast_furnace_hatch", + "tfmg:fireproof_bricks" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/tags/block/industrial_pipe.json b/src/generated/resources/data/tfmg/tags/block/industrial_pipe.json new file mode 100644 index 00000000..9c16a80a --- /dev/null +++ b/src/generated/resources/data/tfmg/tags/block/industrial_pipe.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:industrial_pipe", + "tfmg:concrete_encased_industrial_pipe" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/tags/block/pumpjack_connector.json b/src/generated/resources/data/tfmg/tags/block/pumpjack_connector.json new file mode 100644 index 00000000..6c9720a8 --- /dev/null +++ b/src/generated/resources/data/tfmg/tags/block/pumpjack_connector.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:pumpjack_hammer_connector", + "tfmg:large_pumpjack_hammer_connector" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/tags/block/pumpjack_head.json b/src/generated/resources/data/tfmg/tags/block/pumpjack_head.json new file mode 100644 index 00000000..48fdf33a --- /dev/null +++ b/src/generated/resources/data/tfmg/tags/block/pumpjack_head.json @@ -0,0 +1,7 @@ +{ + "values": [ + "tfmg:pumpjack_hammer_head", + "tfmg:large_pumpjack_hammer_head", + "minecraft:iron_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/tags/block/pumpjack_part.json b/src/generated/resources/data/tfmg/tags/block/pumpjack_part.json new file mode 100644 index 00000000..a3607049 --- /dev/null +++ b/src/generated/resources/data/tfmg/tags/block/pumpjack_part.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:large_pumpjack_hammer_part", + "#tfmg:pumpjack_small_part" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/tags/block/pumpjack_small_part.json b/src/generated/resources/data/tfmg/tags/block/pumpjack_small_part.json new file mode 100644 index 00000000..936bd081 --- /dev/null +++ b/src/generated/resources/data/tfmg/tags/block/pumpjack_small_part.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:pumpjack_hammer_part" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/tags/block/reinforced_blast_furnace_support.json b/src/generated/resources/data/tfmg/tags/block/reinforced_blast_furnace_support.json new file mode 100644 index 00000000..af307d92 --- /dev/null +++ b/src/generated/resources/data/tfmg/tags/block/reinforced_blast_furnace_support.json @@ -0,0 +1,7 @@ +{ + "values": [ + "tfmg:blast_furnace_reinforcement", + "tfmg:rusted_blast_furnace_reinforcement", + "tfmg:steel_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/tags/block/reinforced_blast_furnace_wall.json b/src/generated/resources/data/tfmg/tags/block/reinforced_blast_furnace_wall.json new file mode 100644 index 00000000..7ef490f9 --- /dev/null +++ b/src/generated/resources/data/tfmg/tags/block/reinforced_blast_furnace_wall.json @@ -0,0 +1,7 @@ +{ + "values": [ + "tfmg:blast_furnace_hatch", + "tfmg:reinforced_fireproof_bricks", + "tfmg:steel_block" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/tags/block/surface_scanner_findable.json b/src/generated/resources/data/tfmg/tags/block/surface_scanner_findable.json new file mode 100644 index 00000000..9a903fb1 --- /dev/null +++ b/src/generated/resources/data/tfmg/tags/block/surface_scanner_findable.json @@ -0,0 +1,6 @@ +{ + "values": [ + "tfmg:oil_deposit", + "tfmg:heavy_machinery_casing" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/tags/fluid/blast_stove_fuel.json b/src/generated/resources/data/tfmg/tags/fluid/blast_stove_fuel.json new file mode 100644 index 00000000..afd2e07f --- /dev/null +++ b/src/generated/resources/data/tfmg/tags/fluid/blast_stove_fuel.json @@ -0,0 +1,8 @@ +{ + "values": [ + "tfmg:flowing_furnace_gas", + "tfmg:furnace_gas", + "tfmg:flowing_creosote", + "tfmg:creosote" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/tags/fluid/firebox_fuel.json b/src/generated/resources/data/tfmg/tags/fluid/firebox_fuel.json new file mode 100644 index 00000000..19abcf1f --- /dev/null +++ b/src/generated/resources/data/tfmg/tags/fluid/firebox_fuel.json @@ -0,0 +1,16 @@ +{ + "values": [ + "tfmg:flowing_lpg", + "tfmg:lpg", + "tfmg:flowing_butane", + "tfmg:butane", + "tfmg:flowing_propane", + "tfmg:propane", + "tfmg:flowing_diesel", + "tfmg:diesel", + "tfmg:flowing_naphtha", + "tfmg:naphtha", + "tfmg:flowing_kerosene", + "tfmg:kerosene" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/tags/fluid/flammable.json b/src/generated/resources/data/tfmg/tags/fluid/flammable.json new file mode 100644 index 00000000..06f4b533 --- /dev/null +++ b/src/generated/resources/data/tfmg/tags/fluid/flammable.json @@ -0,0 +1,30 @@ +{ + "values": [ + "tfmg:flowing_lpg", + "tfmg:lpg", + "tfmg:flowing_butane", + "tfmg:butane", + "tfmg:flowing_propane", + "tfmg:propane", + "tfmg:flowing_hydrogen", + "tfmg:hydrogen", + "tfmg:flowing_furnace_gas", + "tfmg:furnace_gas", + "tfmg:flowing_crude_oil", + "tfmg:crude_oil", + "tfmg:flowing_heavy_oil", + "tfmg:heavy_oil", + "tfmg:flowing_gasoline", + "tfmg:gasoline", + "tfmg:flowing_diesel", + "tfmg:diesel", + "tfmg:flowing_naphtha", + "tfmg:naphtha", + "tfmg:flowing_kerosene", + "tfmg:kerosene", + "tfmg:flowing_creosote", + "tfmg:creosote", + "tfmg:flowing_lubrication_oil", + "tfmg:lubrication_oil" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/tags/fluid/gas.json b/src/generated/resources/data/tfmg/tags/fluid/gas.json new file mode 100644 index 00000000..e858807f --- /dev/null +++ b/src/generated/resources/data/tfmg/tags/fluid/gas.json @@ -0,0 +1,26 @@ +{ + "values": [ + "tfmg:flowing_lpg", + "tfmg:lpg", + "tfmg:flowing_butane", + "tfmg:butane", + "tfmg:flowing_propane", + "tfmg:propane", + "tfmg:flowing_hydrogen", + "tfmg:hydrogen", + "tfmg:flowing_furnace_gas", + "tfmg:furnace_gas", + "tfmg:flowing_ethylene", + "tfmg:ethylene", + "tfmg:flowing_propylene", + "tfmg:propylene", + "tfmg:flowing_neon", + "tfmg:neon", + "tfmg:flowing_carbon_dioxide", + "tfmg:carbon_dioxide", + "tfmg:flowing_air", + "tfmg:air", + "tfmg:flowing_hot_air", + "tfmg:hot_air" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/tags/item/blast_furnace_fuel.json b/src/generated/resources/data/tfmg/tags/item/blast_furnace_fuel.json new file mode 100644 index 00000000..dddd0b09 --- /dev/null +++ b/src/generated/resources/data/tfmg/tags/item/blast_furnace_fuel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:coal_coke_dust" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/tags/item/flux.json b/src/generated/resources/data/tfmg/tags/item/flux.json new file mode 100644 index 00000000..d9519b06 --- /dev/null +++ b/src/generated/resources/data/tfmg/tags/item/flux.json @@ -0,0 +1,5 @@ +{ + "values": [ + "tfmg:limesand" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/tags/item/rods.json b/src/generated/resources/data/tfmg/tags/item/rods.json new file mode 100644 index 00000000..019b63dd --- /dev/null +++ b/src/generated/resources/data/tfmg/tags/item/rods.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:stick" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/tags/item/spools.json b/src/generated/resources/data/tfmg/tags/item/spools.json new file mode 100644 index 00000000..6dff5019 --- /dev/null +++ b/src/generated/resources/data/tfmg/tags/item/spools.json @@ -0,0 +1,8 @@ +{ + "values": [ + "tfmg:empty_spool", + "tfmg:copper_spool", + "tfmg:aluminum_spool", + "tfmg:constantan_spool" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/tags/item/stone_types/bauxite.json b/src/generated/resources/data/tfmg/tags/item/stone_types/bauxite.json new file mode 100644 index 00000000..349b1b27 --- /dev/null +++ b/src/generated/resources/data/tfmg/tags/item/stone_types/bauxite.json @@ -0,0 +1,19 @@ +{ + "values": [ + "tfmg:cut_bauxite", + "tfmg:cut_bauxite_stairs", + "tfmg:cut_bauxite_wall", + "tfmg:polished_cut_bauxite", + "tfmg:polished_cut_bauxite_stairs", + "tfmg:polished_cut_bauxite_wall", + "tfmg:cut_bauxite_bricks", + "tfmg:cut_bauxite_brick_stairs", + "tfmg:cut_bauxite_brick_wall", + "tfmg:small_bauxite_bricks", + "tfmg:small_bauxite_brick_stairs", + "tfmg:small_bauxite_brick_wall", + "tfmg:layered_bauxite", + "tfmg:bauxite_pillar", + "tfmg:bauxite" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/tags/item/stone_types/galena.json b/src/generated/resources/data/tfmg/tags/item/stone_types/galena.json new file mode 100644 index 00000000..0e19de08 --- /dev/null +++ b/src/generated/resources/data/tfmg/tags/item/stone_types/galena.json @@ -0,0 +1,19 @@ +{ + "values": [ + "tfmg:cut_galena", + "tfmg:cut_galena_stairs", + "tfmg:cut_galena_wall", + "tfmg:polished_cut_galena", + "tfmg:polished_cut_galena_stairs", + "tfmg:polished_cut_galena_wall", + "tfmg:cut_galena_bricks", + "tfmg:cut_galena_brick_stairs", + "tfmg:cut_galena_brick_wall", + "tfmg:small_galena_bricks", + "tfmg:small_galena_brick_stairs", + "tfmg:small_galena_brick_wall", + "tfmg:layered_galena", + "tfmg:galena_pillar", + "tfmg:galena" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/worldgen/configured_feature/lead_ore.json b/src/generated/resources/data/tfmg/worldgen/configured_feature/lead_ore.json new file mode 100644 index 00000000..7b1a4e3f --- /dev/null +++ b/src/generated/resources/data/tfmg/worldgen/configured_feature/lead_ore.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 12, + "targets": [ + { + "state": { + "Name": "tfmg:lead_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "tfmg:deepslate_lead_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/worldgen/configured_feature/lithium_ore.json b/src/generated/resources/data/tfmg/worldgen/configured_feature/lithium_ore.json new file mode 100644 index 00000000..cf9edf8e --- /dev/null +++ b/src/generated/resources/data/tfmg/worldgen/configured_feature/lithium_ore.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 7, + "targets": [ + { + "state": { + "Name": "tfmg:lithium_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "tfmg:deepslate_lithium_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/worldgen/configured_feature/nickel_ore.json b/src/generated/resources/data/tfmg/worldgen/configured_feature/nickel_ore.json new file mode 100644 index 00000000..0e02657a --- /dev/null +++ b/src/generated/resources/data/tfmg/worldgen/configured_feature/nickel_ore.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 10, + "targets": [ + { + "state": { + "Name": "tfmg:nickel_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "tfmg:deepslate_nickel_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/worldgen/configured_feature/oil_deposit.json b/src/generated/resources/data/tfmg/worldgen/configured_feature/oil_deposit.json new file mode 100644 index 00000000..797ad515 --- /dev/null +++ b/src/generated/resources/data/tfmg/worldgen/configured_feature/oil_deposit.json @@ -0,0 +1,4 @@ +{ + "type": "tfmg:oil_deposit", + "config": {} +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/worldgen/configured_feature/oil_well.json b/src/generated/resources/data/tfmg/worldgen/configured_feature/oil_well.json new file mode 100644 index 00000000..1e1c68bc --- /dev/null +++ b/src/generated/resources/data/tfmg/worldgen/configured_feature/oil_well.json @@ -0,0 +1,4 @@ +{ + "type": "tfmg:oil_well", + "config": {} +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/worldgen/configured_feature/tfmg_striated_ores_nether.json b/src/generated/resources/data/tfmg/worldgen/configured_feature/tfmg_striated_ores_nether.json new file mode 100644 index 00000000..de76640e --- /dev/null +++ b/src/generated/resources/data/tfmg/worldgen/configured_feature/tfmg_striated_ores_nether.json @@ -0,0 +1,264 @@ +{ + "type": "create:layered_ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "layer_patterns": [ + [ + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:stone" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:deepslate", + "Properties": { + "axis": "y" + } + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 2 + }, + { + "max_size": 2, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "tfmg:sulfur" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:base_stone_nether" + } + } + ] + ], + "weight": 4 + }, + { + "max_size": 3, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "create:scorchia" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:base_stone_nether" + } + } + ], + [ + { + "state": { + "Name": "minecraft:blackstone" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:base_stone_nether" + } + } + ] + ], + "weight": 3 + }, + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:magma_block" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:base_stone_nether" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:basalt", + "Properties": { + "axis": "y" + } + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:base_stone_nether" + } + } + ], + [ + { + "state": { + "Name": "minecraft:smooth_basalt" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:base_stone_nether" + } + } + ] + ], + "weight": 2 + } + ], + [ + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:stone" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:deepslate", + "Properties": { + "axis": "y" + } + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 2 + }, + { + "max_size": 2, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "tfmg:fireclay" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:base_stone_nether" + } + } + ] + ], + "weight": 5 + }, + { + "max_size": 3, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "create:scorchia" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:base_stone_nether" + } + } + ], + [ + { + "state": { + "Name": "minecraft:gravel" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:base_stone_nether" + } + } + ] + ], + "weight": 3 + }, + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:magma_block" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:base_stone_nether" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:soul_soil" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:base_stone_nether" + } + } + ], + [ + { + "state": { + "Name": "minecraft:soul_sand" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:base_stone_nether" + } + } + ] + ], + "weight": 2 + } + ] + ], + "size": 32 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/worldgen/configured_feature/tfmg_striated_ores_overworld.json b/src/generated/resources/data/tfmg/worldgen/configured_feature/tfmg_striated_ores_overworld.json new file mode 100644 index 00000000..d4a00dd1 --- /dev/null +++ b/src/generated/resources/data/tfmg/worldgen/configured_feature/tfmg_striated_ores_overworld.json @@ -0,0 +1,637 @@ +{ + "type": "create:layered_ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "layer_patterns": [ + [ + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:stone" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:deepslate", + "Properties": { + "axis": "y" + } + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 3, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "tfmg:bauxite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "tfmg:bauxite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 2 + }, + { + "max_size": 2, + "min_size": 2, + "targets": [ + [ + { + "state": { + "Name": "minecraft:smooth_basalt" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:smooth_basalt" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ], + [ + { + "state": { + "Name": "minecraft:granite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:granite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:granite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:smooth_basalt" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:andesite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:andesite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + } + ], + [ + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:stone" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:deepslate", + "Properties": { + "axis": "y" + } + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 3, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "tfmg:galena" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "tfmg:galena" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 2 + }, + { + "max_size": 2, + "min_size": 2, + "targets": [ + [ + { + "state": { + "Name": "minecraft:smooth_basalt" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:smooth_basalt" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ], + [ + { + "state": { + "Name": "minecraft:dripstone_block" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:dripstone_block" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:dripstone_block" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:smooth_basalt" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:deepslate", + "Properties": { + "axis": "y" + } + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:deepslate", + "Properties": { + "axis": "y" + } + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + } + ], + [ + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:stone" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:deepslate", + "Properties": { + "axis": "y" + } + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 3, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "tfmg:lignite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "tfmg:lignite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 2 + }, + { + "max_size": 2, + "min_size": 2, + "targets": [ + [ + { + "state": { + "Name": "minecraft:tuff" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:tuff" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ], + [ + { + "state": { + "Name": "minecraft:deepslate", + "Properties": { + "axis": "y" + } + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:deepslate", + "Properties": { + "axis": "y" + } + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:deepslate", + "Properties": { + "axis": "y" + } + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:tuff" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + }, + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "create:scoria" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "create:scoria" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + } + ], + [ + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:stone" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:deepslate", + "Properties": { + "axis": "y" + } + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 2 + }, + { + "max_size": 2, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "tfmg:fireclay" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "tfmg:fireclay" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 2 + }, + { + "max_size": 3, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "minecraft:sand" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:sand" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ], + [ + { + "state": { + "Name": "minecraft:gravel" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "minecraft:gravel" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 2 + }, + { + "max_size": 1, + "min_size": 1, + "targets": [ + [ + { + "state": { + "Name": "create:crimsite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "create:crimsite" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + ], + "weight": 1 + } + ] + ], + "size": 32 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/worldgen/placed_feature/lead_ore.json b/src/generated/resources/data/tfmg/worldgen/placed_feature/lead_ore.json new file mode 100644 index 00000000..75df8dd2 --- /dev/null +++ b/src/generated/resources/data/tfmg/worldgen/placed_feature/lead_ore.json @@ -0,0 +1,27 @@ +{ + "feature": "tfmg:lead_ore", + "placement": [ + { + "type": "minecraft:count", + "count": 5 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 80 + }, + "min_inclusive": { + "absolute": -15 + } + } + }, + { + "type": "create:config_filter" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/worldgen/placed_feature/lithium_ore.json b/src/generated/resources/data/tfmg/worldgen/placed_feature/lithium_ore.json new file mode 100644 index 00000000..0a514f0f --- /dev/null +++ b/src/generated/resources/data/tfmg/worldgen/placed_feature/lithium_ore.json @@ -0,0 +1,27 @@ +{ + "feature": "tfmg:lithium_ore", + "placement": [ + { + "type": "minecraft:count", + "count": 3 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": -5 + }, + "min_inclusive": { + "absolute": -63 + } + } + }, + { + "type": "create:config_filter" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/worldgen/placed_feature/nickel_ore.json b/src/generated/resources/data/tfmg/worldgen/placed_feature/nickel_ore.json new file mode 100644 index 00000000..7893ea16 --- /dev/null +++ b/src/generated/resources/data/tfmg/worldgen/placed_feature/nickel_ore.json @@ -0,0 +1,27 @@ +{ + "feature": "tfmg:nickel_ore", + "placement": [ + { + "type": "minecraft:count", + "count": 5 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 20 + }, + "min_inclusive": { + "absolute": -63 + } + } + }, + { + "type": "create:config_filter" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/worldgen/placed_feature/oil_deposit.json b/src/generated/resources/data/tfmg/worldgen/placed_feature/oil_deposit.json new file mode 100644 index 00000000..18c0b3fe --- /dev/null +++ b/src/generated/resources/data/tfmg/worldgen/placed_feature/oil_deposit.json @@ -0,0 +1,27 @@ +{ + "feature": "tfmg:oil_deposit", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 4 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": -64 + }, + "min_inclusive": { + "absolute": -64 + } + } + }, + { + "type": "create:config_filter" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/worldgen/placed_feature/oil_well.json b/src/generated/resources/data/tfmg/worldgen/placed_feature/oil_well.json new file mode 100644 index 00000000..0f870ef2 --- /dev/null +++ b/src/generated/resources/data/tfmg/worldgen/placed_feature/oil_well.json @@ -0,0 +1,27 @@ +{ + "feature": "tfmg:oil_well", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 500 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": -64 + }, + "min_inclusive": { + "absolute": -64 + } + } + }, + { + "type": "create:config_filter" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/worldgen/placed_feature/tfmg_striated_ores_nether.json b/src/generated/resources/data/tfmg/worldgen/placed_feature/tfmg_striated_ores_nether.json new file mode 100644 index 00000000..47c07765 --- /dev/null +++ b/src/generated/resources/data/tfmg/worldgen/placed_feature/tfmg_striated_ores_nether.json @@ -0,0 +1,27 @@ +{ + "feature": "tfmg:tfmg_striated_ores_nether", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 18 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 90 + }, + "min_inclusive": { + "absolute": 40 + } + } + }, + { + "type": "create:config_filter" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/worldgen/placed_feature/tfmg_striated_ores_overworld.json b/src/generated/resources/data/tfmg/worldgen/placed_feature/tfmg_striated_ores_overworld.json new file mode 100644 index 00000000..926da477 --- /dev/null +++ b/src/generated/resources/data/tfmg/worldgen/placed_feature/tfmg_striated_ores_overworld.json @@ -0,0 +1,27 @@ +{ + "feature": "tfmg:tfmg_striated_ores_overworld", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 18 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 70 + }, + "min_inclusive": { + "absolute": -30 + } + } + }, + { + "type": "create:config_filter" + } + ] +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/TFMG.java b/src/main/java/com/drmangotea/tfmg/TFMG.java new file mode 100644 index 00000000..137a0ff1 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/TFMG.java @@ -0,0 +1,130 @@ +package com.drmangotea.tfmg; + +import com.drmangotea.tfmg.base.*; +import com.drmangotea.tfmg.content.electricity.base.ElectricNetworkManager; +import com.drmangotea.tfmg.content.engines.fuels.BaseFuelTypes; +import com.drmangotea.tfmg.content.items.weapons.explosives.thermite_grenades.fire.TFMGColoredFires; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.base.TestSavedDataManager; +import com.drmangotea.tfmg.datagen.TFMGDatagen; +import com.drmangotea.tfmg.base.fluid.TFMGFluidInteractions; +import com.drmangotea.tfmg.config.TFMGConfigs; +import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipes; +import com.drmangotea.tfmg.registry.*; +import com.drmangotea.tfmg.worldgen.TFMGFeatures; +import com.mojang.logging.LogUtils; +import com.simibubi.create.AllSoundEvents; +import com.simibubi.create.foundation.item.ItemDescription; +import com.simibubi.create.foundation.item.KineticStats; +import com.simibubi.create.foundation.item.TooltipModifier; +import com.simibubi.create.infrastructure.data.CreateDatagen; +import net.createmod.catnip.lang.FontHelper; +import net.minecraft.client.renderer.ItemBlockRenderTypes; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.resources.ResourceKey; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.CreativeModeTab; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.bus.api.EventPriority; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.ModContainer; +import net.neoforged.fml.ModLoadingContext; +import net.neoforged.fml.common.Mod; +import net.neoforged.fml.event.IModBusEvent; +import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; +import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; +import net.neoforged.neoforge.common.NeoForge; +import net.neoforged.neoforge.registries.RegisterEvent; +import org.slf4j.Logger; + + +@SuppressWarnings("removal") +@Mod(TFMG.MOD_ID) +public class TFMG { + + public static final String MOD_ID = "tfmg"; + public static final ElectricNetworkManager NETWORK_MANAGER = new ElectricNetworkManager(); + public static final Logger LOGGER = LogUtils.getLogger(); + + public static final TestSavedDataManager DEPOSITS = new TestSavedDataManager(); + + public static final TFMGRegistrate REGISTRATE = TFMGRegistrate.create(MOD_ID) + .setTooltipModifierFactory(item -> + new ItemDescription.Modifier(item, FontHelper.Palette.STANDARD_CREATE) + .andThen(TooltipModifier.mapNull(KineticStats.create(item))) + ); + + + public TFMG(IEventBus modEventBus, ModContainer modContainer) { + ModLoadingContext modLoadingContext = ModLoadingContext.get(); + + REGISTRATE.registerEventListeners(modEventBus); + + + + TFMGSoundEvents.prepare(); + TFMGCreativeTabs.register(modEventBus); + TFMGBlocks.init(); + TFMGBlockEntities.init(); + TFMGItems.init(); + TFMGEntityTypes.init(); + TFMGPartialModels.init(); + TFMGPipes.init(); + TFMGFluids.init(); + TFMGMenuTypes.init(); + TFMGEncasedBlocks.init(); + TFMGPaletteBlocks.init(); + + + + TFMGParticleTypes.register(modEventBus); + + TFMGDataComponents.register(modEventBus); + TFMGMobEffects.register(modEventBus); + TFMGRecipeTypes.register(modEventBus); + TFMGArmorMaterials.register(modEventBus); + TFMGColoredFires.register(modEventBus); + TFMGFeatures.register(modEventBus); + TFMGMountedStorageTypes.register(); + + modEventBus.addListener(TFMG::onRegister); + TFMGPackets.register(); + TFMGConfigs.register(modLoadingContext, modContainer); + modEventBus.addListener(EventPriority.HIGHEST, TFMGDatagen::gatherDataHighPriority); + modEventBus.addListener(EventPriority.LOWEST, TFMGDatagen::gatherData); + modEventBus.addListener(TFMGSoundEvents::register); + modEventBus.addListener(TFMG::commonSetup); + modEventBus.addListener(this::clientSetup); + // NeoForge.EVENT_BUS.register(this); + // DistExecutor.safeRunWhenOn(Dist.CLIENT, () -> TFMGClient::new); + modEventBus.addListener(TFMGCreativeTabs::addCreative); + + } + + @SuppressWarnings("removal") + private void clientSetup(final FMLClientSetupEvent event) { + ItemBlockRenderTypes.setRenderLayer(TFMGColoredFires.GREEN_FIRE.get(), RenderType.cutout()); + ItemBlockRenderTypes.setRenderLayer(TFMGColoredFires.BLUE_FIRE.get(), RenderType.cutout()); + } + + /** + * fluid interaction & firebox heating + */ + public static void commonSetup(final FMLCommonSetupEvent event) { + TFMGFluidInteractions.registerFluidInteractions(); + + event.enqueueWork(() -> { + BaseFuelTypes.register(); + TFMGBoilerHeaters.registerDefaults(); + + }); + } + + public static void onRegister(final RegisterEvent event) { + TFMGContraptions.prepare(); + } + + + public static ResourceLocation asResource(String path) { + return ResourceLocation.fromNamespaceAndPath(MOD_ID, path); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/TFMGClient.java b/src/main/java/com/drmangotea/tfmg/TFMGClient.java new file mode 100644 index 00000000..6315f320 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/TFMGClient.java @@ -0,0 +1,48 @@ +package com.drmangotea.tfmg; + +import com.drmangotea.tfmg.content.items.weapons.advanced_potato_cannon.AdvancedPotatoCannonRenderHandler; +import com.drmangotea.tfmg.content.items.weapons.flamethrover.FlamethrowerRenderHandler; +import com.drmangotea.tfmg.content.items.weapons.quad_potato_cannon.QuadPotatoCannonRenderHandler; +import com.drmangotea.tfmg.ponder.TFMGPonderPlugin; +import com.drmangotea.tfmg.registry.TFMGParticleTypes; +import com.simibubi.create.Create; +import com.simibubi.create.foundation.ponder.CreatePonderPlugin; +import net.createmod.ponder.foundation.PonderIndex; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.Mod; +import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; + +@Mod(value = TFMG.MOD_ID, dist = Dist.CLIENT) +public class TFMGClient { + + /** + * does not work, too bad! + */ + public static final QuadPotatoCannonRenderHandler QUAD_POTATO_CANNON_RENDER_HANDLER = new QuadPotatoCannonRenderHandler(); + public static final AdvancedPotatoCannonRenderHandler ADVANCED_POTATO_CANNON_RENDER_HANDLER = new AdvancedPotatoCannonRenderHandler(); + + public static final FlamethrowerRenderHandler FLAMETHROWER_RENDER_HANDLER = new FlamethrowerRenderHandler(); + + @SuppressWarnings("removal") + public TFMGClient(net.neoforged.bus.api.IEventBus modEventBus) { + //IEventBus forgeEventBus = MinecraftForge.EVENT_BUS; + modEventBus.addListener(TFMGParticleTypes::registerFactories); + modEventBus.register(this); + + PonderIndex.addPlugin(new TFMGPonderPlugin()); + + + // ADVANCED_POTATO_CANNON_RENDER_HANDLER.registerListeners(forgeEventBus); + // QUAD_POTATO_CANNON_RENDER_HANDLER.registerListeners(forgeEventBus); + // FLAMETHROWER_RENDER_HANDLER.registerListeners(forgeEventBus); + } + + + @SubscribeEvent + public void setup(final FMLClientSetupEvent event) { + //TFMGPonderIndex.register(); + //TFMGPonderIndex.registerTags(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/base/HalfShaftRenderer.java b/src/main/java/com/drmangotea/tfmg/base/HalfShaftRenderer.java new file mode 100644 index 00000000..52c24dce --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/HalfShaftRenderer.java @@ -0,0 +1,24 @@ +package com.drmangotea.tfmg.base; + + +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.content.kinetics.base.DirectionalKineticBlock; +import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer; +import net.createmod.catnip.render.CachedBuffers; +import net.createmod.catnip.render.SuperByteBuffer; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.world.level.block.state.BlockState; + +public class HalfShaftRenderer extends KineticBlockEntityRenderer { + + public HalfShaftRenderer(BlockEntityRendererProvider.Context context) { + super(context); + } + + @Override + protected SuperByteBuffer getRotatedModel(T be, BlockState state) { + return CachedBuffers.partialFacing(AllPartialModels.SHAFT_HALF, state, state + .getValue(DirectionalKineticBlock.FACING)); + } + } \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/base/HellFireEffect.java b/src/main/java/com/drmangotea/tfmg/base/HellFireEffect.java new file mode 100644 index 00000000..dfe92226 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/HellFireEffect.java @@ -0,0 +1,22 @@ +package com.drmangotea.tfmg.base; + +import net.minecraft.world.effect.MobEffect; +import net.minecraft.world.effect.MobEffectCategory; +import net.minecraft.world.entity.LivingEntity; + +public class HellFireEffect extends MobEffect { + public HellFireEffect(MobEffectCategory pCategory, int pColor) { + super(pCategory, pColor); + } + + @Override + public boolean applyEffectTick(LivingEntity pLivingEntity, int pAmplifier) { + pLivingEntity.setRemainingFireTicks(1); + return true; + } + + + + + +} diff --git a/src/main/java/com/drmangotea/tfmg/base/MaterialSet.java b/src/main/java/com/drmangotea/tfmg/base/MaterialSet.java new file mode 100644 index 00000000..aa14d8d5 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/MaterialSet.java @@ -0,0 +1,14 @@ +package com.drmangotea.tfmg.base; + +import com.tterrag.registrate.util.entry.BlockEntry; + +public class MaterialSet { + + + public BlockEntry block; + public BlockEntry slab; + public BlockEntry stairs; + public BlockEntry wall; + + public MaterialSet(){} +} diff --git a/src/main/java/com/drmangotea/tfmg/base/TFMGArmorMaterials.java b/src/main/java/com/drmangotea/tfmg/base/TFMGArmorMaterials.java new file mode 100644 index 00000000..d21d5947 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/TFMGArmorMaterials.java @@ -0,0 +1,79 @@ +package com.drmangotea.tfmg.base; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.google.common.base.Suppliers; +import com.simibubi.create.AllSoundEvents; +import com.simibubi.create.Create; +import net.minecraft.core.Holder; +import net.minecraft.core.registries.Registries; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.item.ArmorMaterial; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.crafting.Ingredient; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.neoforge.registries.DeferredRegister; +import org.jetbrains.annotations.ApiStatus; + +import java.util.EnumMap; +import java.util.List; +import java.util.function.Supplier; + +public class TFMGArmorMaterials { + + private static final DeferredRegister ARMOR_MATERIALS = DeferredRegister.create(Registries.ARMOR_MATERIAL, TFMG.MOD_ID); + + + + public static final Holder STEEL = register( + "steel", + new int[] {3, 6, 8, 3 , 4 }, + 7, + AllSoundEvents.COPPER_ARMOR_EQUIP.getMainEventHolder(), + 2.0F, + 0.1F, + () -> Ingredient.of(TFMGItems.STEEL_INGOT) + ); + + + private static Holder register( + String name, + int[] defense, + int enchantmentValue, + Holder equipSound, + float toughness, + float knockbackResistance, + Supplier repairIngredient + ) { + List list = List.of(new ArmorMaterial.Layer(Create.asResource(name))); + return register(name, defense, enchantmentValue, equipSound, toughness, knockbackResistance, repairIngredient, list); + } + + private static Holder register( + String name, + int[] defense, + int enchantmentValue, + Holder equipSound, + float toughness, + float knockbackResistance, + Supplier repairIngridient, + List layers + ) { + EnumMap enummap = new EnumMap<>(ArmorItem.Type.class); + + // for (ArmorItem.Type armoritem$type : ArmorItem.Type.values()) { + // enummap.put(armoritem$type, defense[armoritem$type.ordinal()]); + // } + + return ARMOR_MATERIALS.register(name, + () -> new ArmorMaterial(enummap, enchantmentValue, equipSound, repairIngridient, layers, toughness, knockbackResistance) + ); + } + + @ApiStatus.Internal + public static void register(IEventBus eventBus) { + ARMOR_MATERIALS.register(eventBus); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/base/TFMGBoilerHeaters.java b/src/main/java/com/drmangotea/tfmg/base/TFMGBoilerHeaters.java new file mode 100644 index 00000000..f9ed163c --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/TFMGBoilerHeaters.java @@ -0,0 +1,31 @@ +package com.drmangotea.tfmg.base; + +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.simibubi.create.api.boiler.BoilerHeater; +import com.simibubi.create.content.processing.burner.BlazeBurnerBlock; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.state.BlockState; + +public class TFMGBoilerHeaters { + public static void registerDefaults() { + BoilerHeater.REGISTRY.register(TFMGBlocks.FIREBOX.get(), FIREBOX); + } + + public static BoilerHeater FIREBOX = TFMGBoilerHeaters::blazeBurner; + + public static int blazeBurner(Level level, BlockPos pos, BlockState state) { + BlazeBurnerBlock.HeatLevel value = state.getValue(BlazeBurnerBlock.HEAT_LEVEL); + if (value == BlazeBurnerBlock.HeatLevel.NONE) { + return -1; + } + if (value == BlazeBurnerBlock.HeatLevel.SEETHING) { + return 3; + } + if (value.isAtLeast(BlazeBurnerBlock.HeatLevel.FADING)) { + return 2; + } + return -1; + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/base/TFMGBuilderTransformers.java b/src/main/java/com/drmangotea/tfmg/base/TFMGBuilderTransformers.java new file mode 100644 index 00000000..8440e268 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/TFMGBuilderTransformers.java @@ -0,0 +1,471 @@ +package com.drmangotea.tfmg.base; + + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.blocks.TFMGHorizontalDirectionalBlock; +import com.drmangotea.tfmg.base.blocks.TFMGVanillaBlockStates; +import com.drmangotea.tfmg.config.TFMGStress; +import com.drmangotea.tfmg.content.decoration.FrameBlock; +import com.drmangotea.tfmg.content.decoration.TrussBlock; +import com.drmangotea.tfmg.content.decoration.doors.TFMGSlidingDoorBlock; +import com.drmangotea.tfmg.content.decoration.encased.TFMGEncasedCogwheelBlock; +import com.drmangotea.tfmg.content.decoration.encased.TFMGEncasedShaftBlock; +import com.drmangotea.tfmg.content.decoration.flywheels.TFMGFlywheelBlock; +import com.drmangotea.tfmg.content.electricity.connection.copycat_cable.CopycatCableBlock; +import com.drmangotea.tfmg.content.electricity.lights.neon_tube.NeonTubeBlock; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllTags; +import com.simibubi.create.content.contraptions.behaviour.DoorMovingInteraction; +import com.simibubi.create.content.decoration.encasing.EncasedCTBehaviour; +import com.simibubi.create.content.decoration.slidingDoor.SlidingDoorMovementBehaviour; +import com.simibubi.create.content.kinetics.base.RotatedPillarKineticBlock; +import com.simibubi.create.content.kinetics.simpleRelays.encased.EncasedCogCTBehaviour; +import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry; +import com.simibubi.create.foundation.data.*; +import com.tterrag.registrate.builders.BlockBuilder; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import com.tterrag.registrate.util.DataIngredient; +import com.tterrag.registrate.util.entry.BlockEntry; +import com.tterrag.registrate.util.nullness.NonNullFunction; +import com.tterrag.registrate.util.nullness.NonNullUnaryOperator; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.core.Direction; +import net.minecraft.data.recipes.RecipeCategory; +import net.minecraft.tags.BlockTags; +import net.minecraft.tags.ItemTags; +import net.minecraft.world.level.ItemLike; +import net.minecraft.world.level.block.*; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.neoforged.neoforge.client.model.generators.ModelFile; +import net.neoforged.neoforge.client.model.generators.MultiPartBlockStateBuilder; + + +import java.util.*; +import java.util.function.Supplier; + +import static com.drmangotea.tfmg.TFMG.REGISTRATE; +import static com.simibubi.create.api.behaviour.interaction.MovingInteractionBehaviour.interactionBehaviour; +import static com.simibubi.create.api.behaviour.movement.MovementBehaviour.movementBehaviour; +import static com.simibubi.create.foundation.data.BlockStateGen.axisBlock; +import static com.simibubi.create.foundation.data.BlockStateGen.simpleCubeAll; +import static com.simibubi.create.foundation.data.ModelGen.customItemModel; +import static com.simibubi.create.foundation.data.TagGen.*; + +@SuppressWarnings("removal") +public class TFMGBuilderTransformers { + + public static NonNullUnaryOperator> slidingDoor(String type) { + return b -> b.initialProperties(() -> Blocks.IRON_DOOR) + .properties(p -> p.requiresCorrectToolForDrops() + .strength(3.0F, 6.0F)) + .blockstate((c, p) -> { + ModelFile bottom = AssetLookup.partialBaseModel(c, p, "bottom"); + ModelFile top = AssetLookup.partialBaseModel(c, p, "top"); + p.doorBlock(c.get(), bottom, bottom, bottom, bottom, top, top, top, top); + }) + .addLayer(() -> RenderType::cutoutMipped) + .transform(pickaxeOnly()) + .onRegister(interactionBehaviour(new DoorMovingInteraction())) + .onRegister(movementBehaviour(new SlidingDoorMovementBehaviour())) + .tag(BlockTags.DOORS) + .tag(BlockTags.WOODEN_DOORS) // for villager AI + .tag(AllTags.AllBlockTags.NON_DOUBLE_DOOR.tag) + .loot((lr, block) -> lr.add(block, lr.createDoorTable(block))) + .item() + .tag(ItemTags.DOORS) + .tag(AllTags.AllItemTags.CONTRAPTION_CONTROLLED.tag) + .model((c, p) -> p.blockSprite(c, p.modLoc("item/" + type + "_door"))) + .build(); + } + + public static void generateNeonTubeBlockState(DataGenContext c, RegistrateBlockstateProvider p) { + MultiPartBlockStateBuilder builder = p.getMultipartBuilder(c.get()); + + + builder.part() + .modelFile(AssetLookup.partialBaseModel(c, p, "center")) + .addModel() + .end(); + + builder.part().modelFile(AssetLookup.partialBaseModel(c, p, "north")) + .addModel() + .condition(PipeBlock.NORTH, true) + .end(); + builder.part().modelFile(AssetLookup.partialBaseModel(c, p, "south")) + .addModel() + .condition(PipeBlock.SOUTH, true) + .end(); + builder.part().modelFile(AssetLookup.partialBaseModel(c, p, "west")) + .addModel() + .condition(PipeBlock.WEST, true) + .end(); + builder.part().modelFile(AssetLookup.partialBaseModel(c, p, "east")) + .addModel() + .condition(PipeBlock.EAST, true) + .end(); + builder.part().modelFile(AssetLookup.partialBaseModel(c, p, "top")) + .addModel() + .condition(PipeBlock.UP, true) + .end(); + builder.part().modelFile(AssetLookup.partialBaseModel(c, p, "bottom")) + .addModel() + .condition(PipeBlock.DOWN, true) + .end(); + + } + + + public static NonNullUnaryOperator> encasedShaft(String casing, + Supplier casingShift) { + return builder -> encasedBase(builder, AllBlocks.SHAFT::get) + .onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCTBehaviour(casingShift.get()))) + .onRegister(CreateRegistrate.casingConnectivity((block, cc) -> cc.make(block, casingShift.get(), + (s, f) -> f.getAxis() != s.getValue(TFMGEncasedShaftBlock.AXIS)))) + .blockstate((c, p) -> axisBlock(c, p, blockState -> p.models() + .getExistingFile(p.modLoc("block/encased_shaft/block_" + casing)), true)) + .item() + .model(AssetLookup.customBlockItemModel("encased_shaft", "item_" + casing)) + .build(); + } + + public static NonNullUnaryOperator> encasedCogwheel( + String casing, Supplier casingShift) { + return b -> encasedCogwheelBase(b, casing, casingShift, AllBlocks.COGWHEEL::get, false); + } + + public static NonNullUnaryOperator> encasedLargeCogwheel( + String casing, Supplier casingShift) { + return b -> encasedCogwheelBase(b, casing, casingShift, AllBlocks.LARGE_COGWHEEL::get, true) + .onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCogCTBehaviour(casingShift.get()))); + } + + private static BlockBuilder encasedCogwheelBase(BlockBuilder b, + String casing, Supplier casingShift, Supplier drop, boolean large) { + String encasedSuffix; + if (!large) { + encasedSuffix = "_encased_cogwheel_side" + (large ? "_connected" : ""); + } else encasedSuffix = "_encased_cogwheel_side_large"; + String blockFolder = large ? "encased_large_cogwheel" : "encased_cogwheel"; + String wood = casing.equals("steel") ? "steel_casing" : "heavy_machinery_casing"; + String gearbox = casing.equals("steel") ? "steel_gearbox" : "heavy_gearbox"; + + String casing1 = casing.equals("heavy_casing") ? "heavy_machinery" : casing; + return encasedBase(b, drop).addLayer(() -> RenderType::cutoutMipped) + .onRegister(CreateRegistrate.casingConnectivity((block, cc) -> cc.make(block, casingShift.get(), + (s, f) -> f.getAxis() == s.getValue(TFMGEncasedCogwheelBlock.AXIS) + && !s.getValue(f.getAxisDirection() == Direction.AxisDirection.POSITIVE ? TFMGEncasedCogwheelBlock.TOP_SHAFT + : TFMGEncasedCogwheelBlock.BOTTOM_SHAFT)))) + .blockstate((c, p) -> axisBlock(c, p, blockState -> { + String suffix = (blockState.getValue(TFMGEncasedCogwheelBlock.TOP_SHAFT) ? "_top" : "") + + (blockState.getValue(TFMGEncasedCogwheelBlock.BOTTOM_SHAFT) ? "_bottom" : ""); + String modelName = c.getName() + suffix; + return p.models() + .withExistingParent(modelName, p.modLoc("block/" + blockFolder + "/block" + suffix)) + .texture("casing", TFMG.asResource("block/" + casing1 + "_casing")) + .texture("particle", TFMG.asResource("block/" + casing1 + "_casing")) + .texture("4", TFMG.asResource("block/" + gearbox)) + .texture("1", TFMG.asResource("block/" + wood)) + .texture("side", TFMG.asResource("block/" + casing1 + encasedSuffix)); + }, false)) + .item() + .model((c, p) -> p.withExistingParent(c.getName(), p.modLoc("block/" + blockFolder + "/item")) + .texture("casing", TFMG.asResource("block/" + casing1 + "_casing")) + .texture("particle", TFMG.asResource("block/" + casing1 + "_casing")) + .texture("1", TFMG.asResource("block/" + wood)) + .texture("side", TFMG.asResource("block/" + casing1 + encasedSuffix))) + .build(); + } + + private static BlockBuilder encasedBase(BlockBuilder b, + Supplier drop) { + return b.initialProperties(SharedProperties::stone) + .properties(BlockBehaviour.Properties::noOcclusion) + .transform(TFMGStress.setNoImpact()) + .loot((p, lb) -> p.dropOther(lb, drop.get())); + } + + public static NonNullUnaryOperator> copycatCable() { + return b -> b.initialProperties(SharedProperties::softMetal) + .blockstate((c, p) -> p.simpleBlock(c.get(), p.models() + .getExistingFile(p.mcLoc("air")))) + .initialProperties(SharedProperties::softMetal) + .properties(BlockBehaviour.Properties::noOcclusion) + .addLayer(() -> RenderType::solid) + .addLayer(() -> RenderType::cutout) + .addLayer(() -> RenderType::cutoutMipped) + // .addLayer(() -> RenderType::translucent) + .color(() -> CopycatCableBlock::wrappedColor) + .transform(TagGen.axeOrPickaxe()); + } + + /// //////////// + public static BlockEntry flywheel(String name, NonNullFunction block) { + return REGISTRATE.block(name + "_flywheel", block) + .initialProperties(SharedProperties::softMetal) + .properties(BlockBehaviour.Properties::noOcclusion) + .transform(axeOrPickaxe()) + .transform(TFMGStress.setNoImpact()) + .blockstate(BlockStateGen.axisBlockProvider(true)) + .item() + .transform(customItemModel()) + .register(); + } + + public static BlockEntry truss(String name) { + return REGISTRATE.block(name + "_truss", TrussBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.noOcclusion()) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .transform(pickaxeOnly()) + .addLayer(() -> RenderType::cutoutMipped) + .blockstate(BlockStateGen.axisBlockProvider(false)) + .item() + .build() + .register(); + } + + public static BlockEntry frame(String name) { + return REGISTRATE.block(name + "_frame", FrameBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .properties(p -> p.strength(3)) + .transform(pickaxeOnly()) + .addLayer(() -> RenderType::cutoutMipped) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov))) + .simpleItem() + .register(); + } + + public static final String[] COLORS = {"white", "blue", "light_blue", "red", "green", "lime", "pink", "magenta", "yellow", "gray", "light_gray", "brown", "cyan", "purple", "orange","black"}; + + public static void generateCautionBlocks() { + + + for (String color : COLORS) { + + if(Objects.equals(color, "black")) + continue; + + String firstLetter = color.substring(0, 1).toUpperCase(); + String colorWithoutC = color.substring(1); + + String upperCaseColor = firstLetter + colorWithoutC; + String light = "Light"; + if (upperCaseColor.contains(light)) { + String nameWithoutLight = upperCaseColor.substring(6); + + String firstLetter2 = nameWithoutLight.substring(0, 1).toUpperCase(); + String colorWithoutC2 = nameWithoutLight.substring(1); + + upperCaseColor = light + " " + firstLetter2 + colorWithoutC2; + + + } + + REGISTRATE.block(color + "_caution_block", TFMGHorizontalDirectionalBlock::new) + .initialProperties(() -> Blocks.COPPER_BLOCK) + + .properties(p -> p.requiresCorrectToolForDrops()) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .transform(pickaxeOnly()) + .blockstate((c, p) -> p.horizontalBlock(c.get(), p.models() + .withExistingParent(c.getName(), p.modLoc("block/caution_block")) + .texture("0", p.modLoc("block/caution_block/" + color)) + .texture("particle", p.modLoc("block/caution_block/" + color)) + )) + .tag(BlockTags.NEEDS_STONE_TOOL) + .recipe((c, p) -> p.stonecutting(DataIngredient.tag(AllTags.commonItemTag("ingots/aluminum")), RecipeCategory.BUILDING_BLOCKS, c::get, 2)) + .item() + .build() + .lang(upperCaseColor + " Caution Block") + .register(); + } + } + + public static MaterialSet generateConcrete(boolean rebar) { + + String name = rebar ? "rebar_concrete" : "concrete"; + + MaterialSet concrete = new MaterialSet(); + + + + concrete.wall = REGISTRATE.block(name + "_wall", WallBlock::new) + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.requiresCorrectToolForDrops()) + .properties(p -> p.strength(rebar ? 12f : 3.5f, rebar ? 1200f : 3.5f)) + .transform(pickaxeOnly()) + .blockstate((c, p) -> TFMGVanillaBlockStates.generateWallBlockState(c, p, "concrete")) + .tag(BlockTags.NEEDS_STONE_TOOL) + .tag(BlockTags.WALLS) + .recipe((c, p) -> p.stonecutting(DataIngredient.items(concrete.block.get()), RecipeCategory.BUILDING_BLOCKS, c::get, 1)) + .item() + .transform(b -> TFMGVanillaBlockStates.transformWallItem(b, "concrete")) + .build() + .register(); + + concrete.block = REGISTRATE.block(name, Block::new) + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.strength(rebar ? 12f : 3.5f, rebar ? 1200f : 3.5f)) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .blockstate(simpleCubeAll("concrete")) + .tag(BlockTags.NEEDS_STONE_TOOL) + .transform(tagBlockAndItem("concrete")) + .build() + .register(); + + concrete.stairs = REGISTRATE.block(name + "_stairs", p -> new StairBlock(concrete.block.get().defaultBlockState(), p)) + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.requiresCorrectToolForDrops()) + .properties(p -> p.strength(rebar ? 12f : 3.5f, rebar ? 1200f : 3.5f)) + .transform(pickaxeOnly()) + .blockstate((c, p) -> TFMGVanillaBlockStates.generateStairBlockState(c, p, name)) + .tag(BlockTags.NEEDS_STONE_TOOL) + .tag(BlockTags.STAIRS) + .recipe((c, p) -> p.stonecutting(DataIngredient.items(concrete.block.get()), RecipeCategory.BUILDING_BLOCKS, c::get, 1)) + .item() + .transform(customItemModel(name + "_stairs")) + .register(); + + + + concrete.slab = REGISTRATE.block(name + "_slab", SlabBlock::new) + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.strength(rebar ? 12f : 3.5f, rebar ? 1200f : 3.5f)) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .blockstate((c, p) -> TFMGVanillaBlockStates.generateSlabBlockState(c, p, "concrete")) + .tag(BlockTags.NEEDS_STONE_TOOL) + .tag(BlockTags.SLABS) + .recipe((c, p) -> p.stonecutting(DataIngredient.items(concrete.block.get()), RecipeCategory.BUILDING_BLOCKS, c::get, 2)) + .item() + .transform(customItemModel("concrete_bottom")) + .register(); + + return concrete; + } + + public static Map generateColoredConcrete(boolean rebar) { + + String name = rebar ? "_rebar_concrete" : "_concrete"; + + Map list = new HashMap<>(); + + for (String color : COLORS) { + + MaterialSet set = new MaterialSet(); + + set.block=REGISTRATE.block(color + name, Block::new) + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.strength(rebar ? 12f : 3.5f, rebar ? 1200f : 3.5f)) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .blockstate(simpleCubeAll(color + "_concrete")) + .tag(BlockTags.NEEDS_STONE_TOOL) + .item() + .build() + .register(); + + + set.wall=REGISTRATE.block(color + name + "_wall", WallBlock::new) + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.strength(rebar ? 12f : 3.5f, rebar ? 1200f : 3.5f)) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .blockstate((c, p) -> TFMGVanillaBlockStates.generateWallBlockState(c, p, color + "_concrete")) + .tag(BlockTags.NEEDS_STONE_TOOL) + .tag(BlockTags.WALLS) + .recipe((c, p) -> p.stonecutting(DataIngredient.items(set.block.asItem()), RecipeCategory.BUILDING_BLOCKS, c::get, 1)) + .item() + .transform(b -> TFMGVanillaBlockStates.transformWallItem(b, color + "_concrete")) + .build() + .register(); + + set.stairs=REGISTRATE.block(color + name + "_stairs", p -> new StairBlock(TFMGBlocks.CONCRETE.block.get().defaultBlockState(), p)) + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.strength(rebar ? 12f : 3.5f, rebar ? 1200f : 3.5f)) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .blockstate((c, p) -> TFMGVanillaBlockStates.generateStairBlockState(c, p, color + "_concrete")) + .tag(BlockTags.NEEDS_STONE_TOOL) + .tag(BlockTags.STAIRS) + .recipe((c, p) -> p.stonecutting(DataIngredient.items(set.block.asItem()), RecipeCategory.BUILDING_BLOCKS, c::get, 1)) + .item() + // .transform(b -> TFMGVanillaBlockStates.transformStairItem(b, color + "_concrete")) + .transform(customItemModel(color + "_concrete_stairs")) + .register(); + + + + set.slab=REGISTRATE.block(color + name + "_slab", SlabBlock::new) + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.strength(rebar ? 12f : 3.5f, rebar ? 1200f : 3.5f)) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .blockstate((c, p) -> TFMGVanillaBlockStates.generateSlabBlockState(c, p, color + "_concrete")) + .tag(BlockTags.NEEDS_STONE_TOOL) + .tag(BlockTags.SLABS) + .recipe((c, p) -> p.stonecutting(DataIngredient.items(set.block.asItem()), RecipeCategory.BUILDING_BLOCKS, c::get, 2)) + .item() + .transform(customItemModel(color + "_concrete_bottom")) + .register(); + + list.put(color,set); + } + + return list; + } + + public static MaterialSet makeVariants(BlockEntry blockEntry) { + return makeVariants(blockEntry, false); + } + + public static MaterialSet makeVariants(BlockEntry blockEntry, boolean recipe) { + MaterialSet materialSet = new MaterialSet(); + + materialSet.block = blockEntry; + + String name = blockEntry.getId().toString().replace("tfmg:", ""); + + + REGISTRATE.block(name + "_wall", WallBlock::new) + .initialProperties(() -> blockEntry.get()) + .transform(pickaxeOnly()) + .blockstate((c, p) -> TFMGVanillaBlockStates.generateWallBlockState(c, p, name)) + .tag(BlockTags.NEEDS_STONE_TOOL) + .tag(BlockTags.WALLS) + .recipe((c, p) -> p.stonecutting(DataIngredient.items(blockEntry.asItem()), RecipeCategory.BUILDING_BLOCKS, c::get, 1)) + .item() + .transform(b -> TFMGVanillaBlockStates.transformWallItem(b, name)) + .build() + .register(); + + REGISTRATE.block(name + "_slab", SlabBlock::new) + .initialProperties(() -> blockEntry.get()) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .blockstate((c, p) -> TFMGVanillaBlockStates.generateSlabBlockState(c, p, name)) + .tag(BlockTags.NEEDS_STONE_TOOL) + .tag(BlockTags.SLABS) + .recipe((c, p) -> p.stonecutting(DataIngredient.items(blockEntry.asItem()), RecipeCategory.BUILDING_BLOCKS, c::get, 2)) + .item() + .transform(customItemModel(name + "_bottom")) + .register(); + REGISTRATE.block(name + "_stairs", p -> new StairBlock((TFMGBlocks.CONCRETE.block.get().defaultBlockState()), p)) + .initialProperties(() -> Blocks.STONE) + .transform(pickaxeOnly()) + .blockstate((c, p) -> TFMGVanillaBlockStates.generateStairBlockState(c, p, name)) + .tag(BlockTags.NEEDS_STONE_TOOL) + .tag(BlockTags.STAIRS) + .recipe((c, p) -> p.stonecutting(DataIngredient.items(blockEntry.asItem()), RecipeCategory.BUILDING_BLOCKS, c::get, 1)) + .item() + .transform(customItemModel(name + "_stairs")) + .register(); + + return materialSet; + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/base/TFMGContraptions.java b/src/main/java/com/drmangotea/tfmg/base/TFMGContraptions.java new file mode 100644 index 00000000..9433c42a --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/TFMGContraptions.java @@ -0,0 +1,28 @@ +package com.drmangotea.tfmg.base; + + + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.PumpjackContraption; +import com.simibubi.create.api.contraption.ContraptionType; +import com.simibubi.create.api.registry.CreateBuiltInRegistries; +import com.simibubi.create.content.contraptions.Contraption; +import net.minecraft.core.Holder; +import net.minecraft.core.Registry; + +import java.util.function.Supplier; + +import static com.simibubi.create.AllContraptionTypes.BY_LEGACY_NAME; + +public class TFMGContraptions { + + public static final Holder.Reference + PUMPJACK_CONTRAPTION = register("pumpjack", PumpjackContraption::new); + private static Holder.Reference register(String name, Supplier factory) { + ContraptionType type = new ContraptionType(factory); + BY_LEGACY_NAME.put(name, type); + + return Registry.registerForHolder(CreateBuiltInRegistries.CONTRAPTION_TYPE, TFMG.asResource(name), type); + } + public static void prepare() {} +} diff --git a/src/main/java/com/drmangotea/tfmg/base/TFMGCreativeTabs.java b/src/main/java/com/drmangotea/tfmg/base/TFMGCreativeTabs.java new file mode 100644 index 00000000..ae874897 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/TFMGCreativeTabs.java @@ -0,0 +1,204 @@ +package com.drmangotea.tfmg.base; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.decoration.encased.TFMGEncasedCogwheelBlock; +import com.drmangotea.tfmg.content.machinery.misc.winding_machine.SpoolItem; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.drmangotea.tfmg.registry.TFMGEncasedBlocks; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.*; +import com.simibubi.create.content.contraptions.actors.seat.SeatBlock; +import com.simibubi.create.content.equipment.armor.BacktankUtil; +import com.simibubi.create.content.equipment.toolbox.ToolboxBlock; +import com.simibubi.create.content.kinetics.crank.ValveHandleBlock; +import com.simibubi.create.content.logistics.box.PackageStyles; +import com.simibubi.create.content.logistics.packagePort.postbox.PostboxBlock; +import com.simibubi.create.content.logistics.tableCloth.TableClothBlock; +import com.simibubi.create.content.processing.sequenced.SequencedAssemblyItem; +import com.simibubi.create.foundation.data.CreateRegistrate; +import com.simibubi.create.foundation.item.TagDependentIngredientItem; +import com.tterrag.registrate.util.entry.BlockEntry; +import com.tterrag.registrate.util.entry.ItemEntry; +import com.tterrag.registrate.util.entry.ItemProviderEntry; +import com.tterrag.registrate.util.entry.RegistryEntry; +import it.unimi.dsi.fastutil.objects.*; +import net.createmod.catnip.platform.CatnipServices; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.entity.ItemRenderer; +import net.minecraft.client.resources.model.BakedModel; +import net.minecraft.core.registries.Registries; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.*; +import net.minecraft.world.level.block.Block; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.neoforge.event.BuildCreativeModeTabContentsEvent; +import net.neoforged.neoforge.registries.DeferredHolder; +import net.neoforged.neoforge.registries.DeferredRegister; +import org.apache.commons.lang3.mutable.MutableObject; +import org.jetbrains.annotations.ApiStatus; + + +import java.util.*; +import java.util.function.Function; +import java.util.function.Predicate; + +import static com.drmangotea.tfmg.TFMG.MOD_ID; +import static com.drmangotea.tfmg.TFMG.REGISTRATE; + +public class TFMGCreativeTabs { + private static final DeferredRegister REGISTER = + DeferredRegister.create(Registries.CREATIVE_MODE_TAB, MOD_ID); + + + public static final DeferredHolder TFMG_MAIN = REGISTER.register("tfmg_main", () -> CreativeModeTab.builder() + .withTabsBefore(AllCreativeModeTabs.BASE_CREATIVE_TAB.getId()) + .title(Component.translatable("creative_tab.tfmg_main")) + .icon(()-> TFMGItems.STEEL_MECHANISM.get().asItem().getDefaultInstance()) + // .displayItems(new RegistrateDisplayItemsGenerator(true, TFMGCreativeTabs.TFMG_MAIN)) + .build()); + + public static final DeferredHolder TFMG_DECORATION = REGISTER.register("tfmg_decoration", () -> CreativeModeTab.builder() + .withTabsBefore(TFMG_MAIN.getId()) + .title(Component.translatable("creative_tab.tfmg_decoration")) + .icon(()-> TFMGBlocks.CONCRETE.block.get().asItem().getDefaultInstance()) + // .displayItems(new RegistrateDisplayItemsGenerator(true, TFMGCreativeTabs.TFMG_DECORATION)) + .build()); + public static void addCreative(BuildCreativeModeTabContentsEvent event) { + + + if(event.getTab() == TFMGCreativeTabs.TFMG_MAIN.get()){ + event.acceptAll(customAdditions()); + for(RegistryEntry item : REGISTRATE.getAll(Registries.ITEM)){ + + if(!CreateRegistrate.isInCreativeTab(item,TFMG_MAIN)) + continue; + if(blacklist().contains(item)) + continue; + if(item.get() instanceof SequencedAssemblyItem) + continue; + if(item.get() instanceof SpoolItem&&!item.is(TFMGItems.EMPTY_SPOOL.get())){ + continue; + } + event.accept(item.get(), CreativeModeTab.TabVisibility.PARENT_TAB_ONLY); + } + + } + + if (event.getTab() == TFMG_DECORATION.get()){ + for(RegistryEntry item : REGISTRATE.getAll(Registries.ITEM)){ + if(!CreateRegistrate.isInCreativeTab(item, TFMG_DECORATION)) + continue; + if(blacklist().contains(item)) + continue; + if(item.get() instanceof BlockItem blockItem && blockItem.getBlock() instanceof TFMGEncasedCogwheelBlock) + continue; + if(item.get() instanceof SequencedAssemblyItem) + continue; + + event.accept(item.get(), CreativeModeTab.TabVisibility.PARENT_TAB_ONLY); + + } + + } + } + + + public static List> blacklist(){ + List> list = new ArrayList<>(); + + list.add(TFMGItems.LIT_LITHIUM_BLADE); + list.add(TFMGItems.GOLDEN_TURBO); + list.add(TFMGItems.DEPOSIT_ITEM); + list.add(TFMGItems.ALUMINUM_SPOOL); + list.add(TFMGItems.COPPER_SPOOL); + list.add(TFMGItems.CONSTANTAN_SPOOL); + + return list; + } + public static List customAdditions(){ + List list = new ArrayList<>(); + + ItemStack copperSpool = TFMGItems.COPPER_SPOOL.asStack(); + copperSpool.set(TFMGDataComponents.SPOOL_AMOUNT,1000); + list.add(copperSpool); + + ItemStack aluminumSpool = TFMGItems.ALUMINUM_SPOOL.asStack(); + aluminumSpool.set(TFMGDataComponents.SPOOL_AMOUNT,1000); + list.add(aluminumSpool); + + ItemStack constantanSpool = TFMGItems.CONSTANTAN_SPOOL.asStack(); + constantanSpool.set(TFMGDataComponents.SPOOL_AMOUNT,1000); + list.add(constantanSpool); + + CompoundTag gasolineTag = new CompoundTag(); + gasolineTag.putString("gasoline", "c:gasoline"); + gasolineTag.putString("kerosene", "c:kerosene"); + gasolineTag.putString("naphtha", "c:naphtha"); + CompoundTag gasolineTagName = new CompoundTag(); + gasolineTagName.putString("gasoline", "fluid.tfmg.gasoline"); + gasolineTagName.putString("kerosene", "fluid.tfmg.kerosene"); + gasolineTagName.putString("naphtha", "fluid.tfmg.naphtha"); + // + CompoundTag creosoteTag = new CompoundTag(); + creosoteTag.putString("creosote", "c:creosote"); + creosoteTag.putString("furnace_gas", "c:furnace_gas"); + CompoundTag creosoteTagName = new CompoundTag(); + creosoteTagName.putString("creosote", "fluid.tfmg.creosote"); + creosoteTagName.putString("furnace_gas", "fluid.tfmg.furnace_gas"); + // + CompoundTag dieselTag = new CompoundTag(); + dieselTag.putString("diesel", "c:diesel"); + CompoundTag dieselTagName = new CompoundTag(); + dieselTagName.putString("diesel", "fluid.tfmg.diesel"); + // + CompoundTag lpgTag = new CompoundTag(); + lpgTag.putString("lpg", "c:lpg"); + CompoundTag lpgTagName = new CompoundTag(); + lpgTagName.putString("lpg", "fluid.tfmg.lpg"); + // + CompoundTag keroseneTag = new CompoundTag(); + keroseneTag.putString("kerosene", "c:kerosene"); + CompoundTag keroseneTagName = new CompoundTag(); + keroseneTagName.putString("kerosene", "fluid.tfmg.kerosene"); + // + + + ItemStack gasoline = TFMGItems.ENGINE_CYLINDER.asStack(); + gasoline.set(TFMGDataComponents.FUELS, gasolineTagName); + gasoline.set(TFMGDataComponents.FUEL_TAGS, gasolineTag); + list.add(gasoline); + ItemStack diesel = TFMGItems.DIESEL_ENGINE_CYLINDER.asStack(); + diesel.set(TFMGDataComponents.FUELS, dieselTagName); + diesel.set(TFMGDataComponents.FUEL_TAGS, dieselTag); + list.add(diesel); + ItemStack lpg = TFMGItems.ENGINE_CYLINDER.asStack(); + lpg.set(TFMGDataComponents.FUELS, lpgTagName); + lpg.set(TFMGDataComponents.FUEL_TAGS, lpgTag); + list.add(lpg); + ItemStack creosote = TFMGItems.SIMPLE_ENGINE_CYLINDER.asStack(); + creosote.set(TFMGDataComponents.FUELS, creosoteTagName); + creosote.set(TFMGDataComponents.FUEL_TAGS, creosoteTag); + list.add(creosote); + + + ItemStack kerosene = TFMGItems.TURBINE_BLADE.asStack(); + kerosene.set(TFMGDataComponents.FUELS, keroseneTagName); + kerosene.set(TFMGDataComponents.FUEL_TAGS, keroseneTag); + list.add(kerosene); + + return list; + } + + @ApiStatus.Internal + public static void register(IEventBus modEventBus) { + REGISTER.register(modEventBus); + } + + +} + + diff --git a/src/main/java/com/drmangotea/tfmg/base/TFMGIcons.java b/src/main/java/com/drmangotea/tfmg/base/TFMGIcons.java new file mode 100644 index 00000000..29b44e04 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/TFMGIcons.java @@ -0,0 +1,98 @@ +package com.drmangotea.tfmg.base; + +import com.drmangotea.tfmg.TFMG; +import com.mojang.blaze3d.systems.RenderSystem; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.simibubi.create.foundation.gui.AllIcons; +import net.createmod.catnip.gui.element.DelegatedStencilElement; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.renderer.LightTexture; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.phys.Vec3; + + +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import org.joml.Matrix4f; + +import java.awt.*; + +public class TFMGIcons extends AllIcons { + + + public static final ResourceLocation ICON_ATLAS = TFMG.asResource("textures/gui/icons.png"); + public static final int ICON_ATLAS_SIZE = 256; + + private static int x = 0, y = -1; + private int iconX; + private int iconY; + + + public static final TFMGIcons + DISTILLATION_OUTPUT_ICON_DO_NOT_VOID = newRow(), + DISTILLATION_OUTPUT_ICON_VOID = next(); + + public TFMGIcons(int x, int y) { + super(x, y); + iconX = x * 16; + iconY = y * 16; + } + + private static TFMGIcons next() { + return new TFMGIcons(++x, y); + } + + private static TFMGIcons newRow() { + return new TFMGIcons(x = 0, ++y); + } + + @OnlyIn(Dist.CLIENT) + public void bind() { + RenderSystem.setShaderTexture(0, ICON_ATLAS); + } + + @OnlyIn(Dist.CLIENT) + @Override + public void render(GuiGraphics graphics, int x, int y) { + graphics.blit(ICON_ATLAS, x, y, 0, iconX, iconY, 16, 16, 256, 256); + } + + @OnlyIn(Dist.CLIENT) + public void render(PoseStack ms, MultiBufferSource buffer, int color) { + VertexConsumer builder = buffer.getBuffer(RenderType.text(ICON_ATLAS)); + Matrix4f matrix = ms.last().pose(); + Color rgb = new Color(color); + int light = LightTexture.FULL_BRIGHT; + + Vec3 vec1 = new Vec3(0, 0, 0); + Vec3 vec2 = new Vec3(0, 1, 0); + Vec3 vec3 = new Vec3(1, 1, 0); + Vec3 vec4 = new Vec3(1, 0, 0); + + float u1 = iconX * 1f / ICON_ATLAS_SIZE; + float u2 = (iconX + 16) * 1f / ICON_ATLAS_SIZE; + float v1 = iconY * 1f / ICON_ATLAS_SIZE; + float v2 = (iconY + 16) * 1f / ICON_ATLAS_SIZE; + + vertex(builder, matrix, vec1, rgb, u1, v1, light); + vertex(builder, matrix, vec2, rgb, u1, v2, light); + vertex(builder, matrix, vec3, rgb, u2, v2, light); + vertex(builder, matrix, vec4, rgb, u2, v1, light); + } + + @OnlyIn(Dist.CLIENT) + private void vertex(VertexConsumer builder, Matrix4f matrix, Vec3 vec, Color rgb, float u, float v, int light) { + builder.addVertex(matrix, (float) vec.x, (float) vec.y, (float) vec.z) + .setColor(rgb.getRed(), rgb.getGreen(), rgb.getBlue(), 255) + .setUv(u, v) + .setLight(light); + } + + @OnlyIn(Dist.CLIENT) + public DelegatedStencilElement asStencil() { + return new DelegatedStencilElement().withStencilRenderer((ms, w, h, alpha) -> this.render(ms, 0, 0)).withBounds(16, 16); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/base/TFMGMetalBarsGen.java b/src/main/java/com/drmangotea/tfmg/base/TFMGMetalBarsGen.java new file mode 100644 index 00000000..204dda68 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/TFMGMetalBarsGen.java @@ -0,0 +1,144 @@ +package com.drmangotea.tfmg.base; + +import com.drmangotea.tfmg.TFMG; +import com.simibubi.create.AllTags.AllBlockTags; +import com.simibubi.create.foundation.data.TagGen; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import com.tterrag.registrate.util.DataIngredient; +import com.tterrag.registrate.util.entry.BlockEntry; +import com.tterrag.registrate.util.nullness.NonNullBiConsumer; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.data.recipes.RecipeCategory; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.IronBarsBlock; +import net.minecraft.world.level.block.SoundType; +import net.minecraft.world.level.material.MapColor; +import net.neoforged.neoforge.client.model.generators.ModelFile; + + +import java.util.function.Supplier; + +import static net.minecraft.world.level.block.state.properties.BlockStateProperties.*; + +public class TFMGMetalBarsGen { + + public static

NonNullBiConsumer, RegistrateBlockstateProvider> barsBlockState( + String name, boolean specialEdge) { + return (c, p) -> { + ModelFile post_ends = barsSubModel(p, name, "post_ends", specialEdge); + ModelFile post = barsSubModel(p, name, "post", specialEdge); + ModelFile cap = barsSubModel(p, name, "cap", specialEdge); + ModelFile cap_alt = barsSubModel(p, name, "cap_alt", specialEdge); + ModelFile side = barsSubModel(p, name, "side", specialEdge); + ModelFile side_alt = barsSubModel(p, name, "side_alt", specialEdge); + + p.getMultipartBuilder(c.get()) + .part() + .modelFile(post_ends) + .addModel() + .end() + .part() + .modelFile(post) + .addModel() + .condition(NORTH, false) + .condition(EAST, false) + .condition(SOUTH, false) + .condition(WEST, false) + .end() + .part() + .modelFile(cap) + .addModel() + .condition(NORTH, true) + .condition(EAST, false) + .condition(SOUTH, false) + .condition(WEST, false) + .end() + .part() + .modelFile(cap) + .rotationY(90) + .addModel() + .condition(NORTH, false) + .condition(EAST, true) + .condition(SOUTH, false) + .condition(WEST, false) + .end() + .part() + .modelFile(cap_alt) + .addModel() + .condition(NORTH, false) + .condition(EAST, false) + .condition(SOUTH, true) + .condition(WEST, false) + .end() + .part() + .modelFile(cap_alt) + .rotationY(90) + .addModel() + .condition(NORTH, false) + .condition(EAST, false) + .condition(SOUTH, false) + .condition(WEST, true) + .end() + .part() + .modelFile(side) + .addModel() + .condition(NORTH, true) + .end() + .part() + .modelFile(side) + .rotationY(90) + .addModel() + .condition(EAST, true) + .end() + .part() + .modelFile(side_alt) + .addModel() + .condition(SOUTH, true) + .end() + .part() + .modelFile(side_alt) + .rotationY(90) + .addModel() + .condition(WEST, true) + .end(); + }; + } + + private static ModelFile barsSubModel(RegistrateBlockstateProvider p, String name, String suffix, + boolean specialEdge) { + ResourceLocation barsTexture = p.modLoc("block/bars/" + name + "_bars"); + ResourceLocation edgeTexture = specialEdge ? p.modLoc("block/bars/" + name + "_bars_edge") : barsTexture; + return p.models() + .withExistingParent(name + "_" + suffix, p.modLoc("block/bars/" + suffix)) + .texture("bars", barsTexture) + .texture("particle", barsTexture) + .texture("edge", edgeTexture); + } + @SuppressWarnings("removal") + public static BlockEntry createBars(String name, boolean specialEdge, + Supplier ingredient, MapColor color) { + return TFMG.REGISTRATE.block(name + "_bars", IronBarsBlock::new) + .addLayer(() -> RenderType::cutoutMipped) + .initialProperties(() -> Blocks.IRON_BARS) + .properties(p -> p.sound(SoundType.COPPER) + .mapColor(color)) + .tag(AllBlockTags.WRENCH_PICKUP.tag) + .tag(AllBlockTags.FAN_TRANSPARENT.tag) + .transform(TagGen.pickaxeOnly()) + .blockstate(barsBlockState(name, specialEdge)) + .item() + .model((c, p) -> { + ResourceLocation barsTexture = p.modLoc("block/bars/" + name + "_bars"); + p.withExistingParent(c.getName(), TFMG.asResource("item/bars")) + .texture("bars", barsTexture) + .texture("edge", specialEdge ? p.modLoc("block/bars/" + name + "_bars_edge") : barsTexture); + }) + .recipe((c, p) -> p.stonecutting(ingredient.get(), RecipeCategory.DECORATIONS, c::get, 4)) + .build() + .register(); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/base/TFMGRegistrate.java b/src/main/java/com/drmangotea/tfmg/base/TFMGRegistrate.java new file mode 100644 index 00000000..7b078792 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/TFMGRegistrate.java @@ -0,0 +1,72 @@ +package com.drmangotea.tfmg.base; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.fluid.GasFluidType; +import com.simibubi.create.content.fluids.VirtualFluid; +import com.simibubi.create.foundation.data.CreateRegistrate; +import com.simibubi.create.foundation.data.VirtualFluidBuilder; +import com.simibubi.create.foundation.item.TooltipModifier; +import com.tterrag.registrate.Registrate; +import com.tterrag.registrate.builders.FluidBuilder; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceKey; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.CreativeModeTab; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.*; +import org.jetbrains.annotations.Nullable; + +import java.util.function.Function; + +import static com.drmangotea.tfmg.registry.TFMGFluids.getGasTexture; +import static com.simibubi.create.foundation.data.ModelGen.customItemModel; + +public class TFMGRegistrate extends CreateRegistrate { + protected TFMGRegistrate(String modid) { + super(modid); + } + + public TFMGRegistrate setTooltipModifierFactory(@Nullable Function factory) { + currentTooltipModifierFactory = factory; + return this; + } + + + public static String autoLang(String id) { + StringBuilder builder = new StringBuilder(); + boolean b = true; + for (char c: id.toCharArray()) { + if(c == '_') { + builder.append(' '); + b = true; + } else { + builder.append(b ? String.valueOf(c).toUpperCase() : c); + b = false; + } + } + return builder.toString(); + } + + public FluidBuilder gasFluid(String name, int color) { + return entry(name, c -> new VirtualFluidBuilder<>(self(),self(), name, c, getGasTexture(), getGasTexture(), + GasFluidType.create(color),VirtualFluid::createSource,VirtualFluid::createFlowing)); + } + + + + public static TFMGRegistrate create(String id) { + return new TFMGRegistrate(id); + } + + //public static Block getBlock(String name) { + // return TFMG.REGISTRATE.get(name, Registrate.BLOCKS.getRegistryKey()).get(); + //} + //public static Item getItem(String name) { + // return TFMG.REGISTRATE.get(name, ForgeRegistries.ITEMS.getRegistryKey()).get(); + //} + public static Item getBucket(String name) { + return TFMG.REGISTRATE.get(name+"_bucket", Registries.ITEM).get(); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/base/TFMGRegistrateTags.java b/src/main/java/com/drmangotea/tfmg/base/TFMGRegistrateTags.java new file mode 100644 index 00000000..640a4979 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/TFMGRegistrateTags.java @@ -0,0 +1,53 @@ +package com.drmangotea.tfmg.base; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.registry.TFMGTags; +import com.simibubi.create.AllItems; +import com.simibubi.create.AllTags; +import com.simibubi.create.foundation.data.TagGen; +import com.simibubi.create.foundation.data.recipe.Mods; +import com.tterrag.registrate.providers.ProviderType; +import com.tterrag.registrate.providers.RegistrateTagsProvider; +import net.minecraft.tags.BlockTags; +import net.minecraft.tags.ItemTags; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import java.util.List; + +public class TFMGRegistrateTags { + public static void addGenerators() { + TFMG.REGISTRATE.addDataGenerator(ProviderType.BLOCK_TAGS, TFMGRegistrateTags::genBlockTags); + TFMG.REGISTRATE.addDataGenerator(ProviderType.ITEM_TAGS, TFMGRegistrateTags::genItemTags); + // TFMG.REGISTRATE.addDataGenerator(ProviderType.FLUID_TAGS, TFMGRegistrateTags::genFluidTags); + // TFMG.REGISTRATE.addDataGenerator(ProviderType.ENTITY_TAGS, TFMGRegistrateTags::genEntityTags); + } + private static void genItemTags(RegistrateTagsProvider provIn) { + TagGen.CreateTagsProvider prov = new TagGen.CreateTagsProvider<>(provIn, Item::builtInRegistryHolder); + + prov.tag(TFMGTags.TFMGItemTags.RODS.tag) + .add(Items.STICK); + + for (TFMGTags.TFMGItemTags tag : TFMGTags.TFMGItemTags.values()) { + if (tag.alwaysDatagen) { + prov.getOrCreateRawBuilder(tag.tag); + } + } + } + private static void genBlockTags(RegistrateTagsProvider provIn) { + TagGen.CreateTagsProvider prov = new TagGen.CreateTagsProvider<>(provIn, Block::builtInRegistryHolder); + + + prov.tag(TFMGTags.TFMGBlockTags.PUMPJACK_HEAD.tag) + .add(Blocks.IRON_BLOCK); + prov.tag(TFMGTags.TFMGBlockTags.PUMPJACK_PART.tag) + .addTag(TFMGTags.TFMGBlockTags.PUMPJACK_SMALL_PART.tag); + + for (TFMGTags.TFMGBlockTags tag : TFMGTags.TFMGBlockTags.values()) { + if (tag.alwaysDatagen) { + prov.getOrCreateRawBuilder(tag.tag); + } + } + } +} diff --git a/src/main/java/com/drmangotea/tfmg/base/TFMGShapes.java b/src/main/java/com/drmangotea/tfmg/base/TFMGShapes.java new file mode 100644 index 00000000..c6e956bc --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/TFMGShapes.java @@ -0,0 +1,216 @@ +package com.drmangotea.tfmg.base; + + +import net.createmod.catnip.math.VoxelShaper; +import net.minecraft.core.Direction; +import net.minecraft.core.Direction.Axis; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.phys.shapes.BooleanOp; +import net.minecraft.world.phys.shapes.Shapes; +import net.minecraft.world.phys.shapes.VoxelShape; + +import java.util.function.BiFunction; + +import static net.minecraft.core.Direction.*; + +public class TFMGShapes { + public static final VoxelShaper + ENGINE = shape(0, 0, 0, 16, 7, 16).add(3, 7, 0, 13, 12, 16) + .forDirectional(SOUTH), + ENGINE_GEARBOX = shape(0, 0, -1, 3, 5, 15) + .add(13, 0, -1, 16, 5, 15) + .add(3, 0, -1, 13, 12, 11) + .add(3, 0, 11, 13, 11, 15) + .add(13, 5, 3, 16, 13, 13) + .add(0, 5, 3, 3, 13, 13) + .add(13, 5, -1, 16, 7, 1) + .add(0, 5, -1, 3, 7, 1) + .add(15, 5, 9, 15, 11, 9) + .forDirectional(NORTH), + TURBINE_ENGINE_FRONT = shape(2, 2, 0, 14, 14, 16) + .add(3, 0, 8, 13, 2, 16) + .forHorizontal(SOUTH), + TURBINE_ENGINE_MIDDLE = shape(11, 0, 2, 16, 5, 14) + .add(1, 1, 0, 15, 15, 16) + .add(0, 0, 2, 5, 5, 14) + .forHorizontal(SOUTH), + TURBINE_ENGINE_BACK = shape(5.3, 0, 5, 11.3, 3, 14) + .add(3, 3, 2, 13, 13, 16) + .forHorizontal(SOUTH), + ENGINE_CONTROLLER = shape(0, 0, 0, 4, 5, 16) + .add(2, 5, 5, 14, 12, 14) + .add(4, 0, 5, 15, 5, 16) + .forHorizontal(SOUTH), + ENGINE_FRONT = shape(0, 0, 1, 16, 7, 16).add(3, 7, 1, 13, 12, 16) + .forDirectional(SOUTH), + PUMPJACK_HAMMER_PART = shape(0, 2, 0, 16, 14, 16) + .forDirectional(), + RADIAL_ENGINE_SINGLE = shape(1, 4, 1, 15, 12, 15) + .forDirectional(), + RADIAL_ENGINE_SIDE = shape(1, 4, 1, 15, 16, 15) + .forDirectional(), + RADIAL_ENGINE_MIDDLE = shape(1, 0, 1, 15, 16, 15) + .forDirectional(), + PUMPJACK_HEAD = shape(1, 0, -4, 15, 14, 24) + .forDirectional(), + COMPACT_ENGINE_VERTICAL = shape(3, 0, 3, 13, 14, 14) + .forDirectional(), + COMPACT_ENGINE = shape(3, 0, 3, 13, 14, 14) + .forDirectional(), + CABLE_CONNECTOR = shape(6, 0, 6, 10, 9, 10) + .forDirectional(), + CABLE_CONNECTOR_MIDDLE = shape(6, 0, 6, 10, 16, 10) + .forDirectional(), + GALVANIC_CELL = shape(5, 10, 5, 11, 16, 16).add(1, 4, 6, 15, 10, 16) + .forDirectional(), + RESISTOR = shape(6, 0, 3, 10, 4, 13) + .forDirectional(), + GENERATOR = shape(3, 0, 3, 13, 14, 13).add(0, 4, 0, 16, 10, 16) + .forDirectional(), + LIGHT_BULB = shape(5, 0, 5, 11, 9, 11) + .forDirectional(), + MODERN_LIGHT = shape(0, 0, 0, 16, 3, 16) + .forDirectional(), + CIRCULAR_LIGHT = shape(3, 0, 3, 13, 10, 13) + .forDirectional(), + ALUMINUM_LAMP = shape(3, 0, 3, 13, 2, 13).add(4, 2, 4, 12, 3, 12) + .forDirectional(), + POTENTIOMETER = shape(3, 0, 3, 13, 16, 13).add(1, 1, 13, 15, 15, 16) + .forDirectional(), + WINDING_MACHINE = shape(0, 0, 0, 16, 8, 16).add(0, 8, 4, 10, 12, 12) + .forHorizontal(NORTH), + RESISTOR_VERTICAL = shape(3, 0, 3, 13, 16, 13) + .forDirectional(), + BLAST_FURNACE_REINFORCEMENT_WALL = shape(0, 0, 0, 16, 6, 16) + .forDirectional(), + + ROTOR = shape(4, 5, 4, 12, 11, 12).add(5, 0, 5, 11, 16, 11) + .forDirectional(), + STATOR = shape(5, 1, 0, 16, 15.2, 5).add(5, 1, 5, 10, 15.2, 10).add(0, 1, 0, 5, 15.2, 16) + .forDirectional(), + STATOR_ROTATED = shape(5, 1, 11, 16, 15, 16).add(5, 1, 6, 10, 15, 11).add(0, 1, 0, 5, 15, 16) + .forDirectional(), + STATOR_VERTICAL = shape(5, 0, 1, 16, 5, 15).add(5, 5, 1, 10, 10, 15).add(0, 0, 1, 5, 16, 15) + .forDirectional(), + VOLTMETER = shape(0, 0, 2, 16, 3, 14) + .forDirectional(), + ELECTRIC_PUMP = shape(2, 6, 2, 14, 10, 14) + .add(4, 3, 4, 12, 11, 12) + .add(3, 11, 3, 13, 16, 13) + .add(3, 0, 3, 13, 5, 13) + .forDirectional(), + DIAGONAL_CABLE_BLOCK_DOWN = shape(3, 3, 11, 13, 13, 16) + .add(3, 11, 3, 13, 16, 13) + .add(4, 4, 5, 12, 11, 12) + .forDirectional(), + DIAGONAL_CABLE_BLOCK_UP = shape(3, 3, 0, 13, 13, 5) + .add(3, 11, 3, 13, 16, 13) + .add(4, 4, 5, 12, 11, 12) + .forDirectional(), + CASTING_BASIN = shape(0, 0, 0, 16, 8, 16) + .add(4, 8, 14, 12, 13, 16) + .forHorizontal(NORTH), + TRANSFORMER = shape(0, 0, 0, 16, 6, 16) + .add(1, 6, 5, 15, 15, 11) + .forHorizontal(NORTH), + CABLE_TUBE = shape(6, 0, 6, 10, 16, 10) + .forDirectional(), + REBAR_PILLAR = shape(3, 0, 3, 13, 16, 13) + .forDirectional(), + ELECTRICAL_SWITCH = shape(5, 0, 3, 11, 3, 13) + .forHorizontalAxis(), + ELECTRICAL_SWITCH_CEILING = shape(5, 13, 3, 11, 16, 13) + .forHorizontalAxis(), + ELECTRICAL_SWITCH_WALL = shape(5, 3, 0, 11, 13, 3) + .forHorizontal(SOUTH), + + POLARIZER = shape(4, 8, 0, 12, 12, 2) + .add(5, 8, 14, 11, 11, 16) + .add(11, 8, 4, 15, 12, 11) + .add(1, 8, 4, 5, 12, 11) + .add(0, 0, 0, 16, 8, 16) + .forHorizontal(NORTH); + public static final VoxelShape + + EMPTY = shape(0, 0, 0, 0, 0, 0).build(), + PUMPJACK_CRANK = shape(0, 0, 0, 16, 8, 16).build(), + INDUSTRIAL_PIPE = shape(4, 0, 4, 12, 16, 12).build(), + FLARESTACK = shape(3, 0, 3, 13, 14, 14).build(), + PUMPJACK_BASE = shape(3, 0, 3, 13, 16, 13).build(), + TRAFFIC_LIGHT = shape(3, 0, 3, 13, 16, 13).build(), + REBAR_FLOOR = shape(0, 4, 0, 16, 12, 16) + .build(), + SURFACE_SCANNER = shape(2, 0, 2, 14, 14, 14).build(), + FULL = shape(0, 0, 0, 16, 16, 16).build(), + ELECTRIC_POST = shape(4, 0, 4, 12, 16, 12).build(), + SLAB = shape(0, 0, 0, 16, 8, 16).build(); + ; + + private static Builder shape(VoxelShape shape) { + return new Builder(shape); + } + + private static Builder shape(double x1, double y1, double z1, double x2, double y2, double z2) { + return shape(cuboid(x1, y1, z1, x2, y2, z2)); + } + + private static VoxelShape cuboid(double x1, double y1, double z1, double x2, double y2, double z2) { + return Block.box(x1, y1, z1, x2, y2, z2); + } + + public static class Builder { + private VoxelShape shape; + + public Builder(VoxelShape shape) { + this.shape = shape; + } + + public Builder add(VoxelShape shape) { + this.shape = Shapes.or(this.shape, shape); + return this; + } + + public Builder add(double x1, double y1, double z1, double x2, double y2, double z2) { + return add(cuboid(x1, y1, z1, x2, y2, z2)); + } + + public Builder erase(double x1, double y1, double z1, double x2, double y2, double z2) { + this.shape = Shapes.join(shape, cuboid(x1, y1, z1, x2, y2, z2), BooleanOp.ONLY_FIRST); + return this; + } + + public VoxelShape build() { + return shape; + } + + public VoxelShaper build(BiFunction factory, Direction direction) { + return factory.apply(shape, direction); + } + + public VoxelShaper build(BiFunction factory, Axis axis) { + return factory.apply(shape, axis); + } + + public VoxelShaper forDirectional(Direction direction) { + return build(VoxelShaper::forDirectional, direction); + } + + public VoxelShaper forAxis() { + return build(VoxelShaper::forAxis, Axis.Y); + } + + public VoxelShaper forHorizontalAxis() { + return build(VoxelShaper::forHorizontalAxis, Axis.Z); + } + + public VoxelShaper forHorizontal(Direction direction) { + return build(VoxelShaper::forHorizontal, direction); + } + + public VoxelShaper forDirectional() { + return forDirectional(UP); + } + + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/base/TFMGSharedProperties.java b/src/main/java/com/drmangotea/tfmg/base/TFMGSharedProperties.java new file mode 100644 index 00000000..1f454301 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/TFMGSharedProperties.java @@ -0,0 +1,5 @@ +package com.drmangotea.tfmg.base; + + + +public class TFMGSharedProperties {} diff --git a/src/main/java/com/drmangotea/tfmg/base/TFMGSpriteShifts.java b/src/main/java/com/drmangotea/tfmg/base/TFMGSpriteShifts.java new file mode 100644 index 00000000..833f5f11 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/TFMGSpriteShifts.java @@ -0,0 +1,72 @@ +package com.drmangotea.tfmg.base; + +import com.drmangotea.tfmg.TFMG; +import com.simibubi.create.Create; +import com.simibubi.create.foundation.block.connected.AllCTTypes; +import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry; +import com.simibubi.create.foundation.block.connected.CTSpriteShifter; +import com.simibubi.create.foundation.block.connected.CTType; +import net.createmod.catnip.render.SpriteShiftEntry; +import net.createmod.catnip.render.SpriteShifter; + +public class TFMGSpriteShifts { + + public static final CTSpriteShiftEntry CAST_IRON_BLOCK = omni("cast_iron_block"), LEAD_BLOCK = omni("lead_block"), STEEL_BLOCK = omni("steel_block"); + public static final CTSpriteShiftEntry HEAVY_MACHINERY_CASING = omni("heavy_machinery_casing"), ELECTRIC_CASING = omni("electric_casing"), STEEL_CASING = omni("steel_casing"), INDUSTRIAL_ALUMINUM_CASING = omni("industrial_aluminum_casing"); + public static final CTSpriteShiftEntry CAPACITOR = getCT(AllCTTypes.RECTANGLE, "capacitor_side"), ACCUMULATOR = getCT(AllCTTypes.RECTANGLE, "accumulator_side"); + public static final CTSpriteShiftEntry STEEL_SCAFFOLD = horizontal("scaffold/steel_scaffold"), ALUMINUM_SCAFFOLD = horizontal("scaffold/aluminum_scaffold"); + public static final CTSpriteShiftEntry ALUMINUM_SCAFFOLD_TOP = omni("aluminum_casing"); + public static final CTSpriteShiftEntry STEEL_SCAFFOLD_INSIDE = horizontal("scaffold/steel_scaffold_inside"), ALUMINUM_SCAFFOLD_INSIDE = horizontal("scaffold/aluminum_scaffold_inside"); + public static final CTSpriteShiftEntry STEEL_ENCASED_COGWHEEL_SIDE = vertical("steel_encased_cogwheel_side"), STEEL_ENCASED_COGWHEEL_OTHERSIDE = horizontal("steel_encased_cogwheel_side"), HEAVY_CASING_ENCASED_COGWHEEL_SIDE = vertical("heavy_machinery_encased_cogwheel_side"), HEAVY_CASING_ENCASED_COGWHEEL_OTHERSIDE = horizontal("heavy_machinery_encased_cogwheel_side"); + public static final CTSpriteShiftEntry COKE_OVEN_TOP = getCT(AllCTTypes.RECTANGLE, "coke_oven/top"), COKE_OVEN_BOTTOM = getCT(AllCTTypes.RECTANGLE, "coke_oven/bottom"), COKE_OVEN_BACK = getCT(AllCTTypes.RECTANGLE, "coke_oven/side"), COKE_OVEN_SIDE = getCT(AllCTTypes.RECTANGLE, "coke_oven/side"); + + public static final CTSpriteShiftEntry FIREBOX_TOP = getCT(AllCTTypes.RECTANGLE, "firebox_top"); + + public static final CTSpriteShiftEntry STEEL_FLUID_TANK = getCT(AllCTTypes.RECTANGLE, "steel_fluid_tank"), STEEL_FLUID_TANK_TOP = getCT(AllCTTypes.RECTANGLE, "steel_fluid_tank_top"), STEEL_FLUID_TANK_INNER = getCT(AllCTTypes.RECTANGLE, "steel_fluid_tank_inner"); + public static final CTSpriteShiftEntry ALUMINUM_FLUID_TANK = getCT(AllCTTypes.RECTANGLE, "aluminum_fluid_tank"), ALUMINUM_FLUID_TANK_TOP = getCT(AllCTTypes.RECTANGLE, "aluminum_fluid_tank_top"), ALUMINUM_FLUID_TANK_INNER = getCT(AllCTTypes.RECTANGLE, "aluminum_fluid_tank_inner"); + public static final CTSpriteShiftEntry CAST_IRON_FLUID_TANK = getCT(AllCTTypes.RECTANGLE, "cast_iron_fluid_tank"), CAST_IRON_FLUID_TANK_TOP = getCT(AllCTTypes.RECTANGLE, "cast_iron_fluid_tank_top"), CAST_IRON_FLUID_TANK_INNER = getCT(AllCTTypes.RECTANGLE, "cast_iron_fluid_tank_inner"); + + public static final CTSpriteShiftEntry STEEL_VAT = getCT(AllCTTypes.RECTANGLE, "steel_vat"), STEEL_VAT_TOP = getCT(AllCTTypes.RECTANGLE, "steel_vat_top"), STEEL_VAT_INNER = getCT(AllCTTypes.RECTANGLE, "steel_vat_inner"); + public static final CTSpriteShiftEntry CAST_IRON_VAT = getCT(AllCTTypes.RECTANGLE, "cast_iron_vat"), CAST_IRON_VAT_TOP = getCT(AllCTTypes.RECTANGLE, "cast_iron_vat_top"), CAST_IRON_VAT_INNER = getCT(AllCTTypes.RECTANGLE, "cast_iron_vat_inner"); + public static final CTSpriteShiftEntry FIREPROOF_VAT = getCT(AllCTTypes.RECTANGLE, "firebrick_vat"); + + public static final CTSpriteShiftEntry BLAST_FURNACE_REINFORCEMENT = vertical("blast_furnace_reinforcement"); + public static final CTSpriteShiftEntry RUSTED_BLAST_FURNACE_REINFORCEMENT = vertical("rusted_blast_furnace_reinforcement"); + public static final CTSpriteShiftEntry SEGMENTED_DISPLAY_SCREEN = horizontal("segmented_display_screen"); + + public static final CTSpriteShiftEntry BLAST_STOVE_SIDE = getCT(AllCTTypes.RECTANGLE, "blast_stove_side"), BLAST_STOVE_TOP = getCT(AllCTTypes.RECTANGLE, "blast_stove_top"); + public static final CTSpriteShiftEntry + REGULAR_ENGINE_TOP = vertical("engines/engine_top"), + REGULAR_ENGINE_BOTTOM = vertical("engines/engine_bottom"), + REGULAR_ENGINE_SIDE = horizontal("engines/engine_side"); + public static final SpriteShiftEntry WINDING_MACHINE_COPPER_WIRE = get("block/winding_machine_copper_wire", "block/winding_machine_copper_wire_scroll"); + + + /////////////////////// + public static CTSpriteShiftEntry omni(String name) { + return getCT(AllCTTypes.OMNIDIRECTIONAL, name); + } + + public static CTSpriteShiftEntry horizontal(String name) { + return getCT(AllCTTypes.HORIZONTAL_KRYPPERS, name); + } + + private static CTSpriteShiftEntry vertical(String name) { + return getCT(AllCTTypes.VERTICAL, name); + } + + ///// + + private static CTSpriteShiftEntry getCT(CTType type, String blockTextureName, String connectedTextureName) { + return CTSpriteShifter.getCT(type, TFMG.asResource("block/" + blockTextureName), TFMG.asResource("block/" + connectedTextureName + "_connected")); + } + + private static CTSpriteShiftEntry getCT(CTType type, String blockTextureName) { + return getCT(type, blockTextureName, blockTextureName); + } + + private static SpriteShiftEntry get(String originalLocation, String targetLocation) { + return SpriteShifter.get(TFMG.asResource(originalLocation), TFMG.asResource(targetLocation)); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/base/TFMGTiers.java b/src/main/java/com/drmangotea/tfmg/base/TFMGTiers.java new file mode 100644 index 00000000..228d4c8e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/TFMGTiers.java @@ -0,0 +1,88 @@ +package com.drmangotea.tfmg.base; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.AllSoundEvents; +import com.simibubi.create.AllTags; +import com.simibubi.create.Create; +import net.minecraft.core.Holder; +import net.minecraft.core.registries.Registries; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.tags.BlockTags; +import net.minecraft.tags.TagKey; +import net.minecraft.util.LazyLoadedValue; +import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.item.ArmorMaterial; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.level.block.Block; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.neoforge.common.SimpleTier; +import net.neoforged.neoforge.common.Tags; +import net.neoforged.neoforge.registries.DeferredRegister; +import org.jetbrains.annotations.ApiStatus; +import org.jetbrains.annotations.NotNull; + +import java.util.EnumMap; +import java.util.List; +import java.util.function.Supplier; + +public enum TFMGTiers implements Tier { + + + + + + STEEL(TFMG.asResource("steel").toString(),1000, 7.5f, 3f, 12,()-> Ingredient.of(AllTags.commonItemTag("ingots/steel"))), + ALUMINUM(TFMG.asResource("aluminum").toString(),220, 6, 2f, 22,()-> Ingredient.of(AllTags.commonItemTag("ingots/aluminum"))), + LEAD(TFMG.asResource("lead").toString(),32, 2, 0.5f, 5,()-> Ingredient.of(AllTags.commonItemTag("ingots/lead"))); + + + public final String name; + + private final int uses; + private final float speed; + private final float damageBonus; + private final int enchantValue; + private final Supplier repairMaterial; + + private TFMGTiers(String name, int uses, float speed, float damageBonus, int enchantValue, + Supplier repairMaterial) { + this.name = name; + this.uses = uses; + this.speed = speed; + this.damageBonus = damageBonus; + this.enchantValue = enchantValue; + this.repairMaterial = repairMaterial; + } + + @Override + public int getUses() { + return uses; + } + + @Override + public float getSpeed() { + return speed; + } + + @Override + public float getAttackDamageBonus() { + return damageBonus; + } + + @Override + public @NotNull TagKey getIncorrectBlocksForDrops() { + return BlockTags.INCORRECT_FOR_WOODEN_TOOL; + } + + @Override + public int getEnchantmentValue() { + return enchantValue; + } + + @Override + public @NotNull Ingredient getRepairIngredient() { + return repairMaterial.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/base/TFMGUtils.java b/src/main/java/com/drmangotea/tfmg/base/TFMGUtils.java new file mode 100644 index 00000000..355a95b2 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/TFMGUtils.java @@ -0,0 +1,386 @@ +package com.drmangotea.tfmg.base; + + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.spark.ElectricSparkParticle; +import com.drmangotea.tfmg.base.spark.Spark; +import com.drmangotea.tfmg.content.electricity.connection.cables.CablePos; +import com.drmangotea.tfmg.registry.TFMGEntityTypes; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.simibubi.create.AllSoundEvents; +import com.simibubi.create.Create; +import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; +import com.simibubi.create.foundation.fluid.SmartFluidTank; +import com.simibubi.create.foundation.utility.CreateLang; +import net.createmod.catnip.lang.LangBuilder; +import net.minecraft.ChatFormatting; +import net.minecraft.client.renderer.LevelRenderer; +import net.minecraft.client.renderer.LightTexture; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.network.chat.Component; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundSource; +import net.minecraft.util.Mth; +import net.minecraft.util.RandomSource; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LightLayer; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.material.Fluid; +import net.minecraft.world.phys.AABB; +import net.minecraft.world.phys.Vec3; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; +import net.neoforged.neoforge.items.IItemHandler; +import net.neoforged.neoforge.items.IItemHandlerModifiable; +import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.NotNull; +import org.joml.Matrix4f; + +import java.util.Arrays; +import java.util.List; +import java.util.Optional; +import java.util.function.Consumer; +import java.util.stream.Collectors; + +public class TFMGUtils { + + public static float toYRot(Direction facing) { + return switch (facing){ + case DOWN -> 0.0F; + case UP -> 0.0F; + case NORTH -> 0.0F; + case SOUTH -> 180F; + case WEST -> 90; + case EAST -> 270F; + }; + } + public static void createFireExplosion(Level level, Entity entity, BlockPos pos, int sparkAmount, float radius) { + + if (level.isClientSide && entity != null) level.broadcastEntityEvent(entity, (byte) 3); + + for (int i = 0; i < sparkAmount; i++) { + float x = Create.RANDOM.nextFloat(360); + float y = Create.RANDOM.nextFloat(360); + float z = Create.RANDOM.nextFloat(360); + Spark spark = TFMGEntityTypes.SPARK.create(level); + spark.moveTo(pos.getX(), pos.getY() + 1, pos.getZ()); + + float f = -Mth.sin(y * ((float) Math.PI / 180F)) * Mth.cos(x * ((float) Math.PI / 180F)); + float f1 = -Mth.sin((x + z) * ((float) Math.PI / 180F)); + float f2 = Mth.cos(y * ((float) Math.PI / 180F)) * Mth.cos(x * ((float) Math.PI / 180F)); + spark.shoot(f, f1, f2, 0.3f, 1); + level.addFreshEntity(spark); + } + level.explode(null, pos.getX(), pos.getY(), pos.getZ(), radius, Level.ExplosionInteraction.BLOCK); + } + public static void playSound(Level level, BlockPos pos, SoundEvent sound, SoundSource source){ + playSound(level,pos,sound,source,1,1,null); + } + public static void playSound(Level level, BlockPos pos, SoundEvent sound, SoundSource source, Player player){ + playSound(level,pos,sound,source,1,1,player); + } + public static void playSound(Level level, BlockPos pos, SoundEvent sound, SoundSource source, float volume, float pitch){ + playSound(level,pos,sound,source,volume,pitch,null); + } + public static void playSound(Level level, BlockPos pos, SoundEvent sound, SoundSource source, float volume, float pitch, Player player){ + level.playSound(player,pos,sound,source,volume,pitch); + } + + public static void blowUpTank(FluidTankBlockEntity tank, int power) { + + if (tank == null || tank.getControllerBE() == null) return; + FluidTankBlockEntity be = tank.getControllerBE(); + + for (int xOffset = 0; xOffset < be.getWidth(); xOffset++) { + for (int zOffset = 0; zOffset < be.getWidth(); zOffset++) { + for (int yOffset = 0; yOffset < be.getHeight(); yOffset++) { + + BlockPos pos = be.getBlockPos().offset(xOffset, yOffset, zOffset); + + be.getLevel().destroyBlock(pos, false); + } + } + } + + createFireExplosion(be.getLevel(), null, new BlockPos(be.getBlockPos().getX() + (be.getWidth() / 2), be.getBlockPos().getY() + (be.getHeight() / 2), be.getBlockPos().getZ() + (be.getWidth() / 2)), power * 15, (float) power); + } + + public static String fromId(String key) { + String s = key.replaceAll("_", " "); + s = Arrays.stream(StringUtils.splitByCharacterTypeCamelCase(s)).map(StringUtils::capitalize).collect(Collectors.joining(" ")); + s = StringUtils.normalizeSpace(s); + return s; + } + + public static String toHumanReadable(String key) { + String s = key.replaceAll("_", " "); + s = Arrays.stream(StringUtils.splitByCharacterTypeCamelCase(s)).map(StringUtils::capitalize).collect(Collectors.joining(" ")); + s = StringUtils.normalizeSpace(s); + return s; + } + + public static void spawnElectricParticles(Level level, BlockPos pos) { + if (level == null) return; + + + RandomSource r = level.getRandom(); + + + for (int i = 0; i < r.nextInt(40); i++) { + float x = Create.RANDOM.nextFloat(2) - 1; + float y = Create.RANDOM.nextFloat(2) - 1; + float z = Create.RANDOM.nextFloat(2) - 1; + + level.addParticle(new ElectricSparkParticle.Data(), pos.getX() + 0.5f + x, pos.getY() + 0.5f + y, pos.getZ() + 0.5f + z, x, y, z); + + + } + } + + public static float getDistance(BlockPos pos1, BlockPos pos2, boolean _2D) { + + + float x = Math.abs(pos1.getX() - pos2.getX()); + float y = Math.abs(pos1.getY() - pos2.getY()); + float z = Math.abs(pos1.getZ() - pos2.getZ()); + + + float distance2D = (float) Math.sqrt(x * x + z * z); + + if (_2D) return distance2D; + + + return (float) Math.sqrt(distance2D * distance2D + y * y); + } + + public static void createStorageTooltip(BlockEntity be, List tooltip) { + createFluidTooltip(be, tooltip); + createItemTooltip(be, tooltip); + } + + public static boolean createFluidTooltip(BlockEntity be, List tooltip) { + LangBuilder mb = CreateLang.translate("generic.unit.millibuckets"); + + ///////// + IFluidHandler handler = Capabilities.FluidHandler.BLOCK.getCapability(be.getLevel(),be.getBlockPos(),be.getBlockState(),be,null); + //Optional resolve = handler.resolve(); + //if (!resolve.isPresent()) return false; + + if(handler == null) + return true; + + IFluidHandler tank = handler; + if (tank.getTanks() == 0) return false; + + CreateLang.translate("goggles.fluid_storage").style(ChatFormatting.GRAY).forGoggles(tooltip); + + + boolean isEmpty = true; + for (int i = 0; i < tank.getTanks(); i++) { + FluidStack fluidStack = tank.getFluidInTank(i); + if (fluidStack.isEmpty()) continue; + CreateLang.fluidName(fluidStack).style(ChatFormatting.GRAY).forGoggles(tooltip, 1); + CreateLang.builder().add(CreateLang.number(fluidStack.getAmount()).add(mb).style(ChatFormatting.DARK_GREEN)).text(ChatFormatting.GRAY, " / ").add(CreateLang.number(tank.getTankCapacity(i)).add(mb).style(ChatFormatting.DARK_GRAY)).forGoggles(tooltip, 1); + isEmpty = false; + } + if (tank.getTanks() > 1) { + if (isEmpty) tooltip.remove(tooltip.size() - 1); + return true; + } + if (!isEmpty) return true; + + CreateLang.translate("gui.goggles.fluid_container.capacity").add(CreateLang.number(tank.getTankCapacity(0)).add(mb).style(ChatFormatting.DARK_GREEN)).style(ChatFormatting.DARK_GRAY).forGoggles(tooltip, 1); + return true; + } + + + public static boolean createItemTooltip(BlockEntity be, List tooltip) { + + IItemHandlerModifiable handler = (IItemHandlerModifiable) Capabilities.ItemHandler.BLOCK.getCapability(be.getLevel(),be.getBlockPos(),be.getBlockState(),be,null); + + IItemHandlerModifiable inventory = handler; + if (inventory.getSlots() == 0) return false; + CreateLang.translate("goggles.item_storage").style(ChatFormatting.GRAY).forGoggles(tooltip); + boolean isEmpty = true; + for (int i = 0; i < inventory.getSlots(); i++) { + ItemStack itemStack = inventory.getStackInSlot(i); + + if (itemStack.isEmpty()) continue; + CreateLang.itemName(itemStack).style(ChatFormatting.DARK_GREEN).add(Component.literal(" x " + itemStack.getCount())).style(ChatFormatting.DARK_GREEN).forGoggles(tooltip, 1); + isEmpty = false; + } + if (inventory.getSlots() > 1) { + if (isEmpty) tooltip.remove(tooltip.size() - 1); + return true; + } + if (!isEmpty) return true; + + CreateLang.translate("item_attributes.shulker_level.empty").style(ChatFormatting.DARK_GRAY).forGoggles(tooltip, 1); + return true; + } + + public static String formatUnits(double n, String unit) { + if (n == 0) + return Math.round(n) + unit; + double var10000; + if (n >= 1000000000) { + var10000 = (double) Math.round((double) n / 1.0E8); + return var10000 / 10.0 + "G" + unit; + } else if (n >= 1000000) { + var10000 = (double) Math.round((double) n / 100000.0); + return var10000 / 10.0 + "M" + unit; + } else if (n >= 1000) { + var10000 = (double) Math.round((double) n / 100.0); + return var10000 / 10.0 + "k" + unit; + } + // else if (n < 0.001) { + // var10000 = (double) Math.round((double) n * 10000000.0); + // return var10000 / 10.0 + "μ" + unit; + // } + else if (n < 1) { + var10000 = (double) Math.round((double) n * 10000.0); + return var10000 / 10.0 + "m" + unit; + } else { + return Math.round(n) + unit; + } + } + + public static void drainFilteredTank(SmartFluidTank tank, int amount) { + tank.setFluid(new FluidStack(tank.getFluid().getFluidHolder(), Math.max(tank.getFluidAmount() - amount, 0))); + } + + public static void fillFilteredTank(SmartFluidTank tank, FluidStack resource) { + if (tank.getFluid().getFluid().isSame(resource.getFluid()) || tank.isEmpty()) + tank.setFluid(new FluidStack(resource.getFluid(), Math.min(tank.getFluidAmount() + resource.getAmount(), tank.getCapacity()))); + } + + public static Iterable AABBtoBlockPos(AABB aabb) { + return BlockPos.betweenClosed(new BlockPos((int) aabb.minX, (int) aabb.minY, (int) aabb.minZ), new BlockPos((int) aabb.maxX, (int) aabb.maxY, (int) aabb.maxZ)); + } + + public static SmartFluidTank createTank(int capacity, boolean extractionAllowed, Consumer updateCallback) { + return createTank(capacity, extractionAllowed, true, updateCallback, null); + } + + public static SmartFluidTank createTank(int capacity, boolean extractionAllowed, boolean insertionAllowed, Consumer updateCallback) { + return createTank(capacity, extractionAllowed, insertionAllowed, updateCallback, null); + } + + public static SmartFluidTank createTank(int capacity, boolean extractionAllowed, boolean insertionAllowed, Consumer updateCallback, Fluid validFluid) { + return new SmartFluidTank(capacity, updateCallback) { + @Override + public boolean isFluidValid(FluidStack stack) { + + if (validFluid == null) return true; + + return stack.getFluid().isSame(validFluid); + } + + @Override + public FluidStack drain(FluidStack resource, FluidAction action) { + if (!extractionAllowed) return FluidStack.EMPTY; + return super.drain(resource, action); + } + + public FluidStack forceDrain(FluidStack resource, FluidAction action){ + return super.drain(resource,action); + } + + @Override + public FluidStack drain(int maxDrain, FluidAction action) { + if (!extractionAllowed) return FluidStack.EMPTY; + return super.drain(maxDrain, action); + } + + @Override + public int fill(FluidStack resource, FluidAction action) { + if (!insertionAllowed) return 0; + return super.fill(resource, action); + } + }; + } + + /// ////////////////////// + public static void renderWire(Level level, PoseStack pMatrixStack, MultiBufferSource pBuffer, CablePos pos1, CablePos pos2, + float curve, float r, float g, float b) { + renderWire(level, pMatrixStack, pBuffer, pos1, pos2, curve, r, g, b, false); + } + + public static void renderWire(Level level, PoseStack pMatrixStack, MultiBufferSource pBuffer, CablePos pos1, CablePos pos2, + float curve, float r, float g, float b, boolean flippedLighting) { + pMatrixStack.pushPose(); + Vec3 vec3 = new Vec3(0, 0, 0); + CablePos pos2Local = pos1.subtract(pos2); + pMatrixStack.translate(0.5, 0.5, 0.5); + vec3 = vec3.add(pos2Local.x() + 0.01, pos2Local.y(), pos2Local.z() + 0.01); + float f = (float) (vec3.x); + float f1 = (float) (vec3.y); + float f2 = (float) (vec3.z); + VertexConsumer vertexconsumer = pBuffer.getBuffer(RenderType.leash()); + Matrix4f matrix4f = pMatrixStack.last().pose(); + float f4 = (float) (Mth.fastInvSqrt(f * f + f2 * f2) * 0.025F / 2.0F); + float f5 = f2 * f4; + float f6 = f * f4; + //int i =15; + //int j = 15; + + BlockPos blockpos2; + BlockPos blockpos1; + if (flippedLighting) { + blockpos1 = new BlockPos((int) pos1.x(), (int) pos1.y(), (int) pos1.z()); + blockpos2 = new BlockPos((int) pos2.x(), (int) pos2.y(), (int) pos2.z()); + } else { + blockpos2 = new BlockPos((int) pos1.x(), (int) pos1.y(), (int) pos1.z()); + blockpos1 = new BlockPos((int) pos2.x(), (int) pos2.y(), (int) pos2.z()); + } + int i = level.getBrightness(LightLayer.SKY, blockpos1); + int j = level.getBrightness(LightLayer.SKY, blockpos2); + int k = level.getBrightness(LightLayer.SKY, blockpos1); + int l = level.getBrightness(LightLayer.SKY, blockpos2); + + + //int k = 15; + //int l = 15; + for (int i1 = 0; i1 <= 24; ++i1) { + addVertexPair(vertexconsumer, matrix4f, f, f1, f2, i, j, k, l, 0.030F, 0.030F, f5, f6, i1, false, curve, r, g, b); + } + + for (int j1 = 24; j1 >= 0; --j1) { + addVertexPair(vertexconsumer, matrix4f, f, f1, f2, i, j, k, l, 0.030F, 0.00F, f5, f6, j1, true, curve, r, g, b); + } + pMatrixStack.popPose(); + } + + + + private static void addVertexPair(VertexConsumer vertexConsumer, Matrix4f matrix4f, float p_174310_, float p_174311_, float p_174312_, int light_1, int light_2, int p_174315_, int p_174316_, float thickness, float p_174318_, float p_174319_, float p_174320_, int value, boolean p_174322_, float curve, float r, float g, float b) { + float f = (float) (value / 24.0F); + int i = (int) Mth.lerp(f, (float) light_1, (float) light_2); + int j = (int) Mth.lerp(f, (float) p_174315_, (float) p_174316_); + int k = LightTexture.pack(i, j); + float f1 = value % 2 == (p_174322_ ? 1 : 0) ? 0.7F : 1.0F; + float red = r / 255 * f1; + float green = g / 255 * f1; + float blue = b / 255 * f1; + float x = p_174310_ * f; + + float pain; + pain = ((value * curve * 24) - (value * value * curve)) * -1f; + + float y = p_174311_ > 0.0F ? p_174311_ * f * f : p_174311_ - p_174311_ * (1.0F - f) * (1.0F - f); + float z = p_174312_ * f; + vertexConsumer.addVertex(matrix4f, x - p_174319_, y + p_174318_ + pain, z + p_174320_).setColor(red, green, blue, 1.0F).setLight(k); + vertexConsumer.addVertex(matrix4f, x + p_174319_, y + thickness - p_174318_ + pain, z - p_174320_).setColor(red, green, blue, 1.0F).setLight(k); + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/base/blocks/TFMGDirectionalBlock.java b/src/main/java/com/drmangotea/tfmg/base/blocks/TFMGDirectionalBlock.java new file mode 100644 index 00000000..43269781 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/blocks/TFMGDirectionalBlock.java @@ -0,0 +1,32 @@ +package com.drmangotea.tfmg.base.blocks; + +import com.drmangotea.tfmg.content.electricity.generators.large_generator.StatorBlock; +import com.mojang.serialization.MapCodec; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.DirectionalBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import org.checkerframework.checker.units.qual.C; + +public class TFMGDirectionalBlock extends DirectionalBlock { + + public TFMGDirectionalBlock(Properties p_54120_) { + super(p_54120_); + } + public static final MapCodec CODEC = simpleCodec(TFMGDirectionalBlock::new); + @Override + protected MapCodec codec() { + return CODEC; + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + builder.add(FACING); + super.createBlockStateDefinition(builder); + } + public BlockState getStateForPlacement(BlockPlaceContext pContext) { + return this.defaultBlockState().setValue(FACING, pContext.getNearestLookingDirection().getOpposite()); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/base/blocks/TFMGHorizontalDirectionalBlock.java b/src/main/java/com/drmangotea/tfmg/base/blocks/TFMGHorizontalDirectionalBlock.java new file mode 100644 index 00000000..a1db6132 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/blocks/TFMGHorizontalDirectionalBlock.java @@ -0,0 +1,29 @@ +package com.drmangotea.tfmg.base.blocks; + +import com.mojang.serialization.MapCodec; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; + +public class TFMGHorizontalDirectionalBlock extends HorizontalDirectionalBlock { + public static final MapCodec CODEC = simpleCodec(TFMGHorizontalDirectionalBlock::new); + public TFMGHorizontalDirectionalBlock(Properties p_54120_) { + super(p_54120_); + } + + @Override + protected MapCodec codec() { + return CODEC; + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + builder.add(FACING); + super.createBlockStateDefinition(builder); + } + public BlockState getStateForPlacement(BlockPlaceContext pContext) { + return this.defaultBlockState().setValue(FACING, pContext.getHorizontalDirection().getOpposite()); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/base/blocks/TFMGVanillaBlockStates.java b/src/main/java/com/drmangotea/tfmg/base/blocks/TFMGVanillaBlockStates.java new file mode 100644 index 00000000..2790e922 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/blocks/TFMGVanillaBlockStates.java @@ -0,0 +1,64 @@ +package com.drmangotea.tfmg.base.blocks; + +import com.drmangotea.tfmg.TFMG; +import com.simibubi.create.foundation.data.CreateRegistrate; +import com.tterrag.registrate.builders.BlockBuilder; +import com.tterrag.registrate.builders.ItemBuilder; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.SlabBlock; +import net.minecraft.world.level.block.StairBlock; +import net.minecraft.world.level.block.WallBlock; +import net.neoforged.neoforge.client.model.generators.ModelFile; + +public class TFMGVanillaBlockStates { + + + //WALL + public static void generateWallBlockState(DataGenContext ctx, RegistrateBlockstateProvider prov, + String name) { + prov.wallBlock(ctx.get(), name, TFMG.asResource("block/" + name)); + } + + public static ItemBuilder> transformWallItem( + ItemBuilder> builder, String name) { + builder.model((c, p) -> p.wallInventory(c.getName(), TFMG.asResource("block/" + name))); + return builder; + } + + //STAIR + public static void generateStairBlockState(DataGenContext ctx, RegistrateBlockstateProvider prov, + String name) { + prov.stairsBlock(ctx.get(), name, TFMG.asResource("block/" + name)); + } + + public static ItemBuilder> transformStairItem( + ItemBuilder> builder, String variantName) { + return builder; + } + + //SLAB + + public static void generateSlabBlockState(DataGenContext ctx, RegistrateBlockstateProvider prov, + String variantName) { + String name = variantName; + ResourceLocation texture = TFMG.asResource("block/" + name); + + ModelFile bottom = prov.models() + .slab(name + "_bottom", texture, texture, texture); + ModelFile top = prov.models() + .slabTop(name + "_top", texture, texture, texture); + ModelFile doubleSlab = prov.models() + .getExistingFile(prov.modLoc("block/" + name)); + + prov.slabBlock(ctx.get(), bottom, top, doubleSlab); + } + + public static ItemBuilder> transformSlabItem( + ItemBuilder> builder, String variantName) { + return builder; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/base/blocks/WallMountBlock.java b/src/main/java/com/drmangotea/tfmg/base/blocks/WallMountBlock.java new file mode 100644 index 00000000..506efd1d --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/blocks/WallMountBlock.java @@ -0,0 +1,43 @@ +package com.drmangotea.tfmg.base.blocks; + +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.DirectionProperty; + +import javax.annotation.Nullable; + +public class WallMountBlock extends Block { + + public static final DirectionProperty FACING = BlockStateProperties.FACING; + + public WallMountBlock(Properties p_49795_) { + super(p_49795_); + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + super.createBlockStateDefinition(builder.add(FACING)); + } + + @Nullable + public BlockState getStateForPlacement(BlockPlaceContext p_58126_) { + BlockState blockstate = this.defaultBlockState(); + LevelReader levelreader = p_58126_.getLevel(); + BlockPos blockpos = p_58126_.getClickedPos(); + Direction[] adirection = p_58126_.getNearestLookingDirections(); + for (Direction direction : adirection) { + Direction direction1 = direction.getOpposite(); + blockstate = blockstate.setValue(FACING, direction1); + if (blockstate.canSurvive(levelreader, blockpos)) { + return blockstate; + } + } + return null; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/base/events/TFMGClientEvents.java b/src/main/java/com/drmangotea/tfmg/base/events/TFMGClientEvents.java new file mode 100644 index 00000000..c6302565 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/events/TFMGClientEvents.java @@ -0,0 +1,58 @@ +package com.drmangotea.tfmg.base.events; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.electricity.measurement.MultimeterOverlayRenderer; +import com.drmangotea.tfmg.content.engines.engine_controller.EngineControllerClientHandler; +import net.minecraft.client.Minecraft; +import net.minecraft.world.entity.player.Player; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.EventBusSubscriber; +import net.neoforged.neoforge.client.event.ClientTickEvent; +import net.neoforged.neoforge.client.event.RegisterGuiLayersEvent; +import net.neoforged.neoforge.client.gui.VanillaGuiLayers; +import net.neoforged.neoforge.event.entity.player.PlayerEvent; + + +@EventBusSubscriber(Dist.CLIENT) +public class TFMGClientEvents { + + + @SubscribeEvent + public static void onTickPre(ClientTickEvent.Pre event) { + onTick( true); + } + + @SubscribeEvent + public static void onTickPost(ClientTickEvent.Post event) { + onTick(false); + } + + + public static void onTick(boolean isPreEvent) { + if (!isGameActive()) + return; + + + if (isPreEvent) { + EngineControllerClientHandler.tick(); + + } + } + @SubscribeEvent + public static void PlayerLoggedOut(PlayerEvent.PlayerLoggedOutEvent event) { + Player player = event.getEntity(); + + if (player != null) + player.getPersistentData().remove("IsUsingEngineController"); + } + + //@SubscribeEvent + public static void registerGuiOverlays(RegisterGuiLayersEvent event) { + event.registerAbove(VanillaGuiLayers.HOTBAR, TFMG.asResource("multimeter_info"), MultimeterOverlayRenderer.OVERLAY); + + } + protected static boolean isGameActive() { + return !(Minecraft.getInstance().level == null || Minecraft.getInstance().player == null); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/base/events/TFMGCommonEvents.java b/src/main/java/com/drmangotea/tfmg/base/events/TFMGCommonEvents.java new file mode 100644 index 00000000..020dd2ea --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/events/TFMGCommonEvents.java @@ -0,0 +1,110 @@ +package com.drmangotea.tfmg.base.events; + + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.decoration.tanks.TFMGFluidTankBlockEntity; +import com.drmangotea.tfmg.content.decoration.tanks.steel.SteelTankBlockEntity; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.electricity.storage.AccumulatorBlockEntity; +import com.drmangotea.tfmg.content.electricity.utilities.converter.ConverterBlockEntity; +import com.drmangotea.tfmg.content.electricity.utilities.polarizer.PolarizerBlockEntity; +import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.fuels.EngineFuelTypeManager; +import com.drmangotea.tfmg.content.engines.types.large_engine.LargeEngineBlockEntity; +import com.drmangotea.tfmg.content.machinery.metallurgy.blast_furnace.BlastFurnaceHatchBlockEntity; +import com.drmangotea.tfmg.content.machinery.metallurgy.blast_furnace.BlastFurnaceOutputBlockEntity; +import com.drmangotea.tfmg.content.machinery.metallurgy.blast_stove.BlastStoveBlockEntity; +import com.drmangotea.tfmg.content.machinery.metallurgy.casting_basin.CastingBasinBlockEntity; +import com.drmangotea.tfmg.content.machinery.metallurgy.coke_oven.CokeOvenBlockEntity; +import com.drmangotea.tfmg.content.machinery.misc.air_intake.AirIntakeBlockEntity; +import com.drmangotea.tfmg.content.machinery.misc.concrete_hose.ConcreteHoseBlockEntity; +import com.drmangotea.tfmg.content.machinery.misc.exhaust.ExhaustBlockEntity; +import com.drmangotea.tfmg.content.machinery.misc.firebox.FireboxBlockEntity; +import com.drmangotea.tfmg.content.machinery.misc.flarestack.FlarestackBlockEntity; +import com.drmangotea.tfmg.content.machinery.misc.smokestack.SmokestackBlockEntity; +import com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.controller.DistillationControllerBlockEntity; +import com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.output.DistillationOutputBlockEntity; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.base.PumpjackBaseBlockEntity; +import com.drmangotea.tfmg.content.machinery.vat.base.VatBlockEntity; +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.drmangotea.tfmg.registry.TFMGItems; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.level.LevelAccessor; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.EventBusSubscriber; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.event.AddReloadListenerEvent; +import net.neoforged.neoforge.event.level.BlockEvent; +import net.neoforged.neoforge.event.level.LevelEvent; + + +@EventBusSubscriber +public class TFMGCommonEvents { + + + + @SubscribeEvent + public static void onUnloadWorld(LevelEvent.Unload event) { + LevelAccessor world = event.getLevel(); + TFMG.NETWORK_MANAGER.onUnloadWorld(world); + + + } + + @SubscribeEvent + public static void onLoadWorld(LevelEvent.Load event) { + LevelAccessor world = event.getLevel(); + TFMG.NETWORK_MANAGER.onLoadWorld(world); + TFMG.DEPOSITS.levelLoaded(world); + } + + @SubscribeEvent + public static void onBlockPlaced(BlockEvent.EntityPlaceEvent event) { + + if (event.getEntity() instanceof Player player) { + if (player.getItemInHand(InteractionHand.OFF_HAND).is(TFMGItems.CONFIGURATION_WRENCH.get()) && event.getLevel().getBlockEntity(event.getPos()) instanceof IElectric be && be.canBeInGroups()) { + + be.getData().group.id = player.getItemInHand(InteractionHand.OFF_HAND).get(TFMGDataComponents.CONFIGURATION_WRENCH_NUMBER); + be.updateNextTick(); + be.sendStuff(); + + } + } + } + + @SubscribeEvent + public static void addReloadListeners(AddReloadListenerEvent event) { + event.addListener(EngineFuelTypeManager.ReloadListener.INSTANCE); + } + @EventBusSubscriber(bus = EventBusSubscriber.Bus.MOD) + public static class ModBusEvents { + @net.neoforged.bus.api.SubscribeEvent + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + + AbstractEngineBlockEntity.registerCapabilities(event); + DistillationOutputBlockEntity.registerCapabilities(event); + ConcreteHoseBlockEntity.registerCapabilities(event); + PumpjackBaseBlockEntity.registerCapabilities(event); + PolarizerBlockEntity.registerCapabilities(event); + LargeEngineBlockEntity.registerCapabilities(event); + ConverterBlockEntity.registerCapabilities(event); + CastingBasinBlockEntity.registerCapabilities(event); + FireboxBlockEntity.registerCapabilities(event); + DistillationControllerBlockEntity.registerCapabilities(event); + AccumulatorBlockEntity.registerCapabilities(event); + SteelTankBlockEntity.registerCapabilities(event); + TFMGFluidTankBlockEntity.registerCapabilities(event); + VatBlockEntity.registerCapabilities(event); + BlastStoveBlockEntity.registerCapabilities(event); + SmokestackBlockEntity.registerCapabilities(event); + ExhaustBlockEntity.registerCapabilities(event); + BlastFurnaceHatchBlockEntity.registerCapabilities(event); + FlarestackBlockEntity.registerCapabilities(event); + BlastFurnaceOutputBlockEntity.registerCapabilities(event); + CokeOvenBlockEntity.registerCapabilities(event); + AirIntakeBlockEntity.registerCapabilities(event); + } + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/base/fluid/AcidFluidType.java b/src/main/java/com/drmangotea/tfmg/base/fluid/AcidFluidType.java new file mode 100644 index 00000000..7cd4ada4 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/fluid/AcidFluidType.java @@ -0,0 +1,73 @@ +package com.drmangotea.tfmg.base.fluid; + + +import com.drmangotea.tfmg.datagen.TFMGDamageSources; +import com.drmangotea.tfmg.datagen.TFMGDamageTypes; +import com.simibubi.create.AllFluids; +import com.simibubi.create.Create; +import com.tterrag.registrate.builders.FluidBuilder; +import net.createmod.catnip.theme.Color; +import net.minecraft.core.BlockPos; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.phys.Vec3; +import net.neoforged.neoforge.fluids.FluidStack; +import org.joml.Vector3f; + +import java.awt.*; +import java.util.function.Supplier; + +public class AcidFluidType extends AllFluids.TintedFluidType { + + // public static DamageSource damageSourceAcid = new DamageSource("tfmg.acid"); + public AcidFluidType(Properties properties, ResourceLocation stillTexture, ResourceLocation flowingTexture) { + super(properties, stillTexture, flowingTexture); + } + private Vector3f fogColor; + private Supplier fogDistance; + + public static FluidBuilder.FluidTypeFactory create(int fogColor, Supplier fogDistance) { + return (p, s, f) -> { + AcidFluidType fluidType = new AcidFluidType(p, s, f); + fluidType.fogColor = new Color(fogColor, false).asVectorF(); + fluidType.fogDistance = fogDistance; + return fluidType; + }; + } + @Override + protected Vector3f getCustomFogColor() { + return fogColor; + } + + @Override + protected float getFogDistanceModifier() { + return fogDistance.get(); + } + + @Override + protected int getTintColor(FluidStack stack) { + return NO_TINT; + } + @Override + public int getTintColor(FluidState state, BlockAndTintGetter world, BlockPos pos) { + return 0x00ffffff; + } + + + @Override + public boolean move(FluidState state, LivingEntity entity, Vec3 movementVector, double gravity) + { + + + + if(Create.RANDOM.nextInt(2)==0) + entity.hurt(TFMGDamageSources.acid(entity.level()),2); + + return false; + } + + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/base/fluid/AsphaltFluid.java b/src/main/java/com/drmangotea/tfmg/base/fluid/AsphaltFluid.java new file mode 100644 index 00000000..3af3fc27 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/fluid/AsphaltFluid.java @@ -0,0 +1,76 @@ +package com.drmangotea.tfmg.base.fluid; + +import com.drmangotea.tfmg.registry.TFMGBlocks; +import net.minecraft.core.BlockPos; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.material.Fluid; +import net.minecraft.world.level.material.FluidState; +import net.neoforged.neoforge.fluids.BaseFlowingFluid; + +public class AsphaltFluid extends BaseFlowingFluid { + + + protected AsphaltFluid(Properties properties) { + super(properties); + } + + @Override + public boolean isSource(FluidState p_76140_) { + return true; + } + + @Override + public int getAmount(FluidState p_164509_) { + return 8; + } + + @Override + public void randomTick(Level level, BlockPos pos, FluidState p_230574_, RandomSource randomSource) { + int random = randomSource.nextInt(7) ; + + if(random==2) { + level.setBlock(pos, TFMGBlocks.ASPHALT.get().defaultBlockState(), 3); + } + } + + protected boolean isRandomlyTicking() { + return true; + } + + + // + public static class Flowing extends AsphaltFluid { + public Flowing(Properties properties) { + super(properties); + } + + protected void createFluidStateDefinition(StateDefinition.Builder p_76260_) { + super.createFluidStateDefinition(p_76260_); + p_76260_.add(LEVEL); + } + + public int getAmount(FluidState p_76264_) { + return p_76264_.getValue(LEVEL); + } + + public boolean isSource(FluidState p_76262_) { + return false; + } + } + + public static class Source extends AsphaltFluid { + public Source(Properties properties) { + super(properties); + } + + public int getAmount(FluidState p_76269_) { + return 8; + } + + public boolean isSource(FluidState p_76267_) { + return true; + } + } +} diff --git a/src/main/java/com/drmangotea/tfmg/base/fluid/ConcreteFluid.java b/src/main/java/com/drmangotea/tfmg/base/fluid/ConcreteFluid.java new file mode 100644 index 00000000..60a322ce --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/fluid/ConcreteFluid.java @@ -0,0 +1,75 @@ +package com.drmangotea.tfmg.base.fluid; + +import com.drmangotea.tfmg.registry.TFMGBlocks; +import net.minecraft.core.BlockPos; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.LiquidBlock; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.material.Fluid; +import net.minecraft.world.level.material.FluidState; +import net.neoforged.neoforge.fluids.BaseFlowingFluid; + +import static com.drmangotea.tfmg.content.decoration.concrete.ConcreteloggedBlock.CONCRETELOGGED; + +public class ConcreteFluid extends BaseFlowingFluid { + protected ConcreteFluid(Properties properties) { + super(properties); + } + @Override + public boolean isSource(FluidState p_76140_) { + return true; + } + @Override + public int getAmount(FluidState p_164509_) { + return 8; + } + @Override + public void randomTick(Level level, BlockPos pos, FluidState p_230574_, RandomSource randomSource) { + + if(!(level.getBlockState(pos).getBlock() instanceof LiquidBlock)) + return; + + int random = randomSource.nextInt(7) ; + if(random==2) { + + level.setBlock(pos, TFMGBlocks.CONCRETE.block.get().defaultBlockState(), 3); + } + } + protected boolean isRandomlyTicking() { + return true; + } + + public static class Flowing extends ConcreteFluid { + public Flowing(Properties properties) { + super(properties); + } + + protected void createFluidStateDefinition(StateDefinition.Builder p_76260_) { + super.createFluidStateDefinition(p_76260_); + p_76260_.add(LEVEL); + } + + public int getAmount(FluidState p_76264_) { + return p_76264_.getValue(LEVEL); + } + + public boolean isSource(FluidState p_76262_) { + return false; + } + } + + public static class Source extends ConcreteFluid { + public Source(Properties properties) { + super(properties); + } + + public int getAmount(FluidState p_76269_) { + return 8; + } + + public boolean isSource(FluidState p_76267_) { + return true; + } + } +} diff --git a/src/main/java/com/drmangotea/tfmg/base/fluid/GasFluidType.java b/src/main/java/com/drmangotea/tfmg/base/fluid/GasFluidType.java new file mode 100644 index 00000000..a7cefefb --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/fluid/GasFluidType.java @@ -0,0 +1,94 @@ +package com.drmangotea.tfmg.base.fluid; + + +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.mojang.blaze3d.shaders.FogShape; +import com.mojang.blaze3d.systems.RenderSystem; +import com.simibubi.create.AllFluids; +import com.tterrag.registrate.builders.FluidBuilder; +import net.minecraft.client.Camera; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.client.renderer.FogRenderer; +import net.minecraft.core.BlockPos; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.material.FluidState; +import net.neoforged.neoforge.client.extensions.common.IClientFluidTypeExtensions; +import net.neoforged.neoforge.fluids.FluidStack; +import org.jetbrains.annotations.NotNull; +import org.joml.Vector3f; + +import java.util.function.Consumer; +import java.util.function.Supplier; + +import static com.drmangotea.tfmg.registry.TFMGFluids.getGasTexture; + +public class GasFluidType extends TFMGFluids.SolidRenderedPlaceableFluidType { + + final int color; + + + + public GasFluidType(Properties properties, ResourceLocation stillTexture, ResourceLocation flowingTexture, int color) { + super(properties, stillTexture, flowingTexture); + this.color = color; + } + + public static FluidBuilder.FluidTypeFactory create(int color) { + return (p, s, f) -> { + GasFluidType fluidType = new GasFluidType(p,s,f,color); + return fluidType; + }; + } + @Override + public void initializeClient(Consumer consumer) { + consumer.accept(new IClientFluidTypeExtensions() { + + @Override + public ResourceLocation getStillTexture() { + return getGasTexture(); + } + + @Override + public ResourceLocation getFlowingTexture() { + return getGasTexture(); + } + + @Override + public int getTintColor(FluidStack stack) { + return color; + } + + @Override + public int getTintColor(FluidState state, BlockAndTintGetter getter, BlockPos pos) { + return 0xff99f22f; + } + + @Override + public @NotNull Vector3f modifyFogColor(Camera camera, float partialTick, ClientLevel level, + int renderDistance, float darkenWorldAmount, Vector3f fluidFogColor) { + Vector3f customFogColor = GasFluidType.this.getCustomFogColor(); + return customFogColor == null ? fluidFogColor : customFogColor; + } + + @Override + public void modifyFogRender(Camera camera, FogRenderer.FogMode mode, float renderDistance, float partialTick, + float nearDistance, float farDistance, FogShape shape) { + float modifier = GasFluidType.this.getFogDistanceModifier(); + float baseWaterFog = 96.0f; + if (modifier != 1f) { + RenderSystem.setShaderFogShape(FogShape.CYLINDER); + RenderSystem.setShaderFogStart(-8); + RenderSystem.setShaderFogEnd(baseWaterFog * modifier); + } + } + + }); + } + + + @Override + public int getDensity() { + return -1; + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/base/fluid/HotFluidType.java b/src/main/java/com/drmangotea/tfmg/base/fluid/HotFluidType.java new file mode 100644 index 00000000..e6bdf6d9 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/fluid/HotFluidType.java @@ -0,0 +1,87 @@ +package com.drmangotea.tfmg.base.fluid; + +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.simibubi.create.AllFluids; +import com.simibubi.create.Create; +import com.tterrag.registrate.builders.FluidBuilder; +import net.createmod.catnip.theme.Color; +import net.minecraft.core.BlockPos; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.damagesource.DamageSources; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.phys.Vec3; +import net.neoforged.neoforge.fluids.FluidStack; +import org.joml.Vector3f; + +import java.util.function.Supplier; + +public class HotFluidType extends TFMGFluids.SolidRenderedPlaceableFluidType { + public HotFluidType(Properties properties, ResourceLocation stillTexture, ResourceLocation flowingTexture) { + super(properties, stillTexture, flowingTexture); + } + private Vector3f fogColor; + private Supplier fogDistance; + + public static FluidBuilder.FluidTypeFactory create(int fogColor, Supplier fogDistance) { + return (p, s, f) -> { + HotFluidType fluidType = new HotFluidType(p, s, f); + fluidType.fogColor = new Color(fogColor, false).asVectorF(); + fluidType.fogDistance = fogDistance; + return fluidType; + }; + } + @Override + protected Vector3f getCustomFogColor() { + return fogColor; + } + + @Override + protected float getFogDistanceModifier() { + return fogDistance.get(); + } + + @Override + protected int getTintColor(FluidStack stack) { + return NO_TINT; + } + @Override + public int getTintColor(FluidState state, BlockAndTintGetter world, BlockPos pos) { + return 0x00ffffff; + } + @Override + public int getLightLevel() { + return 15; + } + @Override + public int getTemperature() + { + return 1270; + } + @Override + public int getViscosity() + { + return 50; + } + + @Override + public boolean move(FluidState state, LivingEntity entity, Vec3 movementVector, double gravity) + { + entity.setDeltaMovement(entity.getDeltaMovement().scale(0.6d)); + + entity.setRemainingFireTicks(10); + + if(Create.RANDOM.nextInt(30)==27) + entity.lavaHurt(); + + return false; + } + + public boolean canExtinguish(Entity entity) + { + return false; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/base/fluid/TFMGFluidInteractions.java b/src/main/java/com/drmangotea/tfmg/base/fluid/TFMGFluidInteractions.java new file mode 100644 index 00000000..a1f038ee --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/fluid/TFMGFluidInteractions.java @@ -0,0 +1,97 @@ +package com.drmangotea.tfmg.base.fluid; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.simibubi.create.content.decoration.palettes.AllPaletteBlocks; +import com.simibubi.create.content.decoration.palettes.AllPaletteStoneTypes; +import net.minecraft.world.level.block.Blocks; +import net.neoforged.neoforge.fluids.FluidInteractionRegistry; + + +import static com.drmangotea.tfmg.registry.TFMGFluids.*; + +public class TFMGFluidInteractions { + public static void registerFluidInteractions() { + // FluidInteractionRegistry.addInteraction(ForgeMod.LAVA_TYPE.get(), new FluidInteractionRegistry.InteractionInformation( + // CRUDE_OIL.get().getFluidType(), + // fluidState -> { + // if (fluidState.isSource()) { + // return TFMGBlocks.FOSSILSTONE.get().defaultBlockState(); + // } else { + // return Blocks.SMOOTH_BASALT.defaultBlockState(); + // } + // } + // )); + // FluidInteractionRegistry.addInteraction(ForgeMod.LAVA_TYPE.get(), new FluidInteractionRegistry.InteractionInformation( + // HEAVY_OIL.get().getFluidType(), + // fluidState -> { + // if (fluidState.isSource()) { + // return TFMGBlocks.FOSSILSTONE.get().defaultBlockState(); + // } else { + // return Blocks.SMOOTH_BASALT.defaultBlockState(); + // } + // } + // )); + // // + // FluidInteractionRegistry.addInteraction(ForgeMod.LAVA_TYPE.get(), new FluidInteractionRegistry.InteractionInformation( + // GASOLINE.get().getFluidType(), + // fluidState -> { + // if (fluidState.isSource()) { + // return TFMGBlocks.FOSSILSTONE.get().defaultBlockState(); + // } else { + // return Blocks.SMOOTH_BASALT.defaultBlockState(); + // } + // } + // )); + // FluidInteractionRegistry.addInteraction(ForgeMod.LAVA_TYPE.get(), new FluidInteractionRegistry.InteractionInformation( + // DIESEL.get().getFluidType(), + // fluidState -> { + // if (fluidState.isSource()) { + // return TFMGBlocks.FOSSILSTONE.get().defaultBlockState(); + // } else { + // return Blocks.SMOOTH_BASALT.defaultBlockState(); + // } + // } + // )); + // FluidInteractionRegistry.addInteraction(ForgeMod.LAVA_TYPE.get(), new FluidInteractionRegistry.InteractionInformation( + // NAPHTHA.get().getFluidType(), + // fluidState -> { + // if (fluidState.isSource()) { + // return TFMGBlocks.FOSSILSTONE.get().defaultBlockState(); + // } else { + // return Blocks.SMOOTH_BASALT.defaultBlockState(); + // } + // } + // )); + // FluidInteractionRegistry.addInteraction(ForgeMod.LAVA_TYPE.get(), new FluidInteractionRegistry.InteractionInformation( + // KEROSENE.get().getFluidType(), + // fluidState -> { + // if (fluidState.isSource()) { + // return TFMGBlocks.FOSSILSTONE.get().defaultBlockState(); + // } else { + // return Blocks.SMOOTH_BASALT.defaultBlockState(); + // } + // } + // )); + // FluidInteractionRegistry.addInteraction(ForgeMod.LAVA_TYPE.get(), new FluidInteractionRegistry.InteractionInformation( + // LUBRICATION_OIL.get().getFluidType(), + // fluidState -> { + // if (fluidState.isSource()) { + // return TFMGBlocks.FOSSILSTONE.get().defaultBlockState(); + // } else { + // return Blocks.SMOOTH_BASALT.defaultBlockState(); + // } + // } + // )); + // FluidInteractionRegistry.addInteraction(ForgeMod.LAVA_TYPE.get(), new FluidInteractionRegistry.InteractionInformation( + // COOLING_FLUID.get().getFluidType(), + // fluidState -> { + // if (fluidState.isSource()) { + // return Blocks.BASALT.defaultBlockState(); + // } else { + // return Blocks.SMOOTH_BASALT.defaultBlockState(); + // } + // } + // )); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/base/palettes/TFMGPaletteBlockPartial.java b/src/main/java/com/drmangotea/tfmg/base/palettes/TFMGPaletteBlockPartial.java new file mode 100644 index 00000000..bd610c7e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/palettes/TFMGPaletteBlockPartial.java @@ -0,0 +1,265 @@ +package com.drmangotea.tfmg.base.palettes; + + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.TFMGCreativeTabs; +import com.drmangotea.tfmg.registry.TFMGPaletteStoneTypes; +import com.simibubi.create.Create; +import com.simibubi.create.foundation.data.CreateRegistrate; + +import com.simibubi.create.foundation.utility.CreateLang; +import com.tterrag.registrate.builders.BlockBuilder; +import com.tterrag.registrate.builders.ItemBuilder; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import com.tterrag.registrate.providers.RegistrateRecipeProvider; +import com.tterrag.registrate.util.DataIngredient; +import com.tterrag.registrate.util.entry.BlockEntry; +import com.tterrag.registrate.util.nullness.NonnullType; +import net.minecraft.data.recipes.RecipeCategory; +import net.minecraft.data.recipes.ShapedRecipeBuilder; +import net.minecraft.data.recipes.ShapelessRecipeBuilder; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.BlockTags; +import net.minecraft.tags.ItemTags; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.SlabBlock; +import net.minecraft.world.level.block.StairBlock; +import net.minecraft.world.level.block.WallBlock; +import net.minecraft.world.level.block.state.BlockBehaviour.Properties; +import net.neoforged.neoforge.client.model.generators.ModelFile; + + +import java.util.Arrays; +import java.util.function.Supplier; + + +import static com.drmangotea.tfmg.TFMG.REGISTRATE; +import static com.simibubi.create.foundation.data.TagGen.pickaxeOnly; + +public abstract class TFMGPaletteBlockPartial { + + public static final TFMGPaletteBlockPartial STAIR = new Stairs(); + public static final TFMGPaletteBlockPartial SLAB = new Slab(false); + public static final TFMGPaletteBlockPartial UNIQUE_SLAB = new Slab(true); + public static final TFMGPaletteBlockPartial WALL = new Wall(); + public static final TFMGPaletteBlockPartial[] ALL_PARTIALS = { STAIR, SLAB, WALL }; + public static final TFMGPaletteBlockPartial[] FOR_POLISHED = { STAIR, UNIQUE_SLAB, WALL }; + private String name; + + protected TFMGPaletteBlockPartial(String name) { + this.name = name; + } + + static { + REGISTRATE.setCreativeTab(TFMGCreativeTabs.TFMG_DECORATION); + } + + public @NonnullType BlockBuilder create(String variantName, TFMGPaletteBlockPattern pattern, + BlockEntry block, TFMGPaletteStoneTypes variant) { + String patternName = CreateLang.nonPluralId(pattern.createName(variantName)); + String blockName = patternName + "_" + this.name; + + BlockBuilder blockBuilder = REGISTRATE + .block(blockName, p -> createBlock(block)) + .blockstate((c, p) -> generateBlockState(c, p, variantName, pattern, block)) + .recipe((c, p) -> createRecipes(variant, block, c, p)) + .transform(b -> transformBlock(b, variantName, pattern)); + + ItemBuilder> itemBuilder = blockBuilder.item() + .transform(b -> transformItem(b, variantName, pattern)); + + if (canRecycle()) + itemBuilder.tag(variant.materialTag); + + return itemBuilder.build(); + } + + protected ResourceLocation getTexture(String variantName, TFMGPaletteBlockPattern pattern, int index) { + return TFMGPaletteBlockPattern.toLocation(variantName, pattern.getTexture(index)); + } + protected BlockBuilder transformBlock(BlockBuilder builder, + String variantName, TFMGPaletteBlockPattern pattern) { + getBlockTags().forEach(builder::tag); + return builder.transform(pickaxeOnly()); + } + protected ItemBuilder> transformItem( + ItemBuilder> builder, String variantName, + TFMGPaletteBlockPattern pattern) { + getItemTags().forEach(builder::tag); + return builder; + } + protected boolean canRecycle() { + return true; + } + protected abstract Iterable> getBlockTags(); + protected abstract Iterable> getItemTags(); + protected abstract B createBlock(Supplier block); + protected abstract void createRecipes(TFMGPaletteStoneTypes type, BlockEntry patternBlock, + DataGenContext c, RegistrateRecipeProvider p); + protected abstract void generateBlockState(DataGenContext ctx, RegistrateBlockstateProvider prov, String variantName, TFMGPaletteBlockPattern pattern, Supplier block); + private static class Stairs extends TFMGPaletteBlockPartial { + public Stairs() { + super("stairs"); + } + + @Override + protected StairBlock createBlock(Supplier block) { + return new StairBlock(block.get() + .defaultBlockState(), Properties.ofFullCopy(block.get())); + } + + @Override + protected void generateBlockState(DataGenContext ctx, RegistrateBlockstateProvider prov, + String variantName, TFMGPaletteBlockPattern pattern, Supplier block) { + prov.stairsBlock(ctx.get(), getTexture(variantName, pattern, 0)); + } + @Override + protected Iterable> getBlockTags() { + return Arrays.asList(BlockTags.STAIRS); + } + + @Override + protected Iterable> getItemTags() { + return Arrays.asList(ItemTags.STAIRS); + } + + @Override + protected void createRecipes(TFMGPaletteStoneTypes type, BlockEntry patternBlock, + DataGenContext c, RegistrateRecipeProvider p) { + RecipeCategory category = RecipeCategory.BUILDING_BLOCKS; + p.stairs(DataIngredient.items(patternBlock.get()), category, c::get, c.getName(), false); + p.stonecutting(DataIngredient.tag(type.materialTag), category, c::get, 1); + } + } + private static class Slab extends TFMGPaletteBlockPartial { + + private boolean customSide; + + public Slab(boolean customSide) { + super("slab"); + this.customSide = customSide; + } + + @Override + protected SlabBlock createBlock(Supplier block) { + return new SlabBlock(Properties.ofFullCopy(block.get())); + } + + @Override + protected boolean canRecycle() { + return false; + } + + @Override + protected void generateBlockState(DataGenContext ctx, RegistrateBlockstateProvider prov, + String variantName, TFMGPaletteBlockPattern pattern, Supplier block) { + String name = ctx.getName(); + ResourceLocation mainTexture = getTexture(variantName, pattern, 0); + ResourceLocation sideTexture = customSide ? getTexture(variantName, pattern, 1) : mainTexture; + + ModelFile bottom = prov.models() + .slab(name, sideTexture, mainTexture, mainTexture); + ModelFile top = prov.models() + .slabTop(name + "_top", sideTexture, mainTexture, mainTexture); + ModelFile doubleSlab; + + if (customSide) { + doubleSlab = prov.models() + .cubeColumn(name + "_double", sideTexture, mainTexture); + } else { + doubleSlab = prov.models() + .getExistingFile(prov.modLoc(pattern.createName(variantName))); + } + + prov.slabBlock(ctx.get(), bottom, top, doubleSlab); + } + + @Override + protected Iterable> getBlockTags() { + return Arrays.asList(BlockTags.SLABS); + } + + @Override + protected Iterable> getItemTags() { + return Arrays.asList(ItemTags.SLABS); + } + + @Override + protected void createRecipes(TFMGPaletteStoneTypes type, BlockEntry patternBlock, + DataGenContext c, RegistrateRecipeProvider p) { + RecipeCategory category = RecipeCategory.BUILDING_BLOCKS; + p.slab(DataIngredient.items(patternBlock.get()), category, c::get, c.getName(), false); + p.stonecutting(DataIngredient.tag(type.materialTag), category, c::get, 2); + DataIngredient ingredient = DataIngredient.items(c.get()); + ShapelessRecipeBuilder.shapeless(category, patternBlock.get()) + .requires(ingredient.toVanilla()) + .requires(ingredient.toVanilla()) + .unlockedBy("has_" + c.getName(), ingredient.getCriterion(p)) + .save(p, TFMG.MOD_ID + ":" + c.getName() + "_recycling"); + } + + @Override + protected BlockBuilder transformBlock( + BlockBuilder builder, String variantName, TFMGPaletteBlockPattern pattern) { + builder.loot((lt, block) -> lt.add(block, lt.createSlabItemTable(block))); + return super.transformBlock(builder, variantName, pattern); + } + + } + + public static class Wall extends TFMGPaletteBlockPartial { + + public Wall() { + super("wall"); + } + + @Override + protected WallBlock createBlock(Supplier block) { + return new WallBlock(Properties.ofFullCopy(block.get())); + } + + @Override + protected ItemBuilder> transformItem( + ItemBuilder> builder, String variantName, + TFMGPaletteBlockPattern pattern) { + builder.model((c, p) -> p.wallInventory(c.getName(), getTexture(variantName, pattern, 0))); + return super.transformItem(builder, variantName, pattern); + } + + @Override + protected void generateBlockState(DataGenContext ctx, RegistrateBlockstateProvider prov, + String variantName, TFMGPaletteBlockPattern pattern, Supplier block) { + prov.wallBlock(ctx.get(), pattern.createName(variantName), getTexture(variantName, pattern, 0)); + } + + @Override + protected Iterable> getBlockTags() { + return Arrays.asList(BlockTags.WALLS); + } + + @Override + protected Iterable> getItemTags() { + return Arrays.asList(ItemTags.WALLS); + } + + @Override + protected void createRecipes(TFMGPaletteStoneTypes type, BlockEntry patternBlock, + DataGenContext c, RegistrateRecipeProvider p) { + RecipeCategory category = RecipeCategory.BUILDING_BLOCKS; + p.stonecutting(DataIngredient.tag(type.materialTag), category, c::get, 1); + DataIngredient ingredient = DataIngredient.items(patternBlock.get()); + ShapedRecipeBuilder.shaped(category, c.get(), 6) + .pattern("XXX") + .pattern("XXX") + .define('X', ingredient.toVanilla()) + .unlockedBy("has_" + p.safeName(ingredient), ingredient.getCriterion(p)) + .save(p, p.safeId(c.get())); + } + + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/base/palettes/TFMGPaletteBlockPattern.java b/src/main/java/com/drmangotea/tfmg/base/palettes/TFMGPaletteBlockPattern.java new file mode 100644 index 00000000..0614522c --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/palettes/TFMGPaletteBlockPattern.java @@ -0,0 +1,263 @@ +package com.drmangotea.tfmg.base.palettes; + + +import com.drmangotea.tfmg.TFMG; +import com.simibubi.create.content.decoration.palettes.ConnectedPillarBlock; +import com.simibubi.create.foundation.block.connected.*; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import com.tterrag.registrate.providers.RegistrateRecipeProvider; +import com.tterrag.registrate.util.nullness.NonNullBiConsumer; +import com.tterrag.registrate.util.nullness.NonNullFunction; +import com.tterrag.registrate.util.nullness.NonNullSupplier; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.core.Direction; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import net.neoforged.neoforge.client.model.generators.ConfiguredModel; + +import java.util.Optional; +import java.util.function.Function; +import java.util.function.Supplier; + +import static com.drmangotea.tfmg.base.palettes.TFMGPaletteBlockPartial.ALL_PARTIALS; +import static com.drmangotea.tfmg.base.palettes.TFMGPaletteBlockPartial.FOR_POLISHED; +import static com.drmangotea.tfmg.base.palettes.TFMGPaletteBlockPattern.PatternNameType.*; + + +public class TFMGPaletteBlockPattern { + + public static final TFMGPaletteBlockPattern + + CUT = + create("cut", PREFIX, ALL_PARTIALS), + + BRICKS = create("cut_bricks", WRAP, ALL_PARTIALS).textures("brick"), + SMALL_BRICKS = create("small_bricks", WRAP, ALL_PARTIALS).textures("small_brick"), + POLISHED = create("polished_cut", PREFIX, FOR_POLISHED).textures("polished", "slab"), + LAYERED = create("layered", PREFIX).blockStateFactory(p -> p::cubeColumn) + .textures("layered", "cap") + .connectedTextures(v -> new HorizontalCTBehaviour(ct(v, CTs.LAYERED), ct(v, CTs.CAP))), + PILLAR = create("pillar", SUFFIX).blockStateFactory(p -> p::pillar) + .block(ConnectedPillarBlock::new) + .textures("pillar", "cap") + .connectedTextures(v -> new RotatedPillarCTBehaviour(ct(v, CTs.PILLAR), ct(v, CTs.CAP))) + ; + + public static final TFMGPaletteBlockPattern[] VANILLA_RANGE = { CUT, POLISHED, BRICKS, SMALL_BRICKS, LAYERED, PILLAR }; + + public static final TFMGPaletteBlockPattern[] STANDARD_RANGE = { CUT, POLISHED, BRICKS, SMALL_BRICKS, LAYERED, PILLAR }; + + static final String TEXTURE_LOCATION = "block/palettes/stone_types/%s/%s"; + + private PatternNameType nameType; + private String[] textures; + private String id; + private boolean isTranslucent; + private TagKey[] blockTags; + private TagKey[] itemTags; + private Optional> ctFactory; + private IPatternBlockStateGenerator blockStateGenerator; + private NonNullFunction blockFactory; + private NonNullFunction, NonNullBiConsumer, RegistrateRecipeProvider>> additionalRecipes; + private TFMGPaletteBlockPartial[] partials; + @OnlyIn(Dist.CLIENT) + private RenderType renderType; + + private static TFMGPaletteBlockPattern create(String name, PatternNameType nameType, + TFMGPaletteBlockPartial... partials) { + TFMGPaletteBlockPattern pattern = new TFMGPaletteBlockPattern(); + pattern.id = name; + pattern.ctFactory = Optional.empty(); + pattern.nameType = nameType; + pattern.partials = partials; + pattern.additionalRecipes = $ -> NonNullBiConsumer.noop(); + pattern.isTranslucent = false; + pattern.blockFactory = Block::new; + pattern.textures = new String[] { name }; + pattern.blockStateGenerator = p -> p::cubeAll; + return pattern; + } + + public IPatternBlockStateGenerator getBlockStateGenerator() { + return blockStateGenerator; + } + + public boolean isTranslucent() { + return isTranslucent; + } + + public TagKey[] getBlockTags() { + return blockTags; + } + + public TagKey[] getItemTags() { + return itemTags; + } + + public NonNullFunction getBlockFactory() { + return blockFactory; + } + + public TFMGPaletteBlockPartial[] getPartials() { + return partials; + } + + public String getTexture(int index) { + return textures[index]; + } + + public void addRecipes(NonNullSupplier baseBlock, DataGenContext c, + RegistrateRecipeProvider p) { + additionalRecipes.apply(baseBlock) + .accept(c, p); + } + + public Optional> createCTBehaviour(String variant) { + return ctFactory.map(d -> () -> d.apply(variant)); + } + + // Builder + + private TFMGPaletteBlockPattern blockStateFactory(IPatternBlockStateGenerator factory) { + blockStateGenerator = factory; + return this; + } + + private TFMGPaletteBlockPattern textures(String... textures) { + this.textures = textures; + return this; + } + + private TFMGPaletteBlockPattern block(NonNullFunction blockFactory) { + this.blockFactory = blockFactory; + return this; + } + + private TFMGPaletteBlockPattern connectedTextures(Function factory) { + this.ctFactory = Optional.of(factory); + return this; + } + + // Model generators + + public IBlockStateProvider cubeAll(String variant) { + ResourceLocation all = toLocation(variant, textures[0]); + return (ctx, prov) -> prov.simpleBlock(ctx.get(), prov.models() + .cubeAll(createName(variant), all)); + } + + public IBlockStateProvider cubeBottomTop(String variant) { + ResourceLocation side = toLocation(variant, textures[0]); + ResourceLocation bottom = toLocation(variant, textures[1]); + ResourceLocation top = toLocation(variant, textures[2]); + return (ctx, prov) -> prov.simpleBlock(ctx.get(), prov.models() + .cubeBottomTop(createName(variant), side, bottom, top)); + } + + public IBlockStateProvider pillar(String variant) { + ResourceLocation side = toLocation(variant, textures[0]); + ResourceLocation end = toLocation(variant, textures[1]); + + return (ctx, prov) -> prov.getVariantBuilder(ctx.getEntry()) + .forAllStatesExcept(state -> { + Direction.Axis axis = state.getValue(BlockStateProperties.AXIS); + if (axis == Direction.Axis.Y) + return ConfiguredModel.builder() + .modelFile(prov.models() + .cubeColumn(createName(variant), side, end)) + .uvLock(false) + .build(); + return ConfiguredModel.builder() + .modelFile(prov.models() + .cubeColumnHorizontal(createName(variant) + "_horizontal", side, end)) + .uvLock(false) + .rotationX(90) + .rotationY(axis == Direction.Axis.X ? 90 : 0) + .build(); + }, BlockStateProperties.WATERLOGGED, ConnectedPillarBlock.NORTH, ConnectedPillarBlock.SOUTH, + ConnectedPillarBlock.EAST, ConnectedPillarBlock.WEST); + } + + public IBlockStateProvider cubeColumn(String variant) { + ResourceLocation side = toLocation(variant, textures[0]); + ResourceLocation end = toLocation(variant, textures[1]); + return (ctx, prov) -> prov.simpleBlock(ctx.get(), prov.models() + .cubeColumn(createName(variant), side, end)); + } + + // Utility + + public String createName(String variant) { + if (nameType == WRAP) { + String[] split = id.split("_"); + if (split.length == 2) { + String formatString = "%s_%s_%s"; + return String.format(formatString, split[0], variant, split[1]); + } + } + String formatString = "%s_%s"; + return nameType == SUFFIX ? String.format(formatString, variant, id) : String.format(formatString, id, variant); + } + + protected static ResourceLocation toLocation(String variant, String texture) { + return TFMG.asResource( + String.format(TEXTURE_LOCATION, texture, variant + (texture.equals("cut") ? "_" : "_cut_") + texture)); + } + + protected static CTSpriteShiftEntry ct(String variant, CTs texture) { + ResourceLocation resLoc = texture.srcFactory.apply(variant); + ResourceLocation resLocTarget = texture.targetFactory.apply(variant); + return CTSpriteShifter.getCT(texture.type, resLoc, + ResourceLocation.fromNamespaceAndPath(resLocTarget.getNamespace(), resLocTarget.getPath() + "_connected")); + } + + @FunctionalInterface + static interface IPatternBlockStateGenerator + extends Function> { + } + + @FunctionalInterface + static interface IBlockStateProvider + extends NonNullBiConsumer, RegistrateBlockstateProvider> { + } + + enum PatternNameType { + PREFIX, SUFFIX, WRAP + } + + // Textures with connectability, used by Spriteshifter + + public enum CTs { + + PILLAR(AllCTTypes.RECTANGLE, s -> toLocation(s, "pillar")), + CAP(AllCTTypes.OMNIDIRECTIONAL, s -> toLocation(s, "cap")), + LAYERED(AllCTTypes.HORIZONTAL_KRYPPERS, s -> toLocation(s, "layered")) + + ; + + public CTType type; + private Function srcFactory; + private Function targetFactory; + + private CTs(CTType type, Function factory) { + this(type, factory, factory); + } + + private CTs(CTType type, Function srcFactory, + Function targetFactory) { + this.type = type; + this.srcFactory = srcFactory; + this.targetFactory = targetFactory; + } + + } + +} + diff --git a/src/main/java/com/drmangotea/tfmg/base/palettes/TFMGPalettesVariantEntry.java b/src/main/java/com/drmangotea/tfmg/base/palettes/TFMGPalettesVariantEntry.java new file mode 100644 index 00000000..9dfd481b --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/palettes/TFMGPalettesVariantEntry.java @@ -0,0 +1,93 @@ +package com.drmangotea.tfmg.base.palettes; + + +import com.drmangotea.tfmg.base.TFMGCreativeTabs; +import com.drmangotea.tfmg.registry.TFMGPaletteStoneTypes; +import com.google.common.collect.ImmutableList; +import com.simibubi.create.foundation.data.CreateRegistrate; +import com.tterrag.registrate.builders.BlockBuilder; +import com.tterrag.registrate.builders.ItemBuilder; +import com.tterrag.registrate.providers.ProviderType; +import com.tterrag.registrate.util.DataIngredient; +import com.tterrag.registrate.util.entry.BlockEntry; +import com.tterrag.registrate.util.nullness.NonNullSupplier; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.data.recipes.RecipeCategory; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; + + +import static com.drmangotea.tfmg.TFMG.REGISTRATE; +import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures; +import static com.simibubi.create.foundation.data.TagGen.pickaxeOnly; + +@SuppressWarnings("'onRegister(com.tterrag.registrate.util.nullness.NonNullConsumer>)' in 'com.tterrag.registrate.builders.Builder' cannot be applied to '(com.tterrag.registrate.util.nullness.NonNullConsumer>>)'") +public class TFMGPalettesVariantEntry { + + public final ImmutableList> registeredBlocks; + public final ImmutableList> registeredPartials; + + static { + REGISTRATE.setCreativeTab(TFMGCreativeTabs.TFMG_DECORATION); + } + + @SuppressWarnings("'onRegister(com.tterrag.registrate.util.nullness.NonNullConsumer>)' in 'com.tterrag.registrate.builders.Builder' cannot be applied to '(com.tterrag.registrate.util.nullness.NonNullConsumer>>)'") + public TFMGPalettesVariantEntry(String name, TFMGPaletteStoneTypes paletteStoneVariants) { + ImmutableList.Builder> registeredBlocks = ImmutableList.builder(); + ImmutableList.Builder> registeredPartials = ImmutableList.builder(); + NonNullSupplier baseBlock = paletteStoneVariants.baseBlock; + + for (TFMGPaletteBlockPattern pattern : paletteStoneVariants.variantTypes) { + BlockBuilder builder = + REGISTRATE.block(pattern.createName(name), pattern.getBlockFactory()) + .initialProperties(baseBlock) + .transform(pickaxeOnly()) + .blockstate(pattern.getBlockStateGenerator() + .apply(pattern) + .apply(name)::accept); + + ItemBuilder> itemBuilder = + builder.item(); + + TagKey[] blockTags = pattern.getBlockTags(); + if (blockTags != null) + builder.tag(blockTags); + TagKey[] itemTags = pattern.getItemTags(); + if (itemTags != null) + itemBuilder.tag(itemTags); + + itemBuilder.tag(paletteStoneVariants.materialTag); + + if (pattern.isTranslucent()) + builder.addLayer(() -> RenderType::translucent); + pattern.createCTBehaviour(name) + .ifPresent(b -> builder.onRegister(connectedTextures(b))); + + builder.recipe((c, p) -> { + p.stonecutting(DataIngredient.tag(paletteStoneVariants.materialTag), RecipeCategory.BUILDING_BLOCKS, c); + pattern.addRecipes(baseBlock, c, p); + }); + + itemBuilder.register(); + BlockEntry block = builder.register(); + registeredBlocks.add(block); + + for (TFMGPaletteBlockPartial partialBlock : pattern.getPartials()) + registeredPartials.add(partialBlock.create(name, pattern, block, paletteStoneVariants) + .register()); + } + + REGISTRATE.addDataGenerator(ProviderType.RECIPE, + p -> p.stonecutting(DataIngredient.tag(paletteStoneVariants.materialTag), RecipeCategory.BUILDING_BLOCKS, + baseBlock)); + REGISTRATE.addDataGenerator(ProviderType.ITEM_TAGS, p -> p.addTag(paletteStoneVariants.materialTag) + .add(baseBlock.get() + .asItem())); + + this.registeredBlocks = registeredBlocks.build(); + this.registeredPartials = registeredPartials.build(); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/base/spark/BlueSpark.java b/src/main/java/com/drmangotea/tfmg/base/spark/BlueSpark.java new file mode 100644 index 00000000..679309b8 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/spark/BlueSpark.java @@ -0,0 +1,120 @@ +package com.drmangotea.tfmg.base.spark; + + + + +import com.drmangotea.tfmg.content.items.weapons.explosives.thermite_grenades.fire.BlueFireBlock; +import com.drmangotea.tfmg.registry.TFMGEntityTypes; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.content.trains.CubeParticleData; +import net.minecraft.core.BlockPos; +import net.minecraft.core.particles.ParticleOptions; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.Mob; +import net.minecraft.world.entity.projectile.ThrowableProjectile; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.Level; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.EntityHitResult; +import net.minecraft.world.phys.HitResult; + +public class BlueSpark extends ThrowableProjectile { + public BlueSpark(EntityType p_37391_, Level p_37392_) { + super(p_37391_, p_37392_); + + } + public BlueSpark(Level p_37399_, LivingEntity p_37400_) { + super(TFMGEntityTypes.SPARK.get(), p_37400_, p_37399_); + } + + public BlueSpark(Level p_37394_, double p_37395_, double p_37396_, double p_37397_) { + super(TFMGEntityTypes.BLUE_SPARK.get(), p_37395_, p_37396_, p_37397_, p_37394_); + } + + @Override + protected double getDefaultGravity() { + return 0.02f; + } + + @Override + protected void defineSynchedData(SynchedEntityData.Builder builder) { + + } + + public void tick(){ + super.tick(); + if (this.isInWaterOrRain()) { + this.discard(); + } + if(this.level().isClientSide) { + + CubeParticleData data = + new CubeParticleData(4.1f, 60.2f, 100.3f, .0125f + .0625f * random.nextFloat(), 30, false); + level().addParticle(data, this.getX(), this.getY(), this.getZ(), this.random.nextGaussian() * 0.05D, -this.getDeltaMovement().y * 0.5D, this.random.nextGaussian() * 0.05D); + + } + } + + private ParticleOptions getParticle() { + + return ParticleTypes.FLAME; + } + + public void handleEntityEvent(byte p_37402_) { + if (p_37402_ == 3) { + ParticleOptions particleoptions = this.getParticle(); + + for(int i = 0; i < 8; ++i) { + this.level().addParticle(particleoptions, this.getX(), this.getY(), this.getZ(), 0.0D, 0.0D, 0.0D); + } + } + + } + protected void onHitBlock(BlockHitResult p_37384_) { + super.onHitBlock(p_37384_); + if (!this.level().isClientSide) { + Entity entity = this.getOwner(); + if (!(entity instanceof Mob)) { + BlockPos blockpos = p_37384_.getBlockPos().relative(p_37384_.getDirection()); + if (this.level().isEmptyBlock(blockpos)) { + this.level().setBlockAndUpdate(blockpos, BlueFireBlock.getState(this.level(), blockpos)); + } + } + + } + } + + protected void onHitEntity(EntityHitResult p_37386_) { + super.onHitEntity(p_37386_); + if (!this.level().isClientSide) { + Entity entity = p_37386_.getEntity(); + Entity entity1 = this.getOwner(); + int i = entity.getRemainingFireTicks(); + entity.setRemainingFireTicks(10); + + + } + } + + protected void onHit(HitResult p_37406_) { + super.onHit(p_37406_); + + if (!this.level().isClientSide) { + this.level().broadcastEntityEvent(this, (byte)3); + + + //this.level.explode(this, this.getX(), this.getY(0.0625D), this.getZ(), 2.0F, Explosion.BlockInteraction.NONE); + this.discard(); + } + } + + @SuppressWarnings("unchecked") + public static EntityType.Builder build(EntityType.Builder builder) { + EntityType.Builder entityBuilder = (EntityType.Builder) builder; + return entityBuilder.sized(.25f, .25f); + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/base/spark/BlueSparkRenderer.java b/src/main/java/com/drmangotea/tfmg/base/spark/BlueSparkRenderer.java new file mode 100644 index 00000000..21e1921a --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/spark/BlueSparkRenderer.java @@ -0,0 +1,58 @@ +package com.drmangotea.tfmg.base.spark; + + +import com.drmangotea.tfmg.TFMG; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.mojang.math.Axis; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.entity.EntityRenderer; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.core.BlockPos; +import net.minecraft.resources.ResourceLocation; + + +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import org.joml.Matrix3f; +import org.joml.Matrix4f; + +@OnlyIn(Dist.CLIENT) +public class BlueSparkRenderer extends EntityRenderer { + private static final ResourceLocation TEXTURE_LOCATION = TFMG.asResource("textures/entity/blue_spark.png"); + private static final RenderType RENDER_TYPE = RenderType.entityCutoutNoCull(TEXTURE_LOCATION); + public BlueSparkRenderer(EntityRendererProvider.Context p_173962_) { + super(p_173962_); + } + + protected int getBlockLightLevel(BlueSpark p_114087_, BlockPos p_114088_) { + return 15; + } + + public void render(BlueSpark p_114080_, float p_114081_, float p_114082_, PoseStack p_114083_, MultiBufferSource p_114084_, int p_114085_) { + p_114083_.pushPose(); + p_114083_.scale(0.5F, 0.5F, 0.5F); + p_114083_.mulPose(this.entityRenderDispatcher.cameraOrientation()); + p_114083_.mulPose(Axis.YP.rotationDegrees(180.0F)); + PoseStack.Pose posestack$pose = p_114083_.last(); + Matrix4f matrix4f = posestack$pose.pose(); + Matrix3f matrix3f = posestack$pose.normal(); + VertexConsumer vertexconsumer = p_114084_.getBuffer(RENDER_TYPE); + vertex(vertexconsumer, matrix4f, matrix3f, p_114085_, 0.0F, 0, 0, 1); + vertex(vertexconsumer, matrix4f, matrix3f, p_114085_, 1.0F, 0, 1, 1); + vertex(vertexconsumer, matrix4f, matrix3f, p_114085_, 1.0F, 1, 1, 0); + vertex(vertexconsumer, matrix4f, matrix3f, p_114085_, 0.0F, 1, 0, 0); + p_114083_.popPose(); + super.render(p_114080_, p_114081_, p_114082_, p_114083_, p_114084_, p_114085_); + } + + private static void vertex(VertexConsumer p_114090_, Matrix4f p_114091_, Matrix3f p_114092_, int p_114093_, float p_114094_, int p_114095_, int p_114096_, int p_114097_) { + p_114090_.addVertex(p_114091_, p_114094_ - 0.5F, (float)p_114095_ - 0.25F, 0.0F).setColor(255, 255, 255, 255).setUv((float)p_114096_, (float)p_114097_).setOverlay(OverlayTexture.NO_OVERLAY).setUv2(p_114093_,p_114093_).setNormal( 0.0F, 1.0F, 0.0F); + } + + public ResourceLocation getTextureLocation(BlueSpark p_114078_) { + return TEXTURE_LOCATION; + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/base/spark/ElectricSparkParticle.java b/src/main/java/com/drmangotea/tfmg/base/spark/ElectricSparkParticle.java new file mode 100644 index 00000000..c79db1d4 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/spark/ElectricSparkParticle.java @@ -0,0 +1,56 @@ +package com.drmangotea.tfmg.base.spark; + + +import com.drmangotea.tfmg.registry.TFMGParticleTypes; +import com.simibubi.create.content.equipment.bell.BasicParticleData; +import com.simibubi.create.content.equipment.bell.CustomRotationParticle; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.client.particle.SpriteSet; +import net.minecraft.core.particles.ParticleOptions; +import net.minecraft.core.particles.ParticleType; + +public class ElectricSparkParticle extends CustomRotationParticle { + + private final SpriteSet animatedSprite; + protected int startTicks; + protected int endTicks; + protected int numLoops; + protected int startFrames = 17; + protected int loopFrames = 16; + protected int endFrames = 20; + protected int totalFrames = 53; + + public ElectricSparkParticle(ClientLevel worldIn, double x, double y, double z, double vx, double vy, double vz, + SpriteSet spriteSet, ParticleOptions data) { + super(worldIn, x, y, z, spriteSet, 0); + this.animatedSprite = spriteSet; + this.quadSize = 0.5f; + this.setSize(this.quadSize, this.quadSize); + + this.loopLength = loopFrames + (int) (this.random.nextFloat() * 5f - 4f); + this.startTicks = startFrames + (int) (this.random.nextFloat() * 5f - 4f); + this.endTicks = endFrames + (int) (this.random.nextFloat() * 5f - 4f); + this.numLoops = (int) (1f + this.random.nextFloat() * 2f); + + this.setFrame(0); + this.mirror = this.random.nextBoolean(); + } + public void setFrame(int frame) { + if (frame >= 0 && frame < totalFrames) + setSprite(animatedSprite.get(frame, totalFrames)); + } + + public static class Data extends BasicParticleData { + @Override + public IBasicParticleFactory getBasicFactory() { + return (worldIn, x, y, z, vx, vy, vz, spriteSet) -> new ElectricSparkParticle(worldIn, x, y, z, vx, vy, vz, + spriteSet, this); + } + @Override + public ParticleType getType() { + return TFMGParticleTypes.ELECTRIC_SPARK.get(); + } + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/base/spark/GreenSpark.java b/src/main/java/com/drmangotea/tfmg/base/spark/GreenSpark.java new file mode 100644 index 00000000..a6e795e6 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/spark/GreenSpark.java @@ -0,0 +1,108 @@ +package com.drmangotea.tfmg.base.spark; + + + +import com.drmangotea.tfmg.content.items.weapons.explosives.thermite_grenades.fire.GreenFireBlock; +import com.drmangotea.tfmg.registry.TFMGEntityTypes; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.content.trains.CubeParticleData; +import net.minecraft.core.BlockPos; +import net.minecraft.core.particles.ParticleOptions; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.Mob; +import net.minecraft.world.entity.projectile.ThrowableProjectile; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.Level; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.EntityHitResult; +import net.minecraft.world.phys.HitResult; + +public class GreenSpark extends ThrowableProjectile { + public GreenSpark(EntityType p_37391_, Level p_37392_) { + super(p_37391_, p_37392_); + } + public GreenSpark(Level p_37399_, LivingEntity p_37400_) { + super(TFMGEntityTypes.SPARK.get(), p_37400_, p_37399_); + } + + public GreenSpark(Level level, double p_37395_, double p_37396_, double p_37397_) { + super(TFMGEntityTypes.SPARK.get(), p_37395_, p_37396_, p_37397_, level); + } + + @Override + protected double getDefaultGravity() { + return 0.02f; + } + + @Override + protected void defineSynchedData(SynchedEntityData.Builder builder) { + + } + + public void tick(){ + super.tick(); + if (this.isInWaterOrRain()) { + this.discard(); + } + if(this.level().isClientSide) { + + CubeParticleData data = + new CubeParticleData(0.01f, 100.25f, 20.1f, .0125f + .0625f * random.nextFloat(), 30, true); + level().addParticle(data, this.getX(), this.getY(), this.getZ(), this.random.nextGaussian() * 0.05D, -this.getDeltaMovement().y * 0.5D, this.random.nextGaussian() * 0.05D); + } +} + + private ParticleOptions getParticle() { + + return ParticleTypes.FLAME; + } + public void handleEntityEvent(byte p_37402_) { + if (p_37402_ == 3) { + ParticleOptions particleoptions = this.getParticle(); + + for(int i = 0; i < 8; ++i) { + this.level().addParticle(particleoptions, this.getX(), this.getY(), this.getZ(), 0.0D, 0.0D, 0.0D); + } + } + } + protected void onHitBlock(BlockHitResult p_37384_) { + super.onHitBlock(p_37384_); + if (!this.level().isClientSide) { + Entity entity = this.getOwner(); + if (!(entity instanceof Mob)) { + BlockPos blockpos = p_37384_.getBlockPos().relative(p_37384_.getDirection()); + if (this.level().isEmptyBlock(blockpos)) { + this.level().setBlockAndUpdate(blockpos, GreenFireBlock.getState(this.level(), blockpos)); + } + } + + } + } + + protected void onHitEntity(EntityHitResult p_37386_) { + super.onHitEntity(p_37386_); + if (!this.level().isClientSide) { + Entity entity = p_37386_.getEntity(); + entity.setRemainingFireTicks(10); + } + } + + protected void onHit(HitResult p_37406_) { + super.onHit(p_37406_); + if (!this.level().isClientSide) { + this.level().broadcastEntityEvent(this, (byte)3); + this.discard(); + } + + } + + @SuppressWarnings("unchecked") + public static EntityType.Builder build(EntityType.Builder builder) { + EntityType.Builder entityBuilder = (EntityType.Builder) builder; + return entityBuilder.sized(.25f, .25f); + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/base/spark/GreenSparkRenderer.java b/src/main/java/com/drmangotea/tfmg/base/spark/GreenSparkRenderer.java new file mode 100644 index 00000000..4e375855 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/spark/GreenSparkRenderer.java @@ -0,0 +1,58 @@ +package com.drmangotea.tfmg.base.spark; + + +import com.drmangotea.tfmg.TFMG; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.mojang.math.Axis; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.entity.EntityRenderer; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.core.BlockPos; +import net.minecraft.resources.ResourceLocation; + + +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import org.joml.Matrix3f; +import org.joml.Matrix4f; + +@OnlyIn(Dist.CLIENT) +public class GreenSparkRenderer extends EntityRenderer { + private static final ResourceLocation TEXTURE_LOCATION = TFMG.asResource("textures/entity/green_spark.png"); + private static final RenderType RENDER_TYPE = RenderType.entityCutoutNoCull(TEXTURE_LOCATION); + public GreenSparkRenderer(EntityRendererProvider.Context p_173962_) { + super(p_173962_); + } + + protected int getBlockLightLevel(GreenSpark p_114087_, BlockPos p_114088_) { + return 15; + } + + public void render(GreenSpark p_114080_, float p_114081_, float p_114082_, PoseStack p_114083_, MultiBufferSource p_114084_, int p_114085_) { + p_114083_.pushPose(); + p_114083_.scale(0.5F, 0.5F, 0.5F); + p_114083_.mulPose(this.entityRenderDispatcher.cameraOrientation()); + p_114083_.mulPose(Axis.YP.rotationDegrees(180.0F)); + PoseStack.Pose posestack$pose = p_114083_.last(); + Matrix4f matrix4f = posestack$pose.pose(); + Matrix3f matrix3f = posestack$pose.normal(); + VertexConsumer vertexconsumer = p_114084_.getBuffer(RENDER_TYPE); + vertex(vertexconsumer, matrix4f, matrix3f, p_114085_, 0.0F, 0, 0, 1); + vertex(vertexconsumer, matrix4f, matrix3f, p_114085_, 1.0F, 0, 1, 1); + vertex(vertexconsumer, matrix4f, matrix3f, p_114085_, 1.0F, 1, 1, 0); + vertex(vertexconsumer, matrix4f, matrix3f, p_114085_, 0.0F, 1, 0, 0); + p_114083_.popPose(); + super.render(p_114080_, p_114081_, p_114082_, p_114083_, p_114084_, p_114085_); + } + + private static void vertex(VertexConsumer p_114090_, Matrix4f p_114091_, Matrix3f p_114092_, int p_114093_, float p_114094_, int p_114095_, int p_114096_, int p_114097_) { + p_114090_.addVertex(p_114091_, p_114094_ - 0.5F, (float)p_114095_ - 0.25F, 0.0F).setColor(255, 255, 255, 255).setUv((float)p_114096_, (float)p_114097_).setOverlay(OverlayTexture.NO_OVERLAY).setUv2(p_114093_,p_114093_).setNormal( 0.0F, 1.0F, 0.0F); + } + + public ResourceLocation getTextureLocation(GreenSpark p_114078_) { + return TEXTURE_LOCATION; + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/base/spark/Spark.java b/src/main/java/com/drmangotea/tfmg/base/spark/Spark.java new file mode 100644 index 00000000..01f36ea5 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/spark/Spark.java @@ -0,0 +1,105 @@ +package com.drmangotea.tfmg.base.spark; + + +import com.drmangotea.tfmg.registry.TFMGEntityTypes; +import com.drmangotea.tfmg.registry.TFMGItems; +import net.minecraft.core.BlockPos; +import net.minecraft.core.particles.ParticleOptions; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.Mob; +import net.minecraft.world.entity.projectile.ThrowableProjectile; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.BaseFireBlock; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.EntityHitResult; +import net.minecraft.world.phys.HitResult; + +public class Spark extends ThrowableProjectile { + public Spark(EntityType p_37391_, Level p_37392_) { + super(p_37391_, p_37392_); + } + public Spark(Level p_37399_, LivingEntity p_37400_) { + super(TFMGEntityTypes.SPARK.get(), p_37400_, p_37399_); + } + public Spark(Level p_37394_, double p_37395_, double p_37396_, double p_37397_) { + super(TFMGEntityTypes.SPARK.get(), p_37395_, p_37396_, p_37397_, p_37394_); + } + + + @Override + protected double getDefaultGravity() { + return 0.02f; + } + + @Override + protected void defineSynchedData(SynchedEntityData.Builder builder) { + + } + + public void tick(){ + super.tick(); + if (this.isInWaterOrRain()) { + this.discard(); + } + if(this.level().isClientSide) { + + this.level().addParticle(ParticleTypes.FLAME, this.getX(), this.getY(), this.getZ(), this.random.nextGaussian() * 0.05D, -this.getDeltaMovement().y * 0.5D, this.random.nextGaussian() * 0.05D); + } + } + protected Item getDefaultItem() { + return TFMGItems.THERMITE_GRENADE.get(); + } + private ParticleOptions getParticle() { + return ParticleTypes.FLAME; + } + + public void handleEntityEvent(byte p_37402_) { + if (p_37402_ == 3) { + ParticleOptions particleoptions = this.getParticle(); + + for(int i = 0; i < 8; ++i) { + this.level().addParticle(particleoptions, this.getX(), this.getY(), this.getZ(), 0.0D, 0.0D, 0.0D); + } + } + } + protected void onHitBlock(BlockHitResult p_37384_) { + super.onHitBlock(p_37384_); + if (!this.level().isClientSide) { + Entity entity = this.getOwner(); + if (!(entity instanceof Mob) ) { + BlockPos blockpos = p_37384_.getBlockPos().relative(p_37384_.getDirection()); + if (this.level().isEmptyBlock(blockpos)) { + this.level().setBlockAndUpdate(blockpos, BaseFireBlock.getState(this.level(), blockpos)); + } + } + } + } + + protected void onHitEntity(EntityHitResult p_37386_) { + super.onHitEntity(p_37386_); + if (!this.level().isClientSide) { + Entity entity = p_37386_.getEntity(); + entity.setRemainingFireTicks(10); + } + } + + protected void onHit(HitResult p_37406_) { + super.onHit(p_37406_); + + if (!this.level().isClientSide) { + this.level().broadcastEntityEvent(this, (byte)3); + this.discard(); + } + } + + @SuppressWarnings("unchecked") + public static EntityType.Builder build(EntityType.Builder builder) { + EntityType.Builder entityBuilder = (EntityType.Builder) builder; + return entityBuilder.sized(.25f, .25f); + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/base/spark/SparkRenderer.java b/src/main/java/com/drmangotea/tfmg/base/spark/SparkRenderer.java new file mode 100644 index 00000000..48c46ffa --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/spark/SparkRenderer.java @@ -0,0 +1,54 @@ +package com.drmangotea.tfmg.base.spark; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.mojang.math.Axis; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.entity.EntityRenderer; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.core.BlockPos; +import net.minecraft.resources.ResourceLocation; + + +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import org.joml.Matrix3f; +import org.joml.Matrix4f; + +@OnlyIn(Dist.CLIENT) +public class SparkRenderer extends EntityRenderer { + private static final ResourceLocation TEXTURE_LOCATION = ResourceLocation.withDefaultNamespace("textures/particle/lava.png"); + private static final RenderType RENDER_TYPE = RenderType.entityCutoutNoCull(TEXTURE_LOCATION); + public SparkRenderer(EntityRendererProvider.Context p_173962_) { + super(p_173962_); + } + + protected int getBlockLightLevel(Spark p_114087_, BlockPos p_114088_) { + return 15; + } + + public void render(Spark p_114080_, float p_114081_, float p_114082_, PoseStack p_114083_, MultiBufferSource p_114084_, int p_114085_) { + p_114083_.pushPose(); + p_114083_.scale(0.5F, 0.5F, 0.5F); + p_114083_.mulPose(this.entityRenderDispatcher.cameraOrientation()); + p_114083_.mulPose(Axis.YP.rotationDegrees(180.0F)); + PoseStack.Pose posestack$pose = p_114083_.last(); + Matrix4f matrix4f = posestack$pose.pose(); + Matrix3f matrix3f = posestack$pose.normal(); + VertexConsumer vertexconsumer = p_114084_.getBuffer(RENDER_TYPE); + vertex(vertexconsumer, matrix4f, matrix3f, p_114085_, 0.0F, 0, 0, 1); + vertex(vertexconsumer, matrix4f, matrix3f, p_114085_, 1.0F, 0, 1, 1); + vertex(vertexconsumer, matrix4f, matrix3f, p_114085_, 1.0F, 1, 1, 0); + vertex(vertexconsumer, matrix4f, matrix3f, p_114085_, 0.0F, 1, 0, 0); + p_114083_.popPose(); + super.render(p_114080_, p_114081_, p_114082_, p_114083_, p_114084_, p_114085_); + } + private static void vertex(VertexConsumer p_114090_, Matrix4f p_114091_, Matrix3f p_114092_, int p_114093_, float p_114094_, int p_114095_, int p_114096_, int p_114097_) { + p_114090_.addVertex(p_114091_, p_114094_ - 0.5F, (float)p_114095_ - 0.25F, 0.0F).setColor(255, 255, 255, 255).setUv((float)p_114096_, (float)p_114097_).setOverlay(OverlayTexture.NO_OVERLAY).setUv2(p_114093_,p_114093_).setNormal( 0.0F, 1.0F, 0.0F); + } + public ResourceLocation getTextureLocation(Spark p_114078_) { + return TEXTURE_LOCATION; + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/config/DepositConfig.java b/src/main/java/com/drmangotea/tfmg/config/DepositConfig.java new file mode 100644 index 00000000..cb1020ad --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/config/DepositConfig.java @@ -0,0 +1,19 @@ +package com.drmangotea.tfmg.config; + + +import net.createmod.catnip.config.ConfigBase; + +public class DepositConfig extends ConfigBase { + + + public final ConfigInt depositMaxReserves = i(10000, 1000, "depositMaxReserves", Comments.depositMaxReserves); + public final ConfigBool infiniteDeposits = b(false, "infiniteDeposits", Comments.infiniteDeposits); + @Override + public String getName() { + return "deposits"; + } + private static class Comments { + static String depositMaxReserves = "Sets the maximum oil reserves a deposit can have."; + static String infiniteDeposits = "Makes deposits bottomless."; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/config/MachineConfig.java b/src/main/java/com/drmangotea/tfmg/config/MachineConfig.java new file mode 100644 index 00000000..914a49ea --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/config/MachineConfig.java @@ -0,0 +1,80 @@ +package com.drmangotea.tfmg.config; + + +import net.createmod.catnip.config.ConfigBase; + +public class MachineConfig extends ConfigBase { + + + public final ConfigInt electricMotorMinimumPower = i(250, 1, "electricMotorMinimumPower", Comments.electricMotorMinimumPower); + public final ConfigInt electricMotorMinimumVoltage = i(150, 1, "electricMotorMinimumVoltage", Comments.electricMotorMinimumVoltage); + public final ConfigFloat electricMotorInternalResistance = f(100, 0, "electricMotorInternalResistance", Comments.electricMotorInternalResistance); + public final ConfigInt cokeOvenMaxSize = i(5, 1, "cokeOvenMaxSize", Comments.cokeOvenMaxSize); + public final ConfigFloat FEtoWattTickConversionRate = f(1, 0, "FEtoWattTickConversionRate", Comments.FEtoWattTickConversionRate); + + public final ConfigInt graphiteElectrodeCurrent = i(10, 1, "graphiteElectrodeCurrent", Comments.graphiteElectrodeCurrent); + public final ConfigInt electrolysisMinimumCurrent = i(5, 1, "electrolysisMinimumCurrent", Comments.electrolysisMinimumCurrent); + public final ConfigInt engineMaxLength = i(5, 1, "engineMaxLength", Comments.engineMaxLength); + public final ConfigInt surfaceScannerScanDepth = i(-64, -512, "surfaceScannerScanDepth", Comments.surfaceScannerScanDepth); + public final ConfigInt polarizerItemChargingRate = i(1000, 1, "polarizerItemChargingRate", Comments.polarizerItemChargingRate); + + + public final ConfigGroup accumulator = group(1, "accumulator", "Accumulator"); + public final ConfigInt accumulatorStorage = i(100000, 1, "accumulatorStorage", Comments.accumulatorStorage); + public final ConfigInt accumulatorVoltage = i(12, 1, "accumulatorVoltage", Comments.accumulatorVoltage); + public final ConfigInt accumulatorMaxAmpOutput = i(20, 1, "accumulatorMaxAmpOutput", Comments.accumulatorMaxAmpOutput); + public final ConfigInt accumulatorChargingRate = i(100, 1, "accumulatorChargingRate", Comments.accumulatorChargingRate); + + public final ConfigGroup firebox = group(1, "firebox", "Firebox"); + public final ConfigBool fireboxExhaustRequirement = b(true, "fireboxExhaustRequirement", Comments.fireboxExhaustRequirement); + public final ConfigInt fireboxFuelConsumption = i(100, 1, "fireboxFuelConsumption", Comments.fireboxFuelConsumption); + + public final ConfigGroup engines = group(1, "engines", "Engines"); + public final ConfigFloat engineLoudness = f(1,0, "engineLoudness", Comments.engineLoudness); + + + public final ConfigGroup generators = group(1, "generators", "Generators"); + public final ConfigFloat largeGeneratorModifier = f(4, 0, "largeGeneratorModifier", Comments.largeGenerator); + public final ConfigFloat largeGeneratorMinSpeed = f(70, 0, "largeGeneratorMinSpeed", Comments.largeGeneratorMinSpeed); + // + public final ConfigFloat generatorModifier = f(1.4f, 0, "GeneratorModifier", Comments.generator); + public final ConfigFloat generatorMinSpeed = f(40, 0, "generatorMinSpeed", Comments.generatorMinSpeed); + + public final ConfigGroup blast_furnace = group(1, "blast_furnace", "Blast Furnace"); + public final ConfigInt blastFurnaceMaxHeight = i(10, 3, "blastFurnaceMaxHeight", Comments.blastFurnaceHeight); + public final ConfigFloat blastFurnaceHeightSpeedModifier = f(1f, 0.1f, "blastFurnaceHeightSpeedModifier", Comments.blastFurnaceHeightSpeedModifier); + public final ConfigInt blastFurnaceFuelConsumption = i(600, 1, "blastFurnaceFuelConsumption", Comments.blastFurnaceFuelConsumption); + + @Override + public String getName() { + return "machines"; + } + + + private static class Comments { + static String largeGenerator = "Determines how powerful the large generator is."; + static String generator = "Determines how powerful the generator is."; + static String largeGeneratorMinSpeed = "Changes the lowest speed the large generator can work on."; + static String generatorMinSpeed = "Changes the lowest speed the generator can work on."; + static String blastFurnaceHeight = "Changes the maximum height of the blast furnace."; + static String blastFurnaceHeightSpeedModifier = "Sets the maximum time that can be saved by increasing blast furnace height."; + static String blastFurnaceFuelConsumption = "Determines how many ticks does it take to consume one fuel."; + static String electricMotorMinimumPower = "Determines the minimum power an electric motor can run on."; + static String electricMotorMinimumVoltage = "Determines the minimum voltage an electric motor can run on."; + static String electricMotorInternalResistance = "Sets the internal resistance of the electric motor."; + static String cokeOvenMaxSize = "Determines the maximum size of coke ovens."; + static String accumulatorStorage = "Determines the storage space of accumulators."; + static String accumulatorVoltage = "Determines the voltage accumulators output."; + static String accumulatorMaxAmpOutput = "Sets the maximum amperage an accumulator can provide."; + static String accumulatorChargingRate = "Sets the maximum charging rate of accumulators."; + static String fireboxExhaustRequirement = "If set to true,fireboxes will require exhaust management."; + static String fireboxFuelConsumption = "Determines the amount of fuel a firebox needs to run for 3 seconds."; + static String graphiteElectrodeCurrent = "The minimum electric current that will make graphite electrodes superheated."; + static String electrolysisMinimumCurrent = "The minimum electric current that will make electrolyzers operational."; + static String engineMaxLength = "The maximum length of engines."; + static String surfaceScannerScanDepth = "Y level surface scanner scan at."; + static String FEtoWattTickConversionRate = "How much Forge Energy is in one watt-tick."; + static String polarizerItemChargingRate = "How much FE can polarizer charge per tick."; + static String engineLoudness = "Changes the volume of engines."; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/config/TFMGCommonConfig.java b/src/main/java/com/drmangotea/tfmg/config/TFMGCommonConfig.java new file mode 100644 index 00000000..456e5742 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/config/TFMGCommonConfig.java @@ -0,0 +1,16 @@ +package com.drmangotea.tfmg.config; + + + +public class TFMGCommonConfig extends net.createmod.catnip.config.ConfigBase { + + public final MachineConfig machines = nested(0, MachineConfig::new, "Config options for TFMG's machinery"); + public final DepositConfig worldgen = nested(1, DepositConfig::new, "Worldgen Settings"); + + @Override + public String getName() { + return "common"; + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/config/TFMGConfigs.java b/src/main/java/com/drmangotea/tfmg/config/TFMGConfigs.java new file mode 100644 index 00000000..747977f3 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/config/TFMGConfigs.java @@ -0,0 +1,81 @@ +package com.drmangotea.tfmg.config; + +import com.simibubi.create.api.stress.BlockStressValues; +import com.simibubi.create.infrastructure.config.CCommon; + +import net.createmod.catnip.config.ConfigBase; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.ModContainer; +import net.neoforged.fml.ModLoadingContext; +import net.neoforged.fml.common.EventBusSubscriber; +import net.neoforged.fml.config.ModConfig; +import net.neoforged.fml.event.config.ModConfigEvent; +import net.neoforged.neoforge.common.ModConfigSpec; +import org.apache.commons.lang3.tuple.Pair; + +import java.util.EnumMap; +import java.util.Map; +import java.util.function.Supplier; + +@EventBusSubscriber(bus = EventBusSubscriber.Bus.MOD) +public class TFMGConfigs { + + private static final Map CONFIGS = new EnumMap<>(ModConfig.Type.class); + + private static TFMGServerConfig server; + private static TFMGCommonConfig common; + + + + public static TFMGServerConfig server() { + return server; + } + + public static TFMGCommonConfig common() { + return common; + } + + public static ConfigBase byType(ModConfig.Type type) { + return CONFIGS.get(type); + } + + private static T register(Supplier factory, ModConfig.Type side) { + Pair specPair = new ModConfigSpec.Builder().configure(builder -> { + T config = factory.get(); + config.registerAll(builder); + return config; + }); + + T config = specPair.getLeft(); + config.specification = specPair.getRight(); + CONFIGS.put(side, config); + return config; + } + @SuppressWarnings("removal") + public static void register(ModLoadingContext context, ModContainer container) { + server = register(TFMGServerConfig::new, ModConfig.Type.SERVER); + common = register(TFMGCommonConfig::new, ModConfig.Type.COMMON); + for (Map.Entry pair : CONFIGS.entrySet()) + container.registerConfig(pair.getKey(), pair.getValue().specification); + TFMGStress stress = TFMGConfigs.server().stressValues; + BlockStressValues.IMPACTS.registerProvider(stress::getImpact); + BlockStressValues.CAPACITIES.registerProvider(stress::getCapacity); + } + + @SubscribeEvent + public static void onLoad(ModConfigEvent.Loading event) { + for (ConfigBase config : CONFIGS.values()) + if (config.specification == event.getConfig() + .getSpec()) + config.onLoad(); + } + + @SubscribeEvent + public static void onReload(ModConfigEvent.Reloading event) { + for (ConfigBase config : CONFIGS.values()) + if (config.specification == event.getConfig() + .getSpec()) + config.onReload(); + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/config/TFMGServerConfig.java b/src/main/java/com/drmangotea/tfmg/config/TFMGServerConfig.java new file mode 100644 index 00000000..99a3ee77 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/config/TFMGServerConfig.java @@ -0,0 +1,16 @@ +package com.drmangotea.tfmg.config; + + +import net.createmod.catnip.config.ConfigBase; + +public class TFMGServerConfig extends ConfigBase { + + + + public final TFMGStress stressValues = nested(0, TFMGStress::new, "Fine tune the kinetic stats of individual components"); + + @Override + public String getName() { + return "server"; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/config/TFMGStress.java b/src/main/java/com/drmangotea/tfmg/config/TFMGStress.java new file mode 100644 index 00000000..af887321 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/config/TFMGStress.java @@ -0,0 +1,101 @@ +package com.drmangotea.tfmg.config; + + +import com.drmangotea.tfmg.TFMG; +import com.tterrag.registrate.builders.BlockBuilder; +import com.tterrag.registrate.util.nullness.NonNullUnaryOperator; +import it.unimi.dsi.fastutil.objects.Object2DoubleMap; +import it.unimi.dsi.fastutil.objects.Object2DoubleOpenHashMap; +import net.createmod.catnip.config.ConfigBase; +import net.createmod.catnip.platform.CatnipServices; +import net.createmod.catnip.registry.RegisteredObjectsHelper; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.block.Block; + +import net.neoforged.neoforge.common.ModConfigSpec; +import org.jetbrains.annotations.Nullable; + +import java.util.HashMap; +import java.util.Map; +import java.util.function.DoubleSupplier; + +public class TFMGStress extends ConfigBase { + // bump this version to reset configured values. + private static final int VERSION = 2; + + // IDs need to be used since configs load before registration + + private static final Object2DoubleMap DEFAULT_IMPACTS = new Object2DoubleOpenHashMap<>(); + private static final Object2DoubleMap DEFAULT_CAPACITIES = new Object2DoubleOpenHashMap<>(); + + protected final Map> capacities = new HashMap<>(); + protected final Map> impacts = new HashMap<>(); + + @Override + public void registerAll(ModConfigSpec.Builder builder) { + builder.comment(".", Comments.su, Comments.impact) + .push("impact"); + DEFAULT_IMPACTS.forEach((id, value) -> this.impacts.put(id, builder.define(id.getPath(), value))); + builder.pop(); + + builder.comment(".", Comments.su, Comments.capacity) + .push("capacity"); + DEFAULT_CAPACITIES.forEach((id, value) -> this.capacities.put(id, builder.define(id.getPath(), value))); + builder.pop(); + } + + @Override + public String getName() { + return "stressValues.v" + VERSION; + } + + @Nullable + public DoubleSupplier getImpact(Block block) { + ResourceLocation id = RegisteredObjectsHelper.getKeyOrThrow(block); + ModConfigSpec.ConfigValue value = this.impacts.get(id); + return value == null ? null : value::get; + } + + @Nullable + public DoubleSupplier getCapacity(Block block) { + ResourceLocation id = RegisteredObjectsHelper.getKeyOrThrow(block); + ModConfigSpec.ConfigValue value = this.capacities.get(id); + return value == null ? null : value::get; + } + + public static NonNullUnaryOperator> setNoImpact() { + return setImpact(0); + } + + public static NonNullUnaryOperator> setImpact(double value) { + return builder -> { + assertFromCreate(builder); + ResourceLocation id = TFMG.asResource(builder.getName()); + DEFAULT_IMPACTS.put(id, value); + return builder; + }; + } + + public static NonNullUnaryOperator> setCapacity(double value) { + return builder -> { + assertFromCreate(builder); + ResourceLocation id = TFMG.asResource(builder.getName()); + DEFAULT_CAPACITIES.put(id, value); + return builder; + }; + } + + private static void assertFromCreate(BlockBuilder builder) { + if (!builder.getOwner().getModid().equals(TFMG.MOD_ID)) { + throw new IllegalStateException("Skibidi Sigma Error"); + } + } + + private static class Comments { + static String su = "[in Stress Units]"; + static String impact = + "Configure the individual stress impact of mechanical blocks. Note that this cost is doubled for every speed increase it receives."; + static String capacity = "Configure how much stress a source can accommodate for."; + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/FrameBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/FrameBlock.java new file mode 100644 index 00000000..8bdbc54e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/FrameBlock.java @@ -0,0 +1,47 @@ +package com.drmangotea.tfmg.content.decoration; + +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.foundation.block.ProperWaterloggedBlock; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.RotatedPillarBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.material.FluidState; + +public class FrameBlock extends Block implements ProperWaterloggedBlock, IWrenchable { + + + + public FrameBlock(Properties p_55926_) { + super(p_55926_); + this.registerDefaultState(this.defaultBlockState().setValue(WATERLOGGED, false)); + } + + + protected void createBlockStateDefinition(StateDefinition.Builder p_55933_) { + p_55933_.add(WATERLOGGED); + } + + @Override + public FluidState getFluidState(BlockState pState) { + return fluidState(pState); + } + + @Override + public BlockState updateShape(BlockState pState, Direction pDirection, BlockState pNeighborState, + LevelAccessor pLevel, BlockPos pCurrentPos, BlockPos pNeighborPos) { + updateWater(pLevel, pState, pCurrentPos); + return pState; + } + + @Override + public BlockState getStateForPlacement(BlockPlaceContext pContext) { + return withWater(super.getStateForPlacement(pContext), pContext); + } +} + + diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/LithiumBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/LithiumBlock.java new file mode 100644 index 00000000..0c11e0f2 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/LithiumBlock.java @@ -0,0 +1,55 @@ +package com.drmangotea.tfmg.content.decoration; + +import com.drmangotea.tfmg.content.items.weapons.lithium_blade.LithiumSpark; +import com.drmangotea.tfmg.registry.TFMGEntityTypes; +import com.simibubi.create.Create; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.Mth; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.material.Fluids; + +public class LithiumBlock extends Block { + public LithiumBlock(Properties p_49795_) { + super(p_49795_); + } + + @Override + public boolean isRandomlyTicking(BlockState p_49921_) { + return true; + } + + @Override + public void randomTick(BlockState blockState, ServerLevel level, BlockPos pos, RandomSource randomSource) { + super.randomTick(blockState, level, pos, randomSource); + + for(Direction direction : Direction.values()){ + if(level.getFluidState(pos.relative(direction)).is(Fluids.WATER)){ + for (int i = 0; i < 12; i++) { + float x = Create.RANDOM.nextFloat(360); + float y = Create.RANDOM.nextFloat(360); + float z = Create.RANDOM.nextFloat(360); + LithiumSpark spark = TFMGEntityTypes.LITHIUM_SPARK.create(level); + spark.moveTo(pos.getX(), pos.getY() + 0.5, pos.getZ()); + + float f = -Mth.sin(y * ((float) Math.PI / 180F)) * Mth.cos(x * ((float) Math.PI / 180F)); + float f1 = -Mth.sin((x + z) * ((float) Math.PI / 180F)); + float f2 = Mth.cos(y * ((float) Math.PI / 180F)) * Mth.cos(x * ((float) Math.PI / 180F)); + spark.shoot(f, f1, f2, 0.3f, 1); + level.addFreshEntity(spark); + } + level.explode(null, pos.getX(), pos.getY(), pos.getZ(), 1, Level.ExplosionInteraction.NONE); + + level.destroyBlock(pos,false); + break; + } + + } + + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/LithiumTorchBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/LithiumTorchBlock.java new file mode 100644 index 00000000..07338134 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/LithiumTorchBlock.java @@ -0,0 +1,100 @@ +package com.drmangotea.tfmg.content.decoration; + +import com.drmangotea.tfmg.base.blocks.WallMountBlock; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Maps; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.util.RandomSource; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.SimpleWaterloggedBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.level.material.Fluids; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +import java.util.Map; + +public class LithiumTorchBlock extends WallMountBlock implements SimpleWaterloggedBlock { + + public static final BooleanProperty WATERLOGGED = BlockStateProperties.WATERLOGGED; + + private static final Map SHAPE = Maps.newEnumMap(ImmutableMap.of(Direction.NORTH, Block.box(5.5D, 3.0D, 11.0D, 10.5D, 13.0D, 16.0D), Direction.SOUTH, Block.box(5.5D, 3.0D, 0.0D, 10.5D, 13.0D, 5.0D), Direction.WEST, Block.box(11.0D, 3.0D, 5.5D, 16.0D, 13.0D, 10.5D), Direction.EAST, Block.box(0.0D, 3.0D, 5.5D, 5.0D, 13.0D, 10.5D),Direction.UP,Block.box(6.0D, 0.0D, 6.0D, 10.0D, 10.0D, 10.0D),Direction.DOWN,Block.box(6.0D, 6.0D, 6.0D, 10.0D, 16.0D, 10.0D))); + public LithiumTorchBlock(Properties pProperties) { + super(pProperties); + } + + public VoxelShape getShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, CollisionContext pContext) { + + + return SHAPE.get(pState.getValue(FACING)); + } + + @Override + public FluidState getFluidState(BlockState p_51475_) { + return p_51475_.getValue(WATERLOGGED) ? Fluids.WATER.getSource(false) : super.getFluidState(p_51475_); + } + + protected void createBlockStateDefinition(StateDefinition.Builder p_55125_) { + p_55125_.add(WATERLOGGED,FACING); + } + + + + public void animateTick(BlockState pState, Level pLevel, BlockPos pPos, RandomSource pRandom) { + Direction direction = pState.getValue(FACING); + double d0 = (double)pPos.getX() + 0.5D; + double d1 = (double)pPos.getY() + 0.7D; + double d2 = (double)pPos.getZ() + 0.5D; + double d3 = 0.22D; + double d4 = 0.27D; + Direction direction1 = direction.getOpposite(); + double y; + if(direction == Direction.DOWN) { + y = d1 - 0.22D * (double) direction1.getStepY(); + }else { + y = d1 + 0.11D; + } + + + pLevel.addParticle(ParticleTypes.SMOKE, d0 + 0.27D * (double)direction1.getStepX(), y, d2 + 0.27D * (double)direction1.getStepZ(), 0.0D, 0.0D, 0.0D); + pLevel.addParticle(ParticleTypes.FLAME, d0 + 0.27D * (double)direction1.getStepX(), y, d2 + 0.27D * (double)direction1.getStepZ(), 0.0D, 0.0D, 0.0D); + } + public BlockState updateShape(BlockState pState, Direction pFacing, BlockState pFacingState, LevelAccessor pLevel, BlockPos pCurrentPos, BlockPos pFacingPos) { + + if (pState.getValue(WATERLOGGED)) { + pLevel.scheduleTick(pCurrentPos, Fluids.WATER, Fluids.WATER.getTickDelay(pLevel)); + } + + return !this.canSurvive(pState, pLevel, pCurrentPos) ? Blocks.AIR.defaultBlockState() : pState; + } + + + public boolean canSurvive(BlockState pState, LevelReader pLevel, BlockPos pPos) { + Direction direction = pState.getValue(FACING); + BlockPos blockpos = pPos.relative(direction.getOpposite()); + BlockState blockstate = pLevel.getBlockState(blockpos); + return blockstate.isFaceSturdy(pLevel, blockpos, direction); + } + + public BlockState getStateForPlacement(BlockPlaceContext pContext) { + + FluidState fluidstate = pContext.getLevel().getFluidState(pContext.getClickedPos()); + boolean flag = fluidstate.getType() == Fluids.WATER; + + return this.defaultBlockState().setValue(FACING, pContext.getClickedFace()).setValue(WATERLOGGED,flag); + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/LithiumTorchGenerator.java b/src/main/java/com/drmangotea/tfmg/content/decoration/LithiumTorchGenerator.java new file mode 100644 index 00000000..06fea97a --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/LithiumTorchGenerator.java @@ -0,0 +1,43 @@ +package com.drmangotea.tfmg.content.decoration; + +import com.drmangotea.tfmg.base.blocks.WallMountBlock; +import com.simibubi.create.foundation.data.SpecialBlockStateGen; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.model.generators.ModelFile; + + +import static com.simibubi.create.foundation.data.AssetLookup.partialBaseModel; + +public class LithiumTorchGenerator extends SpecialBlockStateGen { + + @Override + protected int getXRotation(BlockState state) { + return state.getValue(LithiumTorchBlock.FACING)== Direction.DOWN ? 180 : 0; + } + + @Override + protected int getYRotation(BlockState state) { + return switch (state.getValue(WallMountBlock.FACING)) { + case NORTH -> 270; + case SOUTH -> 90; + case WEST -> 180; + case EAST -> 0; + case DOWN -> 0; + case UP -> 0; + }; + } + + @Override + public ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, + BlockState state) { + + + return state.getValue(WallMountBlock.FACING).getAxis().isHorizontal() ? partialBaseModel(ctx, prov, "wall") + : partialBaseModel(ctx, prov); + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/TrussBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/TrussBlock.java new file mode 100644 index 00000000..e0793b9f --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/TrussBlock.java @@ -0,0 +1,54 @@ +package com.drmangotea.tfmg.content.decoration; + +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.foundation.block.ProperWaterloggedBlock; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.RotatedPillarBlock; +import net.minecraft.world.level.block.Rotation; +import net.minecraft.world.level.block.SimpleWaterloggedBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.block.state.properties.EnumProperty; +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.level.material.Fluids; + +public class TrussBlock extends RotatedPillarBlock implements ProperWaterloggedBlock, IWrenchable { + + + + public TrussBlock(Properties p_55926_) { + super(p_55926_); + this.registerDefaultState(this.defaultBlockState().setValue(AXIS, Direction.Axis.Y).setValue(WATERLOGGED, false)); + } + + + + protected void createBlockStateDefinition(StateDefinition.Builder p_55933_) { + p_55933_.add(WATERLOGGED, AXIS); + } + + @Override + public FluidState getFluidState(BlockState pState) { + return fluidState(pState); + } + + @Override + public BlockState updateShape(BlockState pState, Direction pDirection, BlockState pNeighborState, + LevelAccessor pLevel, BlockPos pCurrentPos, BlockPos pNeighborPos) { + updateWater(pLevel, pState, pCurrentPos); + return pState; + } + + @Override + public BlockState getStateForPlacement(BlockPlaceContext pContext) { + return withWater(super.getStateForPlacement(pContext), pContext); + } +} + + diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/cogs/TFMGCogWheelBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/cogs/TFMGCogWheelBlock.java new file mode 100644 index 00000000..fe0aea84 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/cogs/TFMGCogWheelBlock.java @@ -0,0 +1,207 @@ +package com.drmangotea.tfmg.content.decoration.cogs; + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllShapes; +import com.simibubi.create.content.decoration.encasing.EncasableBlock; +import com.simibubi.create.content.kinetics.base.IRotate; +import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import com.simibubi.create.content.kinetics.simpleRelays.AbstractSimpleShaftBlock; +import com.simibubi.create.content.kinetics.simpleRelays.ICogWheel; +import com.simibubi.create.content.kinetics.speedController.SpeedControllerBlock; +import com.simibubi.create.foundation.advancement.AllAdvancements; +import net.createmod.catnip.data.Iterate; +import net.minecraft.MethodsReturnNonnullByDefault; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.material.Fluids; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +import javax.annotation.ParametersAreNonnullByDefault; + +import static net.minecraft.core.Direction.Axis; + +@ParametersAreNonnullByDefault +@MethodsReturnNonnullByDefault +public class TFMGCogWheelBlock extends AbstractSimpleShaftBlock implements ICogWheel, EncasableBlock { + + boolean isLarge; + + protected TFMGCogWheelBlock(boolean large, Properties properties) { + super(properties); + isLarge = large; + } + + public static TFMGCogWheelBlock small(Properties properties) { + return new TFMGCogWheelBlock(false, properties); + } + + public static TFMGCogWheelBlock large(Properties properties) { + return new TFMGCogWheelBlock(true, properties); + } + + @Override + public boolean isLargeCog() { + return isLarge; + } + + @Override + public boolean isSmallCog() { + return !isLarge; + } + + @Override + public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext context) { + return (isLarge ? AllShapes.LARGE_GEAR : AllShapes.SMALL_GEAR).get(state.getValue(AXIS)); + } + + @Override + public boolean canSurvive(BlockState state, LevelReader worldIn, BlockPos pos) { + return isValidCogwheelPosition(ICogWheel.isLargeCog(state), worldIn, pos, state.getValue(AXIS)); + } + + @Override + public void setPlacedBy(Level worldIn, BlockPos pos, BlockState state, LivingEntity placer, ItemStack stack) { + super.setPlacedBy(worldIn, pos, state, placer, stack); + if (placer instanceof Player player) + triggerShiftingGearsAdvancement(worldIn, pos, state, player); + } + + protected void triggerShiftingGearsAdvancement(Level world, BlockPos pos, BlockState state, Player player) { + if (world.isClientSide || player == null) + return; + + Axis axis = state.getValue(TFMGCogWheelBlock.AXIS); + for (Axis perpendicular1 : Iterate.axes) { + if (perpendicular1 == axis) + continue; + + Direction d1 = Direction.get(Direction.AxisDirection.POSITIVE, perpendicular1); + for (Axis perpendicular2 : Iterate.axes) { + if (perpendicular1 == perpendicular2) + continue; + if (axis == perpendicular2) + continue; + + Direction d2 = Direction.get(Direction.AxisDirection.POSITIVE, perpendicular2); + for (int offset1 : Iterate.positiveAndNegative) { + for (int offset2 : Iterate.positiveAndNegative) { + BlockPos connectedPos = pos.relative(d1, offset1) + .relative(d2, offset2); + BlockState blockState = world.getBlockState(connectedPos); + if (!(blockState.getBlock() instanceof TFMGCogWheelBlock)) + continue; + if (blockState.getValue(TFMGCogWheelBlock.AXIS) != axis) + continue; + if (ICogWheel.isLargeCog(blockState) == isLarge) + continue; + + AllAdvancements.COGS.awardTo(player); + } + } + } + } + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + if (player.isShiftKeyDown() || !player.mayBuild()) + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + + ItemInteractionResult result = tryEncase(state, level, pos, stack, player, hand, hitResult); + if (result.consumesAction()) + return result; + + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + } + + public static boolean isValidCogwheelPosition(boolean large, LevelReader worldIn, BlockPos pos, Axis cogAxis) { + for (Direction facing : Iterate.directions) { + if (facing.getAxis() == cogAxis) + continue; + + BlockPos offsetPos = pos.relative(facing); + BlockState blockState = worldIn.getBlockState(offsetPos); + if (blockState.hasProperty(AXIS) && facing.getAxis() == blockState.getValue(AXIS)) + continue; + + if (ICogWheel.isLargeCog(blockState) || large && ICogWheel.isSmallCog(blockState)) + return false; + } + return true; + } + + protected Axis getAxisForPlacement(BlockPlaceContext context) { + if (context.getPlayer() != null && context.getPlayer() + .isShiftKeyDown()) + return context.getClickedFace() + .getAxis(); + + Level world = context.getLevel(); + BlockState stateBelow = world.getBlockState(context.getClickedPos() + .below()); + + if (AllBlocks.ROTATION_SPEED_CONTROLLER.has(stateBelow) && isLargeCog()) + return stateBelow.getValue(SpeedControllerBlock.HORIZONTAL_AXIS) == Axis.X ? Axis.Z : Axis.X; + + BlockPos placedOnPos = context.getClickedPos() + .relative(context.getClickedFace() + .getOpposite()); + BlockState placedAgainst = world.getBlockState(placedOnPos); + + Block block = placedAgainst.getBlock(); + if (ICogWheel.isSmallCog(placedAgainst)) + return ((IRotate) block).getRotationAxis(placedAgainst); + + Axis preferredAxis = getPreferredAxis(context); + return preferredAxis != null ? preferredAxis + : context.getClickedFace() + .getAxis(); + } + + @Override + public BlockState getStateForPlacement(BlockPlaceContext context) { + boolean shouldWaterlog = context.getLevel() + .getFluidState(context.getClickedPos()) + .getType() == Fluids.WATER; + return this.defaultBlockState() + .setValue(AXIS, getAxisForPlacement(context)) + .setValue(BlockStateProperties.WATERLOGGED, shouldWaterlog); + } + + @Override + public float getParticleTargetRadius() { + return isLargeCog() ? 1.125f : .65f; + } + + @Override + public float getParticleInitialRadius() { + return isLargeCog() ? 1f : .75f; + } + + @Override + public boolean isDedicatedCogWheel() { + return true; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.TFMG_COGWHEEL.get(); + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/cogs/TFMGCogwheelBlockItem.java b/src/main/java/com/drmangotea/tfmg/content/decoration/cogs/TFMGCogwheelBlockItem.java new file mode 100644 index 00000000..af81ad2d --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/cogs/TFMGCogwheelBlockItem.java @@ -0,0 +1,305 @@ +package com.drmangotea.tfmg.content.decoration.cogs; + +import com.simibubi.create.AllShapes; +import com.simibubi.create.content.kinetics.base.DirectionalKineticBlock; +import com.simibubi.create.content.kinetics.base.HorizontalKineticBlock; +import com.simibubi.create.content.kinetics.base.IRotate; +import com.simibubi.create.content.kinetics.base.RotatedPillarKineticBlock; +import com.simibubi.create.content.kinetics.simpleRelays.ICogWheel; +import net.createmod.catnip.data.Iterate; +import net.createmod.catnip.placement.IPlacementHelper; +import net.createmod.catnip.placement.PlacementHelpers; +import net.createmod.catnip.placement.PlacementOffset; +import net.minecraft.MethodsReturnNonnullByDefault; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.Direction.Axis; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.BlockHitResult; + +import java.util.List; +import java.util.function.Predicate; + +import static com.simibubi.create.content.kinetics.base.RotatedPillarKineticBlock.AXIS; + +public class TFMGCogwheelBlockItem extends BlockItem { + + boolean large; + + private final int placementHelperId; + private final int integratedCogHelperId; + + public TFMGCogwheelBlockItem(TFMGCogWheelBlock block, Properties builder) { + super(block, builder); + large = block.isLarge; + + placementHelperId = PlacementHelpers.register(large ? new LargeCogHelper() : new SmallCogHelper()); + integratedCogHelperId = + PlacementHelpers.register(large ? new IntegratedLargeCogHelper() : new IntegratedSmallCogHelper()); + } + + @Override + public InteractionResult onItemUseFirst(ItemStack stack, UseOnContext context) { + Level world = context.getLevel(); + BlockPos pos = context.getClickedPos(); + BlockState state = world.getBlockState(pos); + + IPlacementHelper helper = PlacementHelpers.get(placementHelperId); + Player player = context.getPlayer(); + BlockHitResult ray = new BlockHitResult(context.getClickLocation(), context.getClickedFace(), pos, true); + if (helper.matchesState(state) && player != null && !player.isShiftKeyDown()) { + return helper.getOffset(player, world, state, pos, ray) + .placeInWorld(world, this, player, context.getHand(), ray).result(); + } + + if (integratedCogHelperId != -1) { + helper = PlacementHelpers.get(integratedCogHelperId); + + if (helper.matchesState(state) && player != null && !player.isShiftKeyDown()) { + return helper.getOffset(player, world, state, pos, ray) + .placeInWorld(world, this, player, context.getHand(), ray).result(); + } + } + + return super.onItemUseFirst(stack, context); + } + + @MethodsReturnNonnullByDefault + private static class SmallCogHelper extends DiagonalCogHelper { + + @Override + public Predicate getItemPredicate() { + return ((Predicate) ICogWheel::isSmallCogItem).and(ICogWheel::isDedicatedCogItem); + } + + @Override + public PlacementOffset getOffset(Player player, Level world, BlockState state, BlockPos pos, + BlockHitResult ray) { + if (hitOnShaft(state, ray)) + return PlacementOffset.fail(); + + if (!ICogWheel.isLargeCog(state)) { + Axis axis = ((IRotate) state.getBlock()).getRotationAxis(state); + List directions = IPlacementHelper.orderedByDistanceExceptAxis(pos, ray.getLocation(), axis); + + for (Direction dir : directions) { + BlockPos newPos = pos.relative(dir); + + if (!TFMGCogWheelBlock.isValidCogwheelPosition(false, world, newPos, axis)) + continue; + + if (!world.getBlockState(newPos) + .canBeReplaced()) + continue; + + return PlacementOffset.success(newPos, s -> s.setValue(AXIS, axis)); + + } + + return PlacementOffset.fail(); + } + + return super.getOffset(player, world, state, pos, ray); + } + } + + @MethodsReturnNonnullByDefault + private static class LargeCogHelper extends DiagonalCogHelper { + + @Override + public Predicate getItemPredicate() { + return ((Predicate) ICogWheel::isLargeCogItem).and(ICogWheel::isDedicatedCogItem); + } + + @Override + public PlacementOffset getOffset(Player player, Level world, BlockState state, BlockPos pos, + BlockHitResult ray) { + if (hitOnShaft(state, ray)) + return PlacementOffset.fail(); + + if (ICogWheel.isLargeCog(state)) { + Axis axis = ((IRotate) state.getBlock()).getRotationAxis(state); + Direction side = IPlacementHelper.orderedByDistanceOnlyAxis(pos, ray.getLocation(), axis) + .get(0); + List directions = IPlacementHelper.orderedByDistanceExceptAxis(pos, ray.getLocation(), axis); + for (Direction dir : directions) { + BlockPos newPos = pos.relative(dir) + .relative(side); + + if (!TFMGCogWheelBlock.isValidCogwheelPosition(true, world, newPos, dir.getAxis())) + continue; + + if (!world.getBlockState(newPos) + .canBeReplaced()) + continue; + + return PlacementOffset.success(newPos, s -> s.setValue(AXIS, dir.getAxis())); + } + + return PlacementOffset.fail(); + } + + return super.getOffset(player, world, state, pos, ray); + } + } + + @MethodsReturnNonnullByDefault + public abstract static class DiagonalCogHelper implements IPlacementHelper { + + @Override + public Predicate getStatePredicate() { + return s -> ICogWheel.isSmallCog(s) || ICogWheel.isLargeCog(s); + } + + @Override + public PlacementOffset getOffset(Player player, Level world, BlockState state, BlockPos pos, + BlockHitResult ray) { + // diagonal gears of different size + Axis axis = ((IRotate) state.getBlock()).getRotationAxis(state); + Direction closest = IPlacementHelper.orderedByDistanceExceptAxis(pos, ray.getLocation(), axis) + .get(0); + List directions = IPlacementHelper.orderedByDistanceExceptAxis(pos, ray.getLocation(), axis, + d -> d.getAxis() != closest.getAxis()); + + for (Direction dir : directions) { + BlockPos newPos = pos.relative(dir) + .relative(closest); + if (!world.getBlockState(newPos) + .canBeReplaced()) + continue; + + if (!TFMGCogWheelBlock.isValidCogwheelPosition(ICogWheel.isLargeCog(state), world, newPos, axis)) + continue; + + return PlacementOffset.success(newPos, s -> s.setValue(AXIS, axis)); + } + + return PlacementOffset.fail(); + } + + protected boolean hitOnShaft(BlockState state, BlockHitResult ray) { + return AllShapes.SIX_VOXEL_POLE.get(((IRotate) state.getBlock()).getRotationAxis(state)) + .bounds() + .inflate(0.001) + .contains(ray.getLocation() + .subtract(ray.getLocation() + .align(Iterate.axisSet))); + } + } + + @MethodsReturnNonnullByDefault + public static class IntegratedLargeCogHelper implements IPlacementHelper { + + @Override + public Predicate getItemPredicate() { + return ((Predicate) ICogWheel::isLargeCogItem).and(ICogWheel::isDedicatedCogItem); + } + + @Override + public Predicate getStatePredicate() { + return s -> !ICogWheel.isDedicatedCogWheel(s.getBlock()) && ICogWheel.isSmallCog(s); + } + + @Override + public PlacementOffset getOffset(Player player, Level world, BlockState state, BlockPos pos, + BlockHitResult ray) { + Direction face = ray.getDirection(); + Axis newAxis; + + if (state.hasProperty(HorizontalKineticBlock.HORIZONTAL_FACING)) + newAxis = state.getValue(HorizontalKineticBlock.HORIZONTAL_FACING) + .getAxis(); + else if (state.hasProperty(DirectionalKineticBlock.FACING)) + newAxis = state.getValue(DirectionalKineticBlock.FACING) + .getAxis(); + else if (state.hasProperty(RotatedPillarKineticBlock.AXIS)) + newAxis = state.getValue(RotatedPillarKineticBlock.AXIS); + else + newAxis = Axis.Y; + + if (face.getAxis() == newAxis) + return PlacementOffset.fail(); + + List directions = + IPlacementHelper.orderedByDistanceExceptAxis(pos, ray.getLocation(), face.getAxis(), newAxis); + + for (Direction d : directions) { + BlockPos newPos = pos.relative(face) + .relative(d); + + if (!world.getBlockState(newPos) + .canBeReplaced()) + continue; + + if (!TFMGCogWheelBlock.isValidCogwheelPosition(false, world, newPos, newAxis)) + return PlacementOffset.fail(); + + return PlacementOffset.success(newPos, s -> s.setValue(TFMGCogWheelBlock.AXIS, newAxis)); + } + + return PlacementOffset.fail(); + } + + } + + @MethodsReturnNonnullByDefault + public static class IntegratedSmallCogHelper implements IPlacementHelper { + + @Override + public Predicate getItemPredicate() { + return ((Predicate) ICogWheel::isSmallCogItem).and(ICogWheel::isDedicatedCogItem); + } + + @Override + public Predicate getStatePredicate() { + return s -> !ICogWheel.isDedicatedCogWheel(s.getBlock()) && ICogWheel.isSmallCog(s); + } + + @Override + public PlacementOffset getOffset(Player player, Level world, BlockState state, BlockPos pos, + BlockHitResult ray) { + Direction face = ray.getDirection(); + Axis newAxis; + + if (state.hasProperty(HorizontalKineticBlock.HORIZONTAL_FACING)) + newAxis = state.getValue(HorizontalKineticBlock.HORIZONTAL_FACING) + .getAxis(); + else if (state.hasProperty(DirectionalKineticBlock.FACING)) + newAxis = state.getValue(DirectionalKineticBlock.FACING) + .getAxis(); + else if (state.hasProperty(RotatedPillarKineticBlock.AXIS)) + newAxis = state.getValue(RotatedPillarKineticBlock.AXIS); + else + newAxis = Axis.Y; + + if (face.getAxis() == newAxis) + return PlacementOffset.fail(); + + List directions = IPlacementHelper.orderedByDistanceExceptAxis(pos, ray.getLocation(), newAxis); + + for (Direction d : directions) { + BlockPos newPos = pos.relative(d); + + if (!world.getBlockState(newPos) + .canBeReplaced()) + continue; + + if (!TFMGCogWheelBlock.isValidCogwheelPosition(false, world, newPos, newAxis)) + return PlacementOffset.fail(); + + return PlacementOffset.success() + .at(newPos) + .withTransform(s -> s.setValue(TFMGCogWheelBlock.AXIS, newAxis)); + } + + return PlacementOffset.fail(); + } + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/cogs/TFMGCogwheelRenderer.java b/src/main/java/com/drmangotea/tfmg/content/decoration/cogs/TFMGCogwheelRenderer.java new file mode 100644 index 00000000..0362b0e4 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/cogs/TFMGCogwheelRenderer.java @@ -0,0 +1,71 @@ +package com.drmangotea.tfmg.content.decoration.cogs; + +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer; +import com.simibubi.create.content.kinetics.simpleRelays.SimpleKineticBlockEntity; +import dev.engine_room.flywheel.api.visualization.VisualizationManager; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import net.createmod.catnip.animation.AnimationTickHolder; +import net.createmod.catnip.render.CachedBuffers; +import net.createmod.catnip.render.SuperByteBuffer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider.Context; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.Direction.Axis; +import net.minecraft.core.Direction.AxisDirection; + +public class TFMGCogwheelRenderer extends KineticBlockEntityRenderer { + + public TFMGCogwheelRenderer(Context context) { + super(context); + } + + @Override + protected void renderSafe(SimpleKineticBlockEntity be, float partialTicks, PoseStack ms, + MultiBufferSource buffer, int light, int overlay) { + + if (VisualizationManager.supportsVisualization(be.getLevel())) + return; + + if (!AllBlocks.LARGE_COGWHEEL.has(be.getBlockState())) { + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); + return; + } + + Axis axis = getRotationAxisOf(be); + Direction facing = Direction.fromAxisAndDirection(axis, AxisDirection.POSITIVE); + PartialModel model = be.getBlockState().is(TFMGBlocks.LARGE_ALUMINUM_COGWHEEL.get()) ? TFMGPartialModels.LARGE_ALUMINUM_COGHWEEL : TFMGPartialModels.LARGE_STEEL_COGHWEEL; + renderRotatingBuffer(be, + CachedBuffers.partialFacingVertical(model, be.getBlockState(), facing), + ms, buffer.getBuffer(RenderType.cutoutMipped()), light); + + float angle = getAngleForLargeCogShaft(be, axis); + SuperByteBuffer shaft = + CachedBuffers.partialFacingVertical(AllPartialModels.COGWHEEL_SHAFT, be.getBlockState(), facing); + kineticRotationTransform(shaft, be, axis, angle, light); + shaft.renderInto(ms, buffer.getBuffer(RenderType.solid())); + } + + public static float getAngleForLargeCogShaft(SimpleKineticBlockEntity be, Axis axis) { + BlockPos pos = be.getBlockPos(); + float offset = getShaftAngleOffset(axis, pos); + float time = AnimationTickHolder.getRenderTime(be.getLevel()); + float angle = ((time * be.getSpeed() * 3f / 10 + offset) % 360) / 180 * (float) Math.PI; + return angle; + } + + public static float getShaftAngleOffset(Axis axis, BlockPos pos) { + float offset = 0; + double d = (((axis == Axis.X) ? 0 : pos.getX()) + ((axis == Axis.Y) ? 0 : pos.getY()) + + ((axis == Axis.Z) ? 0 : pos.getZ())) % 2; + if (d == 0) + offset = 22.5f; + return offset; + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/cogs/TFMGCogwheelVisual.java b/src/main/java/com/drmangotea/tfmg/content/decoration/cogs/TFMGCogwheelVisual.java new file mode 100644 index 00000000..80787751 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/cogs/TFMGCogwheelVisual.java @@ -0,0 +1,106 @@ +package com.drmangotea.tfmg.content.decoration.cogs; + +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer; +import com.simibubi.create.content.kinetics.base.RotatingInstance; +import com.simibubi.create.content.kinetics.base.SingleAxisRotatingVisual; +import com.simibubi.create.content.kinetics.simpleRelays.BracketedKineticBlockEntity; +import com.simibubi.create.content.kinetics.simpleRelays.BracketedKineticBlockEntityRenderer; +import com.simibubi.create.content.kinetics.simpleRelays.ICogWheel; +import com.simibubi.create.foundation.render.AllInstanceTypes; +import dev.engine_room.flywheel.api.instance.Instance; +import dev.engine_room.flywheel.api.material.Material; +import dev.engine_room.flywheel.api.model.Model; +import dev.engine_room.flywheel.api.visual.BlockEntityVisual; +import dev.engine_room.flywheel.api.visualization.VisualizationContext; +import dev.engine_room.flywheel.lib.material.Materials; +import dev.engine_room.flywheel.lib.model.Models; + +import net.minecraft.core.Direction; + +import java.util.function.Consumer; + +public class TFMGCogwheelVisual { + + public static BlockEntityVisual create(VisualizationContext context, BracketedKineticBlockEntity blockEntity, float partialTick) { + if (ICogWheel.isLargeCog(blockEntity.getBlockState())) { + return new LargeCogVisual(context, blockEntity, partialTick); + } else { + + Model model; + + + if (TFMGBlocks.STEEL_COGWHEEL.is(blockEntity.getBlockState().getBlock())) { + model = Models.partial(TFMGPartialModels.STEEL_COGHWEEL); + } else { + model = Models.partial(TFMGPartialModels.ALUMINUM_COGHWEEL); + } + return new SingleAxisRotatingVisual<>(context, blockEntity, partialTick, model); + } + } + + // Large cogs sometimes have to offset their teeth by 11.25 degrees in order to + // mesh properly + public static class LargeCogVisual extends SingleAxisRotatingVisual { + + protected final RotatingInstance additionalShaft; + + private LargeCogVisual(VisualizationContext context, BracketedKineticBlockEntity blockEntity, float partialTick) { + super(context, blockEntity, partialTick, getLargeModel(blockEntity)); + + Direction.Axis axis = KineticBlockEntityRenderer.getRotationAxisOf(blockEntity); + + additionalShaft = instancerProvider().instancer(AllInstanceTypes.ROTATING, Models.partial(AllPartialModels.COGWHEEL_SHAFT)) + .createInstance(); + + + additionalShaft.rotateToFace(axis) + .setup(blockEntity) + .setRotationOffset(BracketedKineticBlockEntityRenderer.getShaftAngleOffset(axis, pos)) + .setPosition(getVisualPosition()) + .setChanged(); + } + + + + public static Model getLargeModel(BracketedKineticBlockEntity blockEntity){ + + if (TFMGBlocks.LARGE_STEEL_COGWHEEL.is(blockEntity.getBlockState().getBlock())) { + return Models.partial(TFMGPartialModels.LARGE_STEEL_COGHWEEL); + } else { + return Models.partial(TFMGPartialModels.LARGE_ALUMINUM_COGHWEEL); + } + } + + + + @Override + public void update(float pt) { + super.update(pt); + additionalShaft.setup(blockEntity) + .setRotationOffset(BracketedKineticBlockEntityRenderer.getShaftAngleOffset(rotationAxis(), pos)) + .setChanged(); + } + + @Override + public void updateLight(float partialTick) { + super.updateLight(partialTick); + relight(additionalShaft); + } + + @Override + protected void _delete() { + super._delete(); + additionalShaft.delete(); + } + + @Override + public void collectCrumblingInstances(Consumer consumer) { + super.collectCrumblingInstances(consumer); + consumer.accept(additionalShaft); + } + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/cogs/TFMGEncasedCogRenderer.java b/src/main/java/com/drmangotea/tfmg/content/decoration/cogs/TFMGEncasedCogRenderer.java new file mode 100644 index 00000000..f166ecd2 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/cogs/TFMGEncasedCogRenderer.java @@ -0,0 +1,85 @@ +package com.drmangotea.tfmg.content.decoration.cogs; + +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.content.kinetics.base.IRotate; +import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer; +import com.simibubi.create.content.kinetics.simpleRelays.BracketedKineticBlockEntityRenderer; +import com.simibubi.create.content.kinetics.simpleRelays.SimpleKineticBlockEntity; +import com.simibubi.create.content.kinetics.simpleRelays.encased.EncasedCogwheelBlock; +import dev.engine_room.flywheel.api.visualization.VisualizationManager; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import net.createmod.catnip.data.Iterate; +import net.createmod.catnip.render.CachedBuffers; +import net.createmod.catnip.render.SuperByteBuffer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; + +public class TFMGEncasedCogRenderer extends KineticBlockEntityRenderer { + + private boolean large; + private boolean steel; + + public static TFMGEncasedCogRenderer steelSmall(BlockEntityRendererProvider.Context context) { + return new TFMGEncasedCogRenderer(context, false,true); + } + + public static TFMGEncasedCogRenderer steellarge(BlockEntityRendererProvider.Context context) { + return new TFMGEncasedCogRenderer(context, true,true); + } + public static TFMGEncasedCogRenderer aluminumSmall(BlockEntityRendererProvider.Context context) { + return new TFMGEncasedCogRenderer(context, false,false); + } + + public static TFMGEncasedCogRenderer aluminumlarge(BlockEntityRendererProvider.Context context) { + return new TFMGEncasedCogRenderer(context, true,false); + } + + public TFMGEncasedCogRenderer(BlockEntityRendererProvider.Context context, boolean large, boolean steel) { + super(context); + this.large = large; + this.steel = steel; + } + + @Override + protected void renderSafe(SimpleKineticBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, + int light, int overlay) { + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); + if (VisualizationManager.supportsVisualization(be.getLevel())) + return; + + BlockState blockState = be.getBlockState(); + Block block = blockState.getBlock(); + if (!(block instanceof IRotate def)) + return; + + Direction.Axis axis = getRotationAxisOf(be); + BlockPos pos = be.getBlockPos(); + float angle = large ? BracketedKineticBlockEntityRenderer.getAngleForLargeCogShaft(be, axis) + : getAngleForBe(be, pos, axis); + + for (Direction d : Iterate.directionsInAxis(getRotationAxisOf(be))) { + if (!def.hasShaftTowards(be.getLevel(), be.getBlockPos(), blockState, d)) + continue; + SuperByteBuffer shaft = CachedBuffers.partialFacing(AllPartialModels.SHAFT_HALF, be.getBlockState(), d); + kineticRotationTransform(shaft, be, axis, angle, light); + shaft.renderInto(ms, buffer.getBuffer(RenderType.solid())); + } + } + + @Override + protected SuperByteBuffer getRotatedModel(SimpleKineticBlockEntity be, BlockState state) { + return CachedBuffers.partialFacingVertical( + large ? steel? TFMGPartialModels.SHAFTLESS_LARGE_STEEL_COGHWEEL :TFMGPartialModels.SHAFTLESS_LARGE_ALUMINUM_COGHWEEL : steel ? TFMGPartialModels.SHAFTLESS_STEEL_COGHWEEL : TFMGPartialModels.SHAFTLESS_ALUMINUM_COGHWEEL, state, + Direction.fromAxisAndDirection(state.getValue(EncasedCogwheelBlock.AXIS), Direction.AxisDirection.POSITIVE)); + } + + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/cogs/TFMGEncasedCogVisual.java b/src/main/java/com/drmangotea/tfmg/content/decoration/cogs/TFMGEncasedCogVisual.java new file mode 100644 index 00000000..9680841e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/cogs/TFMGEncasedCogVisual.java @@ -0,0 +1,120 @@ +package com.drmangotea.tfmg.content.decoration.cogs; + +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.content.kinetics.base.IRotate; +import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual; +import com.simibubi.create.content.kinetics.base.RotatingInstance; +import com.simibubi.create.content.kinetics.simpleRelays.BracketedKineticBlockEntityRenderer; +import com.simibubi.create.foundation.render.AllInstanceTypes; +import dev.engine_room.flywheel.api.instance.Instance; +import dev.engine_room.flywheel.api.model.Model; +import dev.engine_room.flywheel.api.visualization.VisualizationContext; +import dev.engine_room.flywheel.lib.model.Models; +import net.createmod.catnip.data.Iterate; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.Block; +import org.jetbrains.annotations.Nullable; + +import java.util.function.Consumer; + +public class TFMGEncasedCogVisual extends KineticBlockEntityVisual { + + + protected final RotatingInstance rotatingModel; + @Nullable + protected final RotatingInstance rotatingTopShaft; + @Nullable + protected final RotatingInstance rotatingBottomShaft; + + public static TFMGEncasedCogVisual steelSmall(VisualizationContext modelManager, KineticBlockEntity blockEntity, float partialTick) { + return new TFMGEncasedCogVisual(modelManager, blockEntity, false, partialTick, Models.partial(TFMGPartialModels.SHAFTLESS_STEEL_COGHWEEL)); + } + + public static TFMGEncasedCogVisual steelLarge(VisualizationContext modelManager, KineticBlockEntity blockEntity, float partialTick) { + return new TFMGEncasedCogVisual(modelManager, blockEntity, true, partialTick, Models.partial(TFMGPartialModels.SHAFTLESS_LARGE_STEEL_COGHWEEL)); + } + + public static TFMGEncasedCogVisual aluminumSmall(VisualizationContext modelManager, KineticBlockEntity blockEntity, float partialTick) { + return new TFMGEncasedCogVisual(modelManager, blockEntity, false, partialTick, Models.partial(TFMGPartialModels.SHAFTLESS_ALUMINUM_COGHWEEL)); + } + + public static TFMGEncasedCogVisual aluminumLarge(VisualizationContext modelManager, KineticBlockEntity blockEntity, float partialTick) { + return new TFMGEncasedCogVisual(modelManager, blockEntity, true, partialTick, Models.partial(TFMGPartialModels.SHAFTLESS_LARGE_ALUMINUM_COGHWEEL)); + } + + public TFMGEncasedCogVisual(VisualizationContext modelManager, KineticBlockEntity blockEntity, boolean large, float partialTick, Model model) { + super(modelManager, blockEntity, partialTick); + + rotatingModel = instancerProvider().instancer(AllInstanceTypes.ROTATING, model) + .createInstance(); + + rotatingModel.setup(blockEntity) + .setPosition(getVisualPosition()) + .rotateToFace(rotationAxis()) + .setChanged(); + + RotatingInstance rotatingTopShaft = null; + RotatingInstance rotatingBottomShaft = null; + + Block block = blockState.getBlock(); + if (block instanceof IRotate def) { + for (Direction d : Iterate.directionsInAxis(rotationAxis())) { + if (!def.hasShaftTowards(blockEntity.getLevel(), blockEntity.getBlockPos(), blockState, d)) + continue; + RotatingInstance instance = instancerProvider().instancer(AllInstanceTypes.ROTATING, Models.partial(AllPartialModels.SHAFT_HALF)) + .createInstance(); + instance.setup(blockEntity) + .setPosition(getVisualPosition()) + .rotateToFace(Direction.SOUTH, d) + .setChanged(); + + if (large) { + instance.setRotationOffset(BracketedKineticBlockEntityRenderer.getShaftAngleOffset(rotationAxis(), pos)); + } + + if (d.getAxisDirection() == Direction.AxisDirection.POSITIVE) { + rotatingTopShaft = instance; + } else { + rotatingBottomShaft = instance; + } + } + } + + this.rotatingTopShaft = rotatingTopShaft; + this.rotatingBottomShaft = rotatingBottomShaft; + } + + @Override + public void update(float pt) { + rotatingModel.setup(blockEntity) + .setChanged(); + if (rotatingTopShaft != null) rotatingTopShaft.setup(blockEntity) + .setChanged(); + if (rotatingBottomShaft != null) rotatingBottomShaft.setup(blockEntity) + .setChanged(); + } + + @Override + public void updateLight(float partialTick) { + relight(rotatingModel); + + if (rotatingTopShaft != null) relight(rotatingTopShaft); + if (rotatingBottomShaft != null) relight(rotatingBottomShaft); + } + + @Override + protected void _delete() { + rotatingModel.delete(); + if (rotatingTopShaft != null) rotatingTopShaft.delete(); + if (rotatingBottomShaft != null) rotatingBottomShaft.delete(); + } + + @Override + public void collectCrumblingInstances(Consumer<@Nullable Instance> consumer) { + consumer.accept(rotatingModel); + consumer.accept(rotatingTopShaft); + consumer.accept(rotatingBottomShaft); + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/concrete/ConcreteloggedBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/concrete/ConcreteloggedBlock.java new file mode 100644 index 00000000..b0bd9fe4 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/concrete/ConcreteloggedBlock.java @@ -0,0 +1,88 @@ +package com.drmangotea.tfmg.content.decoration.concrete; + +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.simibubi.create.foundation.data.SharedProperties; +import net.minecraft.core.BlockPos; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.util.RandomSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.SimpleWaterloggedBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.level.material.Fluids; + +public interface ConcreteloggedBlock { + BooleanProperty CONCRETELOGGED = BooleanProperty.create("concretelogged"); + + + + default FluidState fluidState(BlockState state) { + // return state.getValue(CONCRETELOGGED) ? TFMGFluids.LIQUID_CONCRETE.getSource().getSource(false) : Fluids.EMPTY.defaultFluidState(); + return state.getValue(CONCRETELOGGED) ? TFMGFluids.LIQUID_CONCRETE.get().getSource(false) : Fluids.EMPTY.defaultFluidState(); + } + + default void updateConcrete(LevelAccessor level, BlockState state, BlockPos pos) { + if (state.getValue(CONCRETELOGGED)) + //level.scheduleTick(pos, TFMGFluids.LIQUID_CONCRETE.get(), TFMGFluids.LIQUID_CONCRETE.get().getTickDelay(level)); + level.scheduleTick(pos, TFMGFluids.LIQUID_CONCRETE.get(), TFMGFluids.LIQUID_CONCRETE.get().getTickDelay(level)); + } + default ItemInteractionResult onClicked(Level level, BlockPos pos, BlockState state, Player player, InteractionHand hand){ + ItemStack stack = player.getItemInHand(hand); + + if(state.getValue(CONCRETELOGGED)){ + if(stack.is(Items.BUCKET)){ + level.setBlock(pos, state.setValue(CONCRETELOGGED, false),3); + if(!player.isCreative()) + player.setItemInHand(hand, TFMGFluids.LIQUID_CONCRETE.getBucket().get().getDefaultInstance()); + player.playSound(SoundEvents.BUCKET_FILL, 1F, 1.0F + player.getRandom().nextFloat() * 0.4F); + return ItemInteractionResult.SUCCESS; + } + + }else { + if(stack.is(TFMGFluids.LIQUID_CONCRETE.getBucket().get())){ + level.setBlock(pos, state.setValue(CONCRETELOGGED, true),3); + if(!player.isCreative()) + player.setItemInHand(hand, Items.BUCKET.getDefaultInstance()); + player.playSound(SoundEvents.BUCKET_EMPTY, 1F, 1.0F + player.getRandom().nextFloat() * 0.4F); + return ItemInteractionResult.SUCCESS; + } + } + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + } + + default void tickDrying(Level level,BlockState state,BlockState newStack, BlockPos pos, RandomSource random){ + if(!state.getValue(CONCRETELOGGED)) + return; + + int randomInt = random.nextInt(7) ; + if(randomInt==2) { + level.setBlock(pos, newStack, 3); + } + } + + default BlockState withConcrete(BlockState placementState, BlockPlaceContext ctx) { + return withConcrete(ctx.getLevel(), placementState, ctx.getClickedPos()); + } + + static BlockState withConcrete(LevelAccessor level, BlockState placementState, BlockPos pos) { + if (placementState == null) + return null; + FluidState ifluidstate = level.getFluidState(pos); + if (placementState.isAir()) + return ifluidstate.getType() == TFMGFluids.LIQUID_CONCRETE.getSource() ? ifluidstate.createLegacyBlock() : placementState; + return placementState.setValue(CONCRETELOGGED, ifluidstate.getType() == TFMGFluids.LIQUID_CONCRETE.getSource()); + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/concrete/RebarFloorBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/concrete/RebarFloorBlock.java new file mode 100644 index 00000000..1022ee2d --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/concrete/RebarFloorBlock.java @@ -0,0 +1,19 @@ +package com.drmangotea.tfmg.content.decoration.concrete; + +import com.drmangotea.tfmg.base.TFMGShapes; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class RebarFloorBlock extends SimpleConcreteloggedBlock { + public RebarFloorBlock(Properties p_49795_) { + super(p_49795_); + } + + @Override + public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) { + return TFMGShapes.REBAR_FLOOR; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/concrete/RebarPillarBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/concrete/RebarPillarBlock.java new file mode 100644 index 00000000..66ce4e2a --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/concrete/RebarPillarBlock.java @@ -0,0 +1,78 @@ +package com.drmangotea.tfmg.content.decoration.concrete; + +import com.drmangotea.tfmg.base.blocks.TFMGDirectionalBlock; +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.RandomSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class RebarPillarBlock extends TFMGDirectionalBlock implements ConcreteloggedBlock { + + + public RebarPillarBlock(Properties p_49795_) { + super(p_49795_); + registerDefaultState(this.getStateDefinition().any().setValue(CONCRETELOGGED, false)); + } + + @Override + public FluidState getFluidState(BlockState state) { + return fluidState(state); + } + @Override + public BlockState updateShape(BlockState pState, Direction pDirection, BlockState pNeighborState, + LevelAccessor pLevel, BlockPos pCurrentPos, BlockPos pNeighborPos) { + updateConcrete(pLevel, pState, pCurrentPos); + return pState; + } + + @Override + public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) { + return TFMGShapes.REBAR_PILLAR.get(p_60555_.getValue(FACING)); + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + return onClicked(level, pos, state, player, hand); + } + + @Override + public BlockState getStateForPlacement(BlockPlaceContext pContext) { + return withConcrete(super.getStateForPlacement(pContext), pContext); + } + + @Override + public void randomTick(BlockState state, ServerLevel level, BlockPos pos, RandomSource randomSource) { + tickDrying(level,state,TFMGBlocks.REBAR_CONCRETE.block.getDefaultState(),pos, randomSource); + } + + @Override + public boolean isRandomlyTicking(BlockState p_49921_) { + return true; + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + super.createBlockStateDefinition(builder); + builder.add(CONCRETELOGGED); + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/concrete/RebarStairsBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/concrete/RebarStairsBlock.java new file mode 100644 index 00000000..696d895d --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/concrete/RebarStairsBlock.java @@ -0,0 +1,71 @@ +package com.drmangotea.tfmg.content.decoration.concrete; + + +import com.drmangotea.tfmg.registry.TFMGBlocks; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.RandomSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.StairBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.phys.BlockHitResult; + +public class RebarStairsBlock extends StairBlock implements ConcreteloggedBlock{ + + public RebarStairsBlock(BlockState state,Properties p_56863_) { + super(state, p_56863_); + } + + @Override + public FluidState getFluidState(BlockState state) { + return fluidState(state); + } + @Override + public BlockState updateShape(BlockState pState, Direction pDirection, BlockState pNeighborState, + LevelAccessor pLevel, BlockPos pCurrentPos, BlockPos pNeighborPos) { + updateConcrete(pLevel, pState, pCurrentPos); + return pState; + } + + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + return onClicked(level, pos, state, player, hand); + } + + @Override + public BlockState getStateForPlacement(BlockPlaceContext pContext) { + return withConcrete(super.getStateForPlacement(pContext), pContext); + } + + @Override + public void randomTick(BlockState state, ServerLevel level, BlockPos pos, RandomSource randomSource) { + + + tickDrying(level,state,TFMGBlocks.REBAR_CONCRETE.stairs.getDefaultState().setValue(FACING, state.getValue(FACING)).setValue(HALF, state.getValue(HALF)),pos, randomSource); + } + + @Override + public boolean isRandomlyTicking(BlockState p_49921_) { + return true; + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + super.createBlockStateDefinition(builder); + builder.add(CONCRETELOGGED); + } + + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/concrete/RebarStairsGenerator.java b/src/main/java/com/drmangotea/tfmg/content/decoration/concrete/RebarStairsGenerator.java new file mode 100644 index 00000000..30b45b0a --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/concrete/RebarStairsGenerator.java @@ -0,0 +1,42 @@ +package com.drmangotea.tfmg.content.decoration.concrete; + +import com.simibubi.create.foundation.data.SpecialBlockStateGen; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.StairBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.Half; +import net.neoforged.neoforge.client.model.generators.ModelFile; + + +import static com.simibubi.create.foundation.data.AssetLookup.partialBaseModel; + +public class RebarStairsGenerator extends SpecialBlockStateGen { + + + @Override + protected int getXRotation(BlockState state) { + return 0; + } + + @Override + protected int getYRotation(BlockState state) { + return switch (state.getValue(StairBlock.FACING)) { + case NORTH -> 270; + case SOUTH -> 90; + case WEST -> 180; + case EAST -> 0; + case DOWN -> 0; + case UP -> 0; + }; + } + + @Override + public ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, + BlockState state) { + return state.getValue(StairBlock.HALF)== Half.TOP ? partialBaseModel(ctx, prov, "upside_down") + : partialBaseModel(ctx, prov); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/concrete/RebarWallBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/concrete/RebarWallBlock.java new file mode 100644 index 00000000..b830df9c --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/concrete/RebarWallBlock.java @@ -0,0 +1,27 @@ +package com.drmangotea.tfmg.content.decoration.concrete; + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class RebarWallBlock extends SimpleConcreteloggedBlock { + public RebarWallBlock(Properties p_49795_) { + super(p_49795_); + } + + @Override + public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) { + return TFMGShapes.CABLE_TUBE.get(Direction.UP); + } + @Override + public void randomTick(BlockState state, ServerLevel level, BlockPos pos, RandomSource randomSource) { + tickDrying(level,state,TFMGBlocks.REBAR_CONCRETE.wall.getDefaultState(),pos, randomSource); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/concrete/SimpleConcreteloggedBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/concrete/SimpleConcreteloggedBlock.java new file mode 100644 index 00000000..a67eec83 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/concrete/SimpleConcreteloggedBlock.java @@ -0,0 +1,70 @@ +package com.drmangotea.tfmg.content.decoration.concrete; + +import com.drmangotea.tfmg.registry.TFMGBlocks; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.RandomSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.phys.BlockHitResult; + +public class SimpleConcreteloggedBlock extends Block implements ConcreteloggedBlock { + + + public SimpleConcreteloggedBlock(Properties p_49795_) { + super(p_49795_); + registerDefaultState(this.getStateDefinition().any().setValue(CONCRETELOGGED, false)); + } + + @Override + public FluidState getFluidState(BlockState state) { + return fluidState(state); + } + @Override + public BlockState updateShape(BlockState pState, Direction pDirection, BlockState pNeighborState, + LevelAccessor pLevel, BlockPos pCurrentPos, BlockPos pNeighborPos) { + updateConcrete(pLevel, pState, pCurrentPos); + return pState; + } + + + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + return onClicked(level, pos, state, player, hand); + } + + @Override + public BlockState getStateForPlacement(BlockPlaceContext pContext) { + return withConcrete(super.getStateForPlacement(pContext), pContext); + } + + @Override + public void randomTick(BlockState state, ServerLevel level, BlockPos pos, RandomSource randomSource) { + tickDrying(level,state,TFMGBlocks.REBAR_CONCRETE.block.getDefaultState(),pos, randomSource); + } + + @Override + public boolean isRandomlyTicking(BlockState p_49921_) { + return true; + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + super.createBlockStateDefinition(builder); + builder.add(CONCRETELOGGED); + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/doors/TFMGSlidingDoorBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/doors/TFMGSlidingDoorBlock.java new file mode 100644 index 00000000..ba358f66 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/doors/TFMGSlidingDoorBlock.java @@ -0,0 +1,259 @@ +package com.drmangotea.tfmg.content.decoration.doors; + + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.content.contraptions.ContraptionWorld; +import com.simibubi.create.content.decoration.slidingDoor.SlidingDoorShapes; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.DoorBlock; +import net.minecraft.world.level.block.RenderShape; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition.Builder; +import net.minecraft.world.level.block.state.properties.BlockSetType; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.block.state.properties.DoorHingeSide; +import net.minecraft.world.level.block.state.properties.DoubleBlockHalf; +import net.minecraft.world.level.gameevent.GameEvent; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +import javax.annotation.Nullable; + +import static com.simibubi.create.content.decoration.slidingDoor.SlidingDoorBlock.TRAIN_SET_TYPE; + +public class TFMGSlidingDoorBlock extends DoorBlock implements IWrenchable, IBE { + + public static final BooleanProperty VISIBLE = BooleanProperty.create("visible"); + private boolean folds; + + public static TFMGSlidingDoorBlock metal(Properties p_52737_, boolean folds) { + return new TFMGSlidingDoorBlock(p_52737_, TRAIN_SET_TYPE.get(), folds); + } + + public TFMGSlidingDoorBlock(Properties p_52737_, BlockSetType type, boolean folds) { + super(type,p_52737_ ); + this.folds = folds; + } + + public boolean isFoldingDoor() { + return folds; + } + + @Override + protected void createBlockStateDefinition(Builder pBuilder) { + super.createBlockStateDefinition(pBuilder.add(VISIBLE)); + } + + @Override + public VoxelShape getShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, CollisionContext pContext) { + if (!pState.getValue(OPEN) && (pState.getValue(VISIBLE) || pLevel instanceof ContraptionWorld)) + return super.getShape(pState, pLevel, pPos, pContext); + + Direction direction = pState.getValue(FACING); + boolean hinge = pState.getValue(HINGE) == DoorHingeSide.RIGHT; + return SlidingDoorShapes.get(direction, hinge, isFoldingDoor()); + } + + @Override + public boolean canSurvive(BlockState pState, LevelReader pLevel, BlockPos pPos) { + return pState.getValue(HALF) == DoubleBlockHalf.LOWER || pLevel.getBlockState(pPos.below()) + .is(this); + } + + @Override + public VoxelShape getInteractionShape(BlockState pState, BlockGetter pLevel, BlockPos pPos) { + return getShape(pState, pLevel, pPos, CollisionContext.empty()); + } + + @Override + public BlockState getStateForPlacement(BlockPlaceContext pContext) { + BlockState stateForPlacement = super.getStateForPlacement(pContext); + if (stateForPlacement != null && stateForPlacement.getValue(OPEN)) + return stateForPlacement.setValue(OPEN, false) + .setValue(POWERED, false); + return stateForPlacement; + } + + @Override + public void onPlace(BlockState pState, Level pLevel, BlockPos pPos, BlockState pOldState, boolean pIsMoving) { + if (!pOldState.is(this)) + deferUpdate(pLevel, pPos); + } + + @Override + public BlockState updateShape(BlockState pState, Direction pFacing, BlockState pFacingState, LevelAccessor pLevel, + BlockPos pCurrentPos, BlockPos pFacingPos) { + BlockState blockState = super.updateShape(pState, pFacing, pFacingState, pLevel, pCurrentPos, pFacingPos); + if (blockState.isAir()) + return blockState; + DoubleBlockHalf doubleblockhalf = blockState.getValue(HALF); + if (pFacing.getAxis() == Direction.Axis.Y + && doubleblockhalf == DoubleBlockHalf.LOWER == (pFacing == Direction.UP)) { + return pFacingState.is(this) && pFacingState.getValue(HALF) != doubleblockhalf + ? blockState.setValue(VISIBLE, pFacingState.getValue(VISIBLE)) + : Blocks.AIR.defaultBlockState(); + } + return blockState; + } + + @Override + public void setOpen(@Nullable Entity entity, Level level, BlockState state, BlockPos pos, boolean open) { + if (!state.is(this)) + return; + if (state.getValue(OPEN) == open) + return; + BlockState changedState = state.setValue(OPEN, open); + if (open) + changedState = changedState.setValue(VISIBLE, false); + level.setBlock(pos, changedState, 10); + + DoorHingeSide hinge = changedState.getValue(HINGE); + Direction facing = changedState.getValue(FACING); + BlockPos otherPos = + pos.relative(hinge == DoorHingeSide.LEFT ? facing.getClockWise() : facing.getCounterClockWise()); + BlockState otherDoor = level.getBlockState(otherPos); + if (isDoubleDoor(changedState, hinge, facing, otherDoor)) + setOpen(entity, level, otherDoor, otherPos, open); + + this.playSound(level, pos, open); + level.gameEvent(entity, open ? GameEvent.BLOCK_OPEN : GameEvent.BLOCK_CLOSE, pos); + } + + @Override + public void neighborChanged(BlockState pState, Level pLevel, BlockPos pPos, Block pBlock, BlockPos pFromPos, + boolean pIsMoving) { + boolean lower = pState.getValue(HALF) == DoubleBlockHalf.LOWER; + boolean isPowered = isDoorPowered(pLevel, pPos, pState); + if (defaultBlockState().is(pBlock)) + return; + if (isPowered == pState.getValue(POWERED)) + return; + + TFMGSlidingDoorBlockEntity be = getBlockEntity(pLevel, lower ? pPos : pPos.below()); + if (be != null && be.deferUpdate) + return; + + BlockState changedState = pState.setValue(POWERED, Boolean.valueOf(isPowered)) + .setValue(OPEN, Boolean.valueOf(isPowered)); + if (isPowered) + changedState = changedState.setValue(VISIBLE, false); + + if (isPowered != pState.getValue(OPEN)) { + this.playSound(pLevel, pPos, isPowered); + pLevel.gameEvent(null, isPowered ? GameEvent.BLOCK_OPEN : GameEvent.BLOCK_CLOSE, pPos); + + DoorHingeSide hinge = changedState.getValue(HINGE); + Direction facing = changedState.getValue(FACING); + BlockPos otherPos = + pPos.relative(hinge == DoorHingeSide.LEFT ? facing.getClockWise() : facing.getCounterClockWise()); + BlockState otherDoor = pLevel.getBlockState(otherPos); + + if (isDoubleDoor(changedState, hinge, facing, otherDoor)) { + otherDoor = otherDoor.setValue(POWERED, Boolean.valueOf(isPowered)) + .setValue(OPEN, Boolean.valueOf(isPowered)); + if (isPowered) + otherDoor = otherDoor.setValue(VISIBLE, false); + pLevel.setBlock(otherPos, otherDoor, 2); + } + } + + pLevel.setBlock(pPos, changedState, 2); + } + + public static boolean isDoorPowered(Level pLevel, BlockPos pPos, BlockState state) { + boolean lower = state.getValue(HALF) == DoubleBlockHalf.LOWER; + DoorHingeSide hinge = state.getValue(HINGE); + Direction facing = state.getValue(FACING); + BlockPos otherPos = + pPos.relative(hinge == DoorHingeSide.LEFT ? facing.getClockWise() : facing.getCounterClockWise()); + BlockState otherDoor = pLevel.getBlockState(otherPos); + + if (isDoubleDoor(state.cycle(OPEN), hinge, facing, otherDoor) && (pLevel.hasNeighborSignal(otherPos) + || pLevel.hasNeighborSignal(otherPos.relative(lower ? Direction.UP : Direction.DOWN)))) + return true; + + return pLevel.hasNeighborSignal(pPos) + || pLevel.hasNeighborSignal(pPos.relative(lower ? Direction.UP : Direction.DOWN)); + } + + + + + +@Override +protected InteractionResult useWithoutItem(BlockState pState, Level pLevel, BlockPos pPos, Player pPlayer, BlockHitResult pHit) { + + pState = pState.cycle(OPEN); + if (pState.getValue(OPEN)) + pState = pState.setValue(VISIBLE, false); + pLevel.setBlock(pPos, pState, 10); + pLevel.gameEvent(pPlayer, isOpen(pState) ? GameEvent.BLOCK_OPEN : GameEvent.BLOCK_CLOSE, pPos); + + DoorHingeSide hinge = pState.getValue(HINGE); + Direction facing = pState.getValue(FACING); + BlockPos otherPos = + pPos.relative(hinge == DoorHingeSide.LEFT ? facing.getClockWise() : facing.getCounterClockWise()); + BlockState otherDoor = pLevel.getBlockState(otherPos); + if (isDoubleDoor(pState, hinge, facing, otherDoor)) + useWithoutItem(otherDoor, pLevel, otherPos, pPlayer, pHit); + else if (pState.getValue(OPEN)) + pLevel.levelEvent(pPlayer, getOpenSound(), pPos, 0); + + return InteractionResult.sidedSuccess(pLevel.isClientSide); + } + public void deferUpdate(LevelAccessor level, BlockPos pos) { + withBlockEntityDo(level, pos, sdte -> sdte.deferUpdate = true); + } + public static boolean isDoubleDoor(BlockState pState, DoorHingeSide hinge, Direction facing, BlockState otherDoor) { + return otherDoor.getBlock() == pState.getBlock() && otherDoor.getValue(HINGE) != hinge + && otherDoor.getValue(FACING) == facing && otherDoor.getValue(OPEN) != pState.getValue(OPEN) + && otherDoor.getValue(HALF) == pState.getValue(HALF); + } + @Override + public RenderShape getRenderShape(BlockState pState) { + return pState.getValue(VISIBLE) ? RenderShape.MODEL : RenderShape.ENTITYBLOCK_ANIMATED; + } + private void playSound(Level pLevel, BlockPos pPos, boolean pIsOpening) { + if (pIsOpening) + pLevel.levelEvent((Player) null, this.getOpenSound(), pPos, 0); + } + private int getOpenSound() { + return 1005; + } + @Nullable + @Override + public BlockEntity newBlockEntity(BlockPos pos, BlockState state) { + if (state.getValue(HALF) == DoubleBlockHalf.UPPER) + return null; + return IBE.super.newBlockEntity(pos, state); + } + @Override + public Class getBlockEntityClass() { + return TFMGSlidingDoorBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.TFMG_SLIDING_DOOR.get(); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/doors/TFMGSlidingDoorBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/decoration/doors/TFMGSlidingDoorBlockEntity.java new file mode 100644 index 00000000..00bf18bb --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/doors/TFMGSlidingDoorBlockEntity.java @@ -0,0 +1,80 @@ +package com.drmangotea.tfmg.content.decoration.doors; + +import com.simibubi.create.content.decoration.slidingDoor.SlidingDoorBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import net.createmod.catnip.animation.LerpedFloat; +import net.minecraft.core.BlockPos; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.DoorBlock; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.AABB; + +import java.util.List; + +public class TFMGSlidingDoorBlockEntity extends SlidingDoorBlockEntity { + LerpedFloat animation; + int bridgeTicks; + boolean deferUpdate; + public TFMGSlidingDoorBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + animation = LerpedFloat.linear() + .startWithValue(isOpen(state) ? 1 : 0); + } + + @Override + public void tick() { + if (deferUpdate && !level.isClientSide()) { + deferUpdate = false; + BlockState blockState = getBlockState(); + blockState.handleNeighborChanged(level, worldPosition, Blocks.AIR, worldPosition, false); + } + + super.tick(); + boolean open = isOpen(getBlockState()); + boolean wasSettled = animation.settled(); + animation.chase(open ? 1 : 0, .15f, LerpedFloat.Chaser.LINEAR); + animation.tickChaser(); + + if (level.isClientSide()) { + if (bridgeTicks < 2 && open) + bridgeTicks++; + else if (bridgeTicks > 0 && !open && isVisible(getBlockState())) + bridgeTicks--; + return; + } + + if (!open && !wasSettled && animation.settled() && !isVisible(getBlockState())) + showBlockModel(); + } + + @Override + protected AABB createRenderBoundingBox() { + return super.createRenderBoundingBox().inflate(1); + } + + protected boolean isVisible(BlockState state) { + return state.getOptionalValue(TFMGSlidingDoorBlock.VISIBLE) + .orElse(true); + } + + protected boolean shouldRenderSpecial(BlockState state) { + return !isVisible(state) || bridgeTicks != 0; + } + + protected void showBlockModel() { + level.setBlock(worldPosition, getBlockState().setValue(TFMGSlidingDoorBlock.VISIBLE, true), 3); + level.playSound(null, worldPosition, SoundEvents.IRON_DOOR_CLOSE, SoundSource.BLOCKS, .5f, 1); + } + + @Override + public void addBehaviours(List behaviours) {} + + public static boolean isOpen(BlockState state) { + return state.getOptionalValue(DoorBlock.OPEN) + .orElse(false); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/doors/TFMGSlidingDoorRenderer.java b/src/main/java/com/drmangotea/tfmg/content/decoration/doors/TFMGSlidingDoorRenderer.java new file mode 100644 index 00000000..a0dc0e63 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/doors/TFMGSlidingDoorRenderer.java @@ -0,0 +1,103 @@ +package com.drmangotea.tfmg.content.decoration.doors; + + + +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.content.decoration.slidingDoor.SlidingDoorBlock; +import com.simibubi.create.content.decoration.slidingDoor.SlidingDoorBlockEntity; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; + +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import net.createmod.catnip.data.Couple; +import net.createmod.catnip.data.Iterate; +import net.createmod.catnip.math.AngleHelper; +import net.createmod.catnip.render.CachedBuffers; +import net.createmod.catnip.render.SuperByteBuffer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider.Context; +import net.minecraft.core.Direction; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.util.Mth; +import net.minecraft.world.level.block.DoorBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.DoorHingeSide; +import net.minecraft.world.level.block.state.properties.DoubleBlockHalf; +import net.minecraft.world.phys.Vec3; + + + +public class TFMGSlidingDoorRenderer extends SafeBlockEntityRenderer { + + public TFMGSlidingDoorRenderer(Context context) {} + + @Override + protected void renderSafe(TFMGSlidingDoorBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, + int light, int overlay) { + BlockState blockState = be.getBlockState(); + if (!be.shouldRenderSpecial(blockState)) + return; + + Direction facing = blockState.getValue(DoorBlock.FACING); + Direction movementDirection = facing.getClockWise(); + + if (blockState.getValue(DoorBlock.HINGE) == DoorHingeSide.LEFT) + movementDirection = movementDirection.getOpposite(); + + float value = be.animation.getValue(partialTicks); + float value2 = Mth.clamp(value * 10, 0, 1); + + VertexConsumer vb = buffer.getBuffer(RenderType.cutoutMipped()); + Vec3 offset = Vec3.atLowerCornerOf(movementDirection.getNormal()) + .scale(value * value * 13 / 16f) + .add(Vec3.atLowerCornerOf(facing.getNormal()) + .scale(value2 * 1 / 32f)); + + if (((TFMGSlidingDoorBlock) blockState.getBlock()).isFoldingDoor()) { + Couple partials = + TFMGPartialModels.FOLDING_DOORS.get(BuiltInRegistries.BLOCK.getKey(blockState.getBlock())); + + boolean flip = blockState.getValue(DoorBlock.HINGE) == DoorHingeSide.RIGHT; + for (boolean left : Iterate.trueAndFalse) { + SuperByteBuffer partial = CachedBuffers.partial(partials.get(left ^ flip), blockState); + float f = flip ? -1 : 1; + + partial.translate(0, -1 / 512f, 0) + .translate(Vec3.atLowerCornerOf(facing.getNormal()) + .scale(value2 * 1 / 32f)); + partial.rotateCentered( + Mth.DEG_TO_RAD * AngleHelper.horizontalAngle(facing.getClockWise()), Direction.UP); + + if (flip) + partial.translate(0, 0, 1); + partial.rotateYDegrees(91 * f * value * value); + + if (!left) + partial.translate(0, 0, f / 2f) + .rotateYDegrees(-181 * f * value * value); + + if (flip) + partial.translate(0, 0, -1 / 2f); + + partial.light(light) + .renderInto(ms, vb); + } + + return; + } + + for (DoubleBlockHalf half : DoubleBlockHalf.values()) { + CachedBuffers.block(blockState.setValue(DoorBlock.OPEN, false) + .setValue(DoorBlock.HALF, half)) + .translate(0, half == DoubleBlockHalf.UPPER ? 1 - 1 / 512f : 0, 0) + .translate(offset) + .light(light) + .renderInto(ms, vb); + } + + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/encased/TFMGEncasedCogwheelBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/encased/TFMGEncasedCogwheelBlock.java new file mode 100644 index 00000000..2286e76b --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/encased/TFMGEncasedCogwheelBlock.java @@ -0,0 +1,299 @@ +package com.drmangotea.tfmg.content.decoration.encased; + + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.simibubi.create.api.contraption.transformable.TransformableBlock; +import com.simibubi.create.api.schematic.requirement.SpecialBlockItemRequirement; +import com.simibubi.create.content.contraptions.StructureTransform; +import com.simibubi.create.content.decoration.encasing.EncasedBlock; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.content.kinetics.base.IRotate; +import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import com.simibubi.create.content.kinetics.base.RotatedPillarKineticBlock; +import com.simibubi.create.content.kinetics.simpleRelays.CogWheelBlock; +import com.simibubi.create.content.kinetics.simpleRelays.ICogWheel; +import com.simibubi.create.content.kinetics.simpleRelays.SimpleKineticBlockEntity; +import com.simibubi.create.content.kinetics.simpleRelays.encased.EncasedCogwheelBlock; +import com.simibubi.create.content.schematics.requirement.ItemRequirement; +import com.simibubi.create.foundation.block.IBE; +import com.tterrag.registrate.util.entry.BlockEntityEntry; +import com.tterrag.registrate.util.entry.BlockEntry; +import net.createmod.catnip.data.Iterate; +import net.createmod.catnip.math.VoxelShaper; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Mirror; +import net.minecraft.world.level.block.Rotation; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.HitResult; + +import java.util.function.Supplier; + +public class TFMGEncasedCogwheelBlock extends RotatedPillarKineticBlock + implements ICogWheel, IBE, SpecialBlockItemRequirement, TransformableBlock, EncasedBlock { + public static final BooleanProperty TOP_SHAFT = EncasedCogwheelBlock.TOP_SHAFT; + public static final BooleanProperty BOTTOM_SHAFT = EncasedCogwheelBlock.BOTTOM_SHAFT; + protected final boolean isLarge; + private final Supplier casing; + private final BlockEntry blockSmall; + private final BlockEntry blockLarge; + private final BlockEntityEntry beSmall; + private final BlockEntityEntry beLarge; + + public static TFMGEncasedCogwheelBlock steel(Properties properties, boolean large, Supplier casing) { + + return new TFMGEncasedCogwheelBlock(properties, large, casing, TFMGBlocks.STEEL_COGWHEEL, TFMGBlocks.LARGE_STEEL_COGWHEEL, TFMGBlockEntities.ENCASED_STEEL_COGWHEEL, TFMGBlockEntities.ENCASED_LARGE_STEEL_COGWHEEL); + } + + public static TFMGEncasedCogwheelBlock aluminum(Properties properties, boolean large, Supplier casing) { + return new TFMGEncasedCogwheelBlock(properties, large, casing, TFMGBlocks.ALUMINUM_COGWHEEL, TFMGBlocks.LARGE_ALUMINUM_COGWHEEL, TFMGBlockEntities.ENCASED_ALUMINUM_COGWHEEL, TFMGBlockEntities.ENCASED_LARGE_ALUMINUM_COGWHEEL); + } + + public TFMGEncasedCogwheelBlock(Properties properties, boolean large, Supplier casing, BlockEntry blockSmall, BlockEntry blockLarge, BlockEntityEntry beSmall, BlockEntityEntry beLarge) { + super(properties); + + this.beSmall = beSmall; + this.beLarge = beLarge; + + this.blockSmall = blockSmall; + this.blockLarge = blockLarge; + + isLarge = large; + this.casing = casing; + registerDefaultState(defaultBlockState().setValue(TOP_SHAFT, false) + .setValue(BOTTOM_SHAFT, false)); + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + super.createBlockStateDefinition(builder.add(TOP_SHAFT, BOTTOM_SHAFT)); + } + + + @Override + public BlockState getStateForPlacement(BlockPlaceContext context) { + BlockState placedOn = context.getLevel() + .getBlockState(context.getClickedPos() + .relative(context.getClickedFace() + .getOpposite())); + BlockState stateForPlacement = super.getStateForPlacement(context); + if (ICogWheel.isSmallCog(placedOn)) + stateForPlacement = + stateForPlacement.setValue(AXIS, ((IRotate) placedOn.getBlock()).getRotationAxis(placedOn)); + return stateForPlacement; + } + + @Override + public boolean skipRendering(BlockState pState, BlockState pAdjacentBlockState, Direction pDirection) { + return pState.getBlock() == pAdjacentBlockState.getBlock() + && pState.getValue(AXIS) == pAdjacentBlockState.getValue(AXIS); + } + + @Override + public InteractionResult onWrenched(BlockState state, UseOnContext context) { + if (context.getClickedFace() + .getAxis() != state.getValue(AXIS)) + return super.onWrenched(state, context); + + Level level = context.getLevel(); + if (level.isClientSide) + return InteractionResult.SUCCESS; + + BlockPos pos = context.getClickedPos(); + KineticBlockEntity.switchToBlockState(level, pos, state.cycle(context.getClickedFace() + .getAxisDirection() == Direction.AxisDirection.POSITIVE ? TOP_SHAFT : BOTTOM_SHAFT)); + IWrenchable.playRotateSound(level, pos); + return InteractionResult.SUCCESS; + } + + @Override + public BlockState getRotatedBlockState(BlockState originalState, Direction targetedFace) { + originalState = swapShaftsForRotation(originalState, Rotation.CLOCKWISE_90, targetedFace.getAxis()); + return originalState.setValue(RotatedPillarKineticBlock.AXIS, + VoxelShaper + .axisAsFace(originalState.getValue(RotatedPillarKineticBlock.AXIS)) + .getClockWise(targetedFace.getAxis()) + .getAxis()); + } + + @Override + public InteractionResult onSneakWrenched(BlockState state, UseOnContext context) { + if (context.getLevel().isClientSide) + return InteractionResult.SUCCESS; + context.getLevel() + .levelEvent(2001, context.getClickedPos(), Block.getId(state)); + KineticBlockEntity.switchToBlockState(context.getLevel(), context.getClickedPos(), + (isLarge ? blockLarge : blockSmall).getDefaultState() + .setValue(AXIS, state.getValue(AXIS))); + return InteractionResult.SUCCESS; + } + + @Override + public boolean hasShaftTowards(LevelReader world, BlockPos pos, BlockState state, Direction face) { + return face.getAxis() == state.getValue(AXIS) + && state.getValue(face.getAxisDirection() == Direction.AxisDirection.POSITIVE ? TOP_SHAFT : BOTTOM_SHAFT); + } + + @Override + protected boolean areStatesKineticallyEquivalent(BlockState oldState, BlockState newState) { + if (newState.getBlock() instanceof TFMGEncasedCogwheelBlock + && oldState.getBlock() instanceof TFMGEncasedCogwheelBlock) { + if (newState.getValue(TOP_SHAFT) != oldState.getValue(TOP_SHAFT)) + return false; + if (newState.getValue(BOTTOM_SHAFT) != oldState.getValue(BOTTOM_SHAFT)) + return false; + } + return super.areStatesKineticallyEquivalent(oldState, newState); + } + + @Override + public boolean isSmallCog() { + return !isLarge; + } + + @Override + public boolean isLargeCog() { + return isLarge; + } + + @Override + public boolean canSurvive(BlockState state, LevelReader worldIn, BlockPos pos) { + return CogWheelBlock.isValidCogwheelPosition(ICogWheel.isLargeCog(state), worldIn, pos, state.getValue(AXIS)); + } + + @Override + public Direction.Axis getRotationAxis(BlockState state) { + return state.getValue(AXIS); + } + + public BlockState swapShafts(BlockState state) { + boolean bottom = state.getValue(BOTTOM_SHAFT); + boolean top = state.getValue(TOP_SHAFT); + state = state.setValue(BOTTOM_SHAFT, top); + state = state.setValue(TOP_SHAFT, bottom); + return state; + } + + public BlockState swapShaftsForRotation(BlockState state, Rotation rotation, Direction.Axis rotationAxis) { + if (rotation == Rotation.NONE) { + return state; + } + + Direction.Axis axis = state.getValue(AXIS); + if (axis == rotationAxis) { + return state; + } + if (rotation == Rotation.CLOCKWISE_180) { + return swapShafts(state); + } + boolean clockwise = rotation == Rotation.CLOCKWISE_90; + + if (rotationAxis == Direction.Axis.X) { + if (axis == Direction.Axis.Z && !clockwise + || axis == Direction.Axis.Y && clockwise) { + return swapShafts(state); + } + } else if (rotationAxis == Direction.Axis.Y) { + if (axis == Direction.Axis.X && !clockwise + || axis == Direction.Axis.Z && clockwise) { + return swapShafts(state); + } + } else if (rotationAxis == Direction.Axis.Z) { + if (axis == Direction.Axis.Y && !clockwise + || axis == Direction.Axis.X && clockwise) { + return swapShafts(state); + } + } + + return state; + } + + @Override + public BlockState mirror(BlockState state, Mirror mirror) { + Direction.Axis axis = state.getValue(AXIS); + if (axis == Direction.Axis.X && mirror == Mirror.FRONT_BACK + || axis == Direction.Axis.Z && mirror == Mirror.LEFT_RIGHT) { + return swapShafts(state); + } + return state; + } + + @Override + public BlockState rotate(BlockState state, Rotation rotation) { + state = swapShaftsForRotation(state, rotation, Direction.Axis.Y); + return super.rotate(state, rotation); + } + + @Override + public BlockState transform(BlockState state, StructureTransform transform) { + if (transform.mirror != null) { + state = mirror(state, transform.mirror); + } + + if (transform.rotationAxis == Direction.Axis.Y) { + return rotate(state, transform.rotation); + } + + state = swapShaftsForRotation(state, transform.rotation, transform.rotationAxis); + state = state.setValue(AXIS, transform.rotateAxis(state.getValue(AXIS))); + return state; + } + + @Override + public ItemRequirement getRequiredItems(BlockState state, BlockEntity be) { + return ItemRequirement + .of(isLarge ? blockLarge.getDefaultState() : blockSmall.getDefaultState(), be); + } + + @Override + public Class getBlockEntityClass() { + return SimpleKineticBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return isLarge ? beLarge.get() : beSmall.get(); + } + + @Override + public Block getCasing() { + return casing.get(); + } + + @Override + public void handleEncasing(BlockState state, Level level, BlockPos pos, ItemStack heldItem, Player player, InteractionHand hand, + BlockHitResult ray) { + BlockState encasedState = defaultBlockState() + .setValue(AXIS, state.getValue(AXIS)); + + for (Direction d : Iterate.directionsInAxis(state.getValue(AXIS))) { + BlockState adjacentState = level.getBlockState(pos.relative(d)); + if (!(adjacentState.getBlock() instanceof IRotate)) + continue; + IRotate def = (IRotate) adjacentState.getBlock(); + if (!def.hasShaftTowards(level, pos.relative(d), adjacentState, d.getOpposite())) + continue; + encasedState = + encasedState.cycle(d.getAxisDirection() == Direction.AxisDirection.POSITIVE ? TFMGEncasedCogwheelBlock.TOP_SHAFT + : TFMGEncasedCogwheelBlock.BOTTOM_SHAFT); + } + + KineticBlockEntity.switchToBlockState(level, pos, encasedState); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/encased/TFMGEncasedShaftBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/encased/TFMGEncasedShaftBlock.java new file mode 100644 index 00000000..38e61ed8 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/encased/TFMGEncasedShaftBlock.java @@ -0,0 +1,80 @@ +package com.drmangotea.tfmg.content.decoration.encased; + + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.api.schematic.requirement.SpecialBlockItemRequirement; +import com.simibubi.create.content.decoration.encasing.EncasedBlock; +import com.simibubi.create.content.kinetics.base.AbstractEncasedShaftBlock; +import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import com.simibubi.create.content.kinetics.base.RotatedPillarKineticBlock; +import com.simibubi.create.content.schematics.requirement.ItemRequirement; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.HitResult; + +import java.util.function.Supplier; + +public class TFMGEncasedShaftBlock extends AbstractEncasedShaftBlock + implements IBE, SpecialBlockItemRequirement, EncasedBlock { + + private final Supplier casing; + + public TFMGEncasedShaftBlock(Properties properties, Supplier casing) { + super(properties); + this.casing = casing; + } + + @Override + public InteractionResult onSneakWrenched(BlockState state, UseOnContext context) { + if (context.getLevel().isClientSide) + return InteractionResult.SUCCESS; + context.getLevel() + .levelEvent(2001, context.getClickedPos(), Block.getId(state)); + KineticBlockEntity.switchToBlockState(context.getLevel(), context.getClickedPos(), + AllBlocks.SHAFT.getDefaultState() + .setValue(AXIS, state.getValue(AXIS))); + return InteractionResult.SUCCESS; + } + + + + @Override + public ItemRequirement getRequiredItems(BlockState state, BlockEntity be) { + return ItemRequirement.of(AllBlocks.SHAFT.getDefaultState(), be); + } + + @Override + public Class getBlockEntityClass() { + return KineticBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.TFMG_ENCASED_SHAFT.get(); + } + + @Override + public Block getCasing() { + return casing.get(); + } + + @Override + public void handleEncasing(BlockState state, Level level, BlockPos pos, ItemStack heldItem, Player player, InteractionHand hand, + BlockHitResult ray) { + KineticBlockEntity.switchToBlockState(level, pos, defaultBlockState() + .setValue(RotatedPillarKineticBlock.AXIS, state.getValue(RotatedPillarKineticBlock.AXIS))); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/flywheels/TFMGFlywheelBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/flywheels/TFMGFlywheelBlock.java new file mode 100644 index 00000000..e48745e9 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/flywheels/TFMGFlywheelBlock.java @@ -0,0 +1,88 @@ +package com.drmangotea.tfmg.content.decoration.flywheels; + + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.simibubi.create.AllShapes; +import com.simibubi.create.content.kinetics.base.RotatedPillarKineticBlock; +import com.simibubi.create.foundation.block.IBE; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.Direction.Axis; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.RenderShape; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class TFMGFlywheelBlock extends RotatedPillarKineticBlock implements IBE { + + + public final PartialModel model; + + public static TFMGFlywheelBlock steel(Properties properties){ + return new TFMGFlywheelBlock(properties, TFMGPartialModels.STEEL_FLYWHEEL); + } + public static TFMGFlywheelBlock aluminum(Properties properties){ + return new TFMGFlywheelBlock(properties, TFMGPartialModels.ALUMINUM_FLYWHEEL); + } + public static TFMGFlywheelBlock cast_iron(Properties properties){ + return new TFMGFlywheelBlock(properties, TFMGPartialModels.CAST_IRON_FLYWHEEL); + } + public static TFMGFlywheelBlock lead(Properties properties){ + return new TFMGFlywheelBlock(properties, TFMGPartialModels.LEAD_FLYWHEEL); + } + public static TFMGFlywheelBlock nickel(Properties properties){ + return new TFMGFlywheelBlock(properties, TFMGPartialModels.NICKEL_FLYWHEEL); + } + + + public TFMGFlywheelBlock(Properties properties,PartialModel model) { + super(properties); + this.model = model; + } + + @Override + public Class getBlockEntityClass() { + return TFMGFlywheelBlockEntity.class; + } + + @Override + public VoxelShape getShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, CollisionContext pContext) { + return AllShapes.LARGE_GEAR.get(pState.getValue(AXIS)); + } + + @Override + public RenderShape getRenderShape(BlockState pState) { + return RenderShape.ENTITYBLOCK_ANIMATED; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.TFMG_FLYWHEEL.get(); + } + + @Override + public boolean hasShaftTowards(LevelReader world, BlockPos pos, BlockState state, Direction face) { + return face.getAxis() == getRotationAxis(state); + } + + @Override + public Axis getRotationAxis(BlockState state) { + return state.getValue(AXIS); + } + + @Override + public float getParticleTargetRadius() { + return 2f; + } + + @Override + public float getParticleInitialRadius() { + return 1.75f; + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/flywheels/TFMGFlywheelBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/decoration/flywheels/TFMGFlywheelBlockEntity.java new file mode 100644 index 00000000..acd40318 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/flywheels/TFMGFlywheelBlockEntity.java @@ -0,0 +1,56 @@ +package com.drmangotea.tfmg.content.decoration.flywheels; + +import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import net.createmod.catnip.animation.LerpedFloat; +import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.AABB; + +public class TFMGFlywheelBlockEntity extends KineticBlockEntity { + + LerpedFloat visualSpeed = LerpedFloat.linear(); + float angle; + + + + public TFMGFlywheelBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + @Override + protected AABB createRenderBoundingBox() { + return super.createRenderBoundingBox().inflate(2); + } + + @Override + public void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + if (clientPacket) + visualSpeed.chase(getGeneratedSpeed(), 1 / 64f, LerpedFloat.Chaser.EXP); + } + + @Override + public void tick() { + super.tick(); + + if (!level.isClientSide) + return; + + + + float targetSpeed = getSpeed(); + visualSpeed.updateChaseTarget(targetSpeed); + visualSpeed.tickChaser(); + angle += visualSpeed.getValue() * 3 / 10f; + angle %= 360; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/flywheels/TFMGFlywheelRenderer.java b/src/main/java/com/drmangotea/tfmg/content/decoration/flywheels/TFMGFlywheelRenderer.java new file mode 100644 index 00000000..9a1ca08e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/flywheels/TFMGFlywheelRenderer.java @@ -0,0 +1,50 @@ +package com.drmangotea.tfmg.content.decoration.flywheels; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer; +import dev.engine_room.flywheel.api.visualization.VisualizationManager; +import net.createmod.catnip.math.AngleHelper; +import net.createmod.catnip.render.CachedBuffers; +import net.createmod.catnip.render.SuperByteBuffer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.world.level.block.state.BlockState; + +public class TFMGFlywheelRenderer extends KineticBlockEntityRenderer { + + public TFMGFlywheelRenderer(BlockEntityRendererProvider.Context context) { + super(context); + } + + @Override + protected void renderSafe(TFMGFlywheelBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, + int light, int overlay) { + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); + + if (VisualizationManager.supportsVisualization(be.getLevel())) + return; + + BlockState blockState = be.getBlockState(); + + float speed = be.visualSpeed.getValue(partialTicks) * 3 / 10f; + float angle = be.angle + speed * partialTicks; + + VertexConsumer vb = buffer.getBuffer(RenderType.solid()); + renderFlywheel(be, ms, light, blockState, angle, vb); + } + + private void renderFlywheel(TFMGFlywheelBlockEntity be, PoseStack ms, int light, BlockState blockState, float angle, + VertexConsumer vb) { + SuperByteBuffer wheel = CachedBuffers.block(blockState); + kineticRotationTransform(wheel, be, getRotationAxisOf(be), AngleHelper.rad(angle), light); + wheel.renderInto(ms, vb); + } + + @Override + protected BlockState getRenderedBlockState(TFMGFlywheelBlockEntity be) { + return shaft(getRotationAxisOf(be)); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/flywheels/TFMGFlywheelVisual.java b/src/main/java/com/drmangotea/tfmg/content/decoration/flywheels/TFMGFlywheelVisual.java new file mode 100644 index 00000000..dc38e01c --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/flywheels/TFMGFlywheelVisual.java @@ -0,0 +1,107 @@ +package com.drmangotea.tfmg.content.decoration.flywheels; + +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual; +import com.simibubi.create.content.kinetics.base.RotatingInstance; +import com.simibubi.create.content.kinetics.flywheel.FlywheelBlockEntity; +import com.simibubi.create.foundation.render.AllInstanceTypes; +import dev.engine_room.flywheel.api.instance.Instance; +import dev.engine_room.flywheel.api.visualization.VisualizationContext; +import dev.engine_room.flywheel.lib.instance.InstanceTypes; +import dev.engine_room.flywheel.lib.instance.TransformedInstance; +import dev.engine_room.flywheel.lib.model.Models; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import dev.engine_room.flywheel.lib.visual.SimpleDynamicVisual; +import net.createmod.catnip.math.AngleHelper; +import net.minecraft.core.Direction; +import org.joml.Matrix4f; +import org.joml.Quaternionf; + +import java.util.function.Consumer; + +public class TFMGFlywheelVisual extends KineticBlockEntityVisual implements SimpleDynamicVisual { + + protected final RotatingInstance shaft; + protected final TransformedInstance wheel; + protected float lastAngle = Float.NaN; + + protected final Matrix4f baseTransform = new Matrix4f(); + + + + + + public TFMGFlywheelVisual(VisualizationContext context, TFMGFlywheelBlockEntity blockEntity, float partialTick) { + super(context, blockEntity, partialTick); + + var axis = rotationAxis(); + shaft = instancerProvider().instancer(AllInstanceTypes.ROTATING, Models.partial(AllPartialModels.SHAFT)) + .createInstance(); + + shaft.setup(TFMGFlywheelVisual.this.blockEntity) + .setPosition(getVisualPosition()) + .rotateToFace(axis) + .setChanged(); + + wheel = instancerProvider().instancer(InstanceTypes.TRANSFORMED, Models.partial(((TFMGFlywheelBlock)blockEntity.getBlockState().getBlock()).model)) + .createInstance(); + + + Direction align = Direction.fromAxisAndDirection(axis, Direction.AxisDirection.POSITIVE); + + wheel.translate(getVisualPosition()) + .center() + .rotate(new Quaternionf().rotateTo(0, 1, 0, align.getStepX(), align.getStepY(), align.getStepZ())); + + baseTransform.set(wheel.pose); + + animate(blockEntity.angle); + } + + @Override + public void beginFrame(Context ctx) { + + float partialTicks = ctx.partialTick(); + + float speed = blockEntity.visualSpeed.getValue(partialTicks) * 3 / 10f; + float angle = blockEntity.angle + speed * partialTicks; + + if (Math.abs(angle - lastAngle) < 0.001) + return; + + animate(angle); + + lastAngle = angle; + } + + private void animate(float angle) { + wheel.setTransform(baseTransform) + .rotateY(AngleHelper.rad(angle)) + .uncenter() + .setChanged(); + } + + @Override + public void update(float pt) { + shaft.setup(blockEntity) + .setChanged(); + } + + @Override + public void updateLight(float partialTick) { + relight(shaft, wheel); + } + + @Override + protected void _delete() { + shaft.delete(); + wheel.delete(); + } + + @Override + public void collectCrumblingInstances(Consumer consumer) { + consumer.accept(shaft); + consumer.accept(wheel); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/gearbox/SteelGearboxBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/gearbox/SteelGearboxBlock.java new file mode 100644 index 00000000..fd4fbc1b --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/gearbox/SteelGearboxBlock.java @@ -0,0 +1,67 @@ +package com.drmangotea.tfmg.content.decoration.gearbox; + + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.content.kinetics.base.RotatedPillarKineticBlock; +import com.simibubi.create.content.kinetics.gearbox.GearboxBlockEntity; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.Direction.Axis; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.material.PushReaction; +import net.minecraft.world.phys.HitResult; + +public class SteelGearboxBlock extends RotatedPillarKineticBlock implements IBE { + + public SteelGearboxBlock(Properties properties) { + super(properties); + } + @Override + public PushReaction getPistonPushReaction(BlockState state) { + return PushReaction.PUSH_ONLY; + } + + //@Override + //public ItemStack getCloneItemStack(BlockState state, HitResult target, BlockGetter world, BlockPos pos, + // Player player) { + // if (state.getValue(AXIS).isVertical()) + // return super.getCloneItemStack(state, target, world, pos, player); +// + // return new ItemStack(TFMGItems.STEEL_VERTICAL_GEARBOX.get()); + //} + + @Override + public BlockState getStateForPlacement(BlockPlaceContext context) { + return defaultBlockState().setValue(AXIS, Axis.Y); + } + + // IRotate: + + @Override + public boolean hasShaftTowards(LevelReader world, BlockPos pos, BlockState state, Direction face) { + return face.getAxis() != state.getValue(AXIS); + } + + @Override + public Axis getRotationAxis(BlockState state) { + return state.getValue(AXIS); + } + + @Override + public Class getBlockEntityClass() { + return GearboxBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.STEEL_GEARBOX.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/gearbox/SteelVerticalGearboxItem.java b/src/main/java/com/drmangotea/tfmg/content/decoration/gearbox/SteelVerticalGearboxItem.java new file mode 100644 index 00000000..4528238b --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/gearbox/SteelVerticalGearboxItem.java @@ -0,0 +1,59 @@ +package com.drmangotea.tfmg.content.decoration.gearbox; + + +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.simibubi.create.content.kinetics.base.IRotate; +import net.createmod.catnip.data.Iterate; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.Direction.Axis; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; + +import java.util.Map; + +public class SteelVerticalGearboxItem extends BlockItem { + + public SteelVerticalGearboxItem(Properties builder) { + super(TFMGBlocks.STEEL_GEARBOX.get(), builder); + } + + @Override + public String getDescriptionId() { + return "item.tfmg.steel_vertical_gearbox"; + } + + @Override + public void registerBlocks(Map p_195946_1_, Item p_195946_2_) { + } + + @Override + protected boolean updateCustomBlockEntityTag(BlockPos pos, Level world, Player player, ItemStack stack, BlockState state) { + Axis prefferedAxis = null; + for (Direction side : Iterate.horizontalDirections) { + BlockState blockState = world.getBlockState(pos.relative(side)); + if (blockState.getBlock() instanceof IRotate) { + if (((IRotate) blockState.getBlock()).hasShaftTowards(world, pos.relative(side), blockState, + side.getOpposite())) + if (prefferedAxis != null && prefferedAxis != side.getAxis()) { + prefferedAxis = null; + break; + } else { + prefferedAxis = side.getAxis(); + } + } + } + + Axis axis = prefferedAxis == null ? player.getDirection() + .getClockWise() + .getAxis() : prefferedAxis == Axis.X ? Axis.Z : Axis.X; + world.setBlockAndUpdate(pos, state.setValue(BlockStateProperties.AXIS, axis)); + return super.updateCustomBlockEntityTag(pos, world, player, stack, state); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGEncasedPipeBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGEncasedPipeBlock.java new file mode 100644 index 00000000..d8819c22 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGEncasedPipeBlock.java @@ -0,0 +1,68 @@ +package com.drmangotea.tfmg.content.decoration.pipes; + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.content.fluids.FluidTransportBehaviour; +import com.simibubi.create.content.fluids.pipes.EncasedPipeBlock; +import com.simibubi.create.content.fluids.pipes.FluidPipeBlockEntity; + +import net.createmod.catnip.data.Iterate; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.HitResult; + +import java.util.function.Supplier; + +public class TFMGEncasedPipeBlock extends EncasedPipeBlock { + + public final TFMGPipes.PipeMaterial material; + public TFMGEncasedPipeBlock(Properties p_i48339_1_, Supplier casing, TFMGPipes.PipeMaterial material) { + super(p_i48339_1_, casing); + this.material = material; + } + //@Override + //public ItemStack getCloneItemStack(BlockState state, HitResult target, BlockGetter world, BlockPos pos, Player player) { + // return TFMGPipes.TFMG_PIPES.get(material).get(0).asStack(); + //} + @Override + public InteractionResult onWrenched(BlockState state, UseOnContext context) { + Level world = context.getLevel(); + BlockPos pos = context.getClickedPos(); + + if (world.isClientSide) + return InteractionResult.SUCCESS; + + context.getLevel() + .levelEvent(2001, context.getClickedPos(), Block.getId(state)); + BlockState equivalentPipe = transferSixWayProperties(state, TFMGPipes.TFMG_PIPES.get(material).get(0).getDefaultState()); + + Direction firstFound = Direction.UP; + for (Direction d : Iterate.directions) + if (state.getValue(FACING_TO_PROPERTY_MAP.get(d))) { + firstFound = d; + break; + } + FluidTransportBehaviour.cacheFlows(world, pos); + world.setBlockAndUpdate(pos, ((TFMGPipeBlock)TFMGPipes.TFMG_PIPES.get(material).get(0).get()) + .updateBlockState(equivalentPipe, firstFound, null, world, pos)); + FluidTransportBehaviour.loadFlows(world, pos); + return InteractionResult.SUCCESS; + } + @Override + public Class getBlockEntityClass() { + return FluidPipeBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.ENCASED_TFMG_PIPE.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGFluidValveBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGFluidValveBlock.java new file mode 100644 index 00000000..922d18a2 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGFluidValveBlock.java @@ -0,0 +1,33 @@ +package com.drmangotea.tfmg.content.decoration.pipes; + + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.content.fluids.pipes.IAxisPipe; +import com.simibubi.create.content.fluids.pipes.valve.FluidValveBlock; +import com.simibubi.create.content.fluids.pipes.valve.FluidValveBlockEntity; +import com.simibubi.create.foundation.block.IBE; +import com.simibubi.create.foundation.block.ProperWaterloggedBlock; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.properties.BooleanProperty; + +public class TFMGFluidValveBlock extends FluidValveBlock + implements IAxisPipe, IBE, ProperWaterloggedBlock { + + public static final BooleanProperty ENABLED = BooleanProperty.create("enabled"); + + public TFMGFluidValveBlock(Properties properties) { + super(properties); + registerDefaultState(defaultBlockState().setValue(ENABLED, false) + .setValue(WATERLOGGED, false)); + } + + @Override + public Class getBlockEntityClass() { + return FluidValveBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.TFMG_FLUID_VALVE.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGGlassPipeBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGGlassPipeBlock.java new file mode 100644 index 00000000..85400298 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGGlassPipeBlock.java @@ -0,0 +1,89 @@ +package com.drmangotea.tfmg.content.decoration.pipes; + + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.content.fluids.FluidTransportBehaviour; +import com.simibubi.create.content.fluids.pipes.EncasedPipeBlock; +import com.simibubi.create.content.fluids.pipes.FluidPipeBlock; +import com.simibubi.create.content.fluids.pipes.GlassFluidPipeBlock; +import com.simibubi.create.content.fluids.pipes.StraightPipeBlockEntity; +import com.simibubi.create.content.schematics.requirement.ItemRequirement; +import net.createmod.catnip.data.Iterate; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.HitResult; + +import java.util.Map; + +public class TFMGGlassPipeBlock extends GlassFluidPipeBlock { + + public final TFMGPipes.PipeMaterial material; + + public TFMGGlassPipeBlock(Properties p_i48339_1_, TFMGPipes.PipeMaterial material) { + super(p_i48339_1_); + this.material = material; + } + + @Override + public ItemRequirement getRequiredItems(BlockState state, BlockEntity te) { + return ItemRequirement.of(TFMGPipes.TFMG_PIPES.get(material).get(0).getDefaultState(), te); + } + + // @Override + // public ItemStack getCloneItemStack(BlockState state, HitResult target, BlockGetter world, BlockPos pos, + // Player player) { + // return TFMGPipes.TFMG_PIPES.get(material).get(0).asStack(); + // } + + @Override + public BlockState toRegularPipe(LevelAccessor world, BlockPos pos, BlockState state) { + Direction side = Direction.get(Direction.AxisDirection.POSITIVE, state.getValue(AXIS)); + Map facingToPropertyMap = FluidPipeBlock.PROPERTY_BY_DIRECTION; + return ((TFMGPipeBlock) TFMGPipes.TFMG_PIPES.get(material).get(0).get()) + .updateBlockState(TFMGPipes.TFMG_PIPES.get(material).get(0).getDefaultState() + .setValue(facingToPropertyMap.get(side), true) + .setValue(facingToPropertyMap.get(side.getOpposite()), true), side, null, world, pos); + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + if (!AllBlocks.COPPER_CASING.isIn(player.getItemInHand(hand))) + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + if (level.isClientSide) + return ItemInteractionResult.SUCCESS; + BlockState newState = TFMGPipes.TFMG_PIPES.get(material).get(1).getDefaultState(); + for (Direction d : Iterate.directionsInAxis(getAxis(state))) + newState = newState.setValue(EncasedPipeBlock.FACING_TO_PROPERTY_MAP.get(d), true); + FluidTransportBehaviour.cacheFlows(level, pos); + level.setBlockAndUpdate(pos, newState); + FluidTransportBehaviour.loadFlows(level, pos); + return ItemInteractionResult.SUCCESS; + } + + + + + @Override + public Class getBlockEntityClass() { + return StraightPipeBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.GLASS_TFMG_PIPE.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeAttachmentModel.java b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeAttachmentModel.java new file mode 100644 index 00000000..295c88cf --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeAttachmentModel.java @@ -0,0 +1,183 @@ +package com.drmangotea.tfmg.content.decoration.pipes; + +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.simibubi.create.content.decoration.bracket.BracketedBlockEntityBehaviour; +import com.simibubi.create.content.fluids.FluidTransportBehaviour; +import com.simibubi.create.content.fluids.pipes.FluidPipeBlock; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.model.BakedModelWrapperWithData; +import net.createmod.catnip.data.Iterate; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.block.model.BakedQuad; +import net.minecraft.client.resources.model.BakedModel; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import net.neoforged.neoforge.client.ChunkRenderTypeSet; +import net.neoforged.neoforge.client.model.data.ModelData; +import net.neoforged.neoforge.client.model.data.ModelProperty; +import net.neoforged.neoforge.common.util.TriState; +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +@OnlyIn(Dist.CLIENT) +public class TFMGPipeAttachmentModel extends BakedModelWrapperWithData { + + public final TFMGPipes.PipeMaterial material ; + private static final ModelProperty PIPE_PROPERTY = new ModelProperty<>(); + private boolean ao; + + public static TFMGPipeAttachmentModel withAOSteel(BakedModel template) { + return new TFMGPipeAttachmentModel(template, true, TFMGPipes.PipeMaterial.STEEL); + } + public static TFMGPipeAttachmentModel withAOAluminum(BakedModel template) { + return new TFMGPipeAttachmentModel(template, true, TFMGPipes.PipeMaterial.ALUMINUM); + } + public static TFMGPipeAttachmentModel withAOBrass(BakedModel template) { + return new TFMGPipeAttachmentModel(template, true, TFMGPipes.PipeMaterial.BRASS); + } + public static TFMGPipeAttachmentModel withAOCastIron(BakedModel template) { + return new TFMGPipeAttachmentModel(template, true, TFMGPipes.PipeMaterial.CAST_IRON); + } + public static TFMGPipeAttachmentModel withAOPlastic(BakedModel template) { + return new TFMGPipeAttachmentModel(template, true, TFMGPipes.PipeMaterial.PLASTIC); + } + + public TFMGPipeAttachmentModel(BakedModel template, boolean ao, TFMGPipes.PipeMaterial material) { + super(template); + this.ao = ao; + this.material = material; + } + + @Override + protected ModelData.Builder gatherModelData(ModelData.Builder builder, BlockAndTintGetter world, BlockPos pos, BlockState state, + ModelData blockEntityData) { + PipeModelData data = new PipeModelData(); + FluidTransportBehaviour transport = BlockEntityBehaviour.get(world, pos, FluidTransportBehaviour.TYPE); + BracketedBlockEntityBehaviour bracket = BlockEntityBehaviour.get(world, pos, BracketedBlockEntityBehaviour.TYPE); + + if (transport != null) + for (Direction d : Iterate.directions) + data.putAttachment(d, transport.getRenderedRimAttachment(world, pos, state, d)); + if (bracket != null) + data.putBracket(bracket.getBracket()); + + data.setEncased(FluidPipeBlock.shouldDrawCasing(world, pos, state)); + return builder.with(PIPE_PROPERTY, data); + } + + @Override + public ChunkRenderTypeSet getRenderTypes(@NotNull BlockState state, @NotNull RandomSource rand, @NotNull ModelData data) { + List set = new ArrayList<>(); + + set.add(super.getRenderTypes(state, rand, data)); + set.add(TFMGPartialModels.PIPE_CASINGS.get(material).get().getRenderTypes(state, rand, data)); + + if (data.has(PIPE_PROPERTY)) { + PipeModelData pipeData = data.get(PIPE_PROPERTY); + for (Direction d : Iterate.directions) { + FluidTransportBehaviour.AttachmentTypes type = pipeData.getAttachment(d); + for (FluidTransportBehaviour.AttachmentTypes.ComponentPartials partial : type.partials) { + ChunkRenderTypeSet attachmentRenderTypeSet = TFMGPartialModels.PIPE_ATTACHMENTS.get(material).get(partial).get(d) + .get().getRenderTypes(state, rand, data); + set.add(attachmentRenderTypeSet); + } + } + } + + return ChunkRenderTypeSet.union(set); + } + + @Override + public List getQuads(BlockState state, Direction side, RandomSource rand, ModelData data, RenderType renderType) { + List quads = super.getQuads(state, side, rand, data, renderType); + if (data.has(PIPE_PROPERTY)) { + PipeModelData pipeData = data.get(PIPE_PROPERTY); + quads = new ArrayList<>(quads); + addQuads(quads, state, side, rand, data, pipeData, renderType); + } + return quads; + } + + @Override + public TriState useAmbientOcclusion(BlockState state, ModelData data, RenderType renderType) { + if (ao) { + return TriState.TRUE; + } else { + return TriState.FALSE; + } + } + + @Override + public boolean useAmbientOcclusion() { + return ao; + } + + private void addQuads(List quads, BlockState state, Direction side, RandomSource rand, ModelData data, + PipeModelData pipeData, RenderType renderType) { + BakedModel bracket = pipeData.getBracket(); + if (bracket != null) + quads.addAll(bracket.getQuads(state, side, rand, data, renderType)); + for (Direction d : Iterate.directions) { + FluidTransportBehaviour.AttachmentTypes type = pipeData.getAttachment(d); + for (FluidTransportBehaviour.AttachmentTypes.ComponentPartials partial : type.partials) { + quads.addAll(TFMGPartialModels.PIPE_ATTACHMENTS.get(material).get(partial) + .get(d) + .get() + .getQuads(state, side, rand, data, renderType)); + } + } + if (pipeData.isEncased()) + quads.addAll(TFMGPartialModels.PIPE_CASINGS.get(material).get() + .getQuads(state, side, rand, data, renderType)); + } + + private static class PipeModelData { + private FluidTransportBehaviour.AttachmentTypes[] attachments; + private boolean encased; + private BakedModel bracket; + + public PipeModelData() { + attachments = new FluidTransportBehaviour.AttachmentTypes[6]; + Arrays.fill(attachments, FluidTransportBehaviour.AttachmentTypes.NONE); + } + + public void putBracket(BlockState state) { + if (state != null) { + this.bracket = Minecraft.getInstance() + .getBlockRenderer() + .getBlockModel(state); + } + } + + public BakedModel getBracket() { + return bracket; + } + + public void putAttachment(Direction face, FluidTransportBehaviour.AttachmentTypes rim) { + attachments[face.get3DDataValue()] = rim; + } + + public FluidTransportBehaviour.AttachmentTypes getAttachment(Direction face) { + return attachments[face.get3DDataValue()]; + } + + public void setEncased(boolean encased) { + this.encased = encased; + } + + public boolean isEncased() { + return encased; + } + } + + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeBlock.java new file mode 100644 index 00000000..3b1fd49e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeBlock.java @@ -0,0 +1,193 @@ +package com.drmangotea.tfmg.content.decoration.pipes; + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.content.decoration.bracket.BracketedBlockEntityBehaviour; +import com.simibubi.create.content.fluids.FluidPropagator; +import com.simibubi.create.content.fluids.FluidTransportBehaviour; +import com.simibubi.create.content.fluids.pipes.EncasedPipeBlock; +import com.simibubi.create.content.fluids.pipes.FluidPipeBlock; +import com.simibubi.create.content.fluids.pipes.FluidPipeBlockEntity; +import com.simibubi.create.content.fluids.pipes.GlassFluidPipeBlock; +import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import net.createmod.catnip.data.Iterate; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.RandomSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.HitResult; +import net.minecraft.world.phys.Vec3; + +import javax.annotation.Nullable; +import java.util.Arrays; + +public class TFMGPipeBlock extends FluidPipeBlock { + + public final TFMGPipes.PipeMaterial material; + + public TFMGPipeBlock(Properties properties, TFMGPipes.PipeMaterial material) { + super(properties); + this.material = material; + } + + public BlockState updateBlockState(BlockState state, Direction preferredDirection, @Nullable Direction ignore, + BlockAndTintGetter world, BlockPos pos) { + if (world.getBlockEntity(pos) instanceof TFMGPipeBlockEntity) + if (((TFMGPipeBlockEntity) world.getBlockEntity(pos)).locked) { + return state; + } + + BracketedBlockEntityBehaviour bracket = BlockEntityBehaviour.get(world, pos, BracketedBlockEntityBehaviour.TYPE); + if (bracket != null && bracket.isBracketPresent()) + return state; + + BlockState prevState = state; + int prevStateSides = (int) Arrays.stream(Iterate.directions) + .map(PROPERTY_BY_DIRECTION::get) + .filter(prevState::getValue) + .count(); + + // Update sides that are not ignored + for (Direction d : Iterate.directions) + if (d != ignore) { + boolean shouldConnect = canConnectTo(world, pos.relative(d), world.getBlockState(pos.relative(d)), d); + + if (world.getBlockEntity(pos.relative(d)) instanceof TFMGPipeBlockEntity) { + if (((TFMGPipeBlockEntity) world.getBlockEntity(pos.relative(d))).locked) { + shouldConnect = false; + if (world.getBlockState(pos.relative(d)).getValue(PROPERTY_BY_DIRECTION.get(d.getOpposite()))) { + shouldConnect = true; + } + } + + + } + state = state.setValue(PROPERTY_BY_DIRECTION.get(d), shouldConnect); + } + + // See if it has enough connections + Direction connectedDirection = null; + for (Direction d : Iterate.directions) { + if (isOpenAt(state, d)) { + if (connectedDirection != null) + return state; + connectedDirection = d; + } + } + // Add opposite end if only one connection + if (connectedDirection != null) + return state.setValue(PROPERTY_BY_DIRECTION.get(connectedDirection.getOpposite()), true); + + // If we can't connect to anything and weren't connected before, do nothing + if (prevStateSides == 2) + return prevState; + + // Use preferred + return state.setValue(PROPERTY_BY_DIRECTION.get(preferredDirection), true) + .setValue(PROPERTY_BY_DIRECTION.get(preferredDirection.getOpposite()), true); + } + + @Override + public void tick(BlockState state, ServerLevel world, BlockPos pos, RandomSource r) { + super.tick(state, world, pos, r); + } + + @Override + public InteractionResult onWrenched(BlockState state, UseOnContext context) { + + + if (tryRemoveBracket(context)) + return InteractionResult.SUCCESS; + Level world = context.getLevel(); + BlockPos pos = context.getClickedPos(); + Direction clickedFace = context.getClickedFace(); + + Direction.Axis axis = getAxis(world, pos, state); + if (axis == null) { + Vec3 clickLocation = context.getClickLocation() + .subtract(pos.getX(), pos.getY(), pos.getZ()); + double closest = Float.MAX_VALUE; + Direction argClosest = Direction.UP; + for (Direction direction : Iterate.directions) { + if (clickedFace.getAxis() == direction.getAxis()) + continue; + Vec3 centerOf = Vec3.atCenterOf(direction.getNormal()); + double distance = centerOf.distanceToSqr(clickLocation); + if (distance < closest) { + closest = distance; + argClosest = direction; + } + } + axis = argClosest.getAxis(); + } + + if (clickedFace.getAxis() == axis) + return InteractionResult.PASS; + if (!world.isClientSide) { + withBlockEntityDo(world, pos, fpte -> fpte.getBehaviour(FluidTransportBehaviour.TYPE).interfaces.values() + .stream() + .filter(pc -> pc != null && pc.hasFlow()) + .findAny() + .ifPresent($ -> AllAdvancements.GLASS_PIPE.awardTo(context.getPlayer()))); + + FluidTransportBehaviour.cacheFlows(world, pos); + world.setBlockAndUpdate(pos, TFMGPipes.TFMG_PIPES.get(material).get(2).getDefaultState() + .setValue(GlassFluidPipeBlock.AXIS, axis) + .setValue(BlockStateProperties.WATERLOGGED, state.getValue(BlockStateProperties.WATERLOGGED))); + FluidTransportBehaviour.loadFlows(world, pos); + } + return InteractionResult.SUCCESS; + } + + @Nullable + private Direction.Axis getAxis(BlockGetter world, BlockPos pos, BlockState state) { + return FluidPropagator.getStraightPipeAxis(state); + } + + //@Override + //public ItemStack getCloneItemStack(BlockState state, HitResult target, BlockGetter world, BlockPos pos, + // Player player) { + // return TFMGPipes.TFMG_PIPES.get(material).get(0).asStack(); + //} + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + if (!AllBlocks.COPPER_CASING.isIn(player.getItemInHand(hand))) + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + if (world.isClientSide) + return ItemInteractionResult.SUCCESS; + + FluidTransportBehaviour.cacheFlows(world, pos); + world.setBlockAndUpdate(pos, + EncasedPipeBlock.transferSixWayProperties(state, TFMGPipes.TFMG_PIPES.get(material).get(1).getDefaultState())); + FluidTransportBehaviour.loadFlows(world, pos); + return ItemInteractionResult.SUCCESS; + } + + @Override + public Class getBlockEntityClass() { + return FluidPipeBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.TFMG_PIPE.get(); + } + +} + diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeBlockEntity.java new file mode 100644 index 00000000..992d124d --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeBlockEntity.java @@ -0,0 +1,67 @@ +package com.drmangotea.tfmg.content.decoration.pipes; + + +import com.simibubi.create.AllBlocks; +import com.simibubi.create.content.fluids.FluidTransportBehaviour; +import com.simibubi.create.content.fluids.pipes.FluidPipeBlock; +import com.simibubi.create.content.fluids.pipes.FluidPipeBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.BooleanProperty; + +import java.util.Map; + +public class TFMGPipeBlockEntity extends FluidPipeBlockEntity { + + public boolean locked = false; + public TFMGPipeBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + public void toggleLock(Player player) { + level.playSound(player, getBlockPos(), SoundEvents.ITEM_PICKUP, SoundSource.BLOCKS, 0.4f, 0.5f); + + locked = !locked; + if (locked) + return; + + BlockState newState; + Level world = level; + BlockPos pos = getBlockPos(); + FluidTransportBehaviour.cacheFlows(world, pos); + newState = updatePipe(world, pos, getBlockState()).setValue(BlockStateProperties.WATERLOGGED, getBlockState().getValue(BlockStateProperties.WATERLOGGED)); + world.setBlock(pos, newState, 3); + FluidTransportBehaviour.loadFlows(world, pos); + } + + public BlockState updatePipe(LevelAccessor world, BlockPos pos, BlockState state) { + Direction side = Direction.UP; + Map facingToPropertyMap = FluidPipeBlock.PROPERTY_BY_DIRECTION; + return AllBlocks.FLUID_PIPE.get() + .updateBlockState(state.getBlock().defaultBlockState() + .setValue(facingToPropertyMap.get(side), true) + .setValue(facingToPropertyMap.get(side.getOpposite()), true), side, null, world, pos); + } + + @Override + public void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + compound.putBoolean("Locked", locked); + super.write(compound,registries , clientPacket); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + locked = compound.getBoolean("Locked"); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeModelData.java b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeModelData.java new file mode 100644 index 00000000..39c432bd --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeModelData.java @@ -0,0 +1,49 @@ +package com.drmangotea.tfmg.content.decoration.pipes; + +import com.simibubi.create.content.fluids.FluidTransportBehaviour; +import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.model.BakedModel; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.state.BlockState; + +import java.util.Arrays; + +public class TFMGPipeModelData { + private FluidTransportBehaviour.AttachmentTypes[] attachments; + private boolean encased; + private BakedModel bracket; + + public TFMGPipeModelData() { + attachments = new FluidTransportBehaviour.AttachmentTypes[6]; + Arrays.fill(attachments, FluidTransportBehaviour.AttachmentTypes.NONE); + } + + public void putBracket(BlockState state) { + if (state != null) { + this.bracket = Minecraft.getInstance() + .getBlockRenderer() + .getBlockModel(state); + } + } + + public BakedModel getBracket() { + return bracket; + } + + public void putAttachment(Direction face, FluidTransportBehaviour.AttachmentTypes rim) { + attachments[face.get3DDataValue()] = rim; + } + + public FluidTransportBehaviour.AttachmentTypes getAttachment(Direction face) { + return attachments[face.get3DDataValue()]; + } + + public void setEncased(boolean encased) { + this.encased = encased; + } + + public boolean isEncased() { + return encased; + } +} + diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipes.java b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipes.java new file mode 100644 index 00000000..28f33c17 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipes.java @@ -0,0 +1,197 @@ +package com.drmangotea.tfmg.content.decoration.pipes; + +import com.drmangotea.tfmg.config.TFMGStress; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllSpriteShifts; +import com.simibubi.create.content.decoration.encasing.EncasedCTBehaviour; +import com.simibubi.create.content.decoration.encasing.EncasingRegistry; +import com.simibubi.create.content.fluids.PipeAttachmentModel; +import com.simibubi.create.content.fluids.pipes.SmartFluidPipeGenerator; +import com.simibubi.create.content.fluids.pipes.valve.FluidValveBlock; +import com.simibubi.create.foundation.data.AssetLookup; +import com.simibubi.create.foundation.data.BlockStateGen; +import com.simibubi.create.foundation.data.CreateRegistrate; +import com.simibubi.create.foundation.data.SharedProperties; +import com.tterrag.registrate.util.entry.BlockEntry; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.material.MapColor; +import net.neoforged.neoforge.client.model.generators.ConfiguredModel; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static com.drmangotea.tfmg.TFMG.REGISTRATE; +import static com.simibubi.create.foundation.data.ModelGen.customItemModel; +import static com.simibubi.create.foundation.data.TagGen.axeOrPickaxe; +import static com.simibubi.create.foundation.data.TagGen.pickaxeOnly; + +@SuppressWarnings("removal") +public class TFMGPipes { + + public static final Map>> TFMG_PIPES = new HashMap<>(); + + + /* + 0: pipe + 1: encased + 2: glass + 3: pump + 4: smart pipe + 5: valve + */ + + static { + + + for (PipeMaterial pipeType : PipeMaterial.values()) { + + List> pipes = new ArrayList<>(); + + BlockEntry pipe = + REGISTRATE.block(pipeType.name + "_pipe", p -> new TFMGPipeBlock(p, pipeType)) + .initialProperties(SharedProperties::copperMetal) + .transform(pickaxeOnly()) + .blockstate(BlockStateGen.pipe()) + .onRegister(CreateRegistrate.blockModel(()-> + switch (pipeType){ + case BRASS -> TFMGPipeAttachmentModel::withAOBrass; + case STEEL -> TFMGPipeAttachmentModel::withAOSteel; + case ALUMINUM -> TFMGPipeAttachmentModel::withAOAluminum; + case CAST_IRON -> TFMGPipeAttachmentModel::withAOCastIron; + case PLASTIC -> TFMGPipeAttachmentModel::withAOPlastic; + })) + .item() + .transform(customItemModel()) + .register(); + + pipes.add(pipe); + + BlockEntry copper_encased_pipe = + REGISTRATE.block("copper_encased_" + pipeType.name + "_pipe", p -> new TFMGEncasedPipeBlock(p, AllBlocks.COPPER_CASING::get, pipeType)) + .initialProperties(SharedProperties::copperMetal) + .properties(p -> p.noOcclusion().mapColor(MapColor.TERRACOTTA_LIGHT_GRAY)) + .transform(axeOrPickaxe()) + .blockstate(BlockStateGen.encasedPipe()) + .onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCTBehaviour(AllSpriteShifts.COPPER_CASING))) + .onRegister(CreateRegistrate.casingConnectivity((block, cc) -> cc.make(block, AllSpriteShifts.COPPER_CASING, + (s, f) -> !s.getValue(TFMGEncasedPipeBlock.FACING_TO_PROPERTY_MAP.get(f))))) + .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::withoutAO)) + .loot((p, b) -> p.dropOther(b, pipe.get())) + .transform(EncasingRegistry.addVariantTo(pipe)) + .register(); + + pipes.add(copper_encased_pipe); + + BlockEntry glass_pipe = + REGISTRATE.block("glass_" + pipeType.name + "_pipe", p -> new TFMGGlassPipeBlock(p, pipeType)) + .initialProperties(SharedProperties::copperMetal) + .addLayer(() -> RenderType::cutoutMipped) + .transform(pickaxeOnly()) + .blockstate((c, p) -> { + p.getVariantBuilder(c.getEntry()) + .forAllStatesExcept(state -> { + Direction.Axis axis = state.getValue(BlockStateProperties.AXIS); + return ConfiguredModel.builder() + .modelFile(p.models() + .getExistingFile(p.modLoc("block/" + pipeType.name + "_pipe/window"))) + .uvLock(false) + .rotationX(axis == Direction.Axis.Y ? 0 : 90) + .rotationY(axis == Direction.Axis.X ? 90 : 0) + .build(); + }, BlockStateProperties.WATERLOGGED); + }) + .onRegister(CreateRegistrate.blockModel(()-> + switch (pipeType){ + case BRASS -> TFMGPipeAttachmentModel::withAOBrass; + case STEEL -> TFMGPipeAttachmentModel::withAOSteel; + case ALUMINUM -> TFMGPipeAttachmentModel::withAOAluminum; + case CAST_IRON -> TFMGPipeAttachmentModel::withAOCastIron; + case PLASTIC -> TFMGPipeAttachmentModel::withAOPlastic; + })) + .loot((p, b) -> p.dropOther(b, pipe.get())) + .register(); + + pipes.add(glass_pipe); + + BlockEntry fluid_pump = + REGISTRATE.block(pipeType.name + "_mechanical_pump", TFMGPumpBlock::new) + .initialProperties(SharedProperties::copperMetal) + .transform(pickaxeOnly()) + .blockstate(BlockStateGen.directionalBlockProviderIgnoresWaterlogged(true)) + .onRegister(CreateRegistrate.blockModel(()-> + switch (pipeType){ + case BRASS -> TFMGPipeAttachmentModel::withAOBrass; + case STEEL -> TFMGPipeAttachmentModel::withAOSteel; + case ALUMINUM -> TFMGPipeAttachmentModel::withAOAluminum; + case CAST_IRON -> TFMGPipeAttachmentModel::withAOCastIron; + case PLASTIC -> TFMGPipeAttachmentModel::withAOPlastic; + })) + .transform(TFMGStress.setImpact(4.0)) + .item() + .transform(customItemModel()) + .register(); + + pipes.add(fluid_pump); + + BlockEntry smart_pipe = + REGISTRATE.block(pipeType.name + "_smart_fluid_pipe", TFMGSmartFluidPipeBlock::new) + .initialProperties(SharedProperties::copperMetal) + .transform(pickaxeOnly()) + .blockstate(new SmartFluidPipeGenerator()::generate) + .onRegister(CreateRegistrate.blockModel(()-> + switch (pipeType){ + case BRASS -> TFMGPipeAttachmentModel::withAOBrass; + case STEEL -> TFMGPipeAttachmentModel::withAOSteel; + case ALUMINUM -> TFMGPipeAttachmentModel::withAOAluminum; + case CAST_IRON -> TFMGPipeAttachmentModel::withAOCastIron; + case PLASTIC -> TFMGPipeAttachmentModel::withAOPlastic; + })) + .item() + .transform(customItemModel()) + .register(); + + pipes.add(smart_pipe); + + // BlockEntry fluid_valve = + // REGISTRATE.block(pipeType.name + "_fluid_valve", TFMGFluidValveBlock::new) + // .initialProperties(SharedProperties::copperMetal) + // .transform(pickaxeOnly()) + // .addLayer(() -> RenderType::cutoutMipped) + // .blockstate((c, p) -> BlockStateGen.directionalAxisBlock(c, p, + // (state, vertical) -> AssetLookup.partialBaseModel(c, p, vertical ? "vertical" : "horizontal", + // state.getValue(FluidValveBlock.ENABLED) ? "open" : "closed"))) + // .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::withAO)) + // .item() + // .transform(customItemModel()) + // .register(); +// + // pipes.add(fluid_valve); + + TFMG_PIPES.put(pipeType, pipes); + } + + + } + + public static void init() { + } + + public enum PipeMaterial { + BRASS("brass"), + STEEL("steel"), + ALUMINUM("aluminum"), + CAST_IRON("cast_iron"), + PLASTIC("plastic"); + + public final String name; + + PipeMaterial(String name) { + this.name = name; + } + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPumpBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPumpBlock.java new file mode 100644 index 00000000..0a79fe33 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPumpBlock.java @@ -0,0 +1,34 @@ +package com.drmangotea.tfmg.content.decoration.pipes; + + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.content.fluids.pump.PumpBlock; +import com.simibubi.create.content.fluids.pump.PumpBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +public class TFMGPumpBlock extends PumpBlock { + public TFMGPumpBlock(Properties p_i48415_1_) { + super(p_i48415_1_); + } + + @Override + public void tick(BlockState state, ServerLevel world, BlockPos pos, RandomSource r) { + super.tick(state, world, pos, r); + this.getBlockEntity(world, pos).updatePressureChange(); + + } + + @Override + public Class getBlockEntityClass() { + return PumpBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.TFMG_MECHANICAL_PUMP.get(); + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGSmartFluidPipeBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGSmartFluidPipeBlock.java new file mode 100644 index 00000000..5c89449e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGSmartFluidPipeBlock.java @@ -0,0 +1,29 @@ +package com.drmangotea.tfmg.content.decoration.pipes; + + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.content.fluids.pipes.IAxisPipe; +import com.simibubi.create.content.fluids.pipes.SmartFluidPipeBlock; +import com.simibubi.create.content.fluids.pipes.SmartFluidPipeBlockEntity; +import com.simibubi.create.foundation.block.IBE; +import com.simibubi.create.foundation.block.ProperWaterloggedBlock; +import net.minecraft.world.level.block.entity.BlockEntityType; + +public class TFMGSmartFluidPipeBlock extends SmartFluidPipeBlock + implements IBE, IAxisPipe, IWrenchable, ProperWaterloggedBlock { + public TFMGSmartFluidPipeBlock(Properties p_i48339_1_) { + super(p_i48339_1_); + } + + @Override + public Class getBlockEntityClass() { + return SmartFluidPipeBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.TFMG_SMART_FLUID_PIPE.get(); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/TFMGFluidTankBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/TFMGFluidTankBlockEntity.java new file mode 100644 index 00000000..e95c1b18 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/TFMGFluidTankBlockEntity.java @@ -0,0 +1,30 @@ +package com.drmangotea.tfmg.content.decoration.tanks; + +import com.drmangotea.tfmg.mixin.accessor.FluidTankBlockEntityAccessor; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.AllBlockEntityTypes; +import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; + +public class TFMGFluidTankBlockEntity extends FluidTankBlockEntity { + + public TFMGFluidTankBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.FluidHandler.BLOCK, + TFMGBlockEntities.TFMG_FLUID_TANK.get(), + (be, context) -> { + if (((FluidTankBlockEntityAccessor)be).tfmg$getFluidCapability() == null) + ((FluidTankBlockEntityAccessor)be).tfmg$refreshCapability(); + return ((FluidTankBlockEntityAccessor)be).tfmg$getFluidCapability(); + } + ); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/TFMGFluidTankRenderer.java b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/TFMGFluidTankRenderer.java new file mode 100644 index 00000000..9c5d1069 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/TFMGFluidTankRenderer.java @@ -0,0 +1,71 @@ +package com.drmangotea.tfmg.content.decoration.tanks; + + +import com.drmangotea.tfmg.content.decoration.tanks.steel.SteelTankBlockEntity; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; +import com.simibubi.create.foundation.fluid.FluidRenderer; +import net.createmod.catnip.animation.LerpedFloat; +import net.createmod.catnip.platform.NeoForgeCatnipServices; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.util.Mth; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.templates.FluidTank; + +public class TFMGFluidTankRenderer extends SafeBlockEntityRenderer { + + public TFMGFluidTankRenderer(BlockEntityRendererProvider.Context context) {} + @Override + protected void renderSafe(FluidTankBlockEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + int light, int overlay) { + if (!te.isController()) + return; + LerpedFloat fluidLevel = te.getFluidLevel(); + if (fluidLevel == null) + return; + + float capHeight = 1 / 4f; + float tankHullWidth = 1 / 16f + 1 / 128f; + float minPuddleHeight = 1 / 16f; + float totalHeight = te.getHeight() - 2 * capHeight - minPuddleHeight; + + float level = fluidLevel.getValue(partialTicks); + if (level < 1 / (512f * totalHeight)) + return; + float clampedLevel = Mth.clamp(level * totalHeight, 0, totalHeight); + + FluidTank tank = (FluidTank) te.getTankInventory(); + FluidStack fluidStack = tank.getFluid(); + + if (fluidStack.isEmpty()) + return; + boolean top = fluidStack.getFluid() + .getFluidType() + .isLighterThanAir(); + + float xMin = tankHullWidth; + float xMax = xMin + te.getWidth() - 2 * tankHullWidth; + float yMin = totalHeight + capHeight + minPuddleHeight - clampedLevel; + float yMax = yMin + clampedLevel; + + if (top) { + yMin += totalHeight - clampedLevel; + yMax += totalHeight - clampedLevel; + } + + float zMin = tankHullWidth; + float zMax = zMin + te.getWidth() - 2 * tankHullWidth; + + ms.pushPose(); + ms.translate(0, clampedLevel - totalHeight, 0); + NeoForgeCatnipServices.FLUID_RENDERER.renderFluidBox(fluidStack, xMin, yMin, zMin, xMax, yMax, zMax, buffer, ms, light, false, true); + ms.popPose(); + } + + @Override + public boolean shouldRenderOffScreen(FluidTankBlockEntity te) { + return te.isController(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/TFMGTankGenerator.java b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/TFMGTankGenerator.java new file mode 100644 index 00000000..f579ef5b --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/TFMGTankGenerator.java @@ -0,0 +1,65 @@ +package com.drmangotea.tfmg.content.decoration.tanks; + +import com.drmangotea.tfmg.content.decoration.tanks.steel.SteelTankBlock; +import com.simibubi.create.content.fluids.tank.FluidTankBlock; +import com.simibubi.create.foundation.data.AssetLookup; +import com.simibubi.create.foundation.data.SpecialBlockStateGen; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.model.generators.ModelFile; + +public class TFMGTankGenerator extends SpecialBlockStateGen { + + private String prefix; + + public TFMGTankGenerator() { + this(""); + } + + public TFMGTankGenerator(String prefix) { + this.prefix = prefix; + } + + @Override + protected int getXRotation(BlockState state) { + return 0; + } + + @Override + protected int getYRotation(BlockState state) { + return 0; + } + + @Override + public ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, + BlockState state) { + Boolean top = state.getValue(SteelTankBlock.TOP); + Boolean bottom = state.getValue(SteelTankBlock.BOTTOM); + FluidTankBlock.Shape shape = state.getValue(SteelTankBlock.SHAPE); + + String shapeName = "middle"; + if (top && bottom) + shapeName = "single"; + else if (top) + shapeName = "top"; + else if (bottom) + shapeName = "bottom"; + + String modelName = shapeName + (shape == FluidTankBlock.Shape.PLAIN ? "" : "_" + shape.getSerializedName()); + + if (!prefix.isEmpty()) + return prov.models() + .withExistingParent(prefix + modelName, prov.modLoc("block/fluid_tank/block_" + modelName)) + .texture("0", prov.modLoc("block/" + prefix + "casing")) + .texture("1", prov.modLoc("block/" + prefix + "fluid_tank")) + .texture("3", prov.modLoc("block/" + prefix + "fluid_tank_window")) + .texture("4", prov.modLoc("block/" + prefix + "casing")) + .texture("5", prov.modLoc("block/" + prefix + "fluid_tank_window_single")) + .texture("particle", prov.modLoc("block/" + prefix + "steel_fluid_tank")); + + return AssetLookup.partialBaseModel(ctx, prov, modelName); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/aluminum/AluminumFluidTankModel.java b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/aluminum/AluminumFluidTankModel.java new file mode 100644 index 00000000..f4addb47 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/aluminum/AluminumFluidTankModel.java @@ -0,0 +1,89 @@ +package com.drmangotea.tfmg.content.decoration.tanks.aluminum; + + +import com.drmangotea.tfmg.base.TFMGSpriteShifts; +import com.simibubi.create.api.connectivity.ConnectivityHandler; +import com.simibubi.create.content.fluids.tank.FluidTankCTBehaviour; +import com.simibubi.create.foundation.block.connected.CTModel; +import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry; +import net.createmod.catnip.data.Iterate; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.block.model.BakedQuad; +import net.minecraft.client.resources.model.BakedModel; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.model.data.ModelData; +import net.neoforged.neoforge.client.model.data.ModelProperty; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +public class AluminumFluidTankModel extends CTModel { + + protected static final ModelProperty CULL_PROPERTY = new ModelProperty<>(); + + public static AluminumFluidTankModel standard(BakedModel originalModel) { + return new AluminumFluidTankModel(originalModel, TFMGSpriteShifts.ALUMINUM_FLUID_TANK, TFMGSpriteShifts.ALUMINUM_FLUID_TANK_TOP, + TFMGSpriteShifts.ALUMINUM_FLUID_TANK_INNER); + } + + + private AluminumFluidTankModel(BakedModel originalModel, CTSpriteShiftEntry side, CTSpriteShiftEntry top, + CTSpriteShiftEntry inner) { + super(originalModel, new FluidTankCTBehaviour(side, top, inner)); + } + + @Override + protected ModelData.Builder gatherModelData(ModelData.Builder builder, BlockAndTintGetter world, BlockPos pos, BlockState state, + ModelData blockEntityData) { + super.gatherModelData(builder, world, pos, state, blockEntityData); + CullData cullData = new CullData(); + for (Direction d : Iterate.horizontalDirections) + cullData.setCulled(d, ConnectivityHandler.isConnected(world, pos, pos.relative(d))); + return builder.with(CULL_PROPERTY, cullData); + } + + @Override + public List getQuads(BlockState state, Direction side, RandomSource rand, ModelData extraData, RenderType renderType) { + if (side != null) + return Collections.emptyList(); + + List quads = new ArrayList<>(); + for (Direction d : Iterate.directions) { + if (extraData.has(CULL_PROPERTY) && extraData.get(CULL_PROPERTY) + .isCulled(d)) + continue; + quads.addAll(super.getQuads(state, d, rand, extraData, renderType)); + } + quads.addAll(super.getQuads(state, null, rand, extraData, renderType)); + return quads; + } + private class CullData { + boolean[] culledFaces; + + public CullData() { + culledFaces = new boolean[4]; + Arrays.fill(culledFaces, false); + } + + void setCulled(Direction face, boolean cull) { + if (face.getAxis() + .isVertical()) + return; + culledFaces[face.get2DDataValue()] = cull; + } + + boolean isCulled(Direction face) { + if (face.getAxis() + .isVertical()) + return false; + return culledFaces[face.get2DDataValue()]; + } + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/aluminum/AluminumTankBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/aluminum/AluminumTankBlock.java new file mode 100644 index 00000000..527ef363 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/aluminum/AluminumTankBlock.java @@ -0,0 +1,328 @@ +package com.drmangotea.tfmg.content.decoration.tanks.aluminum; + + +import com.drmangotea.tfmg.mixin.accessor.FluidTankBlockEntityAccessor; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.api.connectivity.ConnectivityHandler; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.content.fluids.tank.CreativeFluidTankBlockEntity; +import com.simibubi.create.content.fluids.tank.FluidTankBlock; +import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; +import com.simibubi.create.content.fluids.transfer.GenericItemEmptying; +import com.simibubi.create.content.fluids.transfer.GenericItemFilling; +import com.simibubi.create.foundation.block.IBE; +import com.simibubi.create.foundation.blockEntity.ComparatorUtil; +import com.simibubi.create.foundation.fluid.FluidHelper; +import com.simibubi.create.foundation.fluid.FluidHelper.FluidExchange; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.particles.BlockParticleOption; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.util.Mth; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Mirror; +import net.minecraft.world.level.block.Rotation; +import net.minecraft.world.level.block.SoundType; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition.Builder; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.block.state.properties.EnumProperty; +import net.minecraft.world.level.material.Fluid; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.Vec3; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.Shapes; +import net.minecraft.world.phys.shapes.VoxelShape; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.common.util.DeferredSoundType; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; + +import static com.simibubi.create.content.fluids.tank.FluidTankBlock.Shape; + +public class AluminumTankBlock extends Block implements IWrenchable, IBE { + public static final BooleanProperty TOP = FluidTankBlock.TOP; + public static final BooleanProperty BOTTOM = FluidTankBlock.BOTTOM; + public static final EnumProperty SHAPE = FluidTankBlock.SHAPE; + private boolean creative; + public static AluminumTankBlock regular(Properties p_i48440_1_) { + return new AluminumTankBlock(p_i48440_1_, false); + } + + protected AluminumTankBlock(Properties p_i48440_1_, boolean creative) { + super(p_i48440_1_); + this.creative = creative; + registerDefaultState(defaultBlockState().setValue(TOP, true) + .setValue(BOTTOM, true) + .setValue(SHAPE, Shape.WINDOW)); + } + + public static boolean isTank(BlockState state) { + return state.getBlock() instanceof AluminumTankBlock; + } + + @Override + public void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean moved) { + if (oldState.getBlock() == state.getBlock()) + return; + if (moved) + return; + withBlockEntityDo(world, pos, b -> ((FluidTankBlockEntityAccessor)b).tfmg$updateConnectivity()); + } + + @Override + protected void createBlockStateDefinition(Builder p_206840_1_) { + p_206840_1_.add(TOP, BOTTOM, SHAPE); + } + + @Override + public int getLightEmission(BlockState state, BlockGetter world, BlockPos pos) { + FluidTankBlockEntity tankAt = ConnectivityHandler.partAt(getBlockEntityType(), world, pos); + if (tankAt == null) + return 0; + FluidTankBlockEntity controllerTE = (FluidTankBlockEntity) tankAt.getControllerBE(); + if (controllerTE == null || !((FluidTankBlockEntityAccessor)controllerTE).tfmg$getWindow()) + return 0; + return ((FluidTankBlockEntityAccessor)tankAt).tfmg$getLuminosity(); + } + + @Override + public InteractionResult onWrenched(BlockState state, UseOnContext context) { + withBlockEntityDo(context.getLevel(), context.getClickedPos(), FluidTankBlockEntity::toggleWindows); + return InteractionResult.SUCCESS; + } + + static final VoxelShape CAMPFIRE_SMOKE_CLIP = Block.box(0, 4, 0, 16, 16, 16); + + @Override + public VoxelShape getCollisionShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, + CollisionContext pContext) { + if (pContext == CollisionContext.empty()) + return CAMPFIRE_SMOKE_CLIP; + return pState.getShape(pLevel, pPos); + } + + @Override + public VoxelShape getBlockSupportShape(BlockState pState, BlockGetter pReader, BlockPos pPos) { + return Shapes.block(); + } + + @Override + public BlockState updateShape(BlockState pState, Direction pDirection, BlockState pNeighborState, + LevelAccessor pLevel, BlockPos pCurrentPos, BlockPos pNeighborPos) { + if (pDirection == Direction.DOWN && pNeighborState.getBlock() != this) + withBlockEntityDo(pLevel, pCurrentPos, FluidTankBlockEntity::updateBoilerTemperature); + return pState; + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + boolean onClient = level.isClientSide; + + if (stack.isEmpty()) + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + if (!player.isCreative() && !creative) + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + + FluidExchange exchange = null; + FluidTankBlockEntity be = ConnectivityHandler.partAt(getBlockEntityType(), level, pos); + if (be == null) + return ItemInteractionResult.FAIL; + + IFluidHandler tankCapability = level.getCapability(Capabilities.FluidHandler.BLOCK, be.getBlockPos(), null); + if (tankCapability == null) + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + FluidStack prevFluidInTank = tankCapability.getFluidInTank(0) + .copy(); + + if (FluidHelper.tryEmptyItemIntoBE(level, player, hand, stack, be)) + exchange = FluidExchange.ITEM_TO_TANK; + else if (FluidHelper.tryFillItemFromBE(level, player, hand, stack, be)) + exchange = FluidExchange.TANK_TO_ITEM; + + if (exchange == null) { + if (GenericItemEmptying.canItemBeEmptied(level, stack) + || GenericItemFilling.canItemBeFilled(level, stack)) + return ItemInteractionResult.SUCCESS; + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + } + + SoundEvent soundevent = null; + BlockState fluidState = null; + FluidStack fluidInTank = tankCapability.getFluidInTank(0); + + if (exchange == FluidExchange.ITEM_TO_TANK) { + if (creative && !onClient) { + FluidStack fluidInItem = GenericItemEmptying.emptyItem(level, stack, true) + .getFirst(); + if (!fluidInItem.isEmpty() && tankCapability instanceof CreativeFluidTankBlockEntity.CreativeSmartFluidTank) + ((CreativeFluidTankBlockEntity.CreativeSmartFluidTank) tankCapability).setContainedFluid(fluidInItem); + } + + Fluid fluid = fluidInTank.getFluid(); + fluidState = fluid.defaultFluidState() + .createLegacyBlock(); + soundevent = FluidHelper.getEmptySound(fluidInTank); + } + + if (exchange == FluidExchange.TANK_TO_ITEM) { + if (creative && !onClient) + if (tankCapability instanceof CreativeFluidTankBlockEntity.CreativeSmartFluidTank) + ((CreativeFluidTankBlockEntity.CreativeSmartFluidTank) tankCapability).setContainedFluid(FluidStack.EMPTY); + + Fluid fluid = prevFluidInTank.getFluid(); + fluidState = fluid.defaultFluidState() + .createLegacyBlock(); + soundevent = FluidHelper.getFillSound(prevFluidInTank); + } + + if (soundevent != null && !onClient) { + float pitch = Mth + .clamp(1 - (1f * fluidInTank.getAmount() / (FluidTankBlockEntity.getCapacityMultiplier() * 16)), 0, 1); + pitch /= 1.5f; + pitch += .5f; + pitch += (level.random.nextFloat() - .5f) / 4f; + level.playSound(null, pos, soundevent, SoundSource.BLOCKS, .5f, pitch); + } + + if (!FluidStack.isSameFluidSameComponents(fluidInTank, prevFluidInTank)) { + if (be instanceof FluidTankBlockEntity) { + FluidTankBlockEntity controllerBE = ((FluidTankBlockEntity) be).getControllerBE(); + if (controllerBE != null) { + if (fluidState != null && onClient) { + BlockParticleOption blockParticleData = + new BlockParticleOption(ParticleTypes.BLOCK, fluidState); + float fluidLevel = (float) fluidInTank.getAmount() / tankCapability.getTankCapacity(0); + + boolean reversed = fluidInTank.getFluid() + .getFluidType() + .isLighterThanAir(); + if (reversed) + fluidLevel = 1 - fluidLevel; + + Vec3 vec = hitResult.getLocation(); + vec = new Vec3(vec.x, controllerBE.getBlockPos() + .getY() + fluidLevel * (((FluidTankBlockEntityAccessor)controllerBE).tfmg$getHeight() - .5f) + .25f, vec.z); + Vec3 motion = player.position() + .subtract(vec) + .scale(1 / 20f); + vec = vec.add(motion); + level.addParticle(blockParticleData, vec.x, vec.y, vec.z, motion.x, motion.y, motion.z); + return ItemInteractionResult.SUCCESS; + } + + controllerBE.sendDataImmediately(); + controllerBE.setChanged(); + } + } + } + + return ItemInteractionResult.SUCCESS; + } + + @Override + public void onRemove(BlockState state, Level world, BlockPos pos, BlockState newState, boolean isMoving) { + if (state.hasBlockEntity() && (state.getBlock() != newState.getBlock() || !newState.hasBlockEntity())) { + BlockEntity te = world.getBlockEntity(pos); + if (!(te instanceof FluidTankBlockEntity)) + return; + FluidTankBlockEntity tankTE = (FluidTankBlockEntity) te; + world.removeBlockEntity(pos); + ConnectivityHandler.splitMulti(tankTE); + } + } + + @Override + public Class getBlockEntityClass() { + return FluidTankBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.TFMG_FLUID_TANK.get(); + } + + @Override + public BlockState mirror(BlockState state, Mirror mirror) { + if (mirror == Mirror.NONE) + return state; + boolean x = mirror == Mirror.FRONT_BACK; + switch (state.getValue(SHAPE)) { + case WINDOW_NE: + return state.setValue(SHAPE, x ? Shape.WINDOW_NW : Shape.WINDOW_SE); + case WINDOW_NW: + return state.setValue(SHAPE, x ? Shape.WINDOW_NE : Shape.WINDOW_SW); + case WINDOW_SE: + return state.setValue(SHAPE, x ? Shape.WINDOW_SW : Shape.WINDOW_NE); + case WINDOW_SW: + return state.setValue(SHAPE, x ? Shape.WINDOW_SE : Shape.WINDOW_NW); + default: + return state; + } + } + + @Override + public BlockState rotate(BlockState state, Rotation rotation) { + for (int i = 0; i < rotation.ordinal(); i++) + state = rotateOnce(state); + return state; + } + + private BlockState rotateOnce(BlockState state) { + switch (state.getValue(SHAPE)) { + case WINDOW_NE: + return state.setValue(SHAPE, Shape.WINDOW_SE); + case WINDOW_NW: + return state.setValue(SHAPE, Shape.WINDOW_NE); + case WINDOW_SE: + return state.setValue(SHAPE, Shape.WINDOW_SW); + case WINDOW_SW: + return state.setValue(SHAPE, Shape.WINDOW_NW); + default: + return state; + } + } + + + // Tanks are less noisy when placed in batch + public static final SoundType SILENCED_METAL = + new DeferredSoundType(0.1F, 1.5F, () -> SoundEvents.METAL_BREAK, () -> SoundEvents.METAL_STEP, + () -> SoundEvents.METAL_PLACE, () -> SoundEvents.METAL_HIT, () -> SoundEvents.METAL_FALL); + + @Override + public SoundType getSoundType(BlockState state, LevelReader world, BlockPos pos, Entity entity) { + SoundType soundType = super.getSoundType(state, world, pos, entity); + if (entity != null && entity.getPersistentData() + .contains("SilenceTankSound")) + return SILENCED_METAL; + return soundType; + } + + @Override + public boolean hasAnalogOutputSignal(BlockState state) { + return true; + } + + @Override + public int getAnalogOutputSignal(BlockState blockState, Level worldIn, BlockPos pos) { + return getBlockEntityOptional(worldIn, pos).map(FluidTankBlockEntity::getControllerBE) + .map(te -> ComparatorUtil.fractionToRedstoneLevel(te.getFillState())) + .orElse(0); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/aluminum/AluminumTankItem.java b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/aluminum/AluminumTankItem.java new file mode 100644 index 00000000..40fec3a2 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/aluminum/AluminumTankItem.java @@ -0,0 +1,140 @@ +package com.drmangotea.tfmg.content.decoration.tanks.aluminum; + + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.api.connectivity.ConnectivityHandler; +import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.component.DataComponents; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.server.MinecraftServer; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.component.CustomData; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.fluids.FluidStack; + +public class AluminumTankItem extends BlockItem { + + public AluminumTankItem(Block p_i48527_1_, Properties p_i48527_2_) { + super(p_i48527_1_, p_i48527_2_); + } + + @Override + public InteractionResult place(BlockPlaceContext ctx) { + InteractionResult initialResult = super.place(ctx); + if (!initialResult.consumesAction()) + return initialResult; + tryMultiPlace(ctx); + return initialResult; + } + + @Override + protected boolean updateCustomBlockEntityTag(BlockPos blockPos, Level level, Player player, + ItemStack itemStack, BlockState blockState) { + MinecraftServer minecraftserver = level.getServer(); + if (minecraftserver == null) + return false; + CustomData blockEntityData = itemStack.get(DataComponents.BLOCK_ENTITY_DATA); + if (blockEntityData != null) { + CompoundTag nbt = blockEntityData.copyTag(); + nbt.remove("Luminosity"); + nbt.remove("Size"); + nbt.remove("Height"); + nbt.remove("Controller"); + nbt.remove("LastKnownPos"); + if (nbt.contains("TankContent")) { + FluidStack fluid = FluidStack.parseOptional(minecraftserver.registryAccess(), nbt.getCompound("TankContent")); + if (!fluid.isEmpty()) { + fluid.setAmount(Math.min(FluidTankBlockEntity.getCapacityMultiplier(), fluid.getAmount())); + nbt.put("TankContent", fluid.saveOptional(minecraftserver.registryAccess())); + } + } + BlockEntity.addEntityType(nbt, ((IBE) this.getBlock()).getBlockEntityType()); + itemStack.set(DataComponents.BLOCK_ENTITY_DATA, CustomData.of(nbt)); + } + return super.updateCustomBlockEntityTag(blockPos, level, player, itemStack, blockState); + } + + private void tryMultiPlace(BlockPlaceContext ctx) { + + Player player = ctx.getPlayer(); + if (player == null) + return; + if (player.isShiftKeyDown()) + return; + Direction face = ctx.getClickedFace(); + if (!face.getAxis() + .isVertical()) + return; + ItemStack stack = ctx.getItemInHand(); + Level world = ctx.getLevel(); + BlockPos pos = ctx.getClickedPos(); + BlockPos placedOnPos = pos.relative(face.getOpposite()); + BlockState placedOnState = world.getBlockState(placedOnPos); + + if (!AluminumTankBlock.isTank(placedOnState)) + return; + + FluidTankBlockEntity tankAt = ConnectivityHandler.partAt( + TFMGBlockEntities.TFMG_FLUID_TANK.get(), world, placedOnPos + ); + if (tankAt == null) + return; + FluidTankBlockEntity controllerTE = tankAt.getControllerBE(); + if (controllerTE == null) + return; + + int width = controllerTE.getWidth(); + if (width == 1) + return; + + int tanksToPlace = 0; + BlockPos startPos = face == Direction.DOWN ? controllerTE.getBlockPos() + .below() + : controllerTE.getBlockPos() + .above(controllerTE.getHeight()); + + if (startPos.getY() != pos.getY()) + return; + + for (int xOffset = 0; xOffset < width; xOffset++) { + for (int zOffset = 0; zOffset < width; zOffset++) { + BlockPos offsetPos = startPos.offset(xOffset, 0, zOffset); + BlockState blockState = world.getBlockState(offsetPos); + if (AluminumTankBlock.isTank(blockState)) + continue; + if (!blockState.canBeReplaced()) + return; + tanksToPlace++; + } + } + + if (!player.isCreative() && stack.getCount() < tanksToPlace) + return; + + for (int xOffset = 0; xOffset < width; xOffset++) { + for (int zOffset = 0; zOffset < width; zOffset++) { + BlockPos offsetPos = startPos.offset(xOffset, 0, zOffset); + BlockState blockState = world.getBlockState(offsetPos); + if (AluminumTankBlock.isTank(blockState)) + continue; + BlockPlaceContext context = BlockPlaceContext.at(ctx, offsetPos, face); + player.getPersistentData() + .putBoolean("SilenceTankSound", true); + super.place(context); + player.getPersistentData() + .remove("SilenceTankSound"); + } + } + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/cast_iron/CastIronFluidTankModel.java b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/cast_iron/CastIronFluidTankModel.java new file mode 100644 index 00000000..6fc5ebac --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/cast_iron/CastIronFluidTankModel.java @@ -0,0 +1,89 @@ +package com.drmangotea.tfmg.content.decoration.tanks.cast_iron; + + +import com.drmangotea.tfmg.base.TFMGSpriteShifts; +import com.simibubi.create.api.connectivity.ConnectivityHandler; +import com.simibubi.create.content.fluids.tank.FluidTankCTBehaviour; +import com.simibubi.create.foundation.block.connected.CTModel; +import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry; +import net.createmod.catnip.data.Iterate; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.block.model.BakedQuad; +import net.minecraft.client.resources.model.BakedModel; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.model.data.ModelData; +import net.neoforged.neoforge.client.model.data.ModelProperty; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +public class CastIronFluidTankModel extends CTModel { + + protected static final ModelProperty CULL_PROPERTY = new ModelProperty<>(); + + public static CastIronFluidTankModel standard(BakedModel originalModel) { + return new CastIronFluidTankModel(originalModel, TFMGSpriteShifts.CAST_IRON_FLUID_TANK, TFMGSpriteShifts.CAST_IRON_FLUID_TANK_TOP, + TFMGSpriteShifts.CAST_IRON_FLUID_TANK_INNER); + } + + + private CastIronFluidTankModel(BakedModel originalModel, CTSpriteShiftEntry side, CTSpriteShiftEntry top, + CTSpriteShiftEntry inner) { + super(originalModel, new FluidTankCTBehaviour(side, top, inner)); + } + + @Override + protected ModelData.Builder gatherModelData(ModelData.Builder builder, BlockAndTintGetter world, BlockPos pos, BlockState state, + ModelData blockEntityData) { + super.gatherModelData(builder, world, pos, state, blockEntityData); + CullData cullData = new CullData(); + for (Direction d : Iterate.horizontalDirections) + cullData.setCulled(d, ConnectivityHandler.isConnected(world, pos, pos.relative(d))); + return builder.with(CULL_PROPERTY, cullData); + } + + @Override + public List getQuads(BlockState state, Direction side, RandomSource rand, ModelData extraData, RenderType renderType) { + if (side != null) + return Collections.emptyList(); + + List quads = new ArrayList<>(); + for (Direction d : Iterate.directions) { + if (extraData.has(CULL_PROPERTY) && extraData.get(CULL_PROPERTY) + .isCulled(d)) + continue; + quads.addAll(super.getQuads(state, d, rand, extraData, renderType)); + } + quads.addAll(super.getQuads(state, null, rand, extraData, renderType)); + return quads; + } + private class CullData { + boolean[] culledFaces; + + public CullData() { + culledFaces = new boolean[4]; + Arrays.fill(culledFaces, false); + } + + void setCulled(Direction face, boolean cull) { + if (face.getAxis() + .isVertical()) + return; + culledFaces[face.get2DDataValue()] = cull; + } + + boolean isCulled(Direction face) { + if (face.getAxis() + .isVertical()) + return false; + return culledFaces[face.get2DDataValue()]; + } + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/cast_iron/CastIronTankBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/cast_iron/CastIronTankBlock.java new file mode 100644 index 00000000..38c92353 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/cast_iron/CastIronTankBlock.java @@ -0,0 +1,329 @@ +package com.drmangotea.tfmg.content.decoration.tanks.cast_iron; + + +import com.drmangotea.tfmg.mixin.accessor.FluidTankBlockEntityAccessor; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.api.connectivity.ConnectivityHandler; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.content.fluids.tank.CreativeFluidTankBlockEntity; +import com.simibubi.create.content.fluids.tank.FluidTankBlock; +import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; +import com.simibubi.create.content.fluids.transfer.GenericItemEmptying; +import com.simibubi.create.content.fluids.transfer.GenericItemFilling; +import com.simibubi.create.foundation.block.IBE; +import com.simibubi.create.foundation.blockEntity.ComparatorUtil; +import com.simibubi.create.foundation.fluid.FluidHelper; +import com.simibubi.create.foundation.fluid.FluidHelper.FluidExchange; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.particles.BlockParticleOption; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.util.Mth; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Mirror; +import net.minecraft.world.level.block.Rotation; +import net.minecraft.world.level.block.SoundType; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition.Builder; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.block.state.properties.EnumProperty; +import net.minecraft.world.level.material.Fluid; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.Vec3; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.Shapes; +import net.minecraft.world.phys.shapes.VoxelShape; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.common.util.DeferredSoundType; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; + + +import static com.simibubi.create.content.fluids.tank.FluidTankBlock.Shape; + +public class CastIronTankBlock extends Block implements IWrenchable, IBE { + public static final BooleanProperty TOP = FluidTankBlock.TOP; + public static final BooleanProperty BOTTOM = FluidTankBlock.BOTTOM; + public static final EnumProperty SHAPE = FluidTankBlock.SHAPE; + private boolean creative; + public static CastIronTankBlock regular(Properties p_i48440_1_) { + return new CastIronTankBlock(p_i48440_1_, false); + } + + protected CastIronTankBlock(Properties p_i48440_1_, boolean creative) { + super(p_i48440_1_); + this.creative = creative; + registerDefaultState(defaultBlockState().setValue(TOP, true) + .setValue(BOTTOM, true) + .setValue(SHAPE, Shape.WINDOW)); + } + + public static boolean isTank(BlockState state) { + return state.getBlock() instanceof CastIronTankBlock; + } + + @Override + public void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean moved) { + if (oldState.getBlock() == state.getBlock()) + return; + if (moved) + return; + withBlockEntityDo(world, pos, b -> ((FluidTankBlockEntityAccessor)b).tfmg$updateConnectivity()); + } + + @Override + protected void createBlockStateDefinition(Builder p_206840_1_) { + p_206840_1_.add(TOP, BOTTOM, SHAPE); + } + + @Override + public int getLightEmission(BlockState state, BlockGetter world, BlockPos pos) { + FluidTankBlockEntity tankAt = ConnectivityHandler.partAt(getBlockEntityType(), world, pos); + if (tankAt == null) + return 0; + FluidTankBlockEntity controllerTE = (FluidTankBlockEntity) tankAt.getControllerBE(); + if (controllerTE == null || !((FluidTankBlockEntityAccessor)controllerTE).tfmg$getWindow()) + return 0; + return ((FluidTankBlockEntityAccessor)tankAt).tfmg$getLuminosity(); + } + + @Override + public InteractionResult onWrenched(BlockState state, UseOnContext context) { + withBlockEntityDo(context.getLevel(), context.getClickedPos(), FluidTankBlockEntity::toggleWindows); + return InteractionResult.SUCCESS; + } + + static final VoxelShape CAMPFIRE_SMOKE_CLIP = Block.box(0, 4, 0, 16, 16, 16); + + @Override + public VoxelShape getCollisionShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, + CollisionContext pContext) { + if (pContext == CollisionContext.empty()) + return CAMPFIRE_SMOKE_CLIP; + return pState.getShape(pLevel, pPos); + } + + @Override + public VoxelShape getBlockSupportShape(BlockState pState, BlockGetter pReader, BlockPos pPos) { + return Shapes.block(); + } + + @Override + public BlockState updateShape(BlockState pState, Direction pDirection, BlockState pNeighborState, + LevelAccessor pLevel, BlockPos pCurrentPos, BlockPos pNeighborPos) { + if (pDirection == Direction.DOWN && pNeighborState.getBlock() != this) + withBlockEntityDo(pLevel, pCurrentPos, FluidTankBlockEntity::updateBoilerTemperature); + return pState; + } + + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + boolean onClient = level.isClientSide; + + if (stack.isEmpty()) + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + if (!player.isCreative() && !creative) + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + + FluidExchange exchange = null; + FluidTankBlockEntity be = ConnectivityHandler.partAt(getBlockEntityType(), level, pos); + if (be == null) + return ItemInteractionResult.FAIL; + + IFluidHandler tankCapability = level.getCapability(Capabilities.FluidHandler.BLOCK, be.getBlockPos(), null); + if (tankCapability == null) + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + FluidStack prevFluidInTank = tankCapability.getFluidInTank(0) + .copy(); + + if (FluidHelper.tryEmptyItemIntoBE(level, player, hand, stack, be)) + exchange = FluidExchange.ITEM_TO_TANK; + else if (FluidHelper.tryFillItemFromBE(level, player, hand, stack, be)) + exchange = FluidExchange.TANK_TO_ITEM; + + if (exchange == null) { + if (GenericItemEmptying.canItemBeEmptied(level, stack) + || GenericItemFilling.canItemBeFilled(level, stack)) + return ItemInteractionResult.SUCCESS; + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + } + + SoundEvent soundevent = null; + BlockState fluidState = null; + FluidStack fluidInTank = tankCapability.getFluidInTank(0); + + if (exchange == FluidExchange.ITEM_TO_TANK) { + if (creative && !onClient) { + FluidStack fluidInItem = GenericItemEmptying.emptyItem(level, stack, true) + .getFirst(); + if (!fluidInItem.isEmpty() && tankCapability instanceof CreativeFluidTankBlockEntity.CreativeSmartFluidTank) + ((CreativeFluidTankBlockEntity.CreativeSmartFluidTank) tankCapability).setContainedFluid(fluidInItem); + } + + Fluid fluid = fluidInTank.getFluid(); + fluidState = fluid.defaultFluidState() + .createLegacyBlock(); + soundevent = FluidHelper.getEmptySound(fluidInTank); + } + + if (exchange == FluidExchange.TANK_TO_ITEM) { + if (creative && !onClient) + if (tankCapability instanceof CreativeFluidTankBlockEntity.CreativeSmartFluidTank) + ((CreativeFluidTankBlockEntity.CreativeSmartFluidTank) tankCapability).setContainedFluid(FluidStack.EMPTY); + + Fluid fluid = prevFluidInTank.getFluid(); + fluidState = fluid.defaultFluidState() + .createLegacyBlock(); + soundevent = FluidHelper.getFillSound(prevFluidInTank); + } + + if (soundevent != null && !onClient) { + float pitch = Mth + .clamp(1 - (1f * fluidInTank.getAmount() / (FluidTankBlockEntity.getCapacityMultiplier() * 16)), 0, 1); + pitch /= 1.5f; + pitch += .5f; + pitch += (level.random.nextFloat() - .5f) / 4f; + level.playSound(null, pos, soundevent, SoundSource.BLOCKS, .5f, pitch); + } + + if (!FluidStack.isSameFluidSameComponents(fluidInTank, prevFluidInTank)) { + if (be instanceof FluidTankBlockEntity) { + FluidTankBlockEntity controllerBE = ((FluidTankBlockEntity) be).getControllerBE(); + if (controllerBE != null) { + if (fluidState != null && onClient) { + BlockParticleOption blockParticleData = + new BlockParticleOption(ParticleTypes.BLOCK, fluidState); + float fluidLevel = (float) fluidInTank.getAmount() / tankCapability.getTankCapacity(0); + + boolean reversed = fluidInTank.getFluid() + .getFluidType() + .isLighterThanAir(); + if (reversed) + fluidLevel = 1 - fluidLevel; + + Vec3 vec = hitResult.getLocation(); + vec = new Vec3(vec.x, controllerBE.getBlockPos() + .getY() + fluidLevel * (((FluidTankBlockEntityAccessor)controllerBE).tfmg$getHeight() - .5f) + .25f, vec.z); + Vec3 motion = player.position() + .subtract(vec) + .scale(1 / 20f); + vec = vec.add(motion); + level.addParticle(blockParticleData, vec.x, vec.y, vec.z, motion.x, motion.y, motion.z); + return ItemInteractionResult.SUCCESS; + } + + controllerBE.sendDataImmediately(); + controllerBE.setChanged(); + } + } + } + + return ItemInteractionResult.SUCCESS; + } + @Override + public void onRemove(BlockState state, Level world, BlockPos pos, BlockState newState, boolean isMoving) { + if (state.hasBlockEntity() && (state.getBlock() != newState.getBlock() || !newState.hasBlockEntity())) { + BlockEntity te = world.getBlockEntity(pos); + if (!(te instanceof FluidTankBlockEntity)) + return; + FluidTankBlockEntity tankTE = (FluidTankBlockEntity) te; + world.removeBlockEntity(pos); + ConnectivityHandler.splitMulti(tankTE); + } + } + + @Override + public Class getBlockEntityClass() { + return FluidTankBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.TFMG_FLUID_TANK.get(); + } + + @Override + public BlockState mirror(BlockState state, Mirror mirror) { + if (mirror == Mirror.NONE) + return state; + boolean x = mirror == Mirror.FRONT_BACK; + switch (state.getValue(SHAPE)) { + case WINDOW_NE: + return state.setValue(SHAPE, x ? Shape.WINDOW_NW : Shape.WINDOW_SE); + case WINDOW_NW: + return state.setValue(SHAPE, x ? Shape.WINDOW_NE : Shape.WINDOW_SW); + case WINDOW_SE: + return state.setValue(SHAPE, x ? Shape.WINDOW_SW : Shape.WINDOW_NE); + case WINDOW_SW: + return state.setValue(SHAPE, x ? Shape.WINDOW_SE : Shape.WINDOW_NW); + default: + return state; + } + } + + @Override + public BlockState rotate(BlockState state, Rotation rotation) { + for (int i = 0; i < rotation.ordinal(); i++) + state = rotateOnce(state); + return state; + } + + private BlockState rotateOnce(BlockState state) { + switch (state.getValue(SHAPE)) { + case WINDOW_NE: + return state.setValue(SHAPE, Shape.WINDOW_SE); + case WINDOW_NW: + return state.setValue(SHAPE, Shape.WINDOW_NE); + case WINDOW_SE: + return state.setValue(SHAPE, Shape.WINDOW_SW); + case WINDOW_SW: + return state.setValue(SHAPE, Shape.WINDOW_NW); + default: + return state; + } + } + + + // Tanks are less noisy when placed in batch + public static final SoundType SILENCED_METAL = + new DeferredSoundType(0.1F, 1.5F, () -> SoundEvents.METAL_BREAK, () -> SoundEvents.METAL_STEP, + () -> SoundEvents.METAL_PLACE, () -> SoundEvents.METAL_HIT, () -> SoundEvents.METAL_FALL); + + @Override + public SoundType getSoundType(BlockState state, LevelReader world, BlockPos pos, Entity entity) { + SoundType soundType = super.getSoundType(state, world, pos, entity); + if (entity != null && entity.getPersistentData() + .contains("SilenceTankSound")) + return SILENCED_METAL; + return soundType; + } + + @Override + public boolean hasAnalogOutputSignal(BlockState state) { + return true; + } + + @Override + public int getAnalogOutputSignal(BlockState blockState, Level worldIn, BlockPos pos) { + return getBlockEntityOptional(worldIn, pos).map(FluidTankBlockEntity::getControllerBE) + .map(te -> ComparatorUtil.fractionToRedstoneLevel(te.getFillState())) + .orElse(0); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/cast_iron/CastIronTankItem.java b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/cast_iron/CastIronTankItem.java new file mode 100644 index 00000000..b76ce9e0 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/cast_iron/CastIronTankItem.java @@ -0,0 +1,140 @@ +package com.drmangotea.tfmg.content.decoration.tanks.cast_iron; + + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.api.connectivity.ConnectivityHandler; +import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.component.DataComponents; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.server.MinecraftServer; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.component.CustomData; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.fluids.FluidStack; + +public class CastIronTankItem extends BlockItem { + + public CastIronTankItem(Block p_i48527_1_, Properties p_i48527_2_) { + super(p_i48527_1_, p_i48527_2_); + } + + @Override + public InteractionResult place(BlockPlaceContext ctx) { + InteractionResult initialResult = super.place(ctx); + if (!initialResult.consumesAction()) + return initialResult; + tryMultiPlace(ctx); + return initialResult; + } + + @Override + protected boolean updateCustomBlockEntityTag(BlockPos blockPos, Level level, Player player, + ItemStack itemStack, BlockState blockState) { + MinecraftServer minecraftserver = level.getServer(); + if (minecraftserver == null) + return false; + CustomData blockEntityData = itemStack.get(DataComponents.BLOCK_ENTITY_DATA); + if (blockEntityData != null) { + CompoundTag nbt = blockEntityData.copyTag(); + nbt.remove("Luminosity"); + nbt.remove("Size"); + nbt.remove("Height"); + nbt.remove("Controller"); + nbt.remove("LastKnownPos"); + if (nbt.contains("TankContent")) { + FluidStack fluid = FluidStack.parseOptional(minecraftserver.registryAccess(), nbt.getCompound("TankContent")); + if (!fluid.isEmpty()) { + fluid.setAmount(Math.min(FluidTankBlockEntity.getCapacityMultiplier(), fluid.getAmount())); + nbt.put("TankContent", fluid.saveOptional(minecraftserver.registryAccess())); + } + } + BlockEntity.addEntityType(nbt, ((IBE) this.getBlock()).getBlockEntityType()); + itemStack.set(DataComponents.BLOCK_ENTITY_DATA, CustomData.of(nbt)); + } + return super.updateCustomBlockEntityTag(blockPos, level, player, itemStack, blockState); + } + + private void tryMultiPlace(BlockPlaceContext ctx) { + + Player player = ctx.getPlayer(); + if (player == null) + return; + if (player.isShiftKeyDown()) + return; + Direction face = ctx.getClickedFace(); + if (!face.getAxis() + .isVertical()) + return; + ItemStack stack = ctx.getItemInHand(); + Level world = ctx.getLevel(); + BlockPos pos = ctx.getClickedPos(); + BlockPos placedOnPos = pos.relative(face.getOpposite()); + BlockState placedOnState = world.getBlockState(placedOnPos); + + if (!CastIronTankBlock.isTank(placedOnState)) + return; + + FluidTankBlockEntity tankAt = ConnectivityHandler.partAt( + TFMGBlockEntities.TFMG_FLUID_TANK.get(), world, placedOnPos + ); + if (tankAt == null) + return; + FluidTankBlockEntity controllerTE = tankAt.getControllerBE(); + if (controllerTE == null) + return; + + int width = controllerTE.getWidth(); + if (width == 1) + return; + + int tanksToPlace = 0; + BlockPos startPos = face == Direction.DOWN ? controllerTE.getBlockPos() + .below() + : controllerTE.getBlockPos() + .above(controllerTE.getHeight()); + + if (startPos.getY() != pos.getY()) + return; + + for (int xOffset = 0; xOffset < width; xOffset++) { + for (int zOffset = 0; zOffset < width; zOffset++) { + BlockPos offsetPos = startPos.offset(xOffset, 0, zOffset); + BlockState blockState = world.getBlockState(offsetPos); + if (CastIronTankBlock.isTank(blockState)) + continue; + if (!blockState.canBeReplaced()) + return; + tanksToPlace++; + } + } + + if (!player.isCreative() && stack.getCount() < tanksToPlace) + return; + + for (int xOffset = 0; xOffset < width; xOffset++) { + for (int zOffset = 0; zOffset < width; zOffset++) { + BlockPos offsetPos = startPos.offset(xOffset, 0, zOffset); + BlockState blockState = world.getBlockState(offsetPos); + if (CastIronTankBlock.isTank(blockState)) + continue; + BlockPlaceContext context = BlockPlaceContext.at(ctx, offsetPos, face); + player.getPersistentData() + .putBoolean("SilenceTankSound", true); + super.place(context); + player.getPersistentData() + .remove("SilenceTankSound"); + } + } + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/steel/SteelFluidTankModel.java b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/steel/SteelFluidTankModel.java new file mode 100644 index 00000000..6a56e4ed --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/steel/SteelFluidTankModel.java @@ -0,0 +1,102 @@ +package com.drmangotea.tfmg.content.decoration.tanks.steel; + + +import com.drmangotea.tfmg.base.TFMGSpriteShifts; +import com.simibubi.create.api.connectivity.ConnectivityHandler; +import com.simibubi.create.content.fluids.tank.FluidTankCTBehaviour; +import com.simibubi.create.foundation.block.connected.CTModel; +import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry; +import net.createmod.catnip.data.Iterate; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.block.model.BakedQuad; +import net.minecraft.client.resources.model.BakedModel; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.model.data.ModelData; +import net.neoforged.neoforge.client.model.data.ModelProperty; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +public class SteelFluidTankModel extends CTModel { + + protected static final ModelProperty CULL_PROPERTY = new ModelProperty<>(); + + public static SteelFluidTankModel standard(BakedModel originalModel) { + return new SteelFluidTankModel(originalModel, TFMGSpriteShifts.STEEL_FLUID_TANK, TFMGSpriteShifts.STEEL_FLUID_TANK_TOP, + TFMGSpriteShifts.STEEL_FLUID_TANK_INNER); + } + + public static SteelFluidTankModel steelVat(BakedModel originalModel) { + return new SteelFluidTankModel(originalModel, TFMGSpriteShifts.STEEL_VAT, TFMGSpriteShifts.STEEL_VAT_TOP, + TFMGSpriteShifts.STEEL_VAT_INNER); + } + public static SteelFluidTankModel castIronVat(BakedModel originalModel) { + return new SteelFluidTankModel(originalModel, TFMGSpriteShifts.CAST_IRON_VAT, TFMGSpriteShifts.CAST_IRON_VAT_TOP, + TFMGSpriteShifts.CAST_IRON_VAT_INNER); + } + public static SteelFluidTankModel fireproofVat(BakedModel originalModel) { + return new SteelFluidTankModel(originalModel, TFMGSpriteShifts.FIREPROOF_VAT, TFMGSpriteShifts.STEEL_VAT_TOP, + TFMGSpriteShifts.STEEL_VAT_INNER); + } + + + private SteelFluidTankModel(BakedModel originalModel, CTSpriteShiftEntry side, CTSpriteShiftEntry top, + CTSpriteShiftEntry inner) { + super(originalModel, new FluidTankCTBehaviour(side, top, inner)); + } + + @Override + protected ModelData.Builder gatherModelData(ModelData.Builder builder, BlockAndTintGetter world, BlockPos pos, BlockState state, + ModelData blockEntityData) { + super.gatherModelData(builder, world, pos, state, blockEntityData); + CullData cullData = new CullData(); + for (Direction d : Iterate.horizontalDirections) + cullData.setCulled(d, ConnectivityHandler.isConnected(world, pos, pos.relative(d))); + return builder.with(CULL_PROPERTY, cullData); + } + + @Override + public List getQuads(BlockState state, Direction side, RandomSource rand, ModelData extraData, RenderType renderType) { + if (side != null) + return Collections.emptyList(); + + List quads = new ArrayList<>(); + for (Direction d : Iterate.directions) { + if (extraData.has(CULL_PROPERTY) && extraData.get(CULL_PROPERTY) + .isCulled(d)) + continue; + quads.addAll(super.getQuads(state, d, rand, extraData, renderType)); + } + quads.addAll(super.getQuads(state, null, rand, extraData, renderType)); + return quads; + } + private class CullData { + boolean[] culledFaces; + + public CullData() { + culledFaces = new boolean[4]; + Arrays.fill(culledFaces, false); + } + + void setCulled(Direction face, boolean cull) { + if (face.getAxis() + .isVertical()) + return; + culledFaces[face.get2DDataValue()] = cull; + } + + boolean isCulled(Direction face) { + if (face.getAxis() + .isVertical()) + return false; + return culledFaces[face.get2DDataValue()]; + } + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/steel/SteelFluidTankRenderer.java b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/steel/SteelFluidTankRenderer.java new file mode 100644 index 00000000..eba62252 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/steel/SteelFluidTankRenderer.java @@ -0,0 +1,118 @@ +package com.drmangotea.tfmg.content.decoration.tanks.steel; + + +import com.drmangotea.tfmg.mixin.accessor.FluidTankBlockEntityAccessor; +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; +import com.simibubi.create.foundation.fluid.FluidRenderer; +import dev.engine_room.flywheel.lib.transform.TransformStack; +import net.createmod.catnip.data.Iterate; +import net.createmod.catnip.animation.LerpedFloat; +import net.createmod.catnip.platform.NeoForgeCatnipServices; +import net.createmod.catnip.render.CachedBuffers; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.core.Direction; +import net.minecraft.util.Mth; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.templates.FluidTank; + +public class SteelFluidTankRenderer extends SafeBlockEntityRenderer { + + public SteelFluidTankRenderer(BlockEntityRendererProvider.Context context) {} + @Override + protected void renderSafe(SteelTankBlockEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + int light, int overlay) { + if (!te.isController()) + return; + if (!((FluidTankBlockEntityAccessor)te).tfmg$getWindow()) { + if (te.isDistillationTower) + renderAsDistillationTower(te, partialTicks, ms, buffer, light, overlay); + return; + } + LerpedFloat fluidLevel = te.getFluidLevel(); + if (fluidLevel == null) + return; + + float capHeight = 1 / 4f; + float tankHullWidth = 1 / 16f + 1 / 128f; + float minPuddleHeight = 1 / 16f; + float totalHeight = ((FluidTankBlockEntityAccessor)te).tfmg$getHeight() - 2 * capHeight - minPuddleHeight; + + float level = fluidLevel.getValue(partialTicks); + if (level < 1 / (512f * totalHeight)) + return; + float clampedLevel = Mth.clamp(level * totalHeight, 0, totalHeight); + + FluidTank tank = ((FluidTankBlockEntityAccessor)te).tfmg$getTankInventory(); + FluidStack fluidStack = tank.getFluid(); + + if (fluidStack.isEmpty()) + return; + boolean top = fluidStack.getFluid() + .getFluidType() + .isLighterThanAir(); + + float xMin = tankHullWidth; + float xMax = xMin + ((FluidTankBlockEntityAccessor)te).tfmg$getWidth() - 2 * tankHullWidth; + float yMin = totalHeight + capHeight + minPuddleHeight - clampedLevel; + float yMax = yMin + clampedLevel; + + if (top) { + yMin += totalHeight - clampedLevel; + yMax += totalHeight - clampedLevel; + } + + float zMin = tankHullWidth; + float zMax = zMin + ((FluidTankBlockEntityAccessor)te).tfmg$getWidth() - 2 * tankHullWidth; + + ms.pushPose(); + ms.translate(0, clampedLevel - totalHeight, 0); + NeoForgeCatnipServices.FLUID_RENDERER.renderFluidBox(fluidStack, xMin, yMin, zMin, xMax, yMax, zMax, buffer, ms, light, false,true); + ms.popPose(); + } + + protected void renderAsDistillationTower(SteelTankBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, + int light, int overlay) { + BlockState blockState = be.getBlockState(); + VertexConsumer vb = buffer.getBuffer(RenderType.cutoutMipped()); + ms.pushPose(); + var msr = TransformStack.of(ms); + msr.translate(((FluidTankBlockEntityAccessor)be).tfmg$getWidth() / 2f, 0.5, ((FluidTankBlockEntityAccessor)be).tfmg$getWidth() / 2f); + + float dialPivot = 5.75f / 16; + + for (Direction d : Iterate.horizontalDirections) { + ms.pushPose(); + CachedBuffers.partial(TFMGPartialModels.TOWER_GAUGE, blockState) + .rotateYDegrees(d.toYRot()) + .uncenter() + .translate(((FluidTankBlockEntityAccessor)be).tfmg$getWidth() / 2f - 6 / 16f, 0, 0) + .light(light) + .renderInto(ms, vb); + float dialPivotY = 6f / 16; + float dialPivotZ = 8f / 16; + CachedBuffers.partial(AllPartialModels.BOILER_GAUGE_DIAL, blockState) + .rotateYDegrees(d.toYRot()) + .uncenter() + .translate(((FluidTankBlockEntityAccessor)be).tfmg$getWidth() / 2f - 6 / 16f, 0, 0) + .translate(0, dialPivotY, dialPivotZ) + .rotateXDegrees(-be.visualGaugeRotation.getValue(partialTicks) + 90) + .translate(0, -dialPivotY, -dialPivotZ) + .light(light) + .renderInto(ms, vb); + ms.popPose(); + } + ms.popPose(); + } + + @Override + public boolean shouldRenderOffScreen(SteelTankBlockEntity te) { + return te.isController(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/steel/SteelTankBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/steel/SteelTankBlock.java new file mode 100644 index 00000000..00c77ce3 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/steel/SteelTankBlock.java @@ -0,0 +1,359 @@ +package com.drmangotea.tfmg.content.decoration.tanks.steel; + + +import com.drmangotea.tfmg.mixin.accessor.FluidTankBlockEntityAccessor; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.api.connectivity.ConnectivityHandler; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.content.fluids.tank.CreativeFluidTankBlockEntity; +import com.simibubi.create.content.fluids.tank.FluidTankBlock; +import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; +import com.simibubi.create.content.fluids.transfer.GenericItemEmptying; +import com.simibubi.create.content.fluids.transfer.GenericItemFilling; +import com.simibubi.create.foundation.block.IBE; +import com.simibubi.create.foundation.blockEntity.ComparatorUtil; +import com.simibubi.create.foundation.fluid.FluidHelper; +import com.simibubi.create.foundation.fluid.FluidHelper.FluidExchange; + +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.particles.BlockParticleOption; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.util.Mth; +import net.minecraft.util.StringRepresentable; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Mirror; +import net.minecraft.world.level.block.Rotation; +import net.minecraft.world.level.block.SoundType; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition.Builder; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.block.state.properties.EnumProperty; +import net.minecraft.world.level.material.Fluid; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.Vec3; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.Shapes; +import net.minecraft.world.phys.shapes.VoxelShape; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.common.util.DeferredSoundType; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; + + +import static com.simibubi.create.content.fluids.tank.FluidTankBlock.Shape; + +public class SteelTankBlock extends Block implements IWrenchable, IBE { + public static final BooleanProperty TOP = FluidTankBlock.TOP; + public static final BooleanProperty BOTTOM = FluidTankBlock.BOTTOM; + public static final EnumProperty SHAPE = FluidTankBlock.SHAPE; + private boolean creative; + public static SteelTankBlock regular(Properties p_i48440_1_) { + return new SteelTankBlock(p_i48440_1_, false); + } + + protected SteelTankBlock(Properties p_i48440_1_, boolean creative) { + super(p_i48440_1_); + this.creative = creative; + registerDefaultState(defaultBlockState().setValue(TOP, true) + .setValue(BOTTOM, true) + .setValue(SHAPE, Shape.WINDOW)); + } + + public static boolean isTank(BlockState state) { + return state.getBlock() instanceof SteelTankBlock; + } + + @Override + public void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean moved) { + if (oldState.getBlock() == state.getBlock()) + return; + if (moved) + return; + withBlockEntityDo(world, pos, SteelTankBlockEntity::updateConnectivity); + } + + @Override + protected void createBlockStateDefinition(Builder p_206840_1_) { + p_206840_1_.add(TOP, BOTTOM, SHAPE); + } + + @Override + public int getLightEmission(BlockState state, BlockGetter world, BlockPos pos) { + SteelTankBlockEntity tankAt = ConnectivityHandler.partAt(getBlockEntityType(), world, pos); + if (tankAt == null) + return 0; + SteelTankBlockEntity controllerTE = (SteelTankBlockEntity) tankAt.getControllerBE(); + if (controllerTE == null || !((FluidTankBlockEntityAccessor)controllerTE).tfmg$getWindow()) + return 0; + return ((FluidTankBlockEntityAccessor)tankAt).tfmg$getLuminosity(); + } + + @Override + public InteractionResult onWrenched(BlockState state, UseOnContext context) { + withBlockEntityDo(context.getLevel(), context.getClickedPos(), SteelTankBlockEntity::toggleWindows); + return InteractionResult.SUCCESS; + } + + static final VoxelShape CAMPFIRE_SMOKE_CLIP = Block.box(0, 4, 0, 16, 16, 16); + + @Override + public VoxelShape getCollisionShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, + CollisionContext pContext) { + if (pContext == CollisionContext.empty()) + return CAMPFIRE_SMOKE_CLIP; + return pState.getShape(pLevel, pPos); + } + + @Override + public VoxelShape getBlockSupportShape(BlockState pState, BlockGetter pReader, BlockPos pPos) { + return Shapes.block(); + } + + @Override + public BlockState updateShape(BlockState pState, Direction pDirection, BlockState pNeighborState, + LevelAccessor pLevel, BlockPos pCurrentPos, BlockPos pNeighborPos) { + if (pDirection == Direction.DOWN && pNeighborState.getBlock() != this) + withBlockEntityDo(pLevel, pCurrentPos, SteelTankBlockEntity::updateBoilerTemperature); + return pState; + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + boolean onClient = level.isClientSide; + + if (stack.isEmpty()) + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + if (!player.isCreative() && !creative) + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + + FluidExchange exchange = null; + FluidTankBlockEntity be = ConnectivityHandler.partAt(getBlockEntityType(), level, pos); + if (be == null) + return ItemInteractionResult.FAIL; + + IFluidHandler tankCapability = level.getCapability(Capabilities.FluidHandler.BLOCK, be.getBlockPos(), null); + if (tankCapability == null) + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + FluidStack prevFluidInTank = tankCapability.getFluidInTank(0) + .copy(); + + if (FluidHelper.tryEmptyItemIntoBE(level, player, hand, stack, be)) + exchange = FluidExchange.ITEM_TO_TANK; + else if (FluidHelper.tryFillItemFromBE(level, player, hand, stack, be)) + exchange = FluidExchange.TANK_TO_ITEM; + + if (exchange == null) { + if (GenericItemEmptying.canItemBeEmptied(level, stack) + || GenericItemFilling.canItemBeFilled(level, stack)) + return ItemInteractionResult.SUCCESS; + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + } + + SoundEvent soundevent = null; + BlockState fluidState = null; + FluidStack fluidInTank = tankCapability.getFluidInTank(0); + + if (exchange == FluidExchange.ITEM_TO_TANK) { + if (creative && !onClient) { + FluidStack fluidInItem = GenericItemEmptying.emptyItem(level, stack, true) + .getFirst(); + if (!fluidInItem.isEmpty() && tankCapability instanceof CreativeFluidTankBlockEntity.CreativeSmartFluidTank) + ((CreativeFluidTankBlockEntity.CreativeSmartFluidTank) tankCapability).setContainedFluid(fluidInItem); + } + + Fluid fluid = fluidInTank.getFluid(); + fluidState = fluid.defaultFluidState() + .createLegacyBlock(); + soundevent = FluidHelper.getEmptySound(fluidInTank); + } + + if (exchange == FluidExchange.TANK_TO_ITEM) { + if (creative && !onClient) + if (tankCapability instanceof CreativeFluidTankBlockEntity.CreativeSmartFluidTank) + ((CreativeFluidTankBlockEntity.CreativeSmartFluidTank) tankCapability).setContainedFluid(FluidStack.EMPTY); + + Fluid fluid = prevFluidInTank.getFluid(); + fluidState = fluid.defaultFluidState() + .createLegacyBlock(); + soundevent = FluidHelper.getFillSound(prevFluidInTank); + } + + if (soundevent != null && !onClient) { + float pitch = Mth + .clamp(1 - (1f * fluidInTank.getAmount() / (FluidTankBlockEntity.getCapacityMultiplier() * 16)), 0, 1); + pitch /= 1.5f; + pitch += .5f; + pitch += (level.random.nextFloat() - .5f) / 4f; + level.playSound(null, pos, soundevent, SoundSource.BLOCKS, .5f, pitch); + } + + if (!FluidStack.isSameFluidSameComponents(fluidInTank, prevFluidInTank)) { + if (be instanceof FluidTankBlockEntity) { + FluidTankBlockEntity controllerBE = ((FluidTankBlockEntity) be).getControllerBE(); + if (controllerBE != null) { + if (fluidState != null && onClient) { + BlockParticleOption blockParticleData = + new BlockParticleOption(ParticleTypes.BLOCK, fluidState); + float fluidLevel = (float) fluidInTank.getAmount() / tankCapability.getTankCapacity(0); + + boolean reversed = fluidInTank.getFluid() + .getFluidType() + .isLighterThanAir(); + if (reversed) + fluidLevel = 1 - fluidLevel; + + Vec3 vec = hitResult.getLocation(); + vec = new Vec3(vec.x, controllerBE.getBlockPos() + .getY() + fluidLevel * (((FluidTankBlockEntityAccessor)controllerBE).tfmg$getHeight() - .5f) + .25f, vec.z); + Vec3 motion = player.position() + .subtract(vec) + .scale(1 / 20f); + vec = vec.add(motion); + level.addParticle(blockParticleData, vec.x, vec.y, vec.z, motion.x, motion.y, motion.z); + return ItemInteractionResult.SUCCESS; + } + + controllerBE.sendDataImmediately(); + controllerBE.setChanged(); + } + } + } + + return ItemInteractionResult.SUCCESS; + } + + @Override + public void onRemove(BlockState state, Level world, BlockPos pos, BlockState newState, boolean isMoving) { + if (state.hasBlockEntity() && (state.getBlock() != newState.getBlock() || !newState.hasBlockEntity())) { + BlockEntity te = world.getBlockEntity(pos); + if (!(te instanceof SteelTankBlockEntity)) + return; + SteelTankBlockEntity tankTE = (SteelTankBlockEntity) te; + world.removeBlockEntity(pos); + ConnectivityHandler.splitMulti(tankTE); + } + } + + @Override + public Class getBlockEntityClass() { + return SteelTankBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return creative ? TFMGBlockEntities.STEEL_FLUID_TANK.get() : TFMGBlockEntities.STEEL_FLUID_TANK.get(); + } + + @Override + public BlockState mirror(BlockState state, Mirror mirror) { + if (mirror == Mirror.NONE) + return state; + boolean x = mirror == Mirror.FRONT_BACK; + switch (state.getValue(SHAPE)) { + case WINDOW_NE: + return state.setValue(SHAPE, x ? Shape.WINDOW_NW : Shape.WINDOW_SE); + case WINDOW_NW: + return state.setValue(SHAPE, x ? Shape.WINDOW_NE : Shape.WINDOW_SW); + case WINDOW_SE: + return state.setValue(SHAPE, x ? Shape.WINDOW_SW : Shape.WINDOW_NE); + case WINDOW_SW: + return state.setValue(SHAPE, x ? Shape.WINDOW_SE : Shape.WINDOW_NW); + default: + return state; + } + } + + @Override + public BlockState rotate(BlockState state, Rotation rotation) { + for (int i = 0; i < rotation.ordinal(); i++) + state = rotateOnce(state); + return state; + } + + private BlockState rotateOnce(BlockState state) { + switch (state.getValue(SHAPE)) { + case WINDOW_NE: + return state.setValue(SHAPE, Shape.WINDOW_SE); + case WINDOW_NW: + return state.setValue(SHAPE, Shape.WINDOW_NE); + case WINDOW_SE: + return state.setValue(SHAPE, Shape.WINDOW_SW); + case WINDOW_SW: + return state.setValue(SHAPE, Shape.WINDOW_NW); + default: + return state; + } + } + + + + // Tanks are less noisy when placed in batch + public static final SoundType SILENCED_METAL = + new DeferredSoundType(0.1F, 1.5F, () -> SoundEvents.METAL_BREAK, () -> SoundEvents.METAL_STEP, + () -> SoundEvents.METAL_PLACE, () -> SoundEvents.METAL_HIT, () -> SoundEvents.METAL_FALL); + + @Override + public SoundType getSoundType(BlockState state, LevelReader world, BlockPos pos, Entity entity) { + SoundType soundType = super.getSoundType(state, world, pos, entity); + if (entity != null && entity.getPersistentData() + .contains("SilenceTankSound")) + return SILENCED_METAL; + return soundType; + } + + @Override + public boolean hasAnalogOutputSignal(BlockState state) { + return true; + } + + @Override + public int getAnalogOutputSignal(BlockState blockState, Level worldIn, BlockPos pos) { + return getBlockEntityOptional(worldIn, pos).map(SteelTankBlockEntity::getControllerBE) + .map(te -> ComparatorUtil.fractionToRedstoneLevel(te.getFillState())) + .orElse(0); + } + + public static boolean updateTowerState(Level pLevel, BlockPos tankPos, boolean assemble, boolean simulate) { + BlockState tankState = pLevel.getBlockState(tankPos); + + if (!(tankState.getBlock() instanceof SteelTankBlock tank)) + return false; + + SteelTankBlockEntity tankBE = tank.getBlockEntity(pLevel, tankPos); + if (tankBE == null) + return false; + + if (assemble && tankBE.getControllerBE().isDistillationTower) + return false; + + if (!simulate) { + tankBE.getControllerBE().updateBoilerState(); + tankBE.getControllerBE().isDistillationTower = assemble; + tankBE.refreshCapability(); + + + tankBE.updateBoilerState(); + tankBE.isDistillationTower = assemble; + tankBE.refreshCapability(); + tankBE.sendData(); + } + return true; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/steel/SteelTankBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/steel/SteelTankBlockEntity.java new file mode 100644 index 00000000..66fd17af --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/steel/SteelTankBlockEntity.java @@ -0,0 +1,654 @@ +package com.drmangotea.tfmg.content.decoration.tanks.steel; + +import com.drmangotea.tfmg.mixin.accessor.FluidTankBlockEntityAccessor; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.simibubi.create.AllBlockEntityTypes; +import com.simibubi.create.api.boiler.BoilerHeater; +import com.simibubi.create.api.connectivity.ConnectivityHandler; +import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.content.fluids.tank.BoilerHeaters; +import com.simibubi.create.content.fluids.tank.FluidTankBlock; +import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; +import com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.fluid.SmartFluidTank; +import net.createmod.catnip.data.Iterate; +import net.createmod.catnip.animation.LerpedFloat; +import com.simibubi.create.infrastructure.config.AllConfigs; +import net.createmod.catnip.nbt.NBTHelper; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.NbtUtils; +import net.minecraft.network.chat.Component; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.AABB; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.FluidType; +import net.neoforged.neoforge.fluids.IFluidTank; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; +import net.neoforged.neoforge.fluids.capability.templates.FluidTank; + + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.util.List; +import java.util.Objects; + +import static java.lang.Math.abs; + +public class SteelTankBlockEntity extends FluidTankBlockEntity implements IHaveGoggleInformation, IMultiBlockEntityContainer.Fluid { + private static final int MAX_SIZE = 3; + + public int gaugeRotation = 0; + public int activeHeat; + public boolean isDistillationTower = false; + private static final int SYNC_RATE = 8; + + + // For rendering purposes only + private LerpedFloat fluidLevel; + public LerpedFloat visualGaugeRotation = LerpedFloat.angular(); + public SteelTankBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + setLazyTickRate(10); + tankInventory = createInventory(); + fluidCapability = tankInventory; + forceFluidLevelUpdate = true; + updateConnectivity = false; + window = true; + height = 1; + width = 1; + ((FluidTankBlockEntityAccessor)this).tfmg$refreshCapability(); + } + + protected SmartFluidTank createInventory() { + return new SmartFluidTank(getCapacityMultiplier(), this::onFluidStackChanged); + } + public void updateConnectivity() { + updateConnectivity = false; + if (level.isClientSide) + return; + if (!isController()) + return; + ((FluidTankBlockEntityAccessor)this).tfmg$refreshCapability(); + ConnectivityHandler.formMulti(this); + } + + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.FluidHandler.BLOCK, + TFMGBlockEntities.STEEL_FLUID_TANK.get(), + (be, context) -> { + if (be.fluidCapability == null) + ((FluidTankBlockEntityAccessor)be).tfmg$refreshCapability(); + return be.fluidCapability; + } + ); + } + + @Override + public void tick() { + super.tick(); + getGaugeRotation(); + visualGaugeRotation.chase(gaugeRotation, 0.2f, LerpedFloat.Chaser.EXP); + visualGaugeRotation.tickChaser(); + if (syncCooldown > 0) { + syncCooldown--; + if (syncCooldown == 0 && queuedSync) + sendData(); + } + + if (lastKnownPos == null) + lastKnownPos = getBlockPos(); + else if (!lastKnownPos.equals(worldPosition) && worldPosition != null) { + onPositionChanged(); + return; + } + if (updateConnectivity) + updateConnectivity(); + if (fluidLevel != null) + fluidLevel.tickChaser(); + } + + @Override + public BlockPos getLastKnownPos() { + return lastKnownPos; + } + + @Override + public boolean isController() { + return controller == null || worldPosition.getX() == controller.getX() + && worldPosition.getY() == controller.getY() && worldPosition.getZ() == controller.getZ(); + } + + public void refreshCapability() { + fluidCapability = handlerForCapability(); + invalidateCapabilities(); + } + + @Override + public void initialize() { + super.initialize(); + sendData(); + if (level.isClientSide) + invalidateRenderBoundingBox(); + } + + private void onPositionChanged() { + removeController(true); + lastKnownPos = worldPosition; + } + + protected void onFluidStackChanged(FluidStack newFluidStack) { + if (!hasLevel()) + return; + FluidType attributes = newFluidStack.getFluid() + .getFluidType(); + int luminosity = (int) (attributes.getLightLevel(newFluidStack) / 1.2f); + boolean reversed = attributes.isLighterThanAir(); + int maxY = (int) ((getFillState() * height) + 1); + for (int yOffset = 0; yOffset < height; yOffset++) { + boolean isBright = reversed ? (height - yOffset <= maxY) : (yOffset < maxY); + int actualLuminosity = isBright ? luminosity : luminosity > 0 ? 1 : 0; + for (int xOffset = 0; xOffset < width; xOffset++) { + for (int zOffset = 0; zOffset < width; zOffset++) { + BlockPos pos = this.worldPosition.offset(xOffset, yOffset, zOffset); + SteelTankBlockEntity tankAt = ConnectivityHandler.partAt(getType(), level, pos); + if (tankAt == null) + continue; + level.updateNeighbourForOutputSignal(pos, tankAt.getBlockState() + .getBlock()); + if (tankAt.luminosity == actualLuminosity) + continue; + tankAt.setLuminosity(actualLuminosity); + } + } + } + + if (!level.isClientSide) { + setChanged(); + sendData(); + } + + if (isVirtual()) { + if (fluidLevel == null) + fluidLevel = LerpedFloat.linear() + .startWithValue(getFillState()); + fluidLevel.chase(getFillState(), .5f, LerpedFloat.Chaser.EXP); + } + } + + protected void setLuminosity(int luminosity) { + if (level.isClientSide) + return; + if (this.luminosity == luminosity) + return; + this.luminosity = luminosity; + sendData(); + } + + @SuppressWarnings("unchecked") + @Override + public SteelTankBlockEntity getControllerBE() { + if (isController()) + return this; + BlockEntity tileEntity = level.getBlockEntity(controller); + if (tileEntity instanceof SteelTankBlockEntity) + return (SteelTankBlockEntity) tileEntity; + return null; + } + + public void applyFluidTankSize(int blocks) { + tankInventory.setCapacity(blocks * getCapacityMultiplier()); + int overflow = tankInventory.getFluidAmount() - tankInventory.getCapacity(); + if (overflow > 0) + tankInventory.drain(overflow, IFluidHandler.FluidAction.EXECUTE); + forceFluidLevelUpdate = true; + } + + public void removeController(boolean keepFluids) { + if (level.isClientSide) + return; + updateConnectivity = true; + if (!keepFluids) + applyFluidTankSize(1); + controller = null; + width = 1; + height = 1; + + onFluidStackChanged(tankInventory.getFluid()); + + BlockState state = getBlockState(); + if (SteelTankBlock.isTank(state)) { + state = state.setValue(SteelTankBlock.BOTTOM, true); + state = state.setValue(SteelTankBlock.TOP, true); + state = state.setValue(SteelTankBlock.SHAPE, window ? FluidTankBlock.Shape.WINDOW : FluidTankBlock.Shape.PLAIN); + getLevel().setBlock(worldPosition, state, 22); + } + ((FluidTankBlockEntityAccessor)this).tfmg$refreshCapability(); + setChanged(); + sendData(); + } + + public void toggleWindows() { + SteelTankBlockEntity te = getControllerBE(); + if (te == null) + return; + if (isDistillationTower) + return; + te.setWindows(!te.window); + } + + public void sendDataImmediately() { + syncCooldown = 0; + queuedSync = false; + sendData(); + } + + @Override + public void sendData() { + if (syncCooldown > 0) { + queuedSync = true; + return; + } + super.sendData(); + queuedSync = false; + syncCooldown = SYNC_RATE; + } + + public void setWindows(boolean window) { + this.window = window; + for (int yOffset = 0; yOffset < height; yOffset++) { + for (int xOffset = 0; xOffset < width; xOffset++) { + for (int zOffset = 0; zOffset < width; zOffset++) { + BlockPos pos = this.worldPosition.offset(xOffset, yOffset, zOffset); + BlockState blockState = level.getBlockState(pos); + if (!SteelTankBlock.isTank(blockState)) + continue; + FluidTankBlock.Shape shape = FluidTankBlock.Shape.PLAIN; + if (window) { + // SIZE 1: Every tank has a window + if (width == 1) + shape = FluidTankBlock.Shape.WINDOW; + // SIZE 2: Every tank has a corner window + if (width == 2) + shape = xOffset == 0 ? zOffset == 0 ? FluidTankBlock.Shape.WINDOW_NW : FluidTankBlock.Shape.WINDOW_SW + : zOffset == 0 ? FluidTankBlock.Shape.WINDOW_NE : FluidTankBlock.Shape.WINDOW_SE; + // SIZE 3: Tanks in the center have a window + if (width == 3 && abs(abs(xOffset) - abs(zOffset)) == 1) + shape = FluidTankBlock.Shape.WINDOW; + } + + level.setBlock(pos, blockState.setValue(SteelTankBlock.SHAPE, shape), 22); + level.getChunkSource() + .getLightEngine() + .checkBlock(pos); + } + } + } + } + + public void updateBoilerState() { + if (!isController()) + return; + boolean wasTower = isDistillationTower; + boolean changed = evaluate(); + + if (wasTower != isDistillationTower) { + if (isDistillationTower) + setWindows(false); + for (int yOffset = 0; yOffset < height; yOffset++) + for (int xOffset = 0; xOffset < width; xOffset++) + for (int zOffset = 0; zOffset < width; zOffset++) + if (level.getBlockEntity( + worldPosition.offset(xOffset, yOffset, zOffset)) instanceof SteelTankBlockEntity fte) + ((FluidTankBlockEntityAccessor)fte).tfmg$refreshCapability(); + } + if (changed) { + notifyUpdate(); + ((FluidTankBlockEntityAccessor)this).tfmg$refreshCapability(); + + } + } + public boolean evaluate() { + boolean hadController = isDistillationTower; + boolean foundController = false; + BlockPos pos1 = controller == null ? getBlockPos() : controller; + for (int yOffset = 0; yOffset < getControllerBE().height; yOffset++) { + for (int xOffset = 0; xOffset < getControllerBE().width; xOffset++) { + for (int zOffset = 0; zOffset < getControllerBE().width; zOffset++) { + BlockPos pos = pos1.offset(xOffset, yOffset, zOffset); + BlockState blockState = level.getBlockState(pos); + if (!SteelTankBlock.isTank(blockState)) + continue; + for (Direction d : Iterate.directions) { + BlockPos attachedPos = pos.relative(d); + BlockState attachedState = level.getBlockState(attachedPos); + + if (attachedState.is(TFMGBlocks.STEEL_DISTILLATION_CONTROLLER.get())) { + + if (!foundController) { + foundController = true; + } else + level.destroyBlock(attachedPos, true); + } + } + } + } + } + isDistillationTower = foundController; + + return hadController != foundController; + } + + @Override + public void lazyTick() { + super.lazyTick(); + if (isDistillationTower) + updateTemperature(); + } + public void updateTemperature() { + int prevHeat = activeHeat; + activeHeat = 0; + BlockPos pos1 = controller == null ? getBlockPos() : controller; + SteelTankBlockEntity be = getControllerBE() == null ? this : getControllerBE(); + + for (int xOffset = 0; xOffset < be.width; xOffset++) { + for (int zOffset = 0; zOffset < be.width; zOffset++) { + BlockPos pos = pos1.offset(xOffset, -1, zOffset); + BlockState blockState = level.getBlockState(pos); + float heat = BoilerHeater.findHeat(level, pos, blockState); + if (heat > 0) { + activeHeat += heat; + } + } + } + + if (activeHeat != prevHeat) + notifyUpdate(); + } + + @Override + public void setController(BlockPos controller) { + if (level.isClientSide && !isVirtual()) + return; + if (controller.equals(this.controller)) + return; + this.controller = controller; + ((FluidTankBlockEntityAccessor)this).tfmg$refreshCapability(); + setChanged(); + sendData(); + } + + + private IFluidHandler handlerForCapability() { + return isController() ? + tankInventory + : getControllerBE() != null ? getControllerBE().handlerForCapability() : tankInventory; + } + + @Override + public BlockPos getController() { + return isController() ? worldPosition : controller; + } + + @Override + protected AABB createRenderBoundingBox() { + if (isController()) + return super.createRenderBoundingBox().expandTowards(width - 1, height - 1, width - 1); + else + return super.createRenderBoundingBox(); + } + @Nullable + public SteelTankBlockEntity getOtherFluidTankTileEntity(Direction direction) { + BlockEntity otherTE = level.getBlockEntity(worldPosition.relative(direction)); + if (otherTE instanceof SteelTankBlockEntity) + return (SteelTankBlockEntity) otherTE; + return null; + } + @Override + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + SteelTankBlockEntity controllerTE = getControllerBE(); + if (isDistillationTower) + return false; + if (getControllerBE() != null) + if (getControllerBE().isDistillationTower) + return false; + + return containedFluidTooltip(tooltip, isPlayerSneaking, + level.getCapability(Capabilities.FluidHandler.BLOCK, getControllerBE().getBlockPos(), null)); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound, registries, clientPacket); + + BlockPos controllerBefore = controller; + int prevSize = width; + int prevHeight = height; + int prevLum = luminosity; + + updateConnectivity = compound.contains("Uninitialized"); + luminosity = compound.getInt("Luminosity"); + + lastKnownPos = null; + if (compound.contains("LastKnownPos")) + lastKnownPos = NBTHelper.readBlockPos(compound, "LastKnownPos"); + + controller = null; + if (compound.contains("Controller")) + controller = NBTHelper.readBlockPos(compound, "Controller"); + + if (isController()) { + window = compound.getBoolean("Window"); + width = compound.getInt("Size"); + height = compound.getInt("Height"); + tankInventory.setCapacity(getTotalTankSize() * getCapacityMultiplier()); + + tankInventory.readFromNBT(registries, compound.getCompound("TankContent")); + if (tankInventory.getSpace() < 0) + tankInventory.drain(-tankInventory.getSpace(), IFluidHandler.FluidAction.EXECUTE); + } + + boiler.read(compound.getCompound("Boiler"), width * width * height); + + if (compound.contains("ForceFluidLevel") || fluidLevel == null) + fluidLevel = LerpedFloat.linear() + .startWithValue(getFillState()); + + updateCapability = true; + + if (!clientPacket) + return; + + boolean changeOfController = !Objects.equals(controllerBefore, controller); + if (changeOfController || prevSize != width || prevHeight != height) { + if (hasLevel()) + level.sendBlockUpdated(getBlockPos(), getBlockState(), getBlockState(), 16); + if (isController()) + tankInventory.setCapacity(getCapacityMultiplier() * getTotalTankSize()); + invalidateRenderBoundingBox(); + } + if (isController()) { + float fillState = getFillState(); + if (compound.contains("ForceFluidLevel") || fluidLevel == null) + fluidLevel = LerpedFloat.linear() + .startWithValue(fillState); + fluidLevel.chase(fillState, 0.5f, LerpedFloat.Chaser.EXP); + } + if (luminosity != prevLum && hasLevel()) + level.getChunkSource() + .getLightEngine() + .checkBlock(worldPosition); + + if (compound.contains("LazySync")) + fluidLevel.chase(fluidLevel.getChaseTarget(), 0.125f, LerpedFloat.Chaser.EXP); + } + public void getGaugeRotation() { + + gaugeRotation = Math.min(90, activeHeat * 15); + } + + public float getFillState() { + return (float) tankInventory.getFluidAmount() / tankInventory.getCapacity(); + } + + @Override + public void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + if (updateConnectivity) + compound.putBoolean("Uninitialized", true); + compound.put("Boiler", boiler.write()); + if (lastKnownPos != null) + compound.put("LastKnownPos", NbtUtils.writeBlockPos(lastKnownPos)); + if (!isController()) + compound.put("Controller", NbtUtils.writeBlockPos(controller)); + if (isController()) { + compound.putBoolean("Window", window); + compound.put("TankContent", tankInventory.writeToNBT(registries, new CompoundTag())); + compound.putInt("Size", width); + compound.putInt("Height", height); + } + compound.putInt("Luminosity", luminosity); + super.write(compound, registries, clientPacket); + + if (!clientPacket) + return; + if (forceFluidLevelUpdate) + compound.putBoolean("ForceFluidLevel", true); + if (queuedSync) + compound.putBoolean("LazySync", true); + forceFluidLevelUpdate = false; + } + + + + @Override + public void addBehaviours(List behaviours) { + //registerAwardables(behaviours, AllAdvancements.STEAM_ENGINE_MAXED, AllAdvancements.PIPE_ORGAN); + } + + public FluidTank getTankInventory() { + return tankInventory; + } + public int getTotalTankSize() { + return width * width * height; + } + public static int getMaxSize() { + return MAX_SIZE; + } + public static int getCapacityMultiplier() { + return AllConfigs.server().fluids.fluidTankCapacity.get() * 1000; + } + public static int getMaxHeight() { + return AllConfigs.server().fluids.fluidTankMaxHeight.get(); + } + + public LerpedFloat getFluidLevel() { + return fluidLevel; + } + public void setFluidLevel(LerpedFloat fluidLevel) { + this.fluidLevel = fluidLevel; + } + + @Override + public void preventConnectivityUpdate() { + updateConnectivity = false; + } + + @Override + public void notifyMultiUpdated() { + BlockState state = this.getBlockState(); + if (SteelTankBlock.isTank(state)) { // safety + state = state.setValue(SteelTankBlock.BOTTOM, getController().getY() == getBlockPos().getY()); + state = state.setValue(SteelTankBlock.TOP, getController().getY() + height - 1 == getBlockPos().getY()); + level.setBlock(getBlockPos(), state, 6); + } + if (isController()) + setWindows(window); + onFluidStackChanged(tankInventory.getFluid()); + updateBoilerState(); + setChanged(); + } + + @Override + public void setExtraData(@Nullable Object data) { + if (data instanceof Boolean) + window = (boolean) data; + } + + @Override + @Nullable + public Object getExtraData() { + return window; + } + + @Override + public Object modifyExtraData(Object data) { + if (data instanceof Boolean windows) { + windows |= window; + return windows; + } + return data; + } + + @Override + public Direction.Axis getMainConnectionAxis() { + return Direction.Axis.Y; + } + + @Override + public int getMaxLength(Direction.Axis longAxis, int width) { + if (longAxis == Direction.Axis.Y) + return getMaxHeight(); + return getMaxWidth(); + } + @Override + public int getMaxWidth() { + return MAX_SIZE; + } + @Override + public int getHeight() { + return height; + } + @Override + public void setHeight(int height) { + this.height = height; + } + @Override + public int getWidth() { + return width; + } + @Override + public void setWidth(int width) { + this.width = width; + } + @Override + public boolean hasTank() { + return true; + } + @Override + public int getTankSize(int tank) { + return getCapacityMultiplier(); + } + @Override + public void setTankSize(int tank, int blocks) { + applyFluidTankSize(blocks); + } + @Override + public IFluidTank getTank(int tank) { + return tankInventory; + } + @Override + public FluidStack getFluid(int tank) { + return tankInventory.getFluid() + .copy(); + } +} + diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/steel/SteelTankItem.java b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/steel/SteelTankItem.java new file mode 100644 index 00000000..2bbd4576 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/tanks/steel/SteelTankItem.java @@ -0,0 +1,141 @@ +package com.drmangotea.tfmg.content.decoration.tanks.steel; + + +import com.drmangotea.tfmg.mixin.accessor.FluidTankBlockEntityAccessor; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.api.connectivity.ConnectivityHandler; +import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.component.DataComponents; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.server.MinecraftServer; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.component.CustomData; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.fluids.FluidStack; + +public class SteelTankItem extends BlockItem { + + public SteelTankItem(Block p_i48527_1_, Properties p_i48527_2_) { + super(p_i48527_1_, p_i48527_2_); + } + + @Override + public InteractionResult place(BlockPlaceContext ctx) { + InteractionResult initialResult = super.place(ctx); + if (!initialResult.consumesAction()) + return initialResult; + tryMultiPlace(ctx); + return initialResult; + } + + @Override + protected boolean updateCustomBlockEntityTag(BlockPos blockPos, Level level, Player player, + ItemStack itemStack, BlockState blockState) { + MinecraftServer minecraftserver = level.getServer(); + if (minecraftserver == null) + return false; + CustomData blockEntityData = itemStack.get(DataComponents.BLOCK_ENTITY_DATA); + if (blockEntityData != null) { + CompoundTag nbt = blockEntityData.copyTag(); + nbt.remove("Luminosity"); + nbt.remove("Size"); + nbt.remove("Height"); + nbt.remove("Controller"); + nbt.remove("LastKnownPos"); + if (nbt.contains("TankContent")) { + FluidStack fluid = FluidStack.parseOptional(minecraftserver.registryAccess(), nbt.getCompound("TankContent")); + if (!fluid.isEmpty()) { + fluid.setAmount(Math.min(FluidTankBlockEntity.getCapacityMultiplier(), fluid.getAmount())); + nbt.put("TankContent", fluid.saveOptional(minecraftserver.registryAccess())); + } + } + BlockEntity.addEntityType(nbt, ((IBE) this.getBlock()).getBlockEntityType()); + itemStack.set(DataComponents.BLOCK_ENTITY_DATA, CustomData.of(nbt)); + } + return super.updateCustomBlockEntityTag(blockPos, level, player, itemStack, blockState); + } + + private void tryMultiPlace(BlockPlaceContext ctx) { + + Player player = ctx.getPlayer(); + if (player == null) + return; + if (player.isShiftKeyDown()) + return; + Direction face = ctx.getClickedFace(); + if (!face.getAxis() + .isVertical()) + return; + ItemStack stack = ctx.getItemInHand(); + Level world = ctx.getLevel(); + BlockPos pos = ctx.getClickedPos(); + BlockPos placedOnPos = pos.relative(face.getOpposite()); + BlockState placedOnState = world.getBlockState(placedOnPos); + + if (!SteelTankBlock.isTank(placedOnState)) + return; + + SteelTankBlockEntity tankAt = ConnectivityHandler.partAt( + TFMGBlockEntities.STEEL_FLUID_TANK.get(), world, placedOnPos + ); + if (tankAt == null) + return; + SteelTankBlockEntity controllerTE = (SteelTankBlockEntity) tankAt.getControllerBE(); + if (controllerTE == null) + return; + + int width = ((FluidTankBlockEntityAccessor)controllerTE).tfmg$getWidth(); + if (width == 1) + return; + + int tanksToPlace = 0; + BlockPos startPos = face == Direction.DOWN ? controllerTE.getBlockPos() + .below() + : controllerTE.getBlockPos() + .above(((FluidTankBlockEntityAccessor)controllerTE).tfmg$getHeight()); + + if (startPos.getY() != pos.getY()) + return; + + for (int xOffset = 0; xOffset < width; xOffset++) { + for (int zOffset = 0; zOffset < width; zOffset++) { + BlockPos offsetPos = startPos.offset(xOffset, 0, zOffset); + BlockState blockState = world.getBlockState(offsetPos); + if (SteelTankBlock.isTank(blockState)) + continue; + if (!blockState.canBeReplaced()) + return; + tanksToPlace++; + } + } + + if (!player.isCreative() && stack.getCount() < tanksToPlace) + return; + + for (int xOffset = 0; xOffset < width; xOffset++) { + for (int zOffset = 0; zOffset < width; zOffset++) { + BlockPos offsetPos = startPos.offset(xOffset, 0, zOffset); + BlockState blockState = world.getBlockState(offsetPos); + if (SteelTankBlock.isTank(blockState)) + continue; + BlockPlaceContext context = BlockPlaceContext.at(ctx, offsetPos, face); + player.getPersistentData() + .putBoolean("SilenceTankSound", true); + super.place(context); + player.getPersistentData() + .remove("SilenceTankSound"); + } + } + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/base/ConnectNeightborsPacket.java b/src/main/java/com/drmangotea/tfmg/content/electricity/base/ConnectNeightborsPacket.java new file mode 100644 index 00000000..a1c7a5ab --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/base/ConnectNeightborsPacket.java @@ -0,0 +1,43 @@ +package com.drmangotea.tfmg.content.electricity.base; + + +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.simibubi.create.content.logistics.tunnel.TunnelFlapPacket; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.networking.BlockEntityDataPacket; +import io.netty.buffer.ByteBuf; +import net.createmod.catnip.codecs.stream.CatnipStreamCodecBuilders; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; + +public class ConnectNeightborsPacket extends BlockEntityDataPacket { + + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + BlockPos.STREAM_CODEC, packet -> packet.pos, + ConnectNeightborsPacket::new + ); + + public ConnectNeightborsPacket(BlockPos pos) { + super(pos); + + } + + + @Override + protected void handlePacket(SmartBlockEntity blockEntity) { + + if(blockEntity instanceof IElectric be) { + be.onPlaced(); + + } + + } + + @Override + public PacketTypeProvider getTypeProvider() { + return TFMGPackets.CONNECT_NEIGHBORS; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/base/ConnectionPacket.java b/src/main/java/com/drmangotea/tfmg/content/electricity/base/ConnectionPacket.java new file mode 100644 index 00000000..3023d323 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/base/ConnectionPacket.java @@ -0,0 +1,41 @@ +package com.drmangotea.tfmg.content.electricity.base; + + +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.networking.BlockEntityDataPacket; +import io.netty.buffer.ByteBuf; +import net.minecraft.core.BlockPos; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; + +public class ConnectionPacket extends BlockEntityDataPacket { + + + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + BlockPos.STREAM_CODEC, packet -> packet.pos, + ConnectionPacket::new + ); + + public ConnectionPacket(BlockPos pos) { + super(pos); + + + } + + + @Override + protected void handlePacket(SmartBlockEntity blockEntity) { + + if(blockEntity instanceof IElectric be) { + be.onConnected(); + } + + } + + + @Override + public PacketTypeProvider getTypeProvider() { + return TFMGPackets.CONNECTION_PACKET; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/base/ElectricBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/base/ElectricBlockEntity.java new file mode 100644 index 00000000..06d2051b --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/base/ElectricBlockEntity.java @@ -0,0 +1,275 @@ +package com.drmangotea.tfmg.content.electricity.base; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.simibubi.create.api.equipment.goggles.IHaveHoveringInformation; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import net.createmod.catnip.platform.CatnipServices; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.level.ChunkPos; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + + +import java.util.ArrayList; +import java.util.List; + +public class ElectricBlockEntity extends SmartBlockEntity implements IElectric, IHaveHoveringInformation { + + public ElectricBlockValues data = new ElectricBlockValues(getPos()); + + + + public ElectricBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + data.connectNextTick = true; + if (!canBeInGroups()) { + data.group = new ElectricalGroup(-1); + } + } + + + @Override + public void addBehaviours(List behaviours) { + } + + @Override + public LevelAccessor getLevelAccessor() { + return level; + } + + @Override + public boolean destroyed() { + return data.destroyed; + } + + @Override + public ElectricalNetwork getOrCreateElectricNetwork() { + if (level.getBlockEntity(BlockPos.of(data.electricalNetworkId)) instanceof IElectric) { + return TFMG.NETWORK_MANAGER.getOrCreateNetworkFor((IElectric) level.getBlockEntity(BlockPos.of(data.electricalNetworkId))); + } else { + ElectricNetworkManager.networks.get(getLevel()) + .remove(data.electricalNetworkId); + return TFMG.NETWORK_MANAGER.getOrCreateNetworkFor(this); + } + } + + @Override + public void lazyTick() { + super.lazyTick(); + if (data.failTimer >= 4) { + this.blockFail(); + data.failTimer = 0; + sendStuff(); + } else if ((data.voltage > getMaxVoltage() && getMaxVoltage() > 0) || (getCurrent() > getMaxCurrent()&&getMaxCurrent()>0)) { + data.failTimer++; + } + } + + @Override + public ElectricBlockValues getData() { + return data; + } + + + + + @Override + public float resistance() { + return 0; + } + + @Override + public int voltageGeneration() { + + int voltageGeneration = 0; + + for (Direction direction : Direction.values()) { + if (hasElectricitySlot(direction)) { + + if (level.getBlockEntity(getBlockPos().relative(direction)) instanceof VoltageAlteringBlockEntity be) + if (be.getData().getId() != getData().getId()) + if (be.getData().getVoltage() != 0) + if (be.hasElectricitySlot(direction)) { + voltageGeneration = Math.max(voltageGeneration, be.getOutputVoltage()); + data.getsOutsidePower = true; + } + } + } + + if (voltageGeneration == 0) + data.getsOutsidePower = false; + + return voltageGeneration; + } + + + + @Override + public int powerGeneration() { + + int powerGeneration = 0; + + for (Direction direction : Direction.values()) { + if (hasElectricitySlot(direction)) { + + if (level.getBlockEntity(getBlockPos().relative(direction)) instanceof VoltageAlteringBlockEntity be&&be.canWork()) { + + if (be.getData().getId() != getData().getId()) + if (be.getData().getVoltage() != 0) + if (be.hasElectricitySlot(direction)) { + powerGeneration = Math.max(powerGeneration, be.getPowerUsage()) + 1; + if(powerGeneration>be.getNetworkPowerGeneration()) { + powerGeneration = 0; + be.data.updatePowerNextTick=true; + } + } + } + } + } + + return powerGeneration; + } + + @Override + public int frequencyGeneration() { + return 0; + } + + @Override + public void updateNextTick() { + data.updateNextTick = true; + } + + @Override + public void updateNetwork() { + getOrCreateElectricNetwork().updateNetwork(); + if (level instanceof ServerLevel serverLevel) + CatnipServices.NETWORK.sendToClientsTrackingChunk(serverLevel, new ChunkPos(worldPosition),new NetworkUpdatePacket(BlockPos.of(getPos()))); + sendData(); + } + + @Override + public void sendStuff() { + sendData(); + } + + @Override + public void setVoltage(int newVoltage) { + + + + if (canBeInGroups()) { + data.voltage = (int) (((float) resistance() / data.group.resistance) * (float) data.voltageSupply); + return; + } + data.voltage = newVoltage; + } + + @Override + public void setFrequency(int newFrequency) { + data.frequency = newFrequency; + } + + @Override + public void setNetworkResistance(int newUsage) { + data.networkResistance = newUsage; + } + + @Override + public int getNetworkResistance() { + return data.networkResistance; + } + + + @Override + public void setNetwork(long network) { + this.data.electricalNetworkId = network; + if (network != getPos()) + ElectricNetworkManager.networks.get(getLevel()) + .remove(getPos()); + } + + public boolean networkUndersupplied() { + return getNetworkPowerUsage() > data.networkPowerGeneration; + } + + + @Override + public long getPos() { + return getBlockPos().asLong(); + } + + @Override + public void remove() { + super.remove(); + + this.data.destroyed = true; + for (Direction d : Direction.values()) { + if (hasElectricitySlot(d)) + if (getLevelAccessor().getBlockEntity(BlockPos.of(getPos()).relative(d)) instanceof IElectric be && be.hasElectricitySlot(d.getOpposite())) { + ElectricNetworkManager.networks.get(getLevel()) + .remove(be.getPos()); + be.setNetwork(be.getPos()); + be.onPlaced(); + be.updateNextTick(); + } + } + if (data.electricalNetworkId != getPos()) + getOrCreateElectricNetwork().getMembers().remove(this); +// + if (data.electricalNetworkId == getPos()) + ElectricNetworkManager.networks.get(getLevel()) + .remove(getData().getId()); + } + + @Override + public void tick() { + super.tick(); + if (data.checkForLoopsNextTick) { + getOrCreateElectricNetwork().checkForLoops(getBlockPos()); + data.checkForLoopsNextTick = false; + } + if (data.connectNextTick) { + onPlaced(); + data.connectNextTick = false; + } + if (data.updateNextTick) { + updateNetwork(); + data.updateNextTick = false; + } + + if (data.updatePowerNextTick) { + updateUnpowered(new ArrayList<>()); + data.updatePowerNextTick = false; + } + if (data.setVoltageNextTick) { + setVoltage(data.voltageSupply); + data.setVoltageNextTick = false; + } + + } + + @Override + protected void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + + compound.putInt("GroupId", data.group.id); + compound.putFloat("GroupResistance", data.group.resistance); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + data.group = new ElectricalGroup(compound.getInt("GroupId")); + data.group.resistance = compound.getFloat("GroupResistance"); + if (!clientPacket) + data.connectNextTick = true; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/base/ElectricBlockValues.java b/src/main/java/com/drmangotea/tfmg/content/electricity/base/ElectricBlockValues.java new file mode 100644 index 00000000..0cafd0ab --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/base/ElectricBlockValues.java @@ -0,0 +1,41 @@ +package com.drmangotea.tfmg.content.electricity.base; + +public class ElectricBlockValues { + + + public long electricalNetworkId; + public boolean destroyed = false; + public boolean connectNextTick = false; + public boolean checkForLoopsNextTick = false; + public boolean updatePowerNextTick = false; + public boolean updateNextTick = false; + public boolean getsOutsidePower = false; + public int networkResistance = 0; + public int voltage = 0; + public int frequency = 0; + public int voltageSupply = 0; + public int networkPowerGeneration =0; + public float highestCurrent=0; + + public boolean notEnoughtPower=false; + + public boolean setVoltageNextTick = false; + + public int failTimer = 0; + + public ElectricalGroup group = new ElectricalGroup(0); + + public ElectricBlockValues(long pos){ + this.electricalNetworkId = pos; + } + + public long getId(){ + return electricalNetworkId; + } + public boolean destroyed(){ + return destroyed; + } + public int getVoltage(){ + return voltage; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/base/ElectricNetworkManager.java b/src/main/java/com/drmangotea/tfmg/content/electricity/base/ElectricNetworkManager.java new file mode 100644 index 00000000..f8f30690 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/base/ElectricNetworkManager.java @@ -0,0 +1,35 @@ +package com.drmangotea.tfmg.content.electricity.base; + +import net.minecraft.world.level.LevelAccessor; + +import java.util.HashMap; +import java.util.Map; + +public class ElectricNetworkManager { + + public static Map> networks = new HashMap<>(); + + public void onLoadWorld(LevelAccessor world) { + networks.put(world, new HashMap<>()); + } + public void onUnloadWorld(LevelAccessor world) { + networks.remove(world); + } + public ElectricalNetwork getOrCreateNetworkFor(IElectric be) { + Long id = be.getData().getId(); + ElectricalNetwork network; + Map map = networks.computeIfAbsent(be.getLevelAccessor(), $ -> new HashMap<>()); + + if (!map.containsKey(id)) { + network = new ElectricalNetwork(id); + + if(be instanceof IElectric) { + network.add(be); + be.setNetwork(be.getData().getId()); + } + map.put(id, network); + } + network = map.get(id); + return network; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/base/ElectricalGroup.java b/src/main/java/com/drmangotea/tfmg/content/electricity/base/ElectricalGroup.java new file mode 100644 index 00000000..8da9b9ee --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/base/ElectricalGroup.java @@ -0,0 +1,16 @@ +package com.drmangotea.tfmg.content.electricity.base; + +import java.util.List; + +public class ElectricalGroup { + + public int id; + public float resistance=0; + + public ElectricalGroup(int id){ + this.id = id; + } + + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/base/ElectricalNetwork.java b/src/main/java/com/drmangotea/tfmg/content/electricity/base/ElectricalNetwork.java new file mode 100644 index 00000000..45486537 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/base/ElectricalNetwork.java @@ -0,0 +1,178 @@ +package com.drmangotea.tfmg.content.electricity.base; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.electricity.utilities.diode.ElectricDiodeBlockEntity; +import com.drmangotea.tfmg.content.electricity.utilities.electric_motor.ElectricMotorBlockEntity; +import com.drmangotea.tfmg.content.electricity.utilities.transformer.TransformerBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.Blocks; + +import java.util.*; + +public class ElectricalNetwork { + + public ElectricalNetwork(long id) { + this.id = id; + } + + public List members = new ArrayList<>(); + + + public long id; + + public long getId() { + return id; + } + + public void add(IElectric be) { + List posList = new ArrayList<>(); + + members.forEach(member -> posList.add(member.getData().getId())); + if (posList.contains(be.getData().getId())) + return; + members.add(be); + } + + public void updateNetwork() { + + + + int maxVoltage = 0; + int power = 0; + int resistance = 0; + int powerGeneration = 0; + + + Map groups = new HashMap<>(); + + for (IElectric member : members) { + member.getData().notEnoughtPower = false; + int groupId = member.getData().group.id; + + maxVoltage = Math.max(member.voltageGeneration(), maxVoltage); + power += member.powerGeneration(); + resistance += (int) member.resistance(); + powerGeneration += member.powerGeneration(); + if (member.canBeInGroups()) + groups.put(groupId, groups.containsKey(groupId) ? groups.get(groupId) + member.resistance() : member.resistance()); + } + + int powerPercentage = resistance > 0 ? (int) (Math.min(((float) power / (float) resistance * 100f), 100)) : 100; + + List list = new ArrayList<>(members); + if(!members.isEmpty()) { + float powerUsage = members.get(0).getNetworkPowerUsage(); + + for (IElectric member : list) { + + int oldVoltage = member.getData().getVoltage(); + int oldPower = member.getPowerUsage(); + member.getData().voltageSupply = maxVoltage; + member.setVoltage(maxVoltage); + member.getData().setVoltageNextTick = true; + + member.getData().networkPowerGeneration = powerGeneration; + member.setNetworkResistance(resistance); + member.onNetworkChanged(oldVoltage, oldPower); + + + if (groups.containsKey(member.getData().group.id)) + member.getData().group.resistance = groups.get(member.getData().group.id); + } + } + + for (IElectric member : members) { + member.getData().highestCurrent = getCableCurrent(member); + + member.updateNearbyNetworks(member); + if(member instanceof ElectricDiodeBlockEntity be) { + be.updateInFront(); + } + if(member instanceof TransformerBlockEntity be) { + be.updateInFront(); + } + + // if (member instanceof KineticElectricBlockEntity be) { + // be.updateGeneratedRotation(); + // } + } + + handleInsufficientPower(); + + } + + public void handleInsufficientPower(){ + if (!members.isEmpty()) + if (members.get(0).getNetworkPowerUsage() > members.get(0).getNetworkPowerGeneration()) { + // members.get(0).updateUnpowered(new ArrayList<>()); + for (IElectric member : members) { + member.getData().notEnoughtPower = true; + if (member instanceof ElectricMotorBlockEntity be) { + be.updateGeneratedRotation(); + } + if (member instanceof ElectricDiodeBlockEntity be) + be.updateInFront=true; + if (member instanceof TransformerBlockEntity be) + be.updateInFront(); + } + } + } + + + public static float getCableCurrent(IElectric be) { + + float current = 0; + List groups = new ArrayList<>(); + + for (IElectric member : be.getOrCreateElectricNetwork().members) { + + if (member.canBeInGroups()) + if (!groups.contains(member.getData().group.id)) { + groups.add(member.getData().group.id); + if (member.resistance() != 0) + + current += member.getData().voltage / member.resistance(); + } + } + + + return current; + } + + public void checkForLoops(BlockPos pos ){ + + members.forEach(member->{ + if(member instanceof VoltageAlteringBlockEntity be){ + if(be.getControlledBlock() !=null){ + List list = new ArrayList<>(); + list.add(this); + be.getControlledBlock().getOrCreateElectricNetwork().checkForLoops(list, pos); + } + }}); + + + } + + public void checkForLoops(List network, BlockPos pos){ + + if(network.contains(this)) { + if(!members.isEmpty()) + members.get(0).getLevelAccessor().destroyBlock(pos,false); + return; + } + network.add(this); + members.forEach(member->{ + if(member instanceof VoltageAlteringBlockEntity be){ + if(be.getControlledBlock() !=null){ + be.getControlledBlock().getOrCreateElectricNetwork().checkForLoops(network, pos); + } + }}); + + + } + + public List getMembers() { + return members; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/base/IElectric.java b/src/main/java/com/drmangotea/tfmg/content/electricity/base/IElectric.java new file mode 100644 index 00000000..969d4083 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/base/IElectric.java @@ -0,0 +1,330 @@ +package com.drmangotea.tfmg.content.electricity.base; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.content.electricity.connection.cables.CableConnection; +import com.drmangotea.tfmg.content.electricity.connection.cables.CableConnectorBlockEntity; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.simibubi.create.foundation.utility.CreateLang; +import net.createmod.catnip.platform.CatnipServices; +import net.createmod.catnip.theme.Color; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.level.ChunkPos; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.Blocks; + +import java.util.ArrayList; +import java.util.List; + + +public interface IElectric { + long getPos(); + + LevelAccessor getLevelAccessor(); + + boolean destroyed(); + + ElectricalNetwork getOrCreateElectricNetwork(); + + default boolean hasElectricitySlot(Direction direction) { + return true; + } + + default void onPlaced() { + + if (getLevelAccessor() instanceof ServerLevel serverLevel) + CatnipServices.NETWORK.sendToClientsTrackingChunk(serverLevel, new ChunkPos(BlockPos.of(getPos())),new ConnectNeightborsPacket(BlockPos.of(getPos()))); + ElectricalNetwork network = TFMG.NETWORK_MANAGER.getOrCreateNetworkFor(this); + setNetwork(getPos()); + getData().electricalNetworkId = getPos(); + network.add(this); + + BlockPos pos = BlockPos.of(getPos()); + getData().checkForLoopsNextTick = true; + getOrCreateElectricNetwork().checkForLoops(BlockPos.of(getPos())); + /// //// + + + // for (Direction d : Direction.values()) { + // if (hasElectricitySlot(d)) + // if (getLevelAccessor().getBlockEntity(pos.relative(d)) instanceof IElectric be) { + // if (be.hasElectricitySlot(d.getOpposite())) { + // if (!be.destroyed()) { +// +// + // for(IElectric member : be.getOrCreateElectricNetwork().members){ + // network.add(member); + // member.setNetwork(this.getData().electricalNetworkId); +// + // } +// + // } + // } + // } + // } + updateNextTick(); + + onConnected(); + sendStuff(); + + } + + default int getMaxVoltage() { + return 0; + } + + default int getMaxCurrent() { + return 0; + } + + default void onConnected() { + + BlockPos pos = BlockPos.of(getPos()); + for (Direction d : Direction.values()) { + if (hasElectricitySlot(d)) + if (getLevelAccessor().getBlockEntity(pos.relative(d)) instanceof IElectric be) { + if (be.hasElectricitySlot(d.getOpposite())) { + if (!be.destroyed()) { + getOrCreateElectricNetwork().add(be); + if (be.getData().getId() != getData().getId()) { + be.setNetwork(getData().getId()); + be.onConnected(); + if (!getLevelAccessor().isClientSide()) + sendStuff(); + } + } + } else if (be.getData().getId() != getData().getId()) { + be.updateNextTick(); + } + } + } + sendStuff(); + + } + + default void updateUnpowered(List alreadyChecked) { + alreadyChecked.add(BlockPos.of(getPos())); + updateNextTick(); + + if(this instanceof CableConnectorBlockEntity connectorBE){ + for(CableConnection connection : connectorBE.connections){ + + if(getLevelAccessor().getBlockEntity(connection.blockPos1) instanceof CableConnectorBlockEntity be2 &&!alreadyChecked.contains(BlockPos.of(be2.getPos())) + ){ + // this.getLevelAccessor().setBlock(connection.blockPos1.above(2),Blocks.NETHER_BRICKS.defaultBlockState(),3); + be2.updateUnpowered(alreadyChecked); + } + } + } + + for (Direction direction : Direction.values()) { + if(getLevelAccessor().getBlockEntity(BlockPos.of(getPos()).relative(direction)) instanceof IElectric be&&!alreadyChecked.contains(BlockPos.of(be.getPos()))){ + be.updateUnpowered(alreadyChecked); + // be.getLevelAccessor().setBlock(BlockPos.of(getPos()).above(2),Blocks.NETHERRACK.defaultBlockState(),3); + } + } + } + + default boolean makeMultimeterTooltip(List tooltip, boolean isPlayerSneaking) { + CreateLang.translate("multimeter.header") + .style(ChatFormatting.WHITE) + .forGoggles(tooltip); + + if (getData().notEnoughtPower) { + CreateLang.text("NOT ENOUGHT POWER") + .color(Color.RED) + .forGoggles(tooltip, 1); + + // return true; + } + + + //CreateLang.text("Network Power ") + // .color(Color.RED) + // .forGoggles(tooltip, 1); + + + if (voltageGeneration() > 0) { + CreateLang.translate("multimeter.power_generated") + .add(Component.literal(TFMGUtils.formatUnits(powerGeneration(), "W"))) + .color(0x852e4a) + .forGoggles(tooltip, 1); + CreateLang.translate("multimeter.voltage_generated") + .add(Component.literal(TFMGUtils.formatUnits(voltageGeneration(), "V"))) + .color(0x127799) + .forGoggles(tooltip, 1); + CreateLang.text("----------------------------") + .style(ChatFormatting.WHITE) + .forGoggles(tooltip); + } + + CreateLang.text(" R = " + TFMGUtils.formatUnits(voltageGeneration() > 0 ? getGeneratorResistance() : resistance(), "Ω")) + .color(0xc98969) + .forGoggles(tooltip, 1); + CreateLang.text(" U = " + TFMGUtils.formatUnits(getData().getVoltage(), "V")) + .color(0x4bbbcc) + .forGoggles(tooltip, 1); + CreateLang.text(" I = " + TFMGUtils.formatUnits(getCurrent(), "A")) + .color(0x22a146) + .forGoggles(tooltip, 1); + CreateLang.text(" P = " + TFMGUtils.formatUnits(getPowerUsage(), "W")) + .color(0xcc4b74) + .forGoggles(tooltip, 1); + if (getData().group.id != -1) { + CreateLang.text("----------------------------") + .style(ChatFormatting.WHITE) + .forGoggles(tooltip); + CreateLang.translate("multimeter.group") + .add(CreateLang.number(getData().group.id)) + .color(0xd8db27) + .forGoggles(tooltip, 1); + } + + if (isPlayerSneaking) { + CreateLang.text("----------------------------") + .style(ChatFormatting.WHITE) + .forGoggles(tooltip); + CreateLang.text("Network Power Generation: " + TFMGUtils.formatUnits(getNetworkPowerGeneration(), "W")) + .color(0xcc4b74) + .forGoggles(tooltip, 1); + + CreateLang.text("Network Power Consumption: " + TFMGUtils.formatUnits(getNetworkPowerUsage(), "W")) + .color(0xcc4b74) + .forGoggles(tooltip, 1); + + } + + return true; + } + + default void updateNearbyNetworks(IElectric member) { + if (true) + return; + //if (member.getData().getsOutsidePower) { + + for (Direction direction : Direction.values()) { + if (member.getLevelAccessor().getBlockEntity(BlockPos.of(member.getPos()).relative(direction)) instanceof IElectric be && be.getData().getId() != member.getData().getId()) { + be.getLevelAccessor().setBlock(BlockPos.of(be.getPos()).above(3), Blocks.GOLD_BLOCK.defaultBlockState(), 3); + be.updateNextTick(); + } + } + // } + } + + ElectricBlockValues getData(); + + default boolean canWork() { + return !getData().notEnoughtPower; + } + + default void blockFail() { + + getLevelAccessor().destroyBlock(BlockPos.of(getPos()), false); + } + + default int getPowerUsage() { + return (int) (getData().getVoltage() * getCurrent()); + } + + default int getNetworkPowerUsage(IElectric blocked) { + int power = 0; + for (IElectric member : getOrCreateElectricNetwork().members) + if (member.getPos() != blocked.getPos()) { + power += member.getPowerUsage(); + } else blocked.updateNextTick(); + return power; + } + + default int getNetworkPowerUsage() { + int power = 0; + for (IElectric member : getOrCreateElectricNetwork().members) + power += member.getPowerUsage(); + return power; + } + + + + default int getNetworkPowerGeneration() { + int power = 0; + for (IElectric member : getOrCreateElectricNetwork().members) + + power += member.powerGeneration(); + return power; + } + + default void onNetworkChanged(int oldVoltage, int oldPower) { + } + + default float getGeneratorResistance() { + if (getData().voltageSupply == 0) + return 0; + + if ((float) getData().networkPowerGeneration * (float) getNetworkResistance() == 0) + return 0; + + return (float) powerGeneration() / (float) getData().networkPowerGeneration * (float) getNetworkResistance(); + } + + default float getGeneratorLoad() { + if (getNetworkPowerUsage() == 0) + return 0; + return (float) powerGeneration() / (float) getData().networkPowerGeneration * getNetworkPowerUsage(); + } + + + float resistance(); + + int voltageGeneration(); + + int powerGeneration(); + + int frequencyGeneration(); + + int getNetworkResistance(); + + default int getMaxAmps() { + return (int) getCurrent(); + } + + default float getCurrent() { + return getData().getVoltage() == 0 || resistance() == 0 ? 0 : ((float) getData().getVoltage() / (float) resistance()); + } + + default float getCableCurrent() { + float current = 0; + List groups = new ArrayList<>(); + for (IElectric member : getOrCreateElectricNetwork().members) { + if (member.canBeInGroups()) + if (!groups.contains(member.getData().group.id)) { + current += member.getCurrent(); + groups.add(member.getData().group.id); + } + } + return current; + } + + void updateNextTick(); + + void updateNetwork(); + + void sendStuff(); + + void setVoltage(int newVoltage); + + void setFrequency(int newFrequency); + + void setNetworkResistance(int newUsage); + + + void setNetwork(long network); + + default boolean canBeInGroups() { + return false; + } + + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/base/IVoltageChanger.java b/src/main/java/com/drmangotea/tfmg/content/electricity/base/IVoltageChanger.java new file mode 100644 index 00000000..6f2376a6 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/base/IVoltageChanger.java @@ -0,0 +1,4 @@ +package com.drmangotea.tfmg.content.electricity.base; + +public interface IVoltageChanger { +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/base/KineticElectricBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/base/KineticElectricBlockEntity.java new file mode 100644 index 00000000..80c36ace --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/base/KineticElectricBlockEntity.java @@ -0,0 +1,291 @@ +package com.drmangotea.tfmg.content.electricity.base; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.engines.types.regular_engine.RegularEngineBlockEntity; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.api.equipment.goggles.IHaveHoveringInformation; +import com.simibubi.create.content.kinetics.base.GeneratingKineticBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.networking.LeftClickPacket; +import net.createmod.catnip.platform.CatnipServices; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.level.ChunkPos; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + + +import java.util.ArrayList; +import java.util.List; + +public class KineticElectricBlockEntity extends GeneratingKineticBlockEntity implements IElectric, IHaveGoggleInformation, IHaveHoveringInformation { + + public ElectricBlockValues data = new ElectricBlockValues(getPos()); + int powerPercentage = 100; + + int timer = 0; + + + public KineticElectricBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + data.connectNextTick = true; + if (!canBeInGroups()) { + data.group = new ElectricalGroup(-1); + } + } + + + @Override + public void addBehaviours(List behaviours) { + } + + @Override + public LevelAccessor getLevelAccessor() { + return level; + } + + @Override + public boolean destroyed() { + return data.destroyed; + } + + @Override + public ElectricalNetwork getOrCreateElectricNetwork() { + if (level.getBlockEntity(BlockPos.of(data.electricalNetworkId)) instanceof IElectric) { + return TFMG.NETWORK_MANAGER.getOrCreateNetworkFor((IElectric) level.getBlockEntity(BlockPos.of(data.electricalNetworkId))); + } else { + ElectricNetworkManager.networks.get(getLevel()) + .remove(data.electricalNetworkId); + return TFMG.NETWORK_MANAGER.getOrCreateNetworkFor(this); + } + } + + @Override + public void lazyTick() { + super.lazyTick(); + if (data.failTimer >= 4) { + this.blockFail(); + data.failTimer = 0; + sendStuff(); + } else if ((data.voltage > getMaxVoltage() && getMaxVoltage() > 0) || (getCurrent() > getMaxCurrent() && getMaxCurrent() > 0)) { + data.failTimer++; + } + } + + @Override + public ElectricBlockValues getData() { + return data; + } + + + @Override + public float resistance() { + return 0; + } + + @Override + public int voltageGeneration() { + + int voltageGeneration = 0; + + for (Direction direction : Direction.values()) { + if (hasElectricitySlot(direction)) { + + if (level.getBlockEntity(getBlockPos().relative(direction)) instanceof VoltageAlteringBlockEntity be) + if (be.getData().getId() != getData().getId()) + if (be.getData().getVoltage() != 0) + if (be.hasElectricitySlot(direction)) { + voltageGeneration = Math.max(voltageGeneration, be.getOutputVoltage()); + data.getsOutsidePower = true; + } + } + } + + if (voltageGeneration == 0) + data.getsOutsidePower = false; + + return voltageGeneration; + } + + + @Override + public int powerGeneration() { + + int powerGeneration = 0; + + for (Direction direction : Direction.values()) { + if (hasElectricitySlot(direction)) { + + if (level.getBlockEntity(getBlockPos().relative(direction)) instanceof VoltageAlteringBlockEntity be && be.canWork()) { + + if (be.getData().getId() != getData().getId()) + if (be.getData().getVoltage() != 0) + if (be.hasElectricitySlot(direction)) { + powerGeneration = Math.max(powerGeneration, be.getPowerUsage()) + 1; + if (powerGeneration > be.getNetworkPowerGeneration()) { + powerGeneration = 0; + be.data.updatePowerNextTick = true; + } + } + } + } + } + + return powerGeneration; + } + + @Override + public int frequencyGeneration() { + return 0; + } + + @Override + public void updateNextTick() { + data.updateNextTick = true; + } + + @Override + public void updateNetwork() { + getOrCreateElectricNetwork().updateNetwork(); + if (level instanceof ServerLevel serverLevel) + CatnipServices.NETWORK.sendToClientsTrackingChunk(serverLevel, new ChunkPos(worldPosition),new NetworkUpdatePacket(BlockPos.of(getPos()))); + sendData(); + } + + @Override + public void sendStuff() { + sendData(); + } + + @Override + public void setVoltage(int newVoltage) { + + + if (canBeInGroups()) { + data.voltage = (int) (((float) resistance() / data.group.resistance) * (float) data.voltageSupply); + return; + } + data.voltage = newVoltage; + } + + @Override + public void setFrequency(int newFrequency) { + data.frequency = newFrequency; + } + + @Override + public void setNetworkResistance(int newUsage) { + data.networkResistance = newUsage; + } + + @Override + public int getNetworkResistance() { + return data.networkResistance; + } + + + @Override + public void setNetwork(long network) { + this.data.electricalNetworkId = network; + if (network != getPos()) + ElectricNetworkManager.networks.get(getLevel()) + .remove(getPos()); + } + + public boolean networkUndersupplied() { + return getNetworkPowerUsage() > data.networkPowerGeneration; + } + + + @Override + public long getPos() { + return getBlockPos().asLong(); + } + + @Override + public void remove() { + super.remove(); + + this.data.destroyed = true; + for (Direction d : Direction.values()) { + if (hasElectricitySlot(d)) + if (getLevelAccessor().getBlockEntity(BlockPos.of(getPos()).relative(d)) instanceof IElectric be && be.hasElectricitySlot(d.getOpposite())) { + ElectricNetworkManager.networks.get(getLevel()) + .remove(be.getPos()); + be.setNetwork(be.getPos()); + be.onPlaced(); + be.updateNextTick(); + } + } + if (data.electricalNetworkId != getPos()) + getOrCreateElectricNetwork().getMembers().remove(this); +// + if (data.electricalNetworkId == getPos()) + ElectricNetworkManager.networks.get(getLevel()) + .remove(getData().getId()); + } + + @Override + public void tick() { + super.tick(); + if (data.checkForLoopsNextTick) { + getOrCreateElectricNetwork().checkForLoops(getBlockPos()); + data.checkForLoopsNextTick = false; + } + if (data.connectNextTick) { + onPlaced(); + data.connectNextTick = false; + } + if (data.updateNextTick) { + updateNetwork(); + data.updateNextTick = false; + } + + if (data.updatePowerNextTick) { + updateUnpowered(new ArrayList<>()); + data.updatePowerNextTick = false; + } + if (data.setVoltageNextTick) { + setVoltage(data.voltageSupply); + data.setVoltageNextTick = false; + } + + } + + @Override + protected void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + + compound.putInt("GroupId", data.group.id); + compound.putFloat("GroupResistance", data.group.resistance); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + data.group = new ElectricalGroup(compound.getInt("GroupId")); + data.group.resistance = compound.getFloat("GroupResistance"); + if (!clientPacket) + data.connectNextTick = true; + } + + + @Override + public void onSpeedChanged(float previousSpeed) { + super.onSpeedChanged(previousSpeed); + + if (this instanceof RegularEngineBlockEntity) + notifyNetworkAboutSpeedChange(); + timer = 0; + + } + + public void notifyNetworkAboutSpeedChange() { + updateNextTick(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/base/NetworkUpdatePacket.java b/src/main/java/com/drmangotea/tfmg/content/electricity/base/NetworkUpdatePacket.java new file mode 100644 index 00000000..73eba767 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/base/NetworkUpdatePacket.java @@ -0,0 +1,43 @@ +package com.drmangotea.tfmg.content.electricity.base; + + +import com.drmangotea.tfmg.content.electricity.utilities.diode.ElectricDiodeBlockEntity; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.networking.BlockEntityDataPacket; +import io.netty.buffer.ByteBuf; +import net.minecraft.core.BlockPos; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; + +public class NetworkUpdatePacket extends BlockEntityDataPacket { + + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + BlockPos.STREAM_CODEC, packet -> packet.pos, + NetworkUpdatePacket::new + ); + + + public NetworkUpdatePacket(BlockPos pos) { + super(pos); + + + } + + + @Override + protected void handlePacket(SmartBlockEntity blockEntity) { + + if(blockEntity instanceof IElectric be) { + be.updateNetwork(); + } + + + } + + + @Override + public PacketTypeProvider getTypeProvider() { + return TFMGPackets.NETWORK_UPDATE; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/base/UpdateInFrontPacket.java b/src/main/java/com/drmangotea/tfmg/content/electricity/base/UpdateInFrontPacket.java new file mode 100644 index 00000000..cdddda93 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/base/UpdateInFrontPacket.java @@ -0,0 +1,42 @@ +package com.drmangotea.tfmg.content.electricity.base; + + +import com.drmangotea.tfmg.content.electricity.utilities.diode.ElectricDiodeBlockEntity; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.networking.BlockEntityDataPacket; +import io.netty.buffer.ByteBuf; +import net.minecraft.core.BlockPos; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; + +public class UpdateInFrontPacket extends BlockEntityDataPacket { + + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + BlockPos.STREAM_CODEC, packet -> packet.pos, + UpdateInFrontPacket::new + ); + + public UpdateInFrontPacket(BlockPos pos) { + super(pos); + + + } + + + @Override + protected void handlePacket(SmartBlockEntity blockEntity) { + + if(blockEntity instanceof ElectricDiodeBlockEntity be) { + be.updateInFrontNextTick(); + + } + + } + + + @Override + public PacketTypeProvider getTypeProvider() { + return TFMGPackets.UPDATE_IN_FRONT_PACKET; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/base/VoltageAlteringBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/base/VoltageAlteringBlockEntity.java new file mode 100644 index 00000000..7fe68e6f --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/base/VoltageAlteringBlockEntity.java @@ -0,0 +1,17 @@ +package com.drmangotea.tfmg.content.electricity.base; + +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +public abstract class VoltageAlteringBlockEntity extends ElectricBlockEntity{ + public VoltageAlteringBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + public abstract int getOutputVoltage(); + + public abstract int getOutputPower(); + + public abstract IElectric getControlledBlock(); +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/configuration_wrench/ElectricBlockItem.java b/src/main/java/com/drmangotea/tfmg/content/electricity/configuration_wrench/ElectricBlockItem.java new file mode 100644 index 00000000..45a402d5 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/configuration_wrench/ElectricBlockItem.java @@ -0,0 +1,32 @@ +package com.drmangotea.tfmg.content.electricity.configuration_wrench; + +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import net.minecraft.core.BlockPos; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; + +public class ElectricBlockItem extends BlockItem { + public ElectricBlockItem(Block p_40565_, Properties p_40566_) { + super(p_40565_, p_40566_); + } + + + + @Override + public InteractionResult place(BlockPlaceContext context) { + Level level = context.getLevel(); + BlockPos pos = context.getClickedPos(); + + if(level.getBlockEntity(pos) instanceof IElectric be&&be.canBeInGroups()){ + be.getData().group.id = context.getItemInHand().get(TFMGDataComponents.CONFIGURATION_WRENCH_NUMBER); + be.updateNextTick(); + be.sendStuff(); + } + + return super.place(context); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/configuration_wrench/ElectriciansWrenchItem.java b/src/main/java/com/drmangotea/tfmg/content/electricity/configuration_wrench/ElectriciansWrenchItem.java new file mode 100644 index 00000000..abe7a7cb --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/configuration_wrench/ElectriciansWrenchItem.java @@ -0,0 +1,85 @@ +package com.drmangotea.tfmg.content.electricity.configuration_wrench; + +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.electricity.base.KineticElectricBlockEntity; +import com.drmangotea.tfmg.content.electricity.utilities.electric_motor.ElectricMotorBlockEntity; +import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity; +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import net.createmod.catnip.gui.ScreenOpener; +import net.createmod.catnip.platform.CatnipServices; +import net.minecraft.core.BlockPos; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.Level; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; + + +public class ElectriciansWrenchItem extends Item { + public ElectriciansWrenchItem(Properties p_41383_) { + super(p_41383_); + } + + @Override + public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { + + ItemStack itemStack = player.getItemInHand(hand); + + if (player.isShiftKeyDown()) { + if (level.isClientSide) { + CatnipServices.PLATFORM.executeOnClientOnly(() -> () -> { + openWandGUI(itemStack, hand); + }); + player.getCooldowns() + .addCooldown(this, 5); + } + return new InteractionResultHolder<>(InteractionResult.SUCCESS, itemStack); + } + return new InteractionResultHolder<>(InteractionResult.SUCCESS, itemStack); + } + + + @Override + public InteractionResult useOn(UseOnContext context) { + Level level = context.getLevel(); + BlockPos pos = context.getClickedPos(); + + if(!context.getPlayer().isShiftKeyDown()) { + if (level.getBlockEntity(pos) instanceof IElectric be && be.canBeInGroups()) { + be.updateNextTick(); + be.sendStuff(); + be.getData().group.id = context.getItemInHand().get(TFMGDataComponents.CONFIGURATION_WRENCH_NUMBER); + TFMGUtils.playSound(level, pos, SoundEvents.ITEM_PICKUP, SoundSource.BLOCKS, context.getPlayer()); + if(be instanceof ElectricMotorBlockEntity kineticBE) + kineticBE.delayedUpdate=true; + + + return InteractionResult.SUCCESS; + } + if (level.getBlockEntity(pos) instanceof AbstractEngineBlockEntity be ) { + + be.changeDirection(); + return InteractionResult.SUCCESS; + + } + + } + + + return super.useOn(context); + } + + @OnlyIn(Dist.CLIENT) + private void openWandGUI(ItemStack itemStack, InteractionHand hand) { + ScreenOpener.open(new ElectriciansWrenchScreen(itemStack, hand)); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/configuration_wrench/ElectriciansWrenchPacket.java b/src/main/java/com/drmangotea/tfmg/content/electricity/configuration_wrench/ElectriciansWrenchPacket.java new file mode 100644 index 00000000..f48a735e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/configuration_wrench/ElectriciansWrenchPacket.java @@ -0,0 +1,70 @@ +package com.drmangotea.tfmg.content.electricity.configuration_wrench; + + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.simibubi.create.content.equipment.zapper.PlacementPatterns; +import com.simibubi.create.content.equipment.zapper.terrainzapper.ConfigureWorldshaperPacket; +import com.simibubi.create.content.equipment.zapper.terrainzapper.PlacementOptions; +import com.simibubi.create.content.equipment.zapper.terrainzapper.TerrainBrushes; +import com.simibubi.create.content.equipment.zapper.terrainzapper.TerrainTools; +import com.simibubi.create.content.logistics.stockTicker.StockKeeperCategoryEditPacket; +import io.netty.buffer.ByteBuf; +import net.createmod.catnip.codecs.stream.CatnipLargerStreamCodecs; +import net.createmod.catnip.codecs.stream.CatnipStreamCodecs; +import net.createmod.catnip.net.base.ServerboundPacketPayload; +import net.minecraft.core.BlockPos; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.item.ItemStack; + +public class ElectriciansWrenchPacket implements ServerboundPacketPayload { + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + ByteBufCodecs.INT, packet -> packet.group, + CatnipStreamCodecs.HAND, packet -> packet.hand, + ElectriciansWrenchPacket::new + ); + + + + + + public final int group; + public final InteractionHand hand; + + public ElectriciansWrenchPacket(int group, InteractionHand hand) { + this.group = group; + this.hand = hand; + } + + + + @Override + public void handle(ServerPlayer player) { + if (player == null) { + return; + } + ItemStack stack = player.getItemInHand(hand); + if (stack.getItem() instanceof ElectriciansWrenchItem) { + applyGroup(stack); + } + + + } + + public void applyGroup(ItemStack stack){ + + + stack.set(TFMGDataComponents.CONFIGURATION_WRENCH_NUMBER,group); + } + + @Override + public PacketTypeProvider getTypeProvider() { + return TFMGPackets.ELECTRICIANS_WRENCH_PACKET; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/configuration_wrench/ElectriciansWrenchScreen.java b/src/main/java/com/drmangotea/tfmg/content/electricity/configuration_wrench/ElectriciansWrenchScreen.java new file mode 100644 index 00000000..3b230ce4 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/configuration_wrench/ElectriciansWrenchScreen.java @@ -0,0 +1,114 @@ +package com.drmangotea.tfmg.content.electricity.configuration_wrench; + +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.drmangotea.tfmg.registry.TFMGGuiTextures; +import com.simibubi.create.foundation.gui.AllIcons; +import com.simibubi.create.foundation.gui.widget.IconButton; +import net.createmod.catnip.gui.AbstractSimiScreen; +import net.createmod.catnip.gui.element.GuiGameElement; +import net.createmod.catnip.platform.CatnipServices; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.item.ItemStack; + +public class ElectriciansWrenchScreen extends AbstractSimiScreen { + + ItemStack wrench; + protected InteractionHand hand; + private IconButton addButton; + private IconButton subtractButton; + private IconButton confirmButton; + + int group; + + public ElectriciansWrenchScreen(ItemStack wrench, InteractionHand hand) { + this.wrench = wrench; + this.hand = hand; + + if (wrench.get(TFMGDataComponents.CONFIGURATION_WRENCH_NUMBER) != null) + this.group = wrench.get(TFMGDataComponents.CONFIGURATION_WRENCH_NUMBER); + } + + @Override + protected void renderWindow(GuiGraphics graphics, int mouseX, int mouseY, float partialTicks) { + int x = guiLeft; + int y = guiTop; + + //int value = wrench.getOrCreateTag().getInt("Number"); + int value = group; + String valueString = String.valueOf(value); + background().render(graphics, x, y); + graphics.drawString(font, valueString, x + 90 - (3 * valueString.length()), y + 39, 0xffffff, false); + graphics.drawString(font, "Select Group Id", x + 51, y + 4, 0xffffff, false); + + GuiGameElement.of(wrench) + .scale(4) + .rotate(0, 0, 0) + .at(x + 180, y + 50) + .render(graphics); + } + + @Override + public void init() { + setWindowSize(background().width, background().height); + setWindowOffset(-20, 0); + super.init(); + int x = guiLeft; + int y = guiTop; + + + confirmButton = new IconButton(x + background().width - 33, y + background().height - 24, AllIcons.I_CONFIRM); + confirmButton.withCallback(this::onClose); + addButton = new IconButton(x + background().width - 84, y + background().height - 67, AllIcons.I_MTD_RIGHT); + addButton.withCallback(this::addNumber); + subtractButton = new IconButton(x + background().width - 130, y + background().height - 67, AllIcons.I_MTD_LEFT); + subtractButton.withCallback(this::substractNumber); + addRenderableWidget(confirmButton); + addRenderableWidget(addButton); + addRenderableWidget(subtractButton); + } + + public void addNumber() { + group++; + // CompoundTag tag = wrench.getOrCreateTag(); +// + // int number = tag.getInt("Number"); + // tag.putInt("Number", number+1); +// + // ElectritiansWrenchPacket packet = new ElectritiansWrenchPacket(tag.getInt("Number"), hand); + // packet.applyGroup(wrench); + // TFMGPackets.getChannel().sendToServer(packet); + } + + @Override + public void onClose() { + super.onClose(); + + + wrench.set(TFMGDataComponents.CONFIGURATION_WRENCH_NUMBER, group); + + ElectriciansWrenchPacket packet = new ElectriciansWrenchPacket(group, hand); + packet.applyGroup(wrench); + CatnipServices.NETWORK.sendToServer(packet); + } + + public void substractNumber() { + if (group > 0) + group--; + + //CompoundTag tag = wrench.getOrCreateTag(); +// + //int number = tag.getInt("Number"); + //if(number>0) + // tag.putInt("Number", number-1); +// + //ElectritiansWrenchPacket packet = new ElectritiansWrenchPacket(tag.getInt("Number"), hand); + //packet.applyGroup(wrench); + //TFMGPackets.getChannel().sendToServer(packet); + } + + public TFMGGuiTextures background() { + return TFMGGuiTextures.ELECTRICIANS_WRENCH; + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cable_hub/CableHubBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cable_hub/CableHubBlock.java new file mode 100644 index 00000000..8ce4748e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cable_hub/CableHubBlock.java @@ -0,0 +1,36 @@ +package com.drmangotea.tfmg.content.electricity.connection.cable_hub; + +import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.foundation.block.IBE; +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.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +public class CableHubBlock extends Block implements IBE, IWrenchable { + public CableHubBlock(Properties p_49795_) { + super(p_49795_); + } + + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level,pos, IElectric::onPlaced); + } + + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + @Override + public Class getBlockEntityClass() { + return CableHubBlockEntity.class; + } + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.CABLE_HUB.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cable_hub/CableHubBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cable_hub/CableHubBlockEntity.java new file mode 100644 index 00000000..2ff3b29a --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cable_hub/CableHubBlockEntity.java @@ -0,0 +1,14 @@ +package com.drmangotea.tfmg.content.electricity.connection.cable_hub; + +import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +public class CableHubBlockEntity extends ElectricBlockEntity { + public CableHubBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CableConnection.java b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CableConnection.java new file mode 100644 index 00000000..931b2854 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CableConnection.java @@ -0,0 +1,91 @@ +package com.drmangotea.tfmg.content.electricity.connection.cables; + +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.tterrag.registrate.util.entry.ItemEntry; +import net.minecraft.core.BlockPos; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.Items; +import org.checkerframework.checker.units.qual.C; + +public class CableConnection { + + public final CablePos pos1; + public final CablePos pos2; + public final BlockPos blockPos1; + public final boolean visible; + public final CableType type; + + public CableConnection(CablePos pos1, CablePos pos2,BlockPos blockPos1,CableType type, boolean visible){ + this.pos1 = pos1; + this.pos2 = pos2; + this.blockPos1 = blockPos1; + this.visible = visible; + this.type = type; + } + + public CompoundTag saveConnection(){ + CompoundTag compoundTag = new CompoundTag(); + + compoundTag.putDouble("X1", pos1.x()); + compoundTag.putDouble("Y1", pos1.y()); + compoundTag.putDouble("Z1", pos1.z()); + + compoundTag.putDouble("X2", pos2.x()); + compoundTag.putDouble("Y2", pos2.y()); + compoundTag.putDouble("Z2", pos2.z()); + + //compoundTag.putLong("BlockPos1", blockPos1.asLong()); + //compoundTag.putLong("BlockPos2", blockPos2.asLong()); + + compoundTag.putLong("Pos", blockPos1.asLong()); + + + + + compoundTag.putBoolean("Visible", visible); + + compoundTag.putString("CableType", type.toString()); + + return compoundTag; + } + public static CableConnection loadConnection(CompoundTag compoundTag){ + + + + CablePos pos1 = new CablePos(compoundTag.getDouble("X1"),compoundTag.getDouble("Y1"),compoundTag.getDouble("Z1")); + CablePos pos2 = new CablePos(compoundTag.getDouble("X2"),compoundTag.getDouble("Y2"),compoundTag.getDouble("Z2")); + + //BlockPos blockPos1 = BlockPos.of(compoundTag.getLong("BlockPos1")); + //BlockPos blockPos2 = BlockPos.of(compoundTag.getLong("BlockPos2")); + + BlockPos blockPos1 = BlockPos.of(compoundTag.getLong("Pos")); + + boolean visible = compoundTag.getBoolean("Visible"); + CableType type = CableType.valueOf(compoundTag.getString("CableType")); + return new CableConnection(pos1,pos2,blockPos1,type,visible); + } + public float getLength(){ + return TFMGUtils.getDistance(new BlockPos((int) pos1.x(), (int) pos1.y(), (int) pos1.z()),new BlockPos((int) pos2.x(), (int) pos2.y(), (int) pos2.z()), false); + } + + + + public enum CableType{ + NONE(TFMGItems.COPPER_WIRE, 0,0xffffff), + COPPER(TFMGItems.COPPER_WIRE, 0.00188f,0xD8735A), + ALUMINUM(TFMGItems.ALUMINUM_WIRE, 0.0027f,0xEDEFEF), + CONSTANTAN(TFMGItems.CONSTANTAN_WIRE, 1f,0xEDEFEF), + STEEL_REINFORCED_ALUMINUM(TFMGItems.COPPER_WIRE, 0.0027f,0xB8A08D) + ; + public final ItemEntry wire; + public final float resistivity; + public final int color; + CableType(ItemEntry wire, float resistivity, int color){ + this.wire = wire; + this.resistivity = resistivity; + this.color = color; + } + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CableConnectorBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CableConnectorBlock.java new file mode 100644 index 00000000..4e527662 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CableConnectorBlock.java @@ -0,0 +1,131 @@ +package com.drmangotea.tfmg.content.electricity.connection.cables; + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.base.blocks.WallMountBlock; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class CableConnectorBlock extends WallMountBlock implements IBE, IHaveCables { + + public static final BooleanProperty EXTENSION = BooleanProperty.create("extension"); + + + public CableConnectorBlock(Properties p_49795_) { + super(p_49795_); + this.registerDefaultState(this.getStateDefinition().any().setValue(EXTENSION, false)); + } + + @Override + public void onPlace(BlockState state, Level level, BlockPos pos, BlockState blockState1, boolean b) { + updateExtension(level,state,pos); + withBlockEntityDo(level,pos, IElectric::onPlaced); + BlockPos below = pos.relative(state.getValue(FACING).getOpposite()); + BlockState stateBelow = level.getBlockState(below); + if(stateBelow.getBlock() instanceof IHaveCables) + updateExtension(level,stateBelow,below); + + super.onPlace(state, level, pos, blockState1, b); + } + + + + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + + //@Override + //public InteractionResult use(BlockState state, Level level, BlockPos pos, Player p_60506_, InteractionHand p_60507_, BlockHitResult p_60508_) { + // if(level.isClientSide) + // return InteractionResult.SUCCESS; + // if(level.getBlockEntity(pos) instanceof CableConnectorBlockEntity be&&p_60506_.isCrouching()){ +// +// + // Direction direction = Direction.NORTH; +// +// +// + // int numero = Create.RANDOM.nextInt(6); + // if(numero == 0) + // direction = Direction.NORTH; +// + // if(numero == 1) + // direction = Direction.SOUTH; + // if(numero == 2) + // direction = Direction.WEST; + // if(numero == 3) + // direction = Direction.EAST; + // if(numero == 4) + // direction = Direction.UP; + // if(numero == 5) + // direction = Direction.DOWN; +// + // be.addConnection(pos.relative(direction)); + // return InteractionResult.SUCCESS; + // } +// +// + // return InteractionResult.SUCCESS; + //} + //@Override + //public void onRemove(BlockState state, Level level, BlockPos pos, BlockState blockState1, boolean b) { + // updateExtension(level,state,pos); + // super.onRemove(state, level, pos, blockState1, b); + //} + + @Override + public void onNeighborChange(BlockState state, LevelReader level, BlockPos pos, BlockPos neighbor) { + + + updateExtension((Level) level,state,pos); + + super.onNeighborChange(state, level, pos, neighbor); + } + + public void updateExtension(Level level, BlockState state, BlockPos pos){ + BlockPos above = pos.relative(state.getValue(FACING)); + BlockState stateAbove = level.getBlockState(above); + + if(stateAbove.getBlock() instanceof IHaveCables&&stateAbove.getValue(FACING)==state.getValue(FACING)) { + level.setBlockAndUpdate(pos, state.setValue(EXTENSION, true)); + } else { + level.setBlockAndUpdate(pos, state.setValue(EXTENSION, false)); + } + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + super.createBlockStateDefinition(builder); + builder.add(EXTENSION); + } + @Override + public VoxelShape getShape(BlockState pState, BlockGetter worldIn, BlockPos pos, CollisionContext context) { + if(pState.getValue(EXTENSION)) + return TFMGShapes.CABLE_CONNECTOR_MIDDLE.get(pState.getValue(FACING)); + + + return TFMGShapes.CABLE_CONNECTOR.get(pState.getValue(FACING)); + + } + @Override + public Class getBlockEntityClass() { + return CableConnectorBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.CABLE_CONNECTOR.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CableConnectorBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CableConnectorBlockEntity.java new file mode 100644 index 00000000..09ccbe74 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CableConnectorBlockEntity.java @@ -0,0 +1,242 @@ +package com.drmangotea.tfmg.content.electricity.connection.cables; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; +import com.simibubi.create.api.equipment.goggles.IHaveHoveringInformation; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; + +import net.createmod.catnip.animation.LerpedFloat; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.world.entity.item.ItemEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.AABB; + +import java.util.ArrayList; +import java.util.List; + +import static com.drmangotea.tfmg.base.blocks.WallMountBlock.FACING; +import static com.drmangotea.tfmg.content.electricity.connection.cables.CableConnectorBlock.EXTENSION; + +public class CableConnectorBlockEntity extends ElectricBlockEntity implements IHaveHoveringInformation { + + //player held cable rendering + public Player player; + public int color = 0x000000; + public LerpedFloat wireMovementX = LerpedFloat.linear(); + public LerpedFloat wireMovementY = LerpedFloat.linear(); + public LerpedFloat wireMovementZ = LerpedFloat.linear(); + // + + public List connections = new ArrayList<>(); + public long id; + public boolean removeWiresNextTick = false; + + public CableConnectorBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + wireMovementX.setValue(pos.getX()); + wireMovementY.setValue(pos.getY()); + wireMovementZ.setValue(pos.getZ()); + id = getBlockPos().asLong(); + } + + @Override + public void addBehaviours(List behaviours) { + } + + @Override + public void remove() { + super.remove(); + notifyRemoval(); + } + + + @Override + public boolean hasElectricitySlot(Direction direction) { + if(getBlockState().getValue(EXTENSION)) + return direction.getAxis() == getBlockState().getValue(FACING).getAxis(); + + return direction == getBlockState().getValue(FACING).getOpposite(); + } + + public void notifyRemoval() { + + if(level.isClientSide) + return; + + for (CableConnection connection : connections) { + ItemEntity itemToDrop = new ItemEntity(level, getBlockPos().getX() + 0.5f, getBlockPos().getY() + 0.5f, getBlockPos().getZ() + 0.5f, new ItemStack(connection.type.wire.get(), (int) (connection.getLength()/8))); + if (itemToDrop.getItem().getCount() > 0) { + level.addFreshEntity(itemToDrop); + } + BlockPos pos = connection.blockPos1; + + // level.setBlock(connection.blockPos1.above(), Blocks.GOLD_BLOCK.defaultBlockState(),3); + if (level.getBlockEntity(pos) instanceof CableConnectorBlockEntity be) { + if (be.getBlockPos() == getBlockPos()) + continue; + be.onPlaced(); + be.removeWiresNextTick = true; + + } + } + } + + //@Override + //public float resistance() { + // float resistance = 0; + + // for(CableConnection connection : connections){ + // if(connection.visible){ + // resistance+=connection.type.resistivity*connection.getLength(); + // } + // } + + // return resistance; + //} + + + + public void removeConnection(){ + connections.removeIf(c->{ + BlockPos pos = c.blockPos1; + + return !(level.getBlockEntity(pos) instanceof CableConnectorBlockEntity); + + }); + sendStuff(); + } + + @Override + public void onConnected() { + super.onConnected(); + + for(CableConnectorBlockEntity be : getConnectedWires()){ + + if (be.getData().getId() != getData().getId()) { + be.setNetwork(getData().getId()); + be.onConnected(); + } + + be.sendStuff(); + } + sendStuff(); + + } + public List getConnectedWires(){ + return getConnectedWires(new ArrayList<>()); + } + public List getConnectedWires(List foundList){ + + + if(!foundList.contains(this)) { + foundList.add(this); + } + + for(CableConnection connection : connections){ + BlockPos pos = connection.blockPos1; + + + //level.setBlockAndUpdate(pos.above(), Blocks.GOLD_BLOCK.defaultBlockState()); + //level.setBlockAndUpdate(pos2.above(2), Blocks.DIAMOND_BLOCK.defaultBlockState()); + + + + + + + + if(pos ==getBlockPos()){ + continue; + } + // TFMGUtils.debugMessage(level, "Eﴤ "+connections.size()); + + + if(level.getBlockEntity(pos) instanceof CableConnectorBlockEntity be&&!foundList.contains(be)){ + // TFMGUtils.debugMessage(level, "Bﴤ "+connections.size()); + be.getConnectedWires(foundList); + sendStuff(); + be.sendStuff(); + + } + } + sendStuff(); + return foundList; + } + + + + @Override + public void tick() { + super.tick(); + if(removeWiresNextTick) { + + removeConnection(); + removeWiresNextTick = false; + } + if (player != null) + managePlayerWire(); + + + } + + @Override + protected void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + + compound.putInt("ConnectionCount", connections.size()); + + + + for (int i = 0; i < connections.size(); i++) { + CableConnection connection = connections.get(i); + compound.put("Connection" + i, connection.saveConnection()); + // + } + + } + + @Override + public void lazyTick() { + super.lazyTick(); + + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + + connections = new ArrayList<>(); + for (int i = 0; i < compound.getInt("ConnectionCount"); i++) { + + connections.add(CableConnection.loadConnection(compound.getCompound("Connection" + i))); + } + + } + + public void managePlayerWire() { + wireMovementX.chase(player.getX() - .5, 0.7, LerpedFloat.Chaser.EXP); + wireMovementY.chase(player.getY() + (player.isCrouching() ? 0.6 : 0.9), 0.3, LerpedFloat.Chaser.EXP); + wireMovementZ.chase(player.getZ() - .5, 0.7, LerpedFloat.Chaser.EXP); + wireMovementX.tickChaser(); + wireMovementY.tickChaser(); + wireMovementZ.tickChaser(); + } + + public CablePos getCablePosition() { + return new CablePos(getBlockPos().getX(), getBlockPos().getY(), getBlockPos().getZ()); + } + + @Override + public AABB getRenderBoundingBox() { + return new AABB(getBlockPos()).inflate(32); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CableConnectorGenerator.java b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CableConnectorGenerator.java new file mode 100644 index 00000000..94041a70 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CableConnectorGenerator.java @@ -0,0 +1,77 @@ +package com.drmangotea.tfmg.content.electricity.connection.cables; + + +import com.drmangotea.tfmg.base.blocks.WallMountBlock; +import com.simibubi.create.foundation.data.AssetLookup; +import com.simibubi.create.foundation.data.SpecialBlockStateGen; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.model.generators.ModelFile; + +public class CableConnectorGenerator extends SpecialBlockStateGen { + public CableConnectorGenerator() { + } + + protected int getXRotation(BlockState state) { + short value; + switch ((Direction)state.getValue(WallMountBlock.FACING)) { + case NORTH: + value = 90; + break; + case SOUTH: + value = 90; + break; + case WEST: + value = 90; + break; + case EAST: + value = 90; + break; + case DOWN: + value = 180; + break; + case UP: + value = 0; + break; + default: + throw new IncompatibleClassChangeError(); + } + + return value; + } + + protected int getYRotation(BlockState state) { + short value; + switch ((Direction)state.getValue(WallMountBlock.FACING)) { + case NORTH: + value = 0; + break; + case SOUTH: + value = 180; + break; + case WEST: + value = 270; + break; + case EAST: + value = 90; + break; + case DOWN: + value = 0; + break; + case UP: + value = 0; + break; + default: + throw new IncompatibleClassChangeError(); + } + + return value; + } + + public ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, BlockState state) { + return (Boolean)state.getValue(CableConnectorBlock.EXTENSION) ? AssetLookup.partialBaseModel(ctx, prov, new String[]{"extension"}) : AssetLookup.partialBaseModel(ctx, prov, new String[0]); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CableConnectorRenderer.java b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CableConnectorRenderer.java new file mode 100644 index 00000000..03ee63b1 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CableConnectorRenderer.java @@ -0,0 +1,69 @@ +package com.drmangotea.tfmg.content.electricity.connection.cables; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.content.machinery.misc.winding_machine.SpoolItem; +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.drmangotea.tfmg.registry.TFMGTags; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; +import net.createmod.catnip.animation.LerpedFloat; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.core.BlockPos; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.phys.Vec3; + +import java.awt.*; + +public class CableConnectorRenderer extends SafeBlockEntityRenderer { + + + public CableConnectorRenderer(BlockEntityRendererProvider.Context context) { + } + + @Override + protected void renderSafe(CableConnectorBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource bufferSource, int light, int overlay) { + renderPlayerHeldCable(be, ms, bufferSource, partialTicks); + + Player player = Minecraft.getInstance().player; + + + + for (CableConnection connection : be.connections) { + if (connection.visible) + TFMGUtils.renderWire(be.getLevel(), ms, bufferSource, connection.pos2, connection.pos1, connection.getLength() / 4500, new Color(connection.type.color).getRed(), new Color(connection.type.color).getGreen(), new Color(connection.type.color).getBlue()); + } + + //for (BlockPos connection : be.connections) { +// + // BlockPos pos = connection; + // // if (connection.visible) + // TFMGUtils.renderWire(be.getLevel(), ms, bufferSource, new CablePos(pos.getX(),pos.getY(),pos.getZ()), be.getCablePosition(), 0, new Color(CableConnection.CableType.COPPER.color).getRed(), new Color(CableConnection.CableType.COPPER.color).getGreen(), new Color(CableConnection.CableType.COPPER.color).getBlue()); + //} + + } + + public void renderPlayerHeldCable(CableConnectorBlockEntity be, PoseStack ms, MultiBufferSource bufferSource, float partialTicks) { + if (be.player == null) + return; + Player player = be.player; + if (player.getInventory().contains(TFMGTags.TFMGItemTags.SPOOLS.tag)) { + ItemStack stack = player.getMainHandItem(); + if (stack.get(TFMGDataComponents.POSITION) != 0) { + + CablePos position = new CablePos(stack.get(TFMGDataComponents.X_POS), stack.get(TFMGDataComponents.Y_POS), stack.get(TFMGDataComponents.Z_POS)); + BlockPos pos = BlockPos.of(stack.get(TFMGDataComponents.POSITION)); + + if (pos.equals(be.getBlockPos())) + TFMGUtils.renderWire(be.getLevel(), ms, bufferSource, new CablePos(be.wireMovementX.getValue(partialTicks), be.wireMovementY.getValue(partialTicks), be.wireMovementZ.getValue(partialTicks)), position, 0.0001f, new Color(be.color).getRed(), new Color(be.color).getGreen(), new Color(be.color).getBlue()); + // TFMGUtils.renderWire(be.getLevel(), ms, bufferSource, new CablePos(be.player.getX(), be.player.getY(), be.player.getZ()), position, 0.0001f, new Color(be.color).getRed(), new Color(be.color).getGreen(), new Color(be.color).getBlue()); + //TFMGUtils.renderWire(be.getLevel(), ms, bufferSource, position, new CablePos(be.player.getX(), be.player.getY(), be.player.getZ()), 0.0001f, new Color(be.color).getRed(), new Color(be.color).getGreen(), new Color(be.color).getBlue()); + } + } + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CablePlacePacket.java b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CablePlacePacket.java new file mode 100644 index 00000000..f068df46 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CablePlacePacket.java @@ -0,0 +1,46 @@ +package com.drmangotea.tfmg.content.electricity.connection.cables; + + +import com.drmangotea.tfmg.content.electricity.base.ConnectNeightborsPacket; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.networking.BlockEntityDataPacket; +import io.netty.buffer.ByteBuf; +import net.minecraft.core.BlockPos; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; + +public class CablePlacePacket extends BlockEntityDataPacket { + + + + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + BlockPos.STREAM_CODEC, packet -> packet.pos, + CablePlacePacket::new + ); + + public CablePlacePacket(BlockPos pos) { + super(pos); + + + } + + + + + + @Override + protected void handlePacket(SmartBlockEntity blockEntity) { + + if(blockEntity instanceof CableConnectorBlockEntity be) { + be.onConnected(); + } + + } + + + @Override + public PacketTypeProvider getTypeProvider() { + return TFMGPackets.CABLE_PLACE_PACKET; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CablePos.java b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CablePos.java new file mode 100644 index 00000000..cff214b4 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CablePos.java @@ -0,0 +1,16 @@ +package com.drmangotea.tfmg.content.electricity.connection.cables; + + + +public class CablePos extends SimplePos { + public CablePos(double x, double y, double z) { + super(x, y, z); + } + public CablePos subtract(CablePos pos) { + return this.offset(-pos.x(), -pos.y(), -pos.z()); + } + + public CablePos offset(double x, double y, double z) { + return x == 0 && y == 0 && z == 0 ? this : new CablePos(this.x() + x, this.y() + y, this.z() + z); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/IHaveCables.java b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/IHaveCables.java new file mode 100644 index 00000000..9d6be4fb --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/IHaveCables.java @@ -0,0 +1,7 @@ +package com.drmangotea.tfmg.content.electricity.connection.cables; + + +public interface IHaveCables { + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/SimplePos.java b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/SimplePos.java new file mode 100644 index 00000000..fce6a3e8 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/SimplePos.java @@ -0,0 +1,27 @@ +package com.drmangotea.tfmg.content.electricity.connection.cables; + +import net.minecraft.core.Position; + +public class SimplePos implements Position { + private final double x; + private final double y; + private final double z; + + public SimplePos(double x, double y, double z) { + this.x = x; + this.y = y; + this.z = z; + } + + public double x() { + return this.x; + } + + public double y() { + return this.y; + } + + public double z() { + return this.z; + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/connection/copycat_cable/CopycatCableBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/copycat_cable/CopycatCableBlock.java new file mode 100644 index 00000000..72b5471a --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/copycat_cable/CopycatCableBlock.java @@ -0,0 +1,358 @@ +package com.drmangotea.tfmg.content.electricity.connection.copycat_cable; + + + +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllTags; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.client.Minecraft; +import net.minecraft.client.color.block.BlockColor; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.*; +import net.minecraft.world.level.block.*; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.HitResult; +import net.minecraft.world.phys.shapes.Shapes; +import net.minecraft.world.phys.shapes.VoxelShape; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import net.neoforged.neoforge.client.model.data.ModelData; + + +import javax.annotation.Nullable; + +public class CopycatCableBlock extends Block implements IBE, IWrenchable { + + public CopycatCableBlock(Properties pProperties) { + super(pProperties); + + } + + @Override + public InteractionResult onSneakWrenched(BlockState state, UseOnContext context) { + onWrenched(state, context); + return IWrenchable.super.onSneakWrenched(state, context); + } + + @Override + public InteractionResult onWrenched(BlockState state, UseOnContext context) { + return onBlockEntityUse(context.getLevel(), context.getClickedPos(), ufte -> { + ItemStack consumedItem = ufte.getConsumedItem(); + if (!ufte.hasCustomMaterial()) + return InteractionResult.PASS; + Player player = context.getPlayer(); + if (!player.isCreative()) + player.getInventory() + .placeItemBackInInventory(consumedItem); + context.getLevel() + .levelEvent(2001, context.getClickedPos(), Block.getId(ufte.getBlockState())); + ufte.setMaterial(AllBlocks.COPYCAT_BASE.getDefaultState()); + ufte.setConsumedItem(ItemStack.EMPTY); + return InteractionResult.SUCCESS; + }); + } + + //@Override + //public InteractionResult use(BlockState pState, Level pLevel, BlockPos pPos, Player pPlayer, InteractionHand pHand, BlockHitResult pHit) { +// + // if (pPlayer == null) + // return InteractionResult.PASS; +// + // Direction face = pHit.getDirection(); + // ItemStack itemInHand = pPlayer.getItemInHand(pHand); + // BlockState materialIn = getAcceptedBlockState(pLevel, pPos, itemInHand, face); +// + // if (materialIn != null) + // materialIn = prepareMaterial(pLevel, pPos, pState, pPlayer, pHand, pHit, materialIn); + // if (materialIn == null) + // return InteractionResult.PASS; +// + // BlockState material = materialIn; + // return onBlockEntityUse(pLevel, pPos, ufte -> { + // if (ufte.getMaterial() + // .is(material.getBlock())) { + // if (!ufte.cycleMaterial()) + // return InteractionResult.PASS; + // ufte.getLevel() + // .playSound(null, ufte.getBlockPos(), SoundEvents.ITEM_FRAME_ADD_ITEM, SoundSource.BLOCKS, .75f, + // .95f); + // return InteractionResult.SUCCESS; + // } + // if (ufte.hasCustomMaterial()) + // return InteractionResult.PASS; + // if (pLevel.isClientSide()) + // return InteractionResult.SUCCESS; +// + // ufte.setMaterial(material); + // ufte.setConsumedItem(itemInHand); + // ufte.getLevel() + // .playSound(null, ufte.getBlockPos(), material.getSoundType() + // .getPlaceSound(), SoundSource.BLOCKS, 1, .75f); +// + // if (pPlayer.isCreative()) + // return InteractionResult.SUCCESS; +// + // itemInHand.shrink(1); + // if (itemInHand.isEmpty()) + // pPlayer.setItemInHand(pHand, ItemStack.EMPTY); + // return InteractionResult.SUCCESS; + // }); + //} + + @Override + public void setPlacedBy(Level pLevel, BlockPos pPos, BlockState pState, LivingEntity pPlacer, ItemStack pStack) { + if (pPlacer == null) + return; + ItemStack offhandItem = pPlacer.getItemInHand(InteractionHand.OFF_HAND); + BlockState appliedState = + getAcceptedBlockState(pLevel, pPos, offhandItem, Direction.orderedByNearest(pPlacer)[0]); + + if (appliedState == null) + return; + withBlockEntityDo(pLevel, pPos, ufte -> { + if (ufte.hasCustomMaterial()) + return; + + ufte.setMaterial(appliedState); + ufte.setConsumedItem(offhandItem); + + if (pPlacer instanceof Player player && player.isCreative()) + return; + offhandItem.shrink(1); + if (offhandItem.isEmpty()) + pPlacer.setItemInHand(InteractionHand.OFF_HAND, ItemStack.EMPTY); + }); + } + + @Nullable + public BlockState getAcceptedBlockState(Level pLevel, BlockPos pPos, ItemStack item, Direction face) { + if (!(item.getItem() instanceof BlockItem bi)) + return null; + + Block block = bi.getBlock(); + if (block instanceof com.simibubi.create.content.decoration.copycat.CopycatBlock||block instanceof CopycatCableBlock) + return null; + + BlockState appliedState = block.defaultBlockState(); + boolean hardCodedAllow = isAcceptedRegardless(appliedState); + + if (!AllTags.AllBlockTags.COPYCAT_ALLOW.matches(block) && !hardCodedAllow) { + + if (AllTags.AllBlockTags.COPYCAT_DENY.matches(block)) + return null; + if (block instanceof EntityBlock) + return null; + if (block instanceof StairBlock) + return null; + + if (pLevel != null) { + VoxelShape shape = appliedState.getShape(pLevel, pPos); + if (shape.isEmpty() || !shape.bounds() + .equals(Shapes.block() + .bounds())) + return null; + + VoxelShape collisionShape = appliedState.getCollisionShape(pLevel, pPos); + if (collisionShape.isEmpty()) + return null; + } + } + + if (face != null) { + Direction.Axis axis = face.getAxis(); + + if (appliedState.hasProperty(BlockStateProperties.FACING)) + appliedState = appliedState.setValue(BlockStateProperties.FACING, face); + if (appliedState.hasProperty(BlockStateProperties.HORIZONTAL_FACING) && axis != Direction.Axis.Y) + appliedState = appliedState.setValue(BlockStateProperties.HORIZONTAL_FACING, face); + if (appliedState.hasProperty(BlockStateProperties.AXIS)) + appliedState = appliedState.setValue(BlockStateProperties.AXIS, axis); + if (appliedState.hasProperty(BlockStateProperties.HORIZONTAL_AXIS) && axis != Direction.Axis.Y) + appliedState = appliedState.setValue(BlockStateProperties.HORIZONTAL_AXIS, axis); + } + + return appliedState; + } + + public boolean isAcceptedRegardless(BlockState material) { + return false; + } + + public BlockState prepareMaterial(Level pLevel, BlockPos pPos, BlockState pState, Player pPlayer, InteractionHand pHand, BlockHitResult pHit, BlockState material) { + return material; + } + + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean pIsMoving) { + + IBE.onRemove(state, level, pos, newState); + + if (!state.hasBlockEntity() || state.getBlock() == newState.getBlock()) + return; + if (!pIsMoving) + withBlockEntityDo(level, pos, ufte -> Block.popResource(level, pos, ufte.getConsumedItem())); + level.removeBlockEntity(pos); + } + + @Override + public BlockState playerWillDestroy(Level pLevel, BlockPos pPos, BlockState pState, Player pPlayer) { + super.playerWillDestroy(pLevel, pPos, pState, pPlayer); + if (pPlayer.isCreative()) + withBlockEntityDo(pLevel, pPos, ufte -> ufte.setConsumedItem(ItemStack.EMPTY)); + return pState; + } + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level,pos, IElectric::onPlaced); + + } + + @Override + public Class getBlockEntityClass() { + return CopycatCableBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.COPYCAT_CABLE.get(); + } + // Connected Textures + + @Override + @OnlyIn(Dist.CLIENT) + public BlockState getAppearance(BlockState state, BlockAndTintGetter level, BlockPos pos, Direction side, + BlockState queryState, BlockPos queryPos) { + if (isIgnoredConnectivitySide(level, state, side, pos, queryPos)) + return state; + + ModelData modelData = level.getModelData(pos); + if (modelData == ModelData.EMPTY) + return getMaterial(level, pos); + return CopycatCableBlockModel.getMaterial(modelData); + } + + public boolean isIgnoredConnectivitySide(BlockAndTintGetter reader, BlockState state, Direction face, + BlockPos fromPos, BlockPos toPos) { + return false; + } + + + public static BlockState getMaterial(BlockGetter reader, BlockPos targetPos) { + if (reader.getBlockEntity(targetPos) instanceof CopycatCableBlockEntity cbe) + return cbe.getMaterial(); + return Blocks.AIR.defaultBlockState(); + } + + // Wrapped properties + + @Override + public SoundType getSoundType(BlockState state, LevelReader level, BlockPos pos, Entity entity) { + return getMaterial(level, pos).getSoundType(); + } + + @Override + public float getFriction(BlockState state, LevelReader level, BlockPos pos, Entity entity) { + return getMaterial(level, pos).getFriction(level, pos, entity); + } + + @Override + public int getLightEmission(BlockState state, BlockGetter level, BlockPos pos) { + return getMaterial(level, pos).getLightEmission(level, pos); + } + + @Override + public boolean canHarvestBlock(BlockState state, BlockGetter level, BlockPos pos, Player player) { + return getMaterial(level, pos).canHarvestBlock(level, pos, player); + } + + @Override + public float getExplosionResistance(BlockState state, BlockGetter level, BlockPos pos, Explosion explosion) { + return getMaterial(level, pos).getExplosionResistance(level, pos, explosion); + } + + @Override + public ItemStack getCloneItemStack(BlockState state, HitResult target, LevelReader level, BlockPos pos, + Player player) { + BlockState material = getMaterial(level, pos); + if (TFMGBlocks.COPYCAT_CABLE_BASE.has(material) || player != null && player.isShiftKeyDown()) + return new ItemStack(this); + return material.getCloneItemStack(target, level, pos, player); + } + + @Override + public boolean addLandingEffects(BlockState state1, ServerLevel level, BlockPos pos, BlockState state2, + LivingEntity entity, int numberOfParticles) { + return getMaterial(level, pos).addLandingEffects(level, pos, state2, entity, numberOfParticles); + } + + @Override + public boolean addRunningEffects(BlockState state, Level level, BlockPos pos, Entity entity) { + return getMaterial(level, pos).addRunningEffects(level, pos, entity); + } + + @Override + public float getEnchantPowerBonus(BlockState state, LevelReader level, BlockPos pos) { + return getMaterial(level, pos).getEnchantPowerBonus(level, pos); + } + + @Override + public boolean canEntityDestroy(BlockState state, BlockGetter level, BlockPos pos, Entity entity) { + return getMaterial(level, pos).canEntityDestroy(level, pos, entity); + } + + + + @Override + public void fallOn(Level pLevel, BlockState pState, BlockPos pPos, Entity pEntity, float pFallDistance) { + BlockState material = getMaterial(pLevel, pPos); + material.getBlock() + .fallOn(pLevel, material, pPos, pEntity, pFallDistance); + } + + @Override + public float getDestroyProgress(BlockState pState, Player pPlayer, BlockGetter pLevel, BlockPos pPos) { + return getMaterial(pLevel, pPos).getDestroyProgress(pPlayer, pLevel, pPos); + } + + // + + @OnlyIn(Dist.CLIENT) + public static BlockColor wrappedColor() { + return new WrappedBlockColor(); + } + + @OnlyIn(Dist.CLIENT) + public static class WrappedBlockColor implements BlockColor { + + @Override + public int getColor(BlockState pState, @Nullable BlockAndTintGetter pLevel, @Nullable BlockPos pPos, + int pTintIndex) { + if (pLevel == null || pPos == null) + return GrassColor.get(0.5D, 1.0D); + return Minecraft.getInstance() + .getBlockColors() + .getColor(getMaterial(pLevel, pPos), pLevel, pPos, pTintIndex); + } + + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/connection/copycat_cable/CopycatCableBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/copycat_cable/CopycatCableBlockEntity.java new file mode 100644 index 00000000..53d18f1f --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/copycat_cable/CopycatCableBlockEntity.java @@ -0,0 +1,272 @@ +package com.drmangotea.tfmg.content.electricity.connection.copycat_cable; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.electricity.base.*; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.content.decoration.copycat.CopycatBlock; +import com.simibubi.create.content.decoration.copycat.CopycatBlockEntity; +import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.api.equipment.goggles.IHaveHoveringInformation; +import com.simibubi.create.content.schematics.cannon.ConfigureSchematicannonPacket; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import net.createmod.catnip.platform.CatnipServices; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.ChunkPos; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + + +import java.util.List; + +public class CopycatCableBlockEntity extends CopycatBlockEntity implements IElectric, IHaveHoveringInformation { + + public ElectricBlockValues data = new ElectricBlockValues(getPos()); + + int powerPercentage = 100; + boolean setNextTick = true; + public CopycatCableBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + data.connectNextTick = true; + if (!canBeInGroups()) { + data.group = new ElectricalGroup(-1); + } + } + @Override + public boolean hasCustomMaterial() { + return !AllBlocks.COPYCAT_BASE.has(getMaterial()); + } + @Override + public void addBehaviours(List behaviours) { + } + + @Override + public LevelAccessor getLevelAccessor() { + return level; + } + + @Override + public boolean destroyed() { + return data.destroyed; + } + + @Override + public ElectricalNetwork getOrCreateElectricNetwork() { + if (level.getBlockEntity(BlockPos.of(data.electricalNetworkId)) instanceof IElectric) { + return TFMG.NETWORK_MANAGER.getOrCreateNetworkFor((IElectric) level.getBlockEntity(BlockPos.of(data.electricalNetworkId))); + } else { + ElectricNetworkManager.networks.get(getLevel()) + .remove(data.electricalNetworkId); + return TFMG.NETWORK_MANAGER.getOrCreateNetworkFor(this); + } + } + + @Override + public void lazyTick() { + super.lazyTick(); + } + + @Override + public ElectricBlockValues getData() { + return data; + } + + + @Override + public float resistance() { + return 0; + } + + @Override + public int voltageGeneration() { + + int voltageGeneration = 0; + + for (Direction direction : Direction.values()) { + if (hasElectricitySlot(direction)) { + + if (level.getBlockEntity(getBlockPos().relative(direction)) instanceof VoltageAlteringBlockEntity be) + if (be.getData().getId() != getData().getId()) + if (be.getData().getVoltage() != 0) + if (be.hasElectricitySlot(direction)) { + voltageGeneration = Math.max(voltageGeneration, be.getOutputVoltage()); + data.getsOutsidePower = true; + } + } + } + + if (voltageGeneration == 0) + data.getsOutsidePower = false; + + return voltageGeneration; + } + + @Override + public int powerGeneration() { + + int powerGeneration = 0; + + for (Direction direction : Direction.values()) { + if (hasElectricitySlot(direction)) { + + if (level.getBlockEntity(getBlockPos().relative(direction)) instanceof VoltageAlteringBlockEntity be) { + if (be.getData().getId() != getData().getId()) + if (be.getData().getVoltage() != 0) + if (be.hasElectricitySlot(direction)) { + powerGeneration = Math.max(powerGeneration, be.getPowerUsage()) + 1; + } + } + } + } + + return powerGeneration; + } + + @Override + public int frequencyGeneration() { + return 0; + } + + @Override + public void updateNextTick() { + data.updateNextTick = true; + } + + @Override + public void updateNetwork() { + getOrCreateElectricNetwork().updateNetwork(); + if (level instanceof ServerLevel serverLevel) + CatnipServices.NETWORK.sendToClientsTrackingChunk(serverLevel, new ChunkPos(worldPosition),new NetworkUpdatePacket(BlockPos.of(getPos()))); + + sendData(); + } + + @Override + public void sendStuff() { + sendData(); + } + + @Override + public void setVoltage(int newVoltage) { + if (canBeInGroups()) { + data.voltage = (int) (((float) resistance() / data.group.resistance) * (float) data.voltageSupply); + return; + } + data.voltage = newVoltage; + } + + @Override + public void setFrequency(int newFrequency) { + data.frequency = newFrequency; + } + + @Override + public void setNetworkResistance(int newUsage) { + data.networkResistance = newUsage; + } + + @Override + public int getNetworkResistance() { + return data.networkResistance; + } + + @Override + public void setNetwork(long network) { + this.data.electricalNetworkId = network; + if (network != getPos()) + ElectricNetworkManager.networks.get(getLevel()) + .remove(getPos()); + } + + public boolean networkUndersupplied() { + return getNetworkPowerUsage() > data.networkPowerGeneration; + } + + + @Override + public long getPos() { + return getBlockPos().asLong(); + } + + @Override + public void remove() { + super.remove(); + this.data.destroyed = true; + for (Direction d : Direction.values()) { + if (hasElectricitySlot(d)) + if (getLevelAccessor().getBlockEntity(BlockPos.of(getPos()).relative(d)) instanceof IElectric be && be.hasElectricitySlot(d.getOpposite())) { + ElectricNetworkManager.networks.get(getLevel()) + .remove(be.getPos()); + be.setNetwork(be.getPos()); + be.onPlaced(); + be.updateNextTick(); + } + } + if (data.electricalNetworkId != getPos()) + getOrCreateElectricNetwork().getMembers().remove(this); + + if (data.electricalNetworkId == getPos()) + ElectricNetworkManager.networks.get(getLevel()) + .remove(getData().getId()); + } + + @Override + public void tick() { + super.tick(); + if (data.connectNextTick) { + onPlaced(); + data.connectNextTick = false; + } + if (data.updateNextTick) { + updateNetwork(); + data.updateNextTick = false; + } + if (data.setVoltageNextTick) { + setVoltage(data.voltageSupply); + data.setVoltageNextTick = false; + } + //if(setNextTick) { + // setMaterial(TFMGBlocks.COPYCAT_CABLE_BASE.getDefaultState()); + // setNextTick = false; + //} + } + + @Override + protected void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + + compound.putInt("GroupId", data.group.id); + compound.putFloat("GroupResistance", data.group.resistance); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + // Validate Material + if (getMaterial() != null && !clientPacket) { + BlockState blockState = getBlockState(); + if (blockState == null) + return; + if (!(blockState.getBlock() instanceof CopycatBlock cb)) + return; + BlockState acceptedBlockState = cb.getAcceptedBlockState(level, worldPosition, ItemStack.EMPTY, null); + if (acceptedBlockState != null && getMaterial().is(acceptedBlockState.getBlock())) + return; + setMaterial(AllBlocks.COPYCAT_BASE.getDefaultState()); + } + + // + data.group = new ElectricalGroup(compound.getInt("GroupId")); + data.group.resistance = compound.getFloat("GroupResistance"); + if (!clientPacket) + data.connectNextTick = true; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/connection/copycat_cable/CopycatCableBlockModel.java b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/copycat_cable/CopycatCableBlockModel.java new file mode 100644 index 00000000..a9abf63b --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/copycat_cable/CopycatCableBlockModel.java @@ -0,0 +1,105 @@ +package com.drmangotea.tfmg.content.electricity.connection.copycat_cable; + +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.content.decoration.copycat.CopycatSpecialCases; +import com.simibubi.create.foundation.model.BakedModelHelper; +import com.simibubi.create.foundation.model.BakedQuadHelper; +import net.createmod.catnip.data.Iterate; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.block.BlockRenderDispatcher; +import net.minecraft.client.renderer.block.model.BakedQuad; +import net.minecraft.client.resources.model.BakedModel; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.block.DirectionalBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.AABB; +import net.minecraft.world.phys.Vec3; +import net.neoforged.neoforge.client.model.data.ModelData; + +import javax.annotation.Nullable; +import java.util.ArrayList; +import java.util.List; + +public class CopycatCableBlockModel extends com.simibubi.create.content.decoration.copycat.CopycatModel { + + protected static final AABB CUBE_AABB = new AABB(BlockPos.ZERO); + + public CopycatCableBlockModel(BakedModel originalModel) { + super(originalModel); + } + + + @Override + protected ModelData.Builder gatherModelData(ModelData.Builder builder, BlockAndTintGetter world, BlockPos pos, BlockState state, ModelData blockEntityData) { + BlockState material = getMaterial(blockEntityData); + if (material == null) + return builder; + + return super.gatherModelData(builder, world, pos, state, blockEntityData); + } + @Nullable + public static BlockState getMaterial(ModelData data) { + BlockState material = data == null ? null : data.get(MATERIAL_PROPERTY); + return material == null ? TFMGBlocks.COPYCAT_CABLE_BASE.getDefaultState() : material; + } + @Override + protected List getCroppedQuads(BlockState state, Direction side, RandomSource rand, BlockState material, + ModelData wrappedData, RenderType renderType) { + Direction facing = Direction.UP; + BlockRenderDispatcher blockRenderer = Minecraft.getInstance() + .getBlockRenderer(); + + BlockState specialCopycatModelState = null; + //if (CopycatSpecialCases.isBarsMaterial(material)) + // specialCopycatModelState = AllBlocks.COPYCAT_BARS.getDefaultState(); + if (CopycatSpecialCases.isTrapdoorMaterial(material)) + return blockRenderer.getBlockModel(material) + .getQuads(state, side, rand, wrappedData, renderType); + + //if (specialCopycatModelState != null) { + // BakedModel blockModel = blockRenderer + // .getBlockModel(specialCopycatModelState.setValue(DirectionalBlock.FACING, facing)); + // if (blockModel instanceof AbstractCopycatCableModel cm) + // return cm.getCroppedQuads(state, side, rand, material, wrappedData, renderType); + //} + + BakedModel model = getModelOf(material); + List templateQuads = model.getQuads(material, side, rand, wrappedData, renderType); + int size = templateQuads.size(); + + List quads = new ArrayList<>(); + + Vec3 normal = Vec3.atLowerCornerOf(facing.getNormal()); + Vec3 normalScaled16 = normal.scale(8 / 16f); + + // 2 Pieces + for (boolean front : Iterate.trueAndFalse) { + Vec3 normalScaledN13 = normal.scale(front ? 0 : -0 / 16f); + float contract = 16 - (8); + AABB bb = CUBE_AABB.contract(normal.x * contract / 16, normal.y * contract / 16, normal.z * contract / 16); + if (!front) + bb = bb.move(normalScaled16); + + for (BakedQuad quad : templateQuads) { + Direction direction = quad.getDirection(); + + if (front && direction == facing) + continue; + if (!front && direction == facing.getOpposite()) + continue; + + quads.add(BakedQuadHelper.cloneWithCustomGeometry(quad, + BakedModelHelper.cropAndMove(quad.getVertices(), quad.getSprite(), bb, normalScaledN13))); + } + + } + + return quads; + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/connection/diagonal/DiagonalCableBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/diagonal/DiagonalCableBlock.java new file mode 100644 index 00000000..86a54bba --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/diagonal/DiagonalCableBlock.java @@ -0,0 +1,144 @@ +package com.drmangotea.tfmg.content.electricity.connection.diagonal; + + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.mojang.serialization.MapCodec; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.content.kinetics.crusher.CrushingWheelControllerBlock; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.MethodsReturnNonnullByDefault; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.DirectionalBlock; +import net.minecraft.world.level.block.SimpleWaterloggedBlock; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.level.material.Fluids; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + + +import javax.annotation.Nullable; +import javax.annotation.ParametersAreNonnullByDefault; +import java.util.Objects; + +@SuppressWarnings({"unused","deprecation"}) +@ParametersAreNonnullByDefault +@MethodsReturnNonnullByDefault +public class DiagonalCableBlock extends DirectionalBlock implements SimpleWaterloggedBlock, IWrenchable, IBE { + + + public static final MapCodec CODEC = simpleCodec(DiagonalCableBlock::new); + + public static final BooleanProperty WATERLOGGED = BlockStateProperties.WATERLOGGED; + public static final BooleanProperty FACING_UP = BooleanProperty.create("facing_up"); + public DiagonalCableBlock(Properties p_54120_) { + super(p_54120_); + this.registerDefaultState(this.stateDefinition.any().setValue(WATERLOGGED, Boolean.FALSE).setValue(FACING, Direction.NORTH).setValue(FACING_UP, false)); + } + + @Override + protected MapCodec codec() { + return CODEC; + } + + protected void createBlockStateDefinition(StateDefinition.Builder p_55125_) { + p_55125_.add(WATERLOGGED,FACING, FACING_UP); + } + + + + @Override + public FluidState getFluidState(BlockState p_51475_) { + return p_51475_.getValue(WATERLOGGED) ? Fluids.WATER.getSource(false) : super.getFluidState(p_51475_); + } + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level,pos, IElectric::onPlaced); + } + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + public VoxelShape getShape(BlockState state, BlockGetter p_54562_, BlockPos p_54563_, CollisionContext p_54564_) { + + + + + if (state.getValue(FACING_UP)) { + return TFMGShapes.DIAGONAL_CABLE_BLOCK_UP.get(state.getValue(FACING)); + } + + + return TFMGShapes.DIAGONAL_CABLE_BLOCK_DOWN.get(state.getValue(FACING)); + + + } + + @Override + public InteractionResult onWrenched(BlockState state, UseOnContext context) { + InteractionResult onWrenched = IWrenchable.super.onWrenched(state, context); + if (!onWrenched.consumesAction()) + return onWrenched; + + context.getLevel().setBlock(context.getClickedPos(),state.setValue(FACING_UP,!state.getValue(FACING_UP)),2); + + withBlockEntityDo(context.getLevel(),context.getClickedPos(), IElectric::onPlaced); + IWrenchable.playRotateSound(context.getLevel(), context.getClickedPos()); + return onWrenched; + } + + @Override + public BlockState updateShape(BlockState p_51461_, Direction p_51462_, BlockState p_51463_, LevelAccessor p_51464_, BlockPos p_51465_, BlockPos p_51466_) { + if (p_51461_.getValue(WATERLOGGED)) { + p_51464_.scheduleTick(p_51465_, Fluids.WATER, Fluids.WATER.getTickDelay(p_51464_)); + } + + return super.updateShape(p_51461_, p_51462_, p_51463_, p_51464_, p_51465_, p_51466_); + } + + + + @Nullable + public BlockState getStateForPlacement(BlockPlaceContext context) { + FluidState fluidstate = context.getLevel().getFluidState(context.getClickedPos()); + boolean flag = fluidstate.getType() == Fluids.WATER; + Direction facing = Objects.requireNonNull(context.getPlayer()).getDirection(); + Direction clickedFace = context.getClickedFace(); + + if (context.getPlayer() != null && context.getPlayer().isShiftKeyDown()) { + if (clickedFace == Direction.DOWN) + return defaultBlockState().setValue(FACING, facing.getOpposite()).setValue(FACING_UP,true).setValue(WATERLOGGED, flag); + else + return defaultBlockState().setValue(FACING, facing.getOpposite()).setValue(FACING_UP,false).setValue(WATERLOGGED, flag); + } + if (clickedFace == Direction.DOWN) + return defaultBlockState().setValue(FACING, facing).setValue(FACING_UP,true).setValue(WATERLOGGED, flag); + + + return defaultBlockState().setValue(FACING, facing).setValue(FACING_UP,false).setValue(WATERLOGGED, flag); + } + + @Override + public Class getBlockEntityClass() { + return DiagonalCableBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.DIAGONAL_CABLE_BLOCK.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/connection/diagonal/DiagonalCableBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/diagonal/DiagonalCableBlockEntity.java new file mode 100644 index 00000000..19fb6944 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/diagonal/DiagonalCableBlockEntity.java @@ -0,0 +1,33 @@ +package com.drmangotea.tfmg.content.electricity.connection.diagonal; + + + +import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +import static com.drmangotea.tfmg.content.electricity.connection.diagonal.DiagonalCableBlock.FACING_UP; +import static net.minecraft.world.level.block.DirectionalBlock.FACING; + +public class DiagonalCableBlockEntity extends ElectricBlockEntity { + public DiagonalCableBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + + @Override + public boolean hasElectricitySlot(Direction direction) { + + if(getBlockState().getValue(FACING_UP)){ + + return direction == Direction.UP||direction == getBlockState().getValue(FACING); + + + }else { + return direction == Direction.DOWN||direction == getBlockState().getValue(FACING); + } + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/connection/diagonal/DiagonalCableGenerator.java b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/diagonal/DiagonalCableGenerator.java new file mode 100644 index 00000000..651f0754 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/diagonal/DiagonalCableGenerator.java @@ -0,0 +1,41 @@ +package com.drmangotea.tfmg.content.electricity.connection.diagonal; + +import com.simibubi.create.foundation.data.SpecialBlockStateGen; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.model.generators.ModelFile; + +import static com.simibubi.create.foundation.data.AssetLookup.partialBaseModel; + +public class DiagonalCableGenerator extends SpecialBlockStateGen { + + @Override + protected int getXRotation(BlockState state) { + return 0; + } + + @Override + protected int getYRotation(BlockState state) { + return switch (state.getValue(DiagonalCableBlock.FACING)) { + case NORTH -> 270; + case SOUTH -> 90; + case WEST -> 180; + case EAST -> 0; + case DOWN -> 0; + case UP -> 0; + }; + } + + @Override + public ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, + BlockState state) { + // return AssetLookup.forPowered(ctx, prov) + // .apply(state); + + return state.getValue(DiagonalCableBlock.FACING_UP) ? partialBaseModel(ctx, prov, "up") + : partialBaseModel(ctx, prov); + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/connection/tube/CableTubeBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/tube/CableTubeBlock.java new file mode 100644 index 00000000..1ed11ee2 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/tube/CableTubeBlock.java @@ -0,0 +1,176 @@ +package com.drmangotea.tfmg.content.electricity.connection.tube; + + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.content.decoration.concrete.ConcreteloggedBlock; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.simibubi.create.foundation.block.IBE; +import com.simibubi.create.foundation.placement.PoleHelper; +import net.createmod.catnip.placement.IPlacementHelper; +import net.createmod.catnip.placement.PlacementHelpers; +import net.createmod.catnip.placement.PlacementOffset; +import net.minecraft.MethodsReturnNonnullByDefault; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.RandomSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.RotatedPillarBlock; +import net.minecraft.world.level.block.SimpleWaterloggedBlock; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.level.material.Fluids; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +import java.util.function.Predicate; + +public class CableTubeBlock extends RotatedPillarBlock implements IBE, ConcreteloggedBlock { + + public static final int placementHelperId = PlacementHelpers.register(new PlacementHelper()); + + public final boolean concreteEncased; + + public CableTubeBlock(Properties p_49795_, boolean concreteEncased) { + super(p_49795_); + this.registerDefaultState(this.stateDefinition.any().setValue(CONCRETELOGGED, false).setValue(AXIS, Direction.Axis.Y)); + this.concreteEncased = concreteEncased; + } + + @Override + public FluidState getFluidState(BlockState p_60577_) { + return fluidState(p_60577_); + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + builder.add(CONCRETELOGGED); + super.createBlockStateDefinition(builder); + } + + @Override + public void randomTick(BlockState state, ServerLevel level, BlockPos pos, RandomSource randomSource) { + + if (state.is(TFMGBlocks.CABLE_TUBE.get())) + tickDrying(level, state, TFMGBlocks.CONCRETE_ENCASED_CABLE_TUBE.getDefaultState().setValue(AXIS, state.getValue(AXIS)), pos, randomSource); + + if (state.is(TFMGBlocks.ELECTRIC_POST.get())) + tickDrying(level, state, TFMGBlocks.CONCRETE_ENCASED_CABLE_TUBE.getDefaultState().setValue(AXIS, state.getValue(AXIS)), pos, randomSource); + } + + + + @Override + public boolean isRandomlyTicking(BlockState p_49921_) { + return true; + } + + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level, pos, IElectric::onPlaced); + } + + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + + @Override + public BlockState updateShape(BlockState pState, Direction pFacing, BlockState pFacingState, LevelAccessor pLevel, + BlockPos pCurrentPos, BlockPos pFacingPos) { + if(!concreteEncased) + updateConcrete(pLevel, pState, pCurrentPos); + return super.updateShape(pState, pFacing, pFacingState, pLevel, pCurrentPos, pFacingPos); + } + + @Override + public VoxelShape getShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, CollisionContext pContext) { + return concreteEncased ? super.getShape(pState, pLevel, pPos, pContext) : TFMGShapes.CABLE_TUBE.get(pState.getValue(AXIS)); + } + + public BlockState getStateForPlacement(BlockPlaceContext context) { + BlockState state = this.defaultBlockState().setValue(AXIS, context.getClickedFace().getAxis()); + + return concreteEncased ? state : withConcrete(state, context); + } + + @Override + public Class getBlockEntityClass() { + return CableTubeBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.CABLE_TUBE.get(); + } + + + + @Override + public ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + + + + + ItemStack itemInHand = player.getItemInHand(hand); + + IPlacementHelper helper = PlacementHelpers.get(placementHelperId); + if (helper.matchesItem(itemInHand)) { + return helper.getOffset(player, level, state, pos, hitResult) + .placeInWorld(level, (BlockItem) itemInHand.getItem(), player, hand, hitResult); + } + + + return concreteEncased ? ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION : onClicked(level, pos, state, player, hand); + } + + + @MethodsReturnNonnullByDefault + private static class PlacementHelper extends PoleHelper { + + + private PlacementHelper() { + super(state -> state.getBlock() instanceof CableTubeBlock, state -> state.getValue(AXIS), AXIS); + } + + @Override + public Predicate getItemPredicate() { + return i -> i.getItem() instanceof BlockItem + && ((BlockItem) i.getItem()).getBlock() instanceof CableTubeBlock; + } + + @Override + public Predicate getStatePredicate() { + return s -> s.getBlock() instanceof CableTubeBlock; + } + + @Override + public PlacementOffset getOffset(Player player, Level world, BlockState state, BlockPos pos, + BlockHitResult ray) { + PlacementOffset offset = super.getOffset(player, world, state, pos, ray); + if (offset.isSuccessful()) + offset.withTransform(offset.getTransform() + .andThen(s -> state.setValue(AXIS, state.getValue(AXIS)))); + return offset; + } + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/connection/tube/CableTubeBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/tube/CableTubeBlockEntity.java new file mode 100644 index 00000000..37318e4e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/connection/tube/CableTubeBlockEntity.java @@ -0,0 +1,25 @@ +package com.drmangotea.tfmg.content.electricity.connection.tube; + + + +import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +import static net.minecraft.world.level.block.RotatedPillarBlock.AXIS; + +public class CableTubeBlockEntity extends ElectricBlockEntity { + public CableTubeBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + + + @Override + public boolean hasElectricitySlot(Direction direction) { + return direction.getAxis() == getBlockState().getValue(AXIS); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/debug/DebugCinderBlockItem.java b/src/main/java/com/drmangotea/tfmg/content/electricity/debug/DebugCinderBlockItem.java new file mode 100644 index 00000000..b0437690 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/debug/DebugCinderBlockItem.java @@ -0,0 +1,58 @@ +package com.drmangotea.tfmg.content.electricity.debug; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.content.decoration.tanks.steel.SteelTankBlock; +import com.drmangotea.tfmg.content.decoration.tanks.steel.SteelTankBlockEntity; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.electricity.connection.cables.CableConnection; +import com.drmangotea.tfmg.content.electricity.connection.cables.CableConnectorBlockEntity; +import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.engine_controller.EngineControllerBlockEntity; +import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.types.large_engine.LargeEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.types.regular_engine.RegularEngineBlockEntity; +import com.drmangotea.tfmg.content.machinery.metallurgy.blast_stove.BlastStoveBlockEntity; +import com.drmangotea.tfmg.content.machinery.metallurgy.casting_basin.CastingBasinBlockEntity; +import com.drmangotea.tfmg.content.machinery.metallurgy.coke_oven.CokeOvenBlockEntity; +import com.drmangotea.tfmg.content.machinery.misc.concrete_hose.ConcreteHoseBlockEntity; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.base.FluidReservoir; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.base.PumpjackBaseBlockEntity; +import com.drmangotea.tfmg.content.machinery.oil_processing.surface_scanner.SurfaceScannerBlockEntity; +import com.drmangotea.tfmg.content.machinery.vat.base.VatBlockEntity; +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; +import com.simibubi.create.content.kinetics.mixer.MechanicalMixerBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.Level; + + +public class DebugCinderBlockItem extends Item { + public DebugCinderBlockItem(Properties p_41383_) { + super(p_41383_); + } + + @Override + public boolean isFoil(ItemStack pStack) { + return true; + } + + @Override + public InteractionResult useOn(UseOnContext context) { + + BlockPos pos = context.getClickedPos(); + Level level = context.getLevel(); + if (level.getBlockEntity(pos) instanceof SteelTankBlockEntity be) { + if(!context.getPlayer().isCrouching()) { + SteelTankBlock.updateTowerState(be.getLevel(), be.getBlockPos(), true, false); + be.updateTemperature(); + TFMG.LOGGER.debug(String.valueOf(be.activeHeat)); + }else SteelTankBlock.updateTowerState(be.getLevel(), be.getBlockPos(), false, false); + } + return InteractionResult.PASS; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/generators/GeneratorBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/GeneratorBlock.java new file mode 100644 index 00000000..70afb455 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/GeneratorBlock.java @@ -0,0 +1,63 @@ +package com.drmangotea.tfmg.content.electricity.generators; + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.content.kinetics.base.DirectionalKineticBlock; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.DirectionalBlock; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class GeneratorBlock extends DirectionalKineticBlock implements IBE { + public GeneratorBlock(Properties properties) { + super(properties); + } + @Override + public VoxelShape getShape(BlockState pState, BlockGetter worldIn, BlockPos pos, CollisionContext context) { + + return TFMGShapes.GENERATOR.get(pState.getValue(FACING)); + } + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level,pos, IElectric::onPlaced); + } + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + @Override + public Class getBlockEntityClass() { + return GeneratorBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.GENERATOR.get(); + } + public Direction getPreferredFacing(BlockPlaceContext context) { + + if(super.getPreferredFacing(context)==null) + return null; + + return super.getPreferredFacing(context).getOpposite(); + } + @Override + public Direction.Axis getRotationAxis(BlockState state) { + return state.getValue(FACING).getAxis(); + } + + @Override + public boolean hasShaftTowards(LevelReader world, BlockPos pos, BlockState state, Direction face) { + return face == state.getValue(FACING); + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/generators/GeneratorBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/GeneratorBlockEntity.java new file mode 100644 index 00000000..918f4219 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/GeneratorBlockEntity.java @@ -0,0 +1,82 @@ +package com.drmangotea.tfmg.content.electricity.generators; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.config.TFMGConfigs; +import com.drmangotea.tfmg.content.electricity.base.KineticElectricBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +public class GeneratorBlockEntity extends KineticElectricBlockEntity { + + + public GeneratorBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + + @Override + public int voltageGeneration() { + return (int) Math.min(255,generation()); + } + + @Override + public int powerGeneration() { + return generation()*40; + } + + @Override + public void tick() { + super.tick(); + if(data.updateNextTick){ + updateNetwork(); + data.updateNextTick = false; + } + } + + @Override + public void updateNetwork() { + super.updateNetwork(); + } +// + // @Override + // public float calculateStressApplied() { + // if(getData().voltageSupply == 0) + // return super.calculateStressApplied(); +// + // if(getNetworkResistance() ==0) + // return super.calculateStressApplied(); +// + // return (int)(Math.min(super.calculateStressApplied()+(getGeneratorLoad() * 0.01f), 1000)); + // } + + @Override + public void onSpeedChanged(float previousSpeed) { + super.onSpeedChanged(previousSpeed); + updateNextTick(); + } + + @Override + public void onNetworkChanged(int oldVoltage, int oldPower) { + super.onNetworkChanged(oldVoltage, oldPower); + updateStress(); + sendStuff(); + } + + public void updateStress(){ + if(getOrCreateNetwork() != null) { + getOrCreateNetwork().remove(this); + getOrCreateNetwork().add(this); + } + } + + public int generation() { + float modifier = TFMGConfigs.common().machines.generatorModifier.getF(); + float maxSpeed = TFMGConfigs.common().machines.generatorMinSpeed.getF(); + return (int) Math.max(0,((Math.abs(getSpeed())-maxSpeed)* modifier)); + } + + + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/generators/creative_generator/CreativeGeneratorBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/creative_generator/CreativeGeneratorBlock.java new file mode 100644 index 00000000..08f1f726 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/creative_generator/CreativeGeneratorBlock.java @@ -0,0 +1,36 @@ +package com.drmangotea.tfmg.content.electricity.generators.creative_generator; + +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.foundation.block.IBE; +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.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +public class CreativeGeneratorBlock extends Block implements IBE { + public CreativeGeneratorBlock(Properties p_49795_) { + super(p_49795_); + } + + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level,pos, IElectric::onPlaced); + } + + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + + @Override + public Class getBlockEntityClass() { + return CreativeGeneratorBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.CREATIVE_GENERATOR.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/generators/creative_generator/CreativeGeneratorBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/creative_generator/CreativeGeneratorBlockEntity.java new file mode 100644 index 00000000..5f4db9e1 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/creative_generator/CreativeGeneratorBlockEntity.java @@ -0,0 +1,75 @@ +package com.drmangotea.tfmg.content.electricity.generators.creative_generator; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.Create; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollValue.ScrollValueBehaviour; + +import com.simibubi.create.foundation.utility.CreateLang; +import net.createmod.catnip.math.VecHelper; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec3; + +import java.util.List; + +public class CreativeGeneratorBlockEntity extends ElectricBlockEntity { + + protected ScrollValueBehaviour outputVoltage; + public CreativeGeneratorBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + @Override + public void addBehaviours(List behaviours) { + super.addBehaviours(behaviours); + int max = 250; + outputVoltage = new ScrollValueBehaviour(CreateLang.translateDirect("creative_generator.voltage_generation"), + this, new CreativeGeneratorValueBox()); + outputVoltage.between(0, max); + outputVoltage.value = 50; + outputVoltage.withCallback(i -> update(this)); + behaviours.add(outputVoltage); + } + + + public static void update(CreativeGeneratorBlockEntity be){ + be.updateNextTick();; + } + + @Override + public int voltageGeneration() { + return outputVoltage.getValue()*10; + } + + @Override + public int powerGeneration() { + return outputVoltage.getValue()*100; + } + + class CreativeGeneratorValueBox extends ValueBoxTransform.Sided { + + @Override + protected Vec3 getSouthLocation() { + return VecHelper.voxelSpace(8, 8, 16); + } + + + @Override + public void rotate(LevelAccessor level, BlockPos pos, BlockState state, PoseStack ms) { + super.rotate(level,pos,state, ms); + } + + @Override + protected boolean isSideActive(BlockState state, Direction direction) { + return direction == Direction.UP; + } + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/RotorBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/RotorBlock.java new file mode 100644 index 00000000..0dc240dd --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/RotorBlock.java @@ -0,0 +1,64 @@ +package com.drmangotea.tfmg.content.electricity.generators.large_generator; + + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.content.electricity.base.ConnectNeightborsPacket; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.simibubi.create.content.kinetics.base.RotatedPillarKineticBlock; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.RenderShape; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + + +public class RotorBlock extends RotatedPillarKineticBlock implements IBE { + public RotorBlock(Properties properties) { + super(properties); + } + + @Override + public Direction.Axis getRotationAxis(BlockState state) { + return state.getValue(AXIS); + } + @Override + public boolean hasShaftTowards(LevelReader world, BlockPos pos, BlockState state, Direction face) { + return face.getAxis() == getRotationAxis(state); + } + @Override + public VoxelShape getShape(BlockState pState, BlockGetter worldIn, BlockPos pos, CollisionContext context) { + return TFMGShapes.ROTOR.get(Direction.get(Direction.AxisDirection.POSITIVE,pState.getValue(AXIS))); + } + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level, pos, IElectric::onPlaced); + } + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + + + @Override + public RenderShape getRenderShape(BlockState pState) { + return RenderShape.ENTITYBLOCK_ANIMATED; + } + + @Override + public Class getBlockEntityClass() { + return RotorBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.ROTOR.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/RotorBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/RotorBlockEntity.java new file mode 100644 index 00000000..c5bf9266 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/RotorBlockEntity.java @@ -0,0 +1,206 @@ +package com.drmangotea.tfmg.content.electricity.generators.large_generator; + + +import com.drmangotea.tfmg.config.TFMGConfigs; +import com.drmangotea.tfmg.content.electricity.base.KineticElectricBlockEntity; +import com.drmangotea.tfmg.content.electricity.generators.large_generator.StatorBlock.StatorState; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import net.createmod.catnip.animation.LerpedFloat; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.AABB; + +import java.util.*; + +import static com.drmangotea.tfmg.content.electricity.generators.large_generator.StatorBlock.STATOR_STATE; +import static com.drmangotea.tfmg.content.electricity.generators.large_generator.StatorBlock.VALUE; +import static com.simibubi.create.content.kinetics.base.RotatedPillarKineticBlock.AXIS; +import static net.minecraft.core.Direction.*; +import static net.minecraft.world.level.block.DirectionalBlock.FACING; + + +public class RotorBlockEntity extends KineticElectricBlockEntity { + + + LerpedFloat visualSpeed = LerpedFloat.linear(); + float angle; + boolean findNextTick = false; + + + List stators = new ArrayList<>(); + + public static final Map> statorPosition = setStatorPositons(); + + public RotorBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + @Override + protected AABB createRenderBoundingBox() { + return super.createRenderBoundingBox().inflate(2); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + visualSpeed.chase(getGeneratedSpeed(), 1 / 128f, LerpedFloat.Chaser.EXP); + } + + @Override + public void tick() { + super.tick(); + manageRotation(); + if(findNextTick){ + findStators(); + findNextTick = false; + } + } + + @Override + public void lazyTick() { + super.lazyTick(); + + findStators(); + } + + @Override + public void onPlaced() { + super.onPlaced(); + findStators(); + updateNextTick(); + } + + @Override + public int voltageGeneration() { + return (int) Math.min(3000, generation() * 3); + } + + public int generation() { + + if (stators.size() != 8) + return 0; + + float modifier = TFMGConfigs.common().machines.largeGeneratorModifier.getF(); + float maxSpeed = TFMGConfigs.common().machines.largeGeneratorMinSpeed.getF(); + + return (int) Math.max(0, ((Math.abs(getSpeed()) - maxSpeed) * modifier)); + } + + @Override + public int powerGeneration() { + return (int) (generation() * 40*1.84563); + } + + public void findStators() { + Axis axis = getBlockState().getValue(AXIS); + + Map position = statorPosition.get(axis); + stators = new ArrayList<>(); + position.forEach(((offset, state) -> { + BlockPos pos = getBlockPos().relative(offset.direction1); + if (offset.direction2.isPresent()) + pos = pos.relative(offset.direction2.get()); + + if (level.getBlockEntity(pos) instanceof StatorBlockEntity be) { + + if (be.rotor == null || be.rotor == getBlockPos()) { + + stators.add(pos); + level.setBlock(pos, state, 2); + be.rotor = getBlockPos(); + + } else { + stators = new ArrayList<>(); + } + } else { + stators = new ArrayList<>(); + } + + })); + } + + public void manageRotation() { + float targetSpeed = getSpeed(); + visualSpeed.updateChaseTarget(targetSpeed); + visualSpeed.tickChaser(); + angle += visualSpeed.getValue() * 3 / 10f; + angle %= 360; + } + + + @Override + public boolean hasElectricitySlot(Direction direction) { + return direction.getAxis() != getBlockState().getValue(AXIS); + } + + public static Map> setStatorPositons() { + Map> statorPositions = new HashMap<>(); + + BlockState defaultState = TFMGBlocks.STATOR.getDefaultState(); + + BlockState cornerState = defaultState.setValue(STATOR_STATE, StatorState.CORNER); + BlockState horizontal = defaultState.setValue(STATOR_STATE, StatorState.CORNER_HORIZONTAL); + BlockState sideState = defaultState.setValue(STATOR_STATE, StatorState.SIDE); + BlockState cornerFlipped = cornerState.setValue(VALUE, false); + BlockState sideFlipped = sideState.setValue(VALUE, false); + Map xPos = new HashMap<>(); + xPos.put(pos(UP), sideFlipped.setValue(FACING, DOWN)); + xPos.put(pos(DOWN), sideFlipped.setValue(FACING, UP)); + xPos.put(pos(NORTH), sideFlipped.setValue(FACING, SOUTH)); + xPos.put(pos(SOUTH), sideFlipped.setValue(FACING, NORTH)); + xPos.put(pos(UP, NORTH), cornerState.setValue(FACING, EAST)); + xPos.put(pos(UP, SOUTH), cornerState.setValue(FACING, WEST)); + xPos.put(pos(DOWN, NORTH), cornerFlipped.setValue(FACING, EAST)); + xPos.put(pos(DOWN, SOUTH), cornerFlipped.setValue(FACING, WEST)); + Map yPos = new HashMap<>(); + yPos.put(pos(EAST), sideState.setValue(FACING, WEST)); + yPos.put(pos(WEST), sideState.setValue(FACING, EAST)); + yPos.put(pos(SOUTH), sideState.setValue(FACING, NORTH)); + yPos.put(pos(NORTH), sideState.setValue(FACING, SOUTH)); + yPos.put(pos(NORTH, WEST), horizontal.setValue(FACING, NORTH)); + yPos.put(pos(SOUTH, EAST), horizontal.setValue(FACING, SOUTH)); + yPos.put(pos(SOUTH, WEST), horizontal.setValue(FACING, WEST)); + yPos.put(pos(NORTH, EAST), horizontal.setValue(FACING, EAST)); + Map zPos = new HashMap<>(); + zPos.put(pos(UP), sideState.setValue(FACING, DOWN)); + zPos.put(pos(DOWN), sideState.setValue(FACING, UP)); + zPos.put(pos(WEST), sideFlipped.setValue(FACING, EAST)); + zPos.put(pos(EAST), sideFlipped.setValue(FACING, WEST)); + zPos.put(pos(UP, WEST), cornerState.setValue(FACING, UP)); + zPos.put(pos(UP, EAST), cornerState.setValue(FACING, SOUTH)); + zPos.put(pos(DOWN, WEST), cornerFlipped.setValue(FACING, UP)); + zPos.put(pos(DOWN, EAST), cornerFlipped.setValue(FACING, SOUTH)); + statorPositions.put(Axis.X, xPos); + statorPositions.put(Axis.Y, yPos); + statorPositions.put(Axis.Z, zPos); + return statorPositions; + } + + private static StatorOffset pos(Direction dir1) { + return new StatorOffset(dir1, Optional.empty()); + } + + private static StatorOffset pos(Direction dir1, Direction dir2) { + return new StatorOffset(dir1, Optional.of(dir2)); + } + + + private static class StatorOffset { + public final Direction direction1; + public final Optional direction2; + + public StatorOffset(Direction dir1, Optional dir2) { + this.direction1 = dir1; + this.direction2 = dir2; + + } + + + } + + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/RotorRenderer.java b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/RotorRenderer.java new file mode 100644 index 00000000..c618a7c6 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/RotorRenderer.java @@ -0,0 +1,59 @@ +package com.drmangotea.tfmg.content.electricity.generators.large_generator; + + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer; +import dev.engine_room.flywheel.api.visualization.VisualizationManager; +import net.createmod.catnip.math.AngleHelper; +import net.createmod.catnip.render.CachedBuffers; +import net.createmod.catnip.render.SuperByteBuffer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.state.BlockState; + +import static com.simibubi.create.content.kinetics.base.RotatedPillarKineticBlock.AXIS; + +public class RotorRenderer extends KineticBlockEntityRenderer { + + public RotorRenderer(BlockEntityRendererProvider.Context context) { + super(context); + } + + @Override + protected void renderSafe(RotorBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, + int light, int overlay) { + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); + + if (VisualizationManager.supportsVisualization(be.getLevel())) + return; + + BlockState blockState = be.getBlockState(); + + float speed = be.visualSpeed.getValue(partialTicks) * 3 / 10f; + float angle = be.angle + speed * partialTicks; + + VertexConsumer vb = buffer.getBuffer(RenderType.cutoutMipped()); + + ms.pushPose(); + + renderRotor(be, ms, light, blockState, angle, vb); + + ms.popPose(); + } + + private void renderRotor(RotorBlockEntity be, PoseStack ms, int light, BlockState blockState, float angle, + VertexConsumer vb) { + SuperByteBuffer wheel = CachedBuffers.block(blockState); + kineticRotationTransform(wheel, be, getRotationAxisOf(be), AngleHelper.rad(angle), light); + wheel.renderInto(ms, vb); + } + + @Override + protected BlockState getRenderedBlockState(RotorBlockEntity be) { + return shaft(getRotationAxisOf(be)); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/RotorVisual.java b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/RotorVisual.java new file mode 100644 index 00000000..edabc98b --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/RotorVisual.java @@ -0,0 +1,110 @@ +package com.drmangotea.tfmg.content.electricity.generators.large_generator; + +import com.drmangotea.tfmg.content.decoration.flywheels.TFMGFlywheelBlock; +import com.drmangotea.tfmg.content.decoration.flywheels.TFMGFlywheelBlockEntity; +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual; +import com.simibubi.create.content.kinetics.base.RotatingInstance; +import com.simibubi.create.foundation.render.AllInstanceTypes; +import dev.engine_room.flywheel.api.instance.Instance; +import dev.engine_room.flywheel.api.visualization.VisualizationContext; +import dev.engine_room.flywheel.lib.instance.InstanceTypes; +import dev.engine_room.flywheel.lib.instance.TransformedInstance; +import dev.engine_room.flywheel.lib.model.Models; +import dev.engine_room.flywheel.lib.visual.SimpleDynamicVisual; +import net.createmod.catnip.math.AngleHelper; +import net.minecraft.core.Direction; +import org.joml.Matrix4f; +import org.joml.Quaternionf; + +import java.util.function.Consumer; + +public class RotorVisual extends KineticBlockEntityVisual implements SimpleDynamicVisual { + + protected final RotatingInstance shaft; + protected final TransformedInstance wheel; + protected float lastAngle = Float.NaN; + + protected final Matrix4f baseTransform = new Matrix4f(); + + + public RotorVisual(VisualizationContext context, RotorBlockEntity blockEntity, float partialTick) { + super(context, blockEntity, partialTick); + + var axis = rotationAxis(); + shaft = instancerProvider().instancer(AllInstanceTypes.ROTATING, Models.partial(AllPartialModels.SHAFT)) + .createInstance(); + + shaft.setup(RotorVisual.this.blockEntity) + .setPosition(getVisualPosition()) + .rotateToFace(axis) + .setChanged(); + + wheel = instancerProvider().instancer(InstanceTypes.TRANSFORMED, Models.partial(TFMGPartialModels.ROTOR)) + .createInstance(); + + + Direction align = Direction.fromAxisAndDirection(axis, Direction.AxisDirection.POSITIVE); + + wheel.translate(getVisualPosition()) + .center() + .rotate(new Quaternionf().rotateTo(0, 1, 0, align.getStepX(), align.getStepY(), align.getStepZ())); + + + //wheel.rotateX((float) Math.PI/2); + //wheel.rotateY((float) Math.PI/2); + //wheel.rotateZ((float) Math.PI/2); + + + baseTransform.set(wheel.pose); + + animate(blockEntity.angle); + } + + @Override + public void beginFrame(Context ctx) { + + float partialTicks = ctx.partialTick(); + + float speed = blockEntity.visualSpeed.getValue(partialTicks) * 3 / 10f; + float angle = blockEntity.angle + speed * partialTicks; + + if (Math.abs(angle - lastAngle) < 0.001) + return; + + animate(angle); + + lastAngle = angle; + } + + private void animate(float angle) { + wheel.setTransform(baseTransform) + .rotateY(AngleHelper.rad(angle)) + .uncenter() + .setChanged(); + } + + @Override + public void update(float pt) { + shaft.setup(blockEntity) + .setChanged(); + } + + @Override + public void updateLight(float partialTick) { + relight(shaft, wheel); + } + + @Override + protected void _delete() { + shaft.delete(); + wheel.delete(); + } + + @Override + public void collectCrumblingInstances(Consumer consumer) { + consumer.accept(shaft); + consumer.accept(wheel); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/StatorBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/StatorBlock.java new file mode 100644 index 00000000..4863adcb --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/StatorBlock.java @@ -0,0 +1,114 @@ +package com.drmangotea.tfmg.content.electricity.generators.large_generator; + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.electricity.connection.diagonal.DiagonalCableBlock; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.mojang.serialization.MapCodec; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.util.StringRepresentable; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.DirectionalBlock; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.block.state.properties.EnumProperty; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class StatorBlock extends DirectionalBlock implements IBE { + + public static final MapCodec CODEC = simpleCodec(StatorBlock::new); + + public static final BooleanProperty VALUE = BooleanProperty.create("value"); + public static final EnumProperty STATOR_STATE = EnumProperty.create("stator_state", StatorState.class); + + public StatorBlock(Properties properties) { + super(properties); + } + + @Override + protected MapCodec codec() { + return CODEC; + } + + + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level, pos, IElectric::onPlaced); + } + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder pBuilder) { + pBuilder.add(STATOR_STATE,FACING,VALUE); + super.createBlockStateDefinition(pBuilder); + } + + @Override + public VoxelShape getShape(BlockState state, BlockGetter blockGetter, BlockPos pos, CollisionContext context) { + + StatorState statorState = state.getValue(STATOR_STATE); + boolean rotated = state.getValue(VALUE); + Direction direction = state.getValue(FACING); + + if(direction == Direction.UP) + direction = Direction.NORTH; + if(statorState == StatorState.CORNER){ + return rotated ? TFMGShapes.STATOR_ROTATED.get(direction) : TFMGShapes.STATOR.get(direction); + } + if(statorState == StatorState.CORNER_HORIZONTAL){ + + + return TFMGShapes.STATOR_VERTICAL.get(direction); + } + + + return super.getShape(state, blockGetter, pos, context); + } + + @Override + public Class getBlockEntityClass() { + return StatorBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.STATOR.get(); + } + + public enum StatorState implements StringRepresentable{ + + + SIDE("side"), + CORNER_HORIZONTAL("corner_horizontal"), + CORNER("corner") + + + ; + final String name; + StatorState(String name){ + this.name = name; + } + + + @Override + public String getSerializedName() { + return name; + } + } + + + + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/StatorBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/StatorBlockEntity.java new file mode 100644 index 00000000..8b4e8cf0 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/StatorBlockEntity.java @@ -0,0 +1,65 @@ +package com.drmangotea.tfmg.content.electricity.generators.large_generator; + +import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; +import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + + +public class StatorBlockEntity extends ElectricBlockEntity implements IHaveGoggleInformation { + + public BlockPos rotor = null; + + public int timer = 0; + + public StatorBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + public void setRotor(RotorBlockEntity be) { + rotor = be.getBlockPos(); + } + + @Override + public void lazyTick() { + super.lazyTick(); + if (rotor != null) + if (!(level.getBlockEntity(rotor) instanceof RotorBlockEntity)) + rotor = null; + + + } + + @Override + public void tick() { + super.tick(); + + if(timer>0){ + if(timer == 1) + updateNextTick(); + + timer--; + } + } + + @Override + public void onPlaced() { + super.onPlaced(); + if (rotor != null) + if (level.getBlockEntity(rotor) instanceof RotorBlockEntity be) { + timer =11; + be.findNextTick = true; + } + } + + @Override + public void destroy() { + super.destroy(); + if (rotor != null) + if (level.getBlockEntity(rotor) instanceof RotorBlockEntity be) { + be.updateNextTick(); + be.findNextTick = true; + } + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/StatorGenerator.java b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/StatorGenerator.java new file mode 100644 index 00000000..19ef1a74 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/StatorGenerator.java @@ -0,0 +1,88 @@ +package com.drmangotea.tfmg.content.electricity.generators.large_generator; + + +import com.drmangotea.tfmg.TFMG; +import com.simibubi.create.foundation.data.SpecialBlockStateGen; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.model.generators.ModelFile; + + +public class StatorGenerator extends SpecialBlockStateGen { + + + protected int getXRotation(BlockState state) { + + short value; + switch ((Direction)state.getValue(StatorBlock.FACING)) { + case NORTH, SOUTH, WEST, EAST: + value = 0; + break; + + + + case DOWN: + if(state.getValue(StatorBlock.STATOR_STATE)== StatorBlock.StatorState.CORNER) { + value = 0; + }else + value = 90; + break; + case UP: + if(state.getValue(StatorBlock.STATOR_STATE)== StatorBlock.StatorState.CORNER) { + value = 0; + }else + value = 270; + break; + default: + throw new IncompatibleClassChangeError(); + } + + return value; + } + + protected int getYRotation(BlockState state) { + + short value; + switch ((Direction)state.getValue(StatorBlock.FACING)) { + case NORTH, DOWN, UP: + value = 0; + break; + case SOUTH: + value = 180; + break; + case WEST: + value = 270; + break; + case EAST: + value = 90; + break; + default: + throw new IncompatibleClassChangeError(); + } + + return value; + } + + + + @Override + public ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, + BlockState state) { + + String path = "block/stator/block_" + + state.getValue(StatorBlock.STATOR_STATE).getSerializedName() + ; + + if(state.getValue(StatorBlock.VALUE)&&state.getValue(StatorBlock.STATOR_STATE)== StatorBlock.StatorState.CORNER) + path = path + "_up"; + if(state.getValue(StatorBlock.VALUE)&&state.getValue(StatorBlock.STATOR_STATE)== StatorBlock.StatorState.SIDE) + path = path + "_rotated"; + + return prov.models() + .getExistingFile(TFMG.asResource(path)); + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/lights/LampGenerator.java b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/LampGenerator.java new file mode 100644 index 00000000..591d2d40 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/LampGenerator.java @@ -0,0 +1,61 @@ +package com.drmangotea.tfmg.content.electricity.lights; + +import com.drmangotea.tfmg.base.blocks.WallMountBlock; +import com.simibubi.create.foundation.data.AssetLookup; +import com.simibubi.create.foundation.data.SpecialBlockStateGen; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.model.generators.ModelFile; + +public class LampGenerator extends SpecialBlockStateGen { + public LampGenerator() { + } + + protected int getXRotation(BlockState state) { + short value; + switch ((Direction)state.getValue(WallMountBlock.FACING)) { + case NORTH, EAST, WEST, SOUTH: + value = 90; + break; + case DOWN: + value = 180; + break; + case UP: + value = 0; + break; + default: + throw new IncompatibleClassChangeError(); + } + + return value; + } + + protected int getYRotation(BlockState state) { + short value; + switch ((Direction)state.getValue(WallMountBlock.FACING)) { + case NORTH, DOWN, UP: + value = 0; + break; + case SOUTH: + value = 180; + break; + case WEST: + value = 270; + break; + case EAST: + value = 90; + break; + default: + throw new IncompatibleClassChangeError(); + } + + return value; + } + + public ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, BlockState state) { + return state.getValue(LightBulbBlock.LIGHT)>0 ? AssetLookup.partialBaseModel(ctx, prov, new String[]{"powered"}) : AssetLookup.partialBaseModel(ctx, prov, new String[0]); + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/lights/LightBulbBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/LightBulbBlock.java new file mode 100644 index 00000000..175d9bda --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/LightBulbBlock.java @@ -0,0 +1,115 @@ +package com.drmangotea.tfmg.content.electricity.lights; + + +import com.drmangotea.tfmg.base.blocks.WallMountBlock; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.electricity.lights.neon_tube.NeonTubeBlockEntity; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.foundation.block.IBE; +import com.tterrag.registrate.util.entry.BlockEntityEntry; +import net.createmod.catnip.math.VoxelShaper; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.DyeColor; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.SimpleWaterloggedBlock; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.block.state.properties.IntegerProperty; +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.level.material.Fluids; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class LightBulbBlock extends WallMountBlock implements IBE, SimpleWaterloggedBlock, IWrenchable { + + public static final IntegerProperty LIGHT = BlockStateProperties.LEVEL; + + public static final BooleanProperty WATERLOGGED = BlockStateProperties.WATERLOGGED; + + public final BlockEntityEntry blockEntityType; + public final VoxelShaper shape; + + public LightBulbBlock(Properties properties, BlockEntityEntry blockEntityType, VoxelShaper shape) { + super(properties); + this.registerDefaultState(this.stateDefinition.any().setValue(LIGHT, 0).setValue(WATERLOGGED, false)); + this.blockEntityType = blockEntityType; + this.shape = shape; + } + + + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level,pos, IElectric::onPlaced); + } + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + @Override + public VoxelShape getShape(BlockState pState, BlockGetter worldIn, BlockPos pos, CollisionContext context) { + + return shape.get(pState.getValue(FACING)); + } + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand pHand, BlockHitResult hitResult) { + if (player.isShiftKeyDown()) + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + ItemStack heldItem = player.getItemInHand(pHand); + LightBulbBlockEntity be = getBlockEntity(level, pos); + DyeColor dye = DyeColor.getColor(heldItem); + if (be != null) { + if (dye != null) { + level.playSound(null, pos, SoundEvents.DYE_USE, SoundSource.BLOCKS, 1.0F, 1.0F); + be.setColor(dye); + return ItemInteractionResult.SUCCESS; + } + } + + + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + } + + protected void createBlockStateDefinition(StateDefinition.Builder p_153687_) { + p_153687_.add(LIGHT, WATERLOGGED,FACING); + } + public BlockState updateShape(BlockState p_153680_, Direction p_153681_, BlockState p_153682_, LevelAccessor p_153683_, BlockPos p_153684_, BlockPos p_153685_) { + if (p_153680_.getValue(WATERLOGGED)) { + p_153683_.scheduleTick(p_153684_, Fluids.WATER, Fluids.WATER.getTickDelay(p_153683_)); + } + + return super.updateShape(p_153680_, p_153681_, p_153682_, p_153683_, p_153684_, p_153685_); + } + + public FluidState getFluidState(BlockState p_153699_) { + return p_153699_.getValue(WATERLOGGED) ? Fluids.WATER.getSource(false) : super.getFluidState(p_153699_); + } + + + + + @Override + public Class getBlockEntityClass() { + return LightBulbBlockEntity.class; + } + + + @Override + public BlockEntityType getBlockEntityType() { + return blockEntityType.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/lights/LightBulbBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/LightBulbBlockEntity.java new file mode 100644 index 00000000..f303c93b --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/LightBulbBlockEntity.java @@ -0,0 +1,143 @@ +package com.drmangotea.tfmg.content.electricity.lights; + + + +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; +import net.createmod.catnip.animation.LerpedFloat; +import net.createmod.catnip.nbt.NBTHelper; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.item.DyeColor; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +import static com.drmangotea.tfmg.base.blocks.WallMountBlock.FACING; +import static com.drmangotea.tfmg.content.electricity.lights.LightBulbBlock.LIGHT; + + +public class LightBulbBlockEntity extends ElectricBlockEntity { + + public LerpedFloat glow = LerpedFloat.linear(); + + boolean signalChanged; + + boolean hasSignal; + + public DyeColor color= DyeColor.WHITE; + + + + public LightBulbBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + @Override + public void tick() { + super.tick(); + if(!hasSignal&&canWork()) { + glow.chase(getPowerUsage()*2.5, 0.4, LerpedFloat.Chaser.EXP); + glow.tickChaser(); + if (Math.min(getData().getVoltage() / 10, 15) != getBlockState().getValue(LIGHT)) + level.setBlock(getBlockPos(), getBlockState().setValue(LIGHT, (int) Math.min(getData().getVoltage() / 10, 15)), 2); + }else { + if (getBlockState().getValue(LIGHT)!=0) + level.setBlock(getBlockPos(), getBlockState().setValue(LIGHT, 0), 2); + glow.chase(0, 0.4, LerpedFloat.Chaser.EXP); + glow.tickChaser(); + + } + if (signalChanged) { + signalChanged = false; + analogSignalChanged(level.getBestNeighborSignal(worldPosition)); + } + } + public void setColor(DyeColor color) { + if(color==DyeColor.BLACK||color == DyeColor.LIGHT_GRAY|| color == DyeColor.GRAY) + return; + + this.color = color; + notifyUpdate(); + } + + // @Override + // public int getMaxVoltage() { + // return 500; + // } +// + // @Override + // public int getMaxAmps() { + // return 5; + // } + + @Override + public void blockFail() { + super.blockFail(); + TFMGUtils.playSound(level,getBlockPos(), SoundEvents.GLASS_BREAK, SoundSource.BLOCKS); + } + + //@Override + //public int getMaxVoltage() { + // return 500; + //} +// + //@Override + //public int getMaxCurrent() { + // return 4; + //} + + @Override + public void setVoltage(int newVoltage) { + super.setVoltage(newVoltage); + } + + @Override + public float resistance() { + return 100; + } + + + public void neighbourChanged() { + if (!hasLevel()) + return; + boolean powered = level.getBestNeighborSignal(worldPosition)>0; + if (powered != hasSignal) + signalChanged = true; + } + @Override + public void lazyTick() { + super.lazyTick(); + neighbourChanged(); + } + + @Override + protected void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + NBTHelper.writeEnum(compound,"color",color); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + color = NBTHelper.readEnum(compound,"color",DyeColor.class); + } + + @Override + public boolean canBeInGroups() { + return true; + } + + protected void analogSignalChanged(int newSignal) { + hasSignal = newSignal > 0; + } + + @Override + public boolean hasElectricitySlot(Direction direction) { + return direction == getBlockState().getValue(FACING).getOpposite(); + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/lights/LightBulbRenderer.java b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/LightBulbRenderer.java new file mode 100644 index 00000000..19f5c1ab --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/LightBulbRenderer.java @@ -0,0 +1,52 @@ +package com.drmangotea.tfmg.content.electricity.lights; + + + +import com.drmangotea.tfmg.base.blocks.WallMountBlock; +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; +import com.simibubi.create.foundation.render.RenderTypes; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import net.createmod.catnip.render.CachedBuffers; +import net.createmod.catnip.render.SuperByteBuffer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.world.item.DyeColor; +import net.minecraft.world.level.block.state.BlockState; + +public class LightBulbRenderer extends SafeBlockEntityRenderer { + + + + public LightBulbRenderer(BlockEntityRendererProvider.Context context) { + + } + + @Override + protected void renderSafe(LightBulbBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { + if(getLightModel() ==null) + return; + BlockState blockState = be.getBlockState(); + ms.pushPose(); + float glow = be.glow.getValue(partialTicks); + int color = Math.min(100,(int) (glow/0.2f)); + if(be.glow.getValue()!=0) { + + SuperByteBuffer lightModel = CachedBuffers.partialFacing(getLightModel(), blockState, blockState.getValue(WallMountBlock.FACING)) + .light((int) glow * 3 + 40) + .color(color, color, (int) (color * 0.8), 255) + .disableDiffuse(); + if(be.color == DyeColor.WHITE){ + lightModel.color(color, color, (int) (color * 0.8), 255); + }else lightModel.color(be.color.getTextColor()); + + lightModel.renderInto(ms, buffer.getBuffer(RenderTypes.additive())); + } + ms.popPose(); + } + + public PartialModel getLightModel(){ + return TFMGPartialModels.LIGHT_BULB; + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/lights/neon_tube/NeonTubeBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/neon_tube/NeonTubeBlock.java new file mode 100644 index 00000000..9c80b97d --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/neon_tube/NeonTubeBlock.java @@ -0,0 +1,170 @@ +package com.drmangotea.tfmg.content.electricity.lights.neon_tube; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.blocks.TFMGDirectionalBlock; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.electricity.connection.cables.SimplePos; +import com.drmangotea.tfmg.content.electricity.lights.LightBulbBlock; +import com.drmangotea.tfmg.content.electricity.lights.LightBulbBlockEntity; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.mojang.serialization.MapCodec; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.DyeColor; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.PipeBlock; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.IntegerProperty; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.Vec3; + +public class NeonTubeBlock extends PipeBlock implements IBE, IWrenchable { + + public static final IntegerProperty LIGHT = LightBulbBlock.LIGHT; + + public NeonTubeBlock(Properties p_55160_) { + super(0.3125F/2.5f, p_55160_); + this.registerDefaultState(this.stateDefinition.any().setValue(LIGHT, 0).setValue(NORTH, Boolean.valueOf(false)).setValue(EAST, Boolean.valueOf(false)).setValue(SOUTH, Boolean.valueOf(false)).setValue(WEST, Boolean.valueOf(false)).setValue(UP, Boolean.valueOf(true)).setValue(DOWN, Boolean.valueOf(true))); + } + public BlockState getStateForPlacement(BlockPlaceContext p_51709_) { + return this.getStateForPlacement(p_51709_.getLevel(), p_51709_.getClickedPos()); + } + public BlockState getStateForPlacement(BlockGetter p_51711_, BlockPos p_51712_) { + BlockState blockstate = p_51711_.getBlockState(p_51712_.below()); + BlockState blockstate1 = p_51711_.getBlockState(p_51712_.above()); + BlockState blockstate2 = p_51711_.getBlockState(p_51712_.north()); + BlockState blockstate3 = p_51711_.getBlockState(p_51712_.east()); + BlockState blockstate4 = p_51711_.getBlockState(p_51712_.south()); + BlockState blockstate5 = p_51711_.getBlockState(p_51712_.west()); + return this.defaultBlockState().setValue(DOWN, Boolean.valueOf(blockstate.is(this) || blockstate.is(Blocks.CHORUS_FLOWER) || blockstate.is(Blocks.END_STONE))).setValue(UP, Boolean.valueOf(blockstate1.is(this) || blockstate1.is(Blocks.CHORUS_FLOWER))).setValue(NORTH, Boolean.valueOf(blockstate2.is(this) || blockstate2.is(Blocks.CHORUS_FLOWER))).setValue(EAST, Boolean.valueOf(blockstate3.is(this) || blockstate3.is(Blocks.CHORUS_FLOWER))).setValue(SOUTH, Boolean.valueOf(blockstate4.is(this) || blockstate4.is(Blocks.CHORUS_FLOWER))).setValue(WEST, Boolean.valueOf(blockstate5.is(this) || blockstate5.is(Blocks.CHORUS_FLOWER))); + } + protected void createBlockStateDefinition(StateDefinition.Builder p_51735_) { + p_51735_.add(NORTH, EAST, SOUTH, WEST, UP, DOWN,LIGHT); + } + + @Override + public InteractionResult onWrenched(BlockState state, UseOnContext context) { + Level level = context.getLevel(); + BlockPos pos = context.getClickedPos(); + Direction facing = context.getClickedFace(); + Vec3 position = context.getClickLocation(); + + SimplePos clickPosition = new SimplePos(position.x()-pos.getX(),position.y()-pos.getY(),position.z()-pos.getZ()); + + Direction dirToToggle = Direction.NORTH; + + if(clickPosition.x()>=0.375&&clickPosition.x()<=0.625&&clickPosition.y()>=0.375&&clickPosition.y()<=0.625&&clickPosition.z()>=0.375&&clickPosition.z()<=0.625){ + dirToToggle = facing; + } + + if(clickPosition.x()>0.625) + dirToToggle = Direction.EAST; + if(clickPosition.x()<0.375) + dirToToggle = Direction.WEST; + if(clickPosition.y()>0.625) + dirToToggle = Direction.UP; + if(clickPosition.y()<0.375) + dirToToggle = Direction.DOWN; + if(clickPosition.z()>0.625) + dirToToggle = Direction.SOUTH; + if(clickPosition.z()<0.375) + dirToToggle = Direction.NORTH; + + + + switch (dirToToggle){ + case UP -> level.setBlockAndUpdate(pos, state.setValue(UP,!state.getValue(UP))); + case DOWN -> level.setBlockAndUpdate(pos, state.setValue(DOWN,!state.getValue(DOWN))); + case WEST -> level.setBlockAndUpdate(pos, state.setValue(WEST,!state.getValue(WEST))); + case EAST -> level.setBlockAndUpdate(pos, state.setValue(EAST,!state.getValue(EAST))); + case NORTH -> level.setBlockAndUpdate(pos, state.setValue(NORTH,!state.getValue(NORTH))); + case SOUTH -> level.setBlockAndUpdate(pos, state.setValue(SOUTH,!state.getValue(SOUTH))); + } + + withBlockEntityDo(level,pos, IElectric::onPlaced); + + for(Direction direction : Direction.values()){ + if(level.getBlockEntity(pos.relative(direction)) instanceof IElectric be){ + be.onPlaced(); + } + } + + return InteractionResult.SUCCESS; + } + + + +@Override +protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand pHand, BlockHitResult hitResult) { + if (player.isShiftKeyDown()) + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + ItemStack heldItem = player.getItemInHand(pHand); + NeonTubeBlockEntity be = getBlockEntity(level, pos); + DyeColor dye = DyeColor.getColor(heldItem); + if (be != null) { + if (dye != null) { + level.playSound(null, pos, SoundEvents.DYE_USE, SoundSource.BLOCKS, 1.0F, 1.0F); + be.setColor(dye); + return ItemInteractionResult.SUCCESS; + } + } + + + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + } + + @Override + public void onPlace(BlockState state, Level level, BlockPos pos, BlockState p_60569_, boolean p_60570_) { + + + if(!p_60569_.is(TFMGBlocks.NEON_TUBE.get())) + for(Direction facing : Direction.values()) { + BlockState neighbourState = level.getBlockState(pos.relative(facing)); + if (neighbourState.is(TFMGBlocks.NEON_TUBE.get())) { + level.setBlockAndUpdate(pos.relative(facing), neighbourState.setValue(PipeBlock.PROPERTY_BY_DIRECTION.get(facing.getOpposite()), true)); + } + } + withBlockEntityDo(level,pos, IElectric::onPlaced); + super.onPlace(state, level, pos, p_60569_, p_60570_); + + } + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + + + + @Override + public Class getBlockEntityClass() { + return NeonTubeBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.NEON_TUBE.get(); + } + public static final MapCodec CODEC = simpleCodec(NeonTubeBlock::new); + @Override + protected MapCodec codec() { + return CODEC; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/lights/neon_tube/NeonTubeBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/neon_tube/NeonTubeBlockEntity.java new file mode 100644 index 00000000..ac5fdca1 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/neon_tube/NeonTubeBlockEntity.java @@ -0,0 +1,69 @@ +package com.drmangotea.tfmg.content.electricity.lights.neon_tube; + +import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; +import net.createmod.catnip.animation.LerpedFloat; +import net.createmod.catnip.nbt.NBTHelper; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.item.DyeColor; +import net.minecraft.world.level.block.PipeBlock; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +import static com.drmangotea.tfmg.content.electricity.lights.LightBulbBlock.LIGHT; + +public class NeonTubeBlockEntity extends ElectricBlockEntity { + + public DyeColor color= DyeColor.WHITE; + + public LerpedFloat glow = LerpedFloat.linear(); + + public NeonTubeBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + @Override + public boolean canBeInGroups() { + return true; + } + @Override + public void tick() { + super.tick(); + + + glow.chase(getPowerUsage()*1.5, 0.4, LerpedFloat.Chaser.EXP); + glow.tickChaser(); + if (Math.min(getData().getVoltage() / 10, 15) != getBlockState().getValue(LIGHT)) + level.setBlock(getBlockPos(), getBlockState().setValue(LIGHT, (int) Math.min(getData().getVoltage() / 10, 15)), 2); + + } + @Override + protected void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + NBTHelper.writeEnum(compound,"color",color); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + color = NBTHelper.readEnum(compound,"color",DyeColor.class); + } + public void setColor(DyeColor color) { + if(color==DyeColor.BLACK||color == DyeColor.LIGHT_GRAY|| color == DyeColor.GRAY) + return; + + this.color = color; + notifyUpdate(); + } + @Override + public boolean hasElectricitySlot(Direction direction) { + return getBlockState().getValue(PipeBlock.PROPERTY_BY_DIRECTION.get(direction)); + } + + @Override + public float resistance() { + return 200; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/lights/neon_tube/NeonTubeRenderer.java b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/neon_tube/NeonTubeRenderer.java new file mode 100644 index 00000000..09f61f3c --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/neon_tube/NeonTubeRenderer.java @@ -0,0 +1,79 @@ +package com.drmangotea.tfmg.content.electricity.lights.neon_tube; + + +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; +import com.simibubi.create.foundation.render.RenderTypes; +import net.createmod.catnip.render.CachedBuffers; +import net.createmod.catnip.render.SuperByteBuffer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.core.Direction; +import net.minecraft.world.item.DyeColor; +import net.minecraft.world.level.block.PipeBlock; +import net.minecraft.world.level.block.state.BlockState; + +public class NeonTubeRenderer extends SafeBlockEntityRenderer { + + + public NeonTubeRenderer(BlockEntityRendererProvider.Context context) { + + } + + @Override + protected void renderSafe(NeonTubeBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { + + + BlockState blockState = be.getBlockState(); + ms.pushPose(); + float glow = be.glow.getValue(partialTicks); + int color = Math.min(100, (int) (glow / 0.2f)); + if (be.glow.getValue() != 0) { + + SuperByteBuffer lightModel = CachedBuffers.partial(TFMGPartialModels.NEON_TUBE_LIGHT_CENTER, blockState) + .light((int) glow * 3 + 40) + .color(color, color, (int) (color * 0.8), 255) + .disableDiffuse(); + + PipeBlock.PROPERTY_BY_DIRECTION.forEach((d, p) -> { + if (blockState.getValue(p)) { + + int xRotation = d.getAxis().isHorizontal() ? 90 : d == Direction.DOWN ? 180 : 0; + int yRotation = 0; + + if(d==Direction.NORTH) + yRotation = 180; + if(d==Direction.WEST) + yRotation = 270; + if(d==Direction.EAST) + yRotation = 90; + SuperByteBuffer sideModel = CachedBuffers.partial(TFMGPartialModels.NEON_TUBE_LIGHT_SIDE, blockState) + .center() + .rotateYDegrees(yRotation) + .rotateXDegrees(xRotation) + .uncenter() + .light((int) glow * 3 + 40) + .color(color, color, (int) (color * 0.8), 255) + .disableDiffuse(); + + + if (be.color == DyeColor.WHITE) { + sideModel.color(color, color, (int) (color * 0.8), 255); + } else sideModel.color(be.color.getTextColor()); + sideModel.renderInto(ms, buffer.getBuffer(RenderTypes.additive())); + + } + }); + + if (be.color == DyeColor.WHITE) { + lightModel.color(color, color, (int) (color * 0.8), 255); + } else lightModel.color(be.color.getTextColor()); + + lightModel.renderInto(ms, buffer.getBuffer(RenderTypes.additive())); + } + ms.popPose(); + } + + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/lights/variants/AluminumLampRenderer.java b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/variants/AluminumLampRenderer.java new file mode 100644 index 00000000..c8acf4f4 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/variants/AluminumLampRenderer.java @@ -0,0 +1,17 @@ +package com.drmangotea.tfmg.content.electricity.lights.variants; + +import com.drmangotea.tfmg.content.electricity.lights.LightBulbRenderer; +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; + +public class AluminumLampRenderer extends LightBulbRenderer { + public AluminumLampRenderer(BlockEntityRendererProvider.Context context) { + super(context); + } + + @Override + public PartialModel getLightModel() { + return TFMGPartialModels.ALUMINUM_LAMP; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/lights/variants/CircularLightRenderer.java b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/variants/CircularLightRenderer.java new file mode 100644 index 00000000..e2e12e16 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/variants/CircularLightRenderer.java @@ -0,0 +1,17 @@ +package com.drmangotea.tfmg.content.electricity.lights.variants; + +import com.drmangotea.tfmg.content.electricity.lights.LightBulbRenderer; +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; + +public class CircularLightRenderer extends LightBulbRenderer { + public CircularLightRenderer(BlockEntityRendererProvider.Context context) { + super(context); + } + + @Override + public PartialModel getLightModel() { + return TFMGPartialModels.CIRCULAR_LIGHT; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/lights/variants/ModernLightRenderer.java b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/variants/ModernLightRenderer.java new file mode 100644 index 00000000..5bf1bcaf --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/variants/ModernLightRenderer.java @@ -0,0 +1,17 @@ +package com.drmangotea.tfmg.content.electricity.lights.variants; + +import com.drmangotea.tfmg.content.electricity.lights.LightBulbRenderer; +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; + +public class ModernLightRenderer extends LightBulbRenderer { + public ModernLightRenderer(BlockEntityRendererProvider.Context context) { + super(context); + } + + @Override + public PartialModel getLightModel() { + return TFMGPartialModels.MODERN_LIGHT; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/MultimeterItem.java b/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/MultimeterItem.java new file mode 100644 index 00000000..24dea98e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/MultimeterItem.java @@ -0,0 +1,15 @@ +package com.drmangotea.tfmg.content.electricity.measurement; + +import net.minecraft.world.InteractionHand; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; + +public class MultimeterItem extends Item { + public MultimeterItem(Properties p_41383_) { + super(p_41383_); + } + + public static boolean isHeldByPlayer(Player player){ + return player.getItemInHand(InteractionHand.MAIN_HAND).getItem() instanceof MultimeterItem || player.getItemInHand(InteractionHand.OFF_HAND).getItem() instanceof MultimeterItem; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/MultimeterOverlayRenderer.java b/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/MultimeterOverlayRenderer.java new file mode 100644 index 00000000..2ad19ba6 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/MultimeterOverlayRenderer.java @@ -0,0 +1,197 @@ +package com.drmangotea.tfmg.content.electricity.measurement; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.mojang.blaze3d.platform.Window; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.api.equipment.goggles.IProxyHoveringInformation; +import com.simibubi.create.compat.Mods; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBox; +import com.simibubi.create.foundation.gui.RemovedGuiUtils; +import com.simibubi.create.foundation.mixin.accessor.MouseHandlerAccessor; +import com.simibubi.create.foundation.utility.CreateLang; +import com.simibubi.create.infrastructure.config.AllConfigs; +import com.simibubi.create.infrastructure.config.CClient; +import net.createmod.catnip.gui.element.BoxElement; +import net.createmod.catnip.gui.element.GuiGameElement; +import net.createmod.catnip.outliner.Outline; +import net.createmod.catnip.outliner.Outliner; +import net.createmod.catnip.outliner.Outliner.OutlineEntry; +import net.createmod.catnip.theme.Color; +import net.minecraft.client.DeltaTracker; +import net.minecraft.client.Minecraft; +import net.minecraft.client.MouseHandler; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.gui.LayeredDraw; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.core.BlockPos; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.FormattedText; +import net.minecraft.util.Mth; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.GameType; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.HitResult; + + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +public class MultimeterOverlayRenderer { + + public static final LayeredDraw.Layer OVERLAY = MultimeterOverlayRenderer::renderOverlay; + + private static final Map outlines = Outliner.getInstance().getOutlines(); + + public static int hoverTicks = 0; + public static BlockPos lastHovered = null; + + public static void renderOverlay(GuiGraphics graphics, DeltaTracker deltaTracker) { + Minecraft mc = Minecraft.getInstance(); + int width = graphics.guiWidth(); + int height = graphics.guiHeight(); + if (mc.options.hideGui || mc.gameMode.getPlayerMode() == GameType.SPECTATOR) + return; + HitResult objectMouseOver = mc.hitResult; + if (!(objectMouseOver instanceof BlockHitResult result)) { + lastHovered = null; + hoverTicks = 0; + return; + } + + for (OutlineEntry entry : outlines.values()) { + if (!entry.isAlive()) + continue; + Outline outline = entry.getOutline(); + if (outline instanceof ValueBox && !((ValueBox) outline).isPassive) + return; + } + + ClientLevel world = mc.level; + BlockPos pos = result.getBlockPos(); + + int prevHoverTicks = hoverTicks; + hoverTicks++; + lastHovered = pos; + + pos = proxiedOverlayPosition(world, pos); + + BlockEntity be = world.getBlockEntity(pos); + boolean holdsMultimeter = MultimeterItem.isHeldByPlayer(mc.player); + + boolean isShifting = mc.player.isShiftKeyDown(); + + boolean isElectricBlock = be instanceof IElectric; + if(!isElectricBlock) + return; + + + + ItemStack item = TFMGItems.MULTIMETER.asStack(); + List tooltip = new ArrayList<>(); + tooltip.add(CreateLang.number(1).component()); + + ((IElectric)be).makeMultimeterTooltip(tooltip,isShifting); + + // break early if goggle or hover returned false when present + // if ((!isElectricBlock)||!holdsMultimeter) { + // hoverTicks = 0; + // return; + // } +// +// + //if (tooltip.isEmpty()) { + // hoverTicks = 0; + // return; + //} + + PoseStack poseStack = graphics.pose(); + poseStack.pushPose(); + + int tooltipTextWidth = 0; + for (FormattedText textLine : tooltip) { + int textLineWidth = mc.font.width(textLine); + if (textLineWidth > tooltipTextWidth) + tooltipTextWidth = textLineWidth; + } + + int tooltipHeight = 8; + if (tooltip.size() > 1) { + tooltipHeight += 2; // gap between title lines and next lines + tooltipHeight += (tooltip.size() - 1) * 10; + } + + CClient cfg = AllConfigs.client(); + int posX = width / 2 + cfg.overlayOffsetX.get(); + int posY = height / 2 + cfg.overlayOffsetY.get(); + + posX = Math.min(posX, width - tooltipTextWidth - 20); + posY = Math.min(posY, height - tooltipHeight - 20); + + float fade = Mth.clamp((hoverTicks + deltaTracker.getGameTimeDeltaPartialTick(false)) / 24f, 0, 1); + Boolean useCustom = cfg.overlayCustomColor.get(); + Color colorBackground = useCustom ? new Color(cfg.overlayBackgroundColor.get()) + : BoxElement.COLOR_VANILLA_BACKGROUND.scaleAlpha(.75f); + Color colorBorderTop = new Color(0x50_dbdb14); + Color colorBorderBot = new Color(0x50_bdbd0f); + + if (fade < 1) { + poseStack.translate(Math.pow(1 - fade, 3) * Math.signum(cfg.overlayOffsetX.get() + .5f) * 8, 0, 0); + colorBackground.scaleAlpha(fade); + colorBorderTop.scaleAlpha(fade); + colorBorderBot.scaleAlpha(fade); + } + + GuiGameElement.of(item) + .at(posX + 10, posY - 16, 450) + .render(graphics); + + if (!Mods.MODERNUI.isLoaded()) { + // default tooltip rendering when modernUI is not loaded + RemovedGuiUtils.drawHoveringText(graphics, tooltip, posX, posY, width, height, -1, colorBackground.getRGB(), + colorBorderTop.getRGB(), colorBorderBot.getRGB(), mc.font); + + poseStack.popPose(); + + return; + } + + /* + * special handling for modernUI + * + * their tooltip handler causes the overlay to jiggle each frame, + * if the mouse is moving, guiScale is anything but 1 and exactPositioning is enabled + * + * this is a workaround to fix this behavior + */ + MouseHandler mouseHandler = Minecraft.getInstance().mouseHandler; + Window window = Minecraft.getInstance().getWindow(); + double guiScale = window.getGuiScale(); + double cursorX = mouseHandler.xpos(); + double cursorY = mouseHandler.ypos(); + ((MouseHandlerAccessor) mouseHandler).create$setXPos(Math.round(cursorX / guiScale) * guiScale); + ((MouseHandlerAccessor) mouseHandler).create$setYPos(Math.round(cursorY / guiScale) * guiScale); + + RemovedGuiUtils.drawHoveringText(graphics, tooltip, posX, posY, width, height, -1, colorBackground.getRGB(), + colorBorderTop.getRGB(), colorBorderBot.getRGB(), mc.font); + + ((MouseHandlerAccessor) mouseHandler).create$setXPos(cursorX); + ((MouseHandlerAccessor) mouseHandler).create$setYPos(cursorY); + + poseStack.popPose(); + + } + + public static BlockPos proxiedOverlayPosition(Level level, BlockPos pos) { + BlockState targetedState = level.getBlockState(pos); + if (targetedState.getBlock() instanceof IProxyHoveringInformation proxy) + return proxy.getInformationSource(level, pos, targetedState); + return pos; + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/VoltMeterBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/VoltMeterBlock.java new file mode 100644 index 00000000..6a5d49f9 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/VoltMeterBlock.java @@ -0,0 +1,91 @@ +package com.drmangotea.tfmg.content.electricity.measurement; + + +import com.drmangotea.tfmg.base.blocks.TFMGHorizontalDirectionalBlock; +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + + +public class VoltMeterBlock extends TFMGHorizontalDirectionalBlock implements IBE, IWrenchable { + + + public VoltMeterBlock(Properties p_54120_) { + super(p_54120_); + } + + @Override + public VoxelShape getShape(BlockState pState, BlockGetter worldIn, BlockPos pos, CollisionContext context) { + + return TFMGShapes.VOLTMETER.get(pState.getValue(FACING)); + } + + + @Override + public InteractionResult onWrenched(BlockState state, UseOnContext context) { + + Level level = context.getLevel(); + BlockPos pos = context.getClickedPos(); + Direction direction = context.getClickedFace(); + + + return onBlockEntityUse(level, pos, be -> { + + boolean shouldChange = false; + + for(VoltMeterBlockEntity.MeasureMode mode : VoltMeterBlockEntity.MeasureMode.values()){ + + if(mode == VoltMeterBlockEntity.MeasureMode.FALLBACK){ + be.mode = VoltMeterBlockEntity.MeasureMode.VOLTAGE; + break; + } + + if(shouldChange) { + be.mode = mode; + break; + } + if(mode == be.mode) + shouldChange = true; + + + } + + return InteractionResult.SUCCESS; + }); + + //return onBlockEntityUse(level, pos, be -> { +// + // be.range = be.getRange() + 100; +// + // if(be.getRange() > 2000) + // be.range = 100; +// + // return InteractionResult.SUCCESS; +// +// + //}); + + + } + + @Override + public Class getBlockEntityClass() { + return VoltMeterBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.VOLTMETER.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/VoltMeterBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/VoltMeterBlockEntity.java new file mode 100644 index 00000000..1c5e1e69 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/VoltMeterBlockEntity.java @@ -0,0 +1,144 @@ +package com.drmangotea.tfmg.content.electricity.measurement; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.electricity.storage.AccumulatorBlockEntity; +import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.utility.CreateLang; +import net.createmod.catnip.animation.LerpedFloat; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.network.chat.Component; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +import java.util.List; + +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + + +public class VoltMeterBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation { + + + public LerpedFloat angle = LerpedFloat.angular(); + + + public float value = 0; + + // public int range = 500; + + public MeasureMode mode = MeasureMode.VOLTAGE; + + public VoltMeterBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + setLazyTickRate(10); + } + + @Override + public void addBehaviours(List behaviours) { + + } + + + @Override + public void lazyTick() { + super.lazyTick(); + //if(!level.isClientSide) + // return; + BlockEntity beBehind = level.getBlockEntity(getBlockPos().relative(getBlockState().getValue(FACING).getOpposite())); + + if (beBehind instanceof IElectric be) { + value = Math.min(getUnit(be), mode.defaultRange); + + } else value = 0; + + } + + public float getUnit(IElectric be) { + return switch (mode) { + case VOLTAGE, HIGH_VOLTAGE -> be.getData().getVoltage(); + case CURRENT -> be.getCurrent(); + case RESISTANCE -> be.resistance(); + case POWER -> be.powerGeneration() > 0 ? be.powerGeneration() : be.getPowerUsage(); + case NETWORK_POWER_USAGE -> be.getNetworkPowerUsage(); + case NETWORK_POWER_GENERATION -> be.getNetworkPowerGeneration(); + case CAPACITY -> be instanceof AccumulatorBlockEntity accumulator ? level.getBlockEntity(accumulator.controller) instanceof AccumulatorBlockEntity controllerBE ? controllerBE.energy.getEnergyStored() :0 :0; + + case FALLBACK -> 0; + }; + } + + @Override + public void tick() { + super.tick(); + if (!level.isClientSide) + return; + + float value = (float) Math.abs(this.value) / getRange(); + if (value > 1) + value = 1; + + float targetAngle = Math.abs(value * 180); + + // TFMG.LOGGER.debug(String.valueOf(value)); + + angle.chase(Math.min(Math.abs(targetAngle),180), 0.05f, LerpedFloat.Chaser.EXP); + angle.tickChaser(); + + } + + + public int getRange() { + return mode.defaultRange; + } + + @Override + @SuppressWarnings("removal") + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + + CreateLang.text(mode.displayName) + .style(ChatFormatting.DARK_GRAY) + .forGoggles(tooltip, 1); + + + CreateLang.text(TFMGUtils.formatUnits(value, mode.unit)) + .style(ChatFormatting.AQUA) + .forGoggles(tooltip, 1); + CreateLang.translate("goggles.voltmeter.range", mode.defaultRange) + .style(ChatFormatting.DARK_AQUA) + .forGoggles(tooltip, 1); + + return true; + } + + public enum MeasureMode { + + VOLTAGE("Voltage", "V", 500), + HIGH_VOLTAGE("Voltage (High)", "V", 10000), + CURRENT("Current", "A", 16), + RESISTANCE("Resistance", "Ω", 500), + // HIGH_RESISTANCE("Resistance (High)", "Ω", 500), + POWER("Power", "W", 5000), + NETWORK_POWER_USAGE("Network Power Usage", "W", 50000), + NETWORK_POWER_GENERATION("Network Power Generation", "W", 50000), + CAPACITY("Capacity", "Fe", 300000), + FALLBACK("fallback", "", 0), + + + ; + public final String displayName; + public final String unit; + public final int defaultRange; + + MeasureMode(String displayName, String unit, int defaultRange) { + this.unit = unit; + this.displayName = displayName; + this.defaultRange = defaultRange; + } + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/VoltMeterRenderer.java b/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/VoltMeterRenderer.java new file mode 100644 index 00000000..71193fd3 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/VoltMeterRenderer.java @@ -0,0 +1,60 @@ +package com.drmangotea.tfmg.content.electricity.measurement; + + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; +import dev.engine_room.flywheel.lib.transform.TransformStack; +import net.createmod.catnip.render.CachedBuffers; +import net.createmod.catnip.render.SuperByteBuffer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.state.BlockState; + +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class VoltMeterRenderer extends SafeBlockEntityRenderer { + + public VoltMeterRenderer(BlockEntityRendererProvider.Context context) {} + + @Override + protected void renderSafe(VoltMeterBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource bufferSource, int light, int overlay) { + + + + BlockState blockState = be.getBlockState(); + VertexConsumer vb = bufferSource.getBuffer(RenderType.solid()); + ms.pushPose(); + var msr = TransformStack.of(ms); + msr.translate(0.5, 0.5, 0.5); + + float dialPivot = 5.75f / 16; + + float dialPivot2 = 5.75f / 12; + + SuperByteBuffer dial = CachedBuffers.partial(TFMGPartialModels.VOLTMETER_DIAL, blockState); + + Direction direction = blockState.getValue(FACING).getCounterClockWise(); + + if(direction.getAxis() == Direction.Axis.X) + direction = direction.getOpposite(); + // TFMG.LOGGER.debug(String.valueOf(be.angle.getValue(partialTicks))); + dial + .rotateYDegrees(direction.toYRot()) + .uncenter() + .translate(0, dialPivot, dialPivot2) + .rotateXDegrees(Math.abs(Math.min( be.angle.getValue(partialTicks),180))) + .translate(0, -dialPivot, -dialPivot2) + .light(light); + + dial.renderInto(ms,vb); + + + ms.popPose(); + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/storage/AccumulatorBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/storage/AccumulatorBlock.java new file mode 100644 index 00000000..ccaefddb --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/storage/AccumulatorBlock.java @@ -0,0 +1,102 @@ +package com.drmangotea.tfmg.content.electricity.storage; + +import com.drmangotea.tfmg.base.blocks.TFMGDirectionalBlock; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.item.ItemEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.level.storage.loot.LootParams; + +import java.util.Collections; +import java.util.List; + +public class AccumulatorBlock extends TFMGDirectionalBlock implements IBE { + + + + + public AccumulatorBlock(Properties p_49795_) { + super(p_49795_); + } + + + @Override + public void setPlacedBy(Level level, BlockPos pos, BlockState state, LivingEntity placer, ItemStack stack) { + super.setPlacedBy(level, pos, state, placer, stack); + withBlockEntityDo(level, pos, be -> be.setCapacity(stack)); + } + + @Override + public List getDrops(BlockState p_287732_, LootParams.Builder p_287596_) { + return Collections.emptyList(); + } + + + + @Override + public boolean onDestroyedByPlayer(BlockState state, Level level, BlockPos pos, Player player, boolean willHarvest, FluidState fluid) { + if(!player.isCreative()&&level.getBlockEntity(pos) instanceof AccumulatorBlockEntity be) { + ItemStack item = TFMGBlocks.ACCUMULATOR.asItem().getDefaultInstance(); + item.set(TFMGDataComponents.ACCUMULATOR_STORAGE, be.energy.getEnergyStored()); + ItemEntity itemToSpawn = new ItemEntity((Level) level, pos.getX() + 0.5f, pos.getY() + 0.5f, pos.getZ() + 0.5f, item); + if (itemToSpawn.getItem().getCount() > 0) + level.addFreshEntity(itemToSpawn); + } + return super.onDestroyedByPlayer(state, level, pos, player, willHarvest, fluid); + } + + @Override + public void onNeighborChange(BlockState state, LevelReader level, BlockPos pos, BlockPos neighbor) { + + + withBlockEntityDo(level,pos,AccumulatorBlockEntity::refreshMultiblock); + + super.onNeighborChange(state, level, pos, neighbor); + } + + @Override + public void onPlace(BlockState state, Level level, BlockPos pos, BlockState blockState1, boolean a) { + + + withBlockEntityDo(level,pos, IElectric::onPlaced); + withBlockEntityDo(level,pos,b->b.refreshNextTick =true); + + super.onPlace(state, level, pos, blockState1, a); + } + + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + for(Direction direction : Direction.values()){ + BlockPos neighborPos = pos.relative(direction); + if(level.getBlockState(pos).is(TFMGBlocks.ACCUMULATOR.get())) + withBlockEntityDo(level,neighborPos,AccumulatorBlockEntity::refreshMultiblock); +// + } + IBE.onRemove(state, level, pos, newState); + } + + + + @Override + public Class getBlockEntityClass() { + return AccumulatorBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.ACCUMULATOR.get(); + } +} + diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/storage/AccumulatorBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/storage/AccumulatorBlockEntity.java new file mode 100644 index 00000000..b217f973 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/storage/AccumulatorBlockEntity.java @@ -0,0 +1,339 @@ +package com.drmangotea.tfmg.content.electricity.storage; + +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.config.TFMGConfigs; +import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.electricity.utilities.converter.ConverterBlockEntity; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.simibubi.create.foundation.utility.CreateLang; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.energy.IEnergyStorage; + +import java.util.List; + +import static net.minecraft.world.level.block.DirectionalBlock.FACING; + +public class AccumulatorBlockEntity extends ElectricBlockEntity { + + public TFMGForgeEnergyStorage energy = createEnergyStorage(1); + private IEnergyStorage energyCapability; + public int length = 1; + boolean refreshNextTick = true; + public BlockPos controller = getBlockPos(); + int signal; + boolean signalChanged; + + public AccumulatorBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + energyCapability = energy; + + } + + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.EnergyStorage.BLOCK, + TFMGBlockEntities.ACCUMULATOR.get(), + (be, context) -> be.energyCapability + ); + } + + @Override + public void lazyTick() { + super.lazyTick(); + neighbourChanged(); + } + + public void neighbourChanged() { + + if (!hasLevel()) + return; + if (isController()) { + int power = level.getBestNeighborSignal(worldPosition); + + + if (power != signal) + signalChanged = true; + } + if (level.getBlockEntity(controller) instanceof AccumulatorBlockEntity be) { + int power = level.getBestNeighborSignal(worldPosition); + + + if (power != be.signal) + be.signalChanged = true; + } + } + + + @Override + public void remove() { + super.remove(); + refreshController(); + } + + @Override + public void onPlaced() { + super.onPlaced(); + refreshController(); + } + + @Override + public boolean makeMultimeterTooltip(List tooltip, boolean isPlayerSneaking) { + + if (!isController()) + if (level.getBlockEntity(controller) instanceof AccumulatorBlockEntity be) + return be.makeMultimeterTooltip(tooltip, isPlayerSneaking); + + + super.makeMultimeterTooltip(tooltip, isPlayerSneaking); + + + CreateLang.text("Capacity ") + .add(Component.literal(TFMGUtils.formatUnits(energy.getEnergyStored(), "FE"))) + .color(0x127799) + .forGoggles(tooltip, 1); + + CreateLang.text("Charging Rate ") + .add(CreateLang.number(getChargingRate())) + .color(0x127799) + .forGoggles(tooltip, 1); + CreateLang.text("Max Capacity ") + .add(CreateLang.number(getMaxCapacity())) + .color(0x127799) + .forGoggles(tooltip, 1); + + return true; + } + + public void refreshController() { + Direction facing = getBlockState().getValue(FACING); + for (int i = 0; i < 15; i++) { + BlockPos pos = getBlockPos().relative(getBlockState().getValue(FACING), i); + if (level.getBlockEntity(pos) instanceof AccumulatorBlockEntity be && be.getBlockState().getValue(FACING) == facing && + !(level.getBlockEntity(pos.relative(facing)) instanceof AccumulatorBlockEntity otherBE && otherBE.getBlockState().getValue(FACING) == facing)) { + be.refreshMultiblock(); + } + } + } + + public void refreshMultiblock() { + Direction facing = getBlockState().getValue(FACING); + refreshCapability(); + if (!(level.getBlockEntity(getBlockPos().relative(facing)) instanceof AccumulatorBlockEntity be && be.getBlockState().getValue(FACING) == facing)) { + int newLength = 1; + controller = getBlockPos(); + for (int i = 1; i < 15; i++) { + BlockPos pos = getBlockPos().relative(getBlockState().getValue(FACING).getOpposite(), i); + if (level.getBlockEntity(pos) instanceof AccumulatorBlockEntity otherBe && otherBe.getBlockState().getValue(FACING) == getBlockState().getValue(FACING)) { + otherBe.controller = this.getBlockPos(); + otherBe.refreshCapability(); + otherBe.length = 0; + otherBe.energy.setEnergy(0); + + newLength++; + } else break; + } + length = newLength; + int oldEnergy = energy.getEnergyStored(); + energy = createEnergyStorage(length); + energy.setEnergy(Math.min(oldEnergy, energy.getMaxEnergyStored() * length)); + refreshCapability(); + updateNextTick(); + for (int i = 1; i < length; i++) { + BlockPos pos = getBlockPos().relative(getBlockState().getValue(FACING).getOpposite(), i); + if (level.getBlockEntity(pos) instanceof AccumulatorBlockEntity be) { + be.refreshCapability(); + be.sendStuff(); + } + } + sendStuff(); + } + } + + public void refreshCapability() { + IEnergyStorage oldCap = energyCapability; + if (level.getBlockEntity(controller) instanceof AccumulatorBlockEntity be) { + energyCapability = be.energy; + } else energyCapability = energy; + invalidateCapabilities(); + } + + public boolean isController() { + return controller == getBlockPos(); + } + + public TFMGForgeEnergyStorage createEnergyStorage(int multiplier) { + return new TFMGForgeEnergyStorage(getMaxCapacity() * multiplier, 10000) { + @Override + public void onEnergyChanged(int amount, int oldAmount) { + + if ((oldAmount == 0 && amount > 0) || (this.energy == 0)) { + updateNextTick(); + } + sendStuff(); + } + }; + } + + public void setCapacity(ItemStack stack) { + if (stack.get(TFMGDataComponents.ACCUMULATOR_STORAGE) != null) + energy.setEnergy(stack.get(TFMGDataComponents.ACCUMULATOR_STORAGE)); + } + + protected void analogSignalChanged() { + + if (!isController()) { + signal = level.getBestNeighborSignal(controller); + return; + } + + int newSignal = 0; + + for (int i = 0; i < length; i++) { + BlockPos pos = getBlockPos().relative(getBlockState().getValue(FACING).getOpposite(), i); + + newSignal = Math.max(newSignal, level.getBestNeighborSignal(pos)); + + + } + + updateNextTick(); + + signal = newSignal; + } + + @Override + public void tick() { + super.tick(); + if (signalChanged) { + signalChanged = false; + analogSignalChanged(); + } + if (!isController()) + return; + + if (refreshNextTick) { + refreshMultiblock(); + refreshNextTick = false; + } + + if (getData().getVoltage() > TFMGConfigs.common().machines.accumulatorVoltage.get() * length) { + energy.receiveEnergy((int) (getChargingRate() / TFMGConfigs.common().machines.FEtoWattTickConversionRate.get()), false); + + return; + } + if (canPower()) { + + int energyToExtract = data.networkPowerGeneration == 0 ? getNetworkPowerUsage() : (int) Math.max(0, Math.max(((float) powerGeneration() / (float) data.networkPowerGeneration) * (float) getNetworkPowerUsage(), 0)); + energyToExtract /= TFMGConfigs.common().machines.FEtoWattTickConversionRate.get(); + energy.extractEnergy(Math.max(energyToExtract, 1), false); + if (energy.getEnergyStored() == 0) + updateNextTick(); + } + + } + + @Override + protected void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound, registries, clientPacket); + + compound.putInt("ForgeEnergy", energy.getEnergyStored()); + compound.putInt("Length", length); + + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound, registries, clientPacket); + length = compound.getInt("Length"); + //energy = createEnergyStorage(length); + energy.setEnergy(compound.getInt("ForgeEnergy")); + + + } + + @Override + public float resistance() { + if (voltageGeneration() > 0) + return 0; + if (!isController()) + return 0; + + int power = 0; + for (IElectric member : getOrCreateElectricNetwork().members) + if (!(member instanceof ConverterBlockEntity) && !(member instanceof AccumulatorBlockEntity)) + power += member.getPowerUsage(); + if (energy.getEnergyStored() == getMaxCapacity() || getData().getVoltage() <= getOutputVoltage() || canPower()) + return 0; + if (Math.min(Math.max((data.networkPowerGeneration - power), 0), getMaxChargingRate()) == 0) { + return 0; + } + + return (float) Math.min((Math.pow(data.voltage, 2)) / Math.min(Math.max((data.networkPowerGeneration - power), 0), getMaxChargingRate()), 750); + } + + public boolean canPower() { + return getData().networkResistance > 0 && (getData().getVoltage() <= getOutputVoltage()) && energy.getEnergyStored() > 0 && signal == 0; + } + + + public int getChargingRate() { + // + // int chargingRate = Math.max((data.networkPowerGeneration - getNetworkPowerUsage()), 0); + if (energy.getEnergyStored() >= getMaxCapacity() || getData().getVoltage() < getOutputVoltage() || canPower() || data.notEnoughtPower) + return 0; + + //return Math.min(chargingRate, getMaxChargingRate()); + return getMaxChargingRate(); + } + + @Override + public int powerGeneration() { + if (canPower()) { + return getData().networkResistance > 0 ? maxPowerOutput() : 0; + } + return 0; + } + + public int maxPowerOutput() { + return getOutputVoltage() * TFMGConfigs.common().machines.accumulatorMaxAmpOutput.get(); + } + + public int getMaxCapacity() { + return TFMGConfigs.common().machines.accumulatorStorage.get() * length; + } + + //in FE per tick + public int getMaxChargingRate() { + return TFMGConfigs.common().machines.accumulatorChargingRate.get(); + } + + + public int getOutputVoltage() { + + + return TFMGConfigs.common().machines.accumulatorVoltage.get() * length; + } + + @Override + public int voltageGeneration() { + + return canPower() ? getOutputVoltage() : 0; + } + + + @Override + public boolean hasElectricitySlot(Direction direction) { + return direction.getAxis() == getBlockState().getValue(FACING).getAxis(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/storage/AccumulatorItem.java b/src/main/java/com/drmangotea/tfmg/content/electricity/storage/AccumulatorItem.java new file mode 100644 index 00000000..e1c26b11 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/storage/AccumulatorItem.java @@ -0,0 +1,34 @@ +package com.drmangotea.tfmg.content.electricity.storage; + +import com.drmangotea.tfmg.config.TFMGConfigs; +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.Block; + + + +public class AccumulatorItem extends BlockItem { + public AccumulatorItem(Block p_40565_, Properties p_40566_) { + super(p_40565_, p_40566_); + } + + @Override + public boolean isBarVisible(ItemStack p_150899_) { + return true; + } + + @Override + public int getBarColor(ItemStack p_150901_) { + return 0x51DBD4; + } + + @Override + public int getBarWidth(ItemStack stack) { + if(stack.get(TFMGDataComponents.ACCUMULATOR_STORAGE)==null) + return 0; + + return (int) Math.min(((float) stack.get(TFMGDataComponents.ACCUMULATOR_STORAGE)/(float) TFMGConfigs.common().machines.accumulatorStorage.get())*13,13f); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/storage/CapacitorCTBehavior.java b/src/main/java/com/drmangotea/tfmg/content/electricity/storage/CapacitorCTBehavior.java new file mode 100644 index 00000000..067e38de --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/storage/CapacitorCTBehavior.java @@ -0,0 +1,63 @@ +package com.drmangotea.tfmg.content.electricity.storage; + +import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry; +import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour; +import net.minecraft.client.renderer.texture.TextureAtlasSprite; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.block.state.BlockState; + +import javax.annotation.Nullable; + +import static net.minecraft.world.level.block.DirectionalBlock.FACING; + +public class CapacitorCTBehavior extends ConnectedTextureBehaviour.Base { + + protected CTSpriteShiftEntry layerShift; + + public CapacitorCTBehavior(CTSpriteShiftEntry layerShift){ + this.layerShift = layerShift; + } + + @Override + public boolean connectsTo(BlockState state, BlockState other, BlockAndTintGetter reader, BlockPos pos, BlockPos otherPos, Direction face) { + + if(!other.is(state.getBlock())) + return false; + + Direction direction = state.getValue(FACING); + Direction otherDirection = other.getValue(FACING); + + if(direction != otherDirection) + return false; + + + return true; + } + + @Override + public CTSpriteShiftEntry getShift(BlockState state, Direction direction, @Nullable TextureAtlasSprite sprite) { + + return layerShift; + } + + @Override + protected Direction getUpDirection(BlockAndTintGetter reader, BlockPos pos, BlockState state, Direction face) { + + + + return state.getValue(FACING); + } +// +// +// + + + public boolean buildContextForOccludedDirections() { + return super.buildContextForOccludedDirections(); + } + + + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/storage/TFMGForgeEnergyStorage.java b/src/main/java/com/drmangotea/tfmg/content/electricity/storage/TFMGForgeEnergyStorage.java new file mode 100644 index 00000000..f19f586a --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/storage/TFMGForgeEnergyStorage.java @@ -0,0 +1,44 @@ +package com.drmangotea.tfmg.content.electricity.storage; + + +import net.neoforged.neoforge.energy.EnergyStorage; + +public abstract class TFMGForgeEnergyStorage extends EnergyStorage { + + public TFMGForgeEnergyStorage(int capacity, int maxTransfer) { + super(capacity, maxTransfer); + + } + + @Override + public int extractEnergy(int maxExtract, boolean simulate) { + int oldAmount = this.energy; + + int extractedEnergy = super.extractEnergy(maxExtract, simulate); + if(extractedEnergy != 0) { + onEnergyChanged(maxExtract*-1,oldAmount); + } + return extractedEnergy; + } + + @Override + public int receiveEnergy(int maxReceive, boolean simulate) { + int oldAmount = this.energy; + int receiveEnergy = super.receiveEnergy(maxReceive, simulate); + if(receiveEnergy != 0) { + onEnergyChanged(receiveEnergy,oldAmount); + } + return receiveEnergy; + } + + public int setEnergy(int energy) { + this.energy = energy; + + if(energy>0) + onEnergyChanged(energy,this.energy); + + return 0; + } + + public abstract void onEnergyChanged(int amount,int oldAmount); +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/converter/ConverterBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/converter/ConverterBlock.java new file mode 100644 index 00000000..812599e9 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/converter/ConverterBlock.java @@ -0,0 +1,67 @@ +package com.drmangotea.tfmg.content.electricity.utilities.converter; + +import com.drmangotea.tfmg.base.blocks.TFMGHorizontalDirectionalBlock; +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class ConverterBlock extends TFMGHorizontalDirectionalBlock implements IBE, IWrenchable { + + public static final BooleanProperty INPUT = BooleanProperty.create("input"); + + public ConverterBlock(Properties p_54120_) { + super(p_54120_); + } + + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level,pos, IElectric::onPlaced); + } + + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + + @Override + public InteractionResult onWrenched(BlockState state, UseOnContext context) { + context.getLevel().setBlockAndUpdate(context.getClickedPos(), state.setValue(INPUT, !state.getValue(INPUT))); + IWrenchable.playRotateSound(context.getLevel(), context.getClickedPos()); + return InteractionResult.SUCCESS; + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + super.createBlockStateDefinition(builder); + builder.add(INPUT); + } + + @Override + public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) { + return TFMGShapes.TRANSFORMER.get(p_60555_.getValue(FACING)); + } + + @Override + public Class getBlockEntityClass() { + return ConverterBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.CONVERTER.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/converter/ConverterBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/converter/ConverterBlockEntity.java new file mode 100644 index 00000000..b18dae09 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/converter/ConverterBlockEntity.java @@ -0,0 +1,239 @@ +package com.drmangotea.tfmg.content.electricity.utilities.converter; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.config.TFMGConfigs; +import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.electricity.storage.AccumulatorBlockEntity; +import com.drmangotea.tfmg.content.electricity.storage.TFMGForgeEnergyStorage; +import com.drmangotea.tfmg.content.machinery.misc.winding_machine.WindingMachineBlockEntity; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollValue.ScrollValueBehaviour; + +import com.simibubi.create.foundation.utility.CreateLang; +import net.createmod.catnip.math.VecHelper; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec3; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.energy.IEnergyStorage; +import org.jetbrains.annotations.NotNull; + +import javax.annotation.Nullable; + +import java.util.List; + +import static com.drmangotea.tfmg.content.electricity.utilities.converter.ConverterBlock.INPUT; +import static com.simibubi.create.content.kinetics.base.HorizontalKineticBlock.HORIZONTAL_FACING; +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class ConverterBlockEntity extends ElectricBlockEntity { + + public final TFMGForgeEnergyStorage energy = createEnergyStorage(); + private IEnergyStorage energyCapability; + + + public int timer = 0; + + protected ScrollValueBehaviour voltageGenerated; + + public ConverterBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + energyCapability = energy; + } + + public TFMGForgeEnergyStorage createEnergyStorage() { + return new TFMGForgeEnergyStorage(500000, 10000) { + @Override + public void onEnergyChanged(int amount, int a) { + sendStuff(); + } + }; + + } + + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.EnergyStorage.BLOCK, + TFMGBlockEntities.CONVERTER.get(), + (be, context) -> be.energyCapability + ); + } + + @Override + public void addBehaviours(List behaviours) { + super.addBehaviours(behaviours); + int max = 250; + voltageGenerated = new ScrollValueBehaviour(CreateLang.translateDirect("creative_generator.voltage_generation"), + this, new ConverterValueBox()); + voltageGenerated.between(1, max); + voltageGenerated.value = 20; + voltageGenerated.withCallback(i -> this.updateNextTick()); + behaviours.add(voltageGenerated); + + } + + + @Override + protected void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + compound.putInt("ForgeEnergy", energy.getEnergyStored()); + } + + + public boolean isInput() { + return getBlockState().getValue(INPUT); + } + + + + + @Override + public float resistance() { + if (voltageGeneration() > 0) + return 0; + + + int power = 0; + for (IElectric member : getOrCreateElectricNetwork().members) + if (!(member instanceof ConverterBlockEntity) && !(member instanceof AccumulatorBlockEntity)) + power += member.getPowerUsage(); + if (energy.getEnergyStored() == getMaxCapacity() || getData().getVoltage() <= voltageGenerated.getValue() || canPower()) + return 0; + if(Math.min(Math.max((data.networkPowerGeneration - power), 0), getMaxChargingRate())==0){ + return 0; + } + + + return (float) (data.voltage * data.voltage) /Math.min(Math.max((data.networkPowerGeneration - power), 0), getMaxChargingRate()); + } + + public boolean canPower() { + if(timer!=0) + return false; + + if (getBlockState().getValue(INPUT)) + return false; + + return getData().networkResistance > 0 && (getData().getVoltage() <= voltageGenerated.getValue()) && energy.getEnergyStored() > 0; + } + + + public int getChargingRate() { + // + // int chargingRate = Math.max((data.networkPowerGeneration - getNetworkPowerUsage()), 0); + if (energy.getEnergyStored() == getMaxCapacity() || getData().getVoltage() < voltageGenerated.value || canPower()|| data.notEnoughtPower) + return 0; + + //return Math.min(chargingRate, getMaxChargingRate()); + return getMaxChargingRate(); + } + + @Override + public int powerGeneration() { + if (canPower()) { + return 10000; + } + return 0; + } + + @Override + public void tick() { + super.tick(); + + if(timer>0){ + + if(timer == 1) + updateNextTick(); + + timer--; + } + + + if (getBlockState().getValue(INPUT)) { + if (getData().getVoltage() > TFMGConfigs.common().machines.accumulatorVoltage.get()) { + energy.receiveEnergy((int) (getChargingRate() / TFMGConfigs.common().machines.FEtoWattTickConversionRate.get()), false); + + } + } else if (canPower()) { + + int energyToExtract = data.networkPowerGeneration == 0 ? getNetworkPowerUsage() : (int) Math.max(0, Math.max(((float) powerGeneration() / (float) data.networkPowerGeneration) * (float) getNetworkPowerUsage(), 0)); + energyToExtract /= TFMGConfigs.common().machines.FEtoWattTickConversionRate.get(); + energy.extractEnergy(Math.max(energyToExtract, 1), false); + if (energy.getEnergyStored() == 0) { + timer = 100; + updateNextTick(); + } + } + + } + @Override + public boolean makeMultimeterTooltip(List tooltip, boolean isPlayerSneaking) { + + super.makeMultimeterTooltip(tooltip, isPlayerSneaking); + + + CreateLang.text("Capacity ") + .add(Component.literal(TFMGUtils.formatUnits(energy.getEnergyStored(), "FE"))) + .color(0x127799) + .forGoggles(tooltip, 1); + + CreateLang.text("Charging Rate ") + .add(CreateLang.number(getChargingRate())) + .color(0x127799) + .forGoggles(tooltip, 1); + CreateLang.text("Max Capacity ") + .add(CreateLang.number(getMaxCapacity())) + .color(0x127799) + .forGoggles(tooltip, 1); + + return true; + } + + public int getMaxCapacity() { + return TFMGConfigs.common().machines.accumulatorStorage.get(); + } + + //in FE per tick + public int getMaxChargingRate() { + return TFMGConfigs.common().machines.accumulatorChargingRate.get()*10; + } + + @Override + public int voltageGeneration() { + + return canPower() ? voltageGenerated.getValue() : 0; + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + energy.setEnergy(compound.getInt("ForgeEnergy")); + } + + @Override + public boolean hasElectricitySlot(Direction direction) { + return direction == getBlockState().getValue(FACING).getClockWise(); + } + public static class ConverterValueBox extends ValueBoxTransform.Sided { + @Override + protected Vec3 getSouthLocation() { + return VecHelper.voxelSpace(8, 3, 16.05); + } + + @Override + protected boolean isSideActive(BlockState state, Direction direction) { + return direction.getAxis() == state.getValue(HORIZONTAL_FACING).getAxis(); + } + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/converter/ConverterGenerator.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/converter/ConverterGenerator.java new file mode 100644 index 00000000..55e8e6f8 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/converter/ConverterGenerator.java @@ -0,0 +1,42 @@ +package com.drmangotea.tfmg.content.electricity.utilities.converter; + +import com.simibubi.create.foundation.data.SpecialBlockStateGen; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.StairBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.Half; +import net.neoforged.neoforge.client.model.generators.ModelFile; + +import static com.simibubi.create.foundation.data.AssetLookup.partialBaseModel; + +public class ConverterGenerator extends SpecialBlockStateGen { + + + @Override + protected int getXRotation(BlockState state) { + return 0; + } + + @Override + protected int getYRotation(BlockState state) { + return switch (state.getValue(HorizontalDirectionalBlock.FACING)) { + case NORTH -> 0; + case SOUTH -> 180; + case WEST -> 270; + case EAST -> 90; + case DOWN -> 90; + case UP -> 90; + }; + } + + @Override + public ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, + BlockState state) { + return state.getValue(ConverterBlock.INPUT) ? partialBaseModel(ctx, prov, "rotated") + : partialBaseModel(ctx, prov); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/diode/ElectricDiodeBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/diode/ElectricDiodeBlock.java new file mode 100644 index 00000000..804c66c5 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/diode/ElectricDiodeBlock.java @@ -0,0 +1,65 @@ +package com.drmangotea.tfmg.content.electricity.utilities.diode; + +import com.drmangotea.tfmg.base.blocks.TFMGDirectionalBlock; +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.electricity.base.IVoltageChanger; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.content.decoration.encasing.EncasableBlock; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class ElectricDiodeBlock extends TFMGDirectionalBlock implements IBE, IVoltageChanger, EncasableBlock { + public ElectricDiodeBlock(Properties p_54120_) { + super(p_54120_); + } + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level,pos, IElectric::onPlaced); + } + + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + ItemStack heldItem = player.getItemInHand(hand); + ItemInteractionResult result = tryEncase(state, level, pos, heldItem, player, hand, hitResult); + if (result.consumesAction()) + return result; + + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + } + + + + @Override + public VoxelShape getShape(BlockState pState, BlockGetter worldIn, BlockPos pos, CollisionContext context) { + return pState.getValue(FACING).getAxis().isVertical() ? TFMGShapes.RESISTOR_VERTICAL.get(pState.getValue(FACING)) : TFMGShapes.POTENTIOMETER.get(pState.getValue(FACING)); + } + + + @Override + public Class getBlockEntityClass() { + return ElectricDiodeBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.DIODE.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/diode/ElectricDiodeBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/diode/ElectricDiodeBlockEntity.java new file mode 100644 index 00000000..ceef479f --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/diode/ElectricDiodeBlockEntity.java @@ -0,0 +1,163 @@ +package com.drmangotea.tfmg.content.electricity.utilities.diode; + + +import com.drmangotea.tfmg.base.blocks.TFMGHorizontalDirectionalBlock; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.electricity.base.UpdateInFrontPacket; +import com.drmangotea.tfmg.content.electricity.base.VoltageAlteringBlockEntity; +import com.drmangotea.tfmg.registry.TFMGPackets; +import net.createmod.catnip.platform.CatnipServices; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.level.ChunkPos; +import net.minecraft.world.level.block.DirectionalBlock; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + + +import static net.minecraft.world.level.block.DirectionalBlock.FACING; + +public class ElectricDiodeBlockEntity extends VoltageAlteringBlockEntity { + + public boolean updateInFront = false; + + + public ElectricDiodeBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + @Override + public int getOutputVoltage() { + return getData().getVoltage(); + } + + @Override + public int getOutputPower() { + return getPowerUsage(); + } + + @Override + public void tick() { + super.tick(); + if (updateInFront) { + updateInFront(); + updateInFront = false; + } + } + + @Override + public void lazyTick() { + super.lazyTick(); + + } + + @Override + public int getPowerUsage() { + getOrCreateElectricNetwork().checkForLoops(getBlockPos()); + Direction facing = getDirection(); + if (level.getBlockEntity(getBlockPos().relative(facing)) instanceof IElectric be && be.getData().getId() != data.getId()) { + if (be.hasElectricitySlot(facing.getOpposite())) + + return Math.max(be.getNetworkPowerUsage(this), 0); + + } + + return 0; + + } + + @Override + public IElectric getControlledBlock() { + Direction facing = getBlockState().hasProperty(DirectionalBlock.FACING) ? getBlockState().getValue(DirectionalBlock.FACING) : getBlockState().getValue(HorizontalDirectionalBlock.FACING).getCounterClockWise(); + if (level.getBlockEntity(getBlockPos().relative(facing)) instanceof IElectric be && be.getData().getId() != data.getId()) { + return be; + } + return null; + } + + @Override + public float resistance() { + Direction facing = getDirection(); + if (level.getBlockEntity(getBlockPos().relative(facing)) instanceof IElectric be && be.getData().getId() != data.getId()) { + if (be.hasElectricitySlot(facing.getOpposite())) + return Math.max(be.getNetworkResistance(), 0); + } + return 0; + } + + public Direction getDirection(){ + if(!getBlockState().hasProperty(FACING)){ + return getBlockState().getValue(TFMGHorizontalDirectionalBlock.FACING).getCounterClockWise(); + } + + return getBlockState().getValue(FACING); + } + + @Override + public boolean hasElectricitySlot(Direction direction) { + return getDirection().getOpposite() == direction; + } + + @Override + public void onNetworkChanged(int oldVoltage, int oldPower) { + super.onNetworkChanged(oldVoltage, oldPower); + + if (oldVoltage != getData().getVoltage() || oldPower != getPowerUsage()) { + updateInFront = true; + } + sendStuff(); + setChanged(); + } + + + + @Override + public void remove() { + + super.remove(); + updateInFront(); + } + + @Override + public void onPlaced() { + + super.onPlaced(); + updateInFront = true; + } + + public void updateInFrontNextTick(){ + updateInFront = true; + } + + public void updateInFront() { + + if (level instanceof ServerLevel serverLevel) + CatnipServices.NETWORK.sendToClientsTrackingChunk(serverLevel, new ChunkPos(worldPosition),new UpdateInFrontPacket(BlockPos.of(getPos()))); + Direction facing = getBlockState().hasProperty(FACING) ? getBlockState().getValue(FACING) : getBlockState().getValue(HorizontalDirectionalBlock.FACING).getCounterClockWise(); + if (level.getBlockEntity(getBlockPos().relative(facing)) instanceof IElectric be && be.getData().getId() != data.getId()) { + if (be.hasElectricitySlot(facing.getOpposite())) { + be.updateNextTick(); + + } + } + sendStuff(); + setChanged(); + } + public void updateBehind() { + + if (level instanceof ServerLevel serverLevel) + CatnipServices.NETWORK.sendToClientsTrackingChunk(serverLevel, new ChunkPos(worldPosition),new UpdateInFrontPacket(BlockPos.of(getPos()))); + Direction facing = getBlockState().hasProperty(FACING) ? getBlockState().getValue(FACING) : getBlockState().getValue(HorizontalDirectionalBlock.FACING).getCounterClockWise(); + facing = facing.getOpposite(); + if (level.getBlockEntity(getBlockPos().relative(facing)) instanceof IElectric be && be.getData().getId() != data.getId()) { + if (be.hasElectricitySlot(facing.getOpposite())) { + be.updateNextTick(); + + } + } + sendStuff(); + setChanged(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/diode/EncasedDiodeBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/diode/EncasedDiodeBlock.java new file mode 100644 index 00000000..4fc76d9a --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/diode/EncasedDiodeBlock.java @@ -0,0 +1,77 @@ +package com.drmangotea.tfmg.content.electricity.utilities.diode; + +import com.drmangotea.tfmg.base.blocks.TFMGDirectionalBlock; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.electricity.base.IVoltageChanger; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.simibubi.create.content.decoration.encasing.EncasedBlock; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.BlockHitResult; + +public class EncasedDiodeBlock extends TFMGDirectionalBlock implements IBE, IVoltageChanger, EncasedBlock, IWrenchable { + public EncasedDiodeBlock(Properties p_54120_) { + super(p_54120_); + } + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level,pos, IElectric::onPlaced); + } + + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + + @Override + public InteractionResult onWrenched(BlockState state, UseOnContext context) { + return InteractionResult.PASS; + } + + @Override + public InteractionResult onSneakWrenched(BlockState state, UseOnContext context) { + if (context.getLevel().isClientSide) + return InteractionResult.SUCCESS; + context.getLevel() + .levelEvent(2001, context.getClickedPos(), Block.getId(state)); + KineticBlockEntity.switchToBlockState(context.getLevel(), context.getClickedPos(), + TFMGBlocks.DIODE.getDefaultState() + .setValue(FACING, state.getValue(FACING))); + return InteractionResult.SUCCESS; + } + + @Override + public void handleEncasing(BlockState state, Level level, BlockPos pos, ItemStack heldItem, Player player, InteractionHand hand, + BlockHitResult ray) { + level.setBlockAndUpdate(pos, defaultBlockState().setValue(FACING,state.getValue(FACING))); + } + + @Override + public Class getBlockEntityClass() { + return ElectricDiodeBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.DIODE.get(); + } + + @Override + public Block getCasing() { + + + return TFMGBlocks.HEAVY_MACHINERY_CASING.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_motor/ElectricMotorBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_motor/ElectricMotorBlock.java new file mode 100644 index 00000000..9109be9f --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_motor/ElectricMotorBlock.java @@ -0,0 +1,78 @@ +package com.drmangotea.tfmg.content.electricity.utilities.electric_motor; + +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.AllShapes; +import com.simibubi.create.content.kinetics.base.DirectionalKineticBlock; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.pathfinder.PathComputationType; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class ElectricMotorBlock extends DirectionalKineticBlock implements IBE { + public ElectricMotorBlock(Properties properties) { + super(properties); + } + @Override + public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, CollisionContext context) { + return AllShapes.MOTOR_BLOCK.get(state.getValue(FACING)); + } + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level,pos, IElectric::onPlaced); + } + + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + @Override + public BlockState getStateForPlacement(BlockPlaceContext context) { + Direction preferred = getPreferredFacing(context); + if ((context.getPlayer() != null && context.getPlayer() + .isShiftKeyDown()) || preferred == null) + return super.getStateForPlacement(context); + return defaultBlockState().setValue(FACING, preferred); + } + + + + @Override + public boolean hasShaftTowards(LevelReader world, BlockPos pos, BlockState state, Direction face) { + return face == state.getValue(FACING); + } + + @Override + public Direction.Axis getRotationAxis(BlockState state) { + return state.getValue(FACING) + .getAxis(); + } + + @Override + public boolean hideStressImpact() { + return true; + } + + @Override + protected boolean isPathfindable(BlockState state, PathComputationType pathComputationType) { + return false; + } + + @Override + public Class getBlockEntityClass() { + return ElectricMotorBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.ELECTRIC_MOTOR.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_motor/ElectricMotorBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_motor/ElectricMotorBlockEntity.java new file mode 100644 index 00000000..9d5fbd37 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_motor/ElectricMotorBlockEntity.java @@ -0,0 +1,182 @@ +package com.drmangotea.tfmg.content.electricity.utilities.electric_motor; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.config.MachineConfig; +import com.drmangotea.tfmg.config.TFMGConfigs; +import com.drmangotea.tfmg.content.electricity.base.KineticElectricBlockEntity; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.content.kinetics.motor.KineticScrollValueBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollValue.ScrollValueBehaviour; +import com.simibubi.create.foundation.utility.CreateLang; +import dev.engine_room.flywheel.lib.transform.TransformStack; +import net.createmod.catnip.math.AngleHelper; +import net.createmod.catnip.math.VecHelper; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec3; + +import java.util.List; + +import static com.simibubi.create.content.kinetics.base.DirectionalKineticBlock.FACING; + +public class ElectricMotorBlockEntity extends KineticElectricBlockEntity { + + public static final int DEFAULT_SPEED = 64; + public static final int MAX_SPEED = 256; + protected ScrollValueBehaviour generatedSpeed; + + public boolean delayedUpdate = false; + + public float testSpeed = 0; + + public ElectricMotorBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + updateGeneratedRotation(); + } + + @Override + public void tick() { + super.tick(); + if(delayedUpdate){ + updateNextTick(); + delayedUpdate = false; + } + } + + @Override + public void addBehaviours(List behaviours) { + super.addBehaviours(behaviours); + int max = MAX_SPEED; + generatedSpeed = new KineticScrollValueBehaviour(CreateLang.translateDirect("kinetics.creative_motor.rotation_speed"), + this, new MotorValueBox()); + generatedSpeed.between(-max, max); + generatedSpeed.value = DEFAULT_SPEED; + generatedSpeed.withCallback(i -> this.updateGeneratedRotation()); + behaviours.add(generatedSpeed); + } + + @Override + public boolean hasElectricitySlot(Direction direction) { + return direction == getBlockState().getValue(FACING).getOpposite() || (direction.getAxis().isHorizontal() && direction == Direction.DOWN); + } + + @Override + public void notifyNetworkAboutSpeedChange() { + super.notifyNetworkAboutSpeedChange(); + } + + @Override + protected void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + compound.putFloat("MotorSpeed",getSpeed()); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + testSpeed = compound.getFloat("MotorSpeed"); + } + + @Override + public void onNetworkChanged(int oldVoltage, int oldPower) { + if (oldPower != getPowerUsage() || oldVoltage != data.voltage) { + updateGeneratedRotation(); + } + } + + @Override + public float getGeneratedSpeed() { + + MachineConfig machineConfig = TFMGConfigs.common().machines; + + //if(getPowerUsage() = machineConfig.electricMotorMinimumPower.get()){ + float speed = generatedSpeed.getValue() <0 ? -Math.min(Math.abs(data.getVoltage()/2),Math.abs(generatedSpeed.getValue())) : Math.min(Math.abs(data.getVoltage()/2),Math.abs(generatedSpeed.getValue())); + + if(speed==0){ + return testSpeed; + } + + testSpeed = 0; + return speed; + + + //} + + //return 0; + } + + + @Override + public boolean canBeInGroups() { + return true; + } + + + + @Override + public float resistance() { + + return TFMGConfigs.common().machines.electricMotorInternalResistance.getF(); + } + + @Override + public int getPowerUsage() { + + if (Math.min(generatedSpeed.getValue(), data.getVoltage() / 2) == 0) + return super.getPowerUsage(); + + float speedModifier = (Math.min(Math.abs(generatedSpeed.getValue()), data.getVoltage()) / 256f) * 5; + + + return (int) ((float) super.getPowerUsage() * speedModifier); + } + + class MotorValueBox extends ValueBoxTransform.Sided { + + @Override + protected Vec3 getSouthLocation() { + return VecHelper.voxelSpace(8, 8, 12.5); + } + + @Override + public Vec3 getLocalOffset(LevelAccessor level, BlockPos pos, BlockState state) { + Direction facing = state.getValue(FACING); + return super.getLocalOffset(level, pos, state).add(Vec3.atLowerCornerOf(facing.getNormal()) + .scale(-1 / 16f)); + } + + @Override + public void rotate(LevelAccessor level, BlockPos pos, BlockState state, PoseStack ms) { + super.rotate(level, pos, state, ms); + Direction facing = state.getValue(FACING); + if (facing.getAxis() == Direction.Axis.Y) + return; + if (getSide() != Direction.UP) + return; + TransformStack.of(ms) + .rotateZ(-AngleHelper.horizontalAngle(facing) + 180); + } + + + + @Override + protected boolean isSideActive(BlockState state, Direction direction) { + Direction facing = state.getValue(FACING); + if (facing.getAxis() != Direction.Axis.Y && direction == Direction.DOWN || direction == Direction.UP) + return false; + return direction.getAxis() != facing.getAxis(); + } + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_pump/ElectricPumpBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_pump/ElectricPumpBlock.java new file mode 100644 index 00000000..a1e723aa --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_pump/ElectricPumpBlock.java @@ -0,0 +1,58 @@ +package com.drmangotea.tfmg.content.electricity.utilities.electric_pump; + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.content.electricity.base.ConnectNeightborsPacket; +import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.simibubi.create.content.fluids.pump.PumpBlock; +import com.simibubi.create.content.fluids.pump.PumpBlockEntity; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class ElectricPumpBlock extends PumpBlock { + + + public ElectricPumpBlock(Properties p_i48415_1_) { + super(p_i48415_1_); + } + + + + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + super.onPlace(pState, level, pos, pOldState, pIsMoving); + withBlockEntityDo(level,pos, be->((ElectricPumpBlockEntity)be).onPlaced()); + } + + + @Override + public VoxelShape getShape(BlockState state, BlockGetter p_220053_2_, BlockPos p_220053_3_, CollisionContext p_220053_4_) { + return TFMGShapes.ELECTRIC_PUMP.get(state.getValue(FACING)); + } + + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + super.onRemove(state,level,pos,newState,isMoving); + IBE.onRemove(state, level, pos, newState); + } + + @Override + public boolean isSmallCog() { + return false; + } + + + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.ELECTRIC_PUMP.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_pump/ElectricPumpBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_pump/ElectricPumpBlockEntity.java new file mode 100644 index 00000000..338742bf --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_pump/ElectricPumpBlockEntity.java @@ -0,0 +1,448 @@ +package com.drmangotea.tfmg.content.electricity.utilities.electric_pump; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.electricity.base.*; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.simibubi.create.content.fluids.FluidPropagator; +import com.simibubi.create.content.fluids.FluidTransportBehaviour; +import com.simibubi.create.content.fluids.PipeConnection; +import com.simibubi.create.content.fluids.pump.PumpBlock; +import com.simibubi.create.content.fluids.pump.PumpBlockEntity; +import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import net.createmod.catnip.data.Couple; +import net.createmod.catnip.data.Pair; +import net.createmod.catnip.math.BlockFace; +import net.createmod.catnip.platform.CatnipServices; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.ChunkPos; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; + +import java.util.*; + +import static com.simibubi.create.content.kinetics.base.DirectionalKineticBlock.FACING; + +public class ElectricPumpBlockEntity extends PumpBlockEntity implements IElectric { + + public ElectricBlockValues data = new ElectricBlockValues(getPos()); + int powerPercentage = 100; + + public ElectricPumpBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + super(typeIn, pos, state); + setLazyTickRate(10); + data.connectNextTick = true; + + } + @Override + public void addBehaviours(List behaviours) { + + behaviours.add(new ElectricPumpTransferBehavior(this)); + registerAwardables(behaviours, FluidPropagator.getSharedTriggers()); + registerAwardables(behaviours, AllAdvancements.PUMP); + } + + protected void distributePressureTo(Direction side) { + + + BlockFace start = new BlockFace(worldPosition, side); + boolean pull = isPullingOnSide(isFront(side)); + Set targets = new HashSet<>(); + Map>> pipeGraph = new HashMap<>(); + + if (!pull) + FluidPropagator.resetAffectedFluidNetworks(level, worldPosition, side.getOpposite()); + + if (!hasReachedValidEndpoint(level, start, pull)) { + + pipeGraph.computeIfAbsent(worldPosition, $ -> Pair.of(0, new IdentityHashMap<>())) + .getSecond() + .put(side, pull); + pipeGraph.computeIfAbsent(start.getConnectedPos(), $ -> Pair.of(1, new IdentityHashMap<>())) + .getSecond() + .put(side.getOpposite(), !pull); + + List> frontier = new ArrayList<>(); + Set visited = new HashSet<>(); + int maxDistance = (int) (FluidPropagator.getPumpRange()*Math.min(6.7f,data.getVoltage()*0.02)); + frontier.add(Pair.of(1, start.getConnectedPos())); + + while (!frontier.isEmpty()) { + Pair entry = frontier.remove(0); + int distance = entry.getFirst(); + BlockPos currentPos = entry.getSecond(); + + if (!level.isLoaded(currentPos)) + continue; + if (visited.contains(currentPos)) + continue; + visited.add(currentPos); + BlockState currentState = level.getBlockState(currentPos); + FluidTransportBehaviour pipe = FluidPropagator.getPipe(level, currentPos); + if (pipe == null) + continue; + + for (Direction face : FluidPropagator.getPipeConnections(currentState, pipe)) { + BlockFace blockFace = new BlockFace(currentPos, face); + BlockPos connectedPos = blockFace.getConnectedPos(); + + if (!level.isLoaded(connectedPos)) + continue; + if (blockFace.isEquivalent(start)) + continue; + if (hasReachedValidEndpoint(level, blockFace, pull)) { + pipeGraph.computeIfAbsent(currentPos, $ -> Pair.of(distance, new IdentityHashMap<>())) + .getSecond() + .put(face, pull); + targets.add(blockFace); + continue; + } + + FluidTransportBehaviour pipeBehaviour = FluidPropagator.getPipe(level, connectedPos); + if (pipeBehaviour == null) + continue; + if (pipeBehaviour instanceof ElectricPumpTransferBehavior) + continue; + if (visited.contains(connectedPos)) + continue; + if (distance + 1 >= maxDistance) { + pipeGraph.computeIfAbsent(currentPos, $ -> Pair.of(distance, new IdentityHashMap<>())) + .getSecond() + .put(face, pull); + targets.add(blockFace); + continue; + } + + pipeGraph.computeIfAbsent(currentPos, $ -> Pair.of(distance, new IdentityHashMap<>())) + .getSecond() + .put(face, pull); + pipeGraph.computeIfAbsent(connectedPos, $ -> Pair.of(distance + 1, new IdentityHashMap<>())) + .getSecond() + .put(face.getOpposite(), !pull); + frontier.add(Pair.of(distance + 1, connectedPos)); + } + } + } + + // DFS + Map> validFaces = new HashMap<>(); + searchForEndpointRecursively(pipeGraph, targets, validFaces, + new BlockFace(start.getPos(), start.getOppositeFace()), pull); + float pressure = getPowerUsage() == 0 ? 0 : Math.min(1500,data.getVoltage()*2); + for (Set set : validFaces.values()) { + int parallelBranches = Math.max(1, set.size() - 1); + for (BlockFace face : set) { + BlockPos pipePos = face.getPos(); + Direction pipeSide = face.getFace(); + + if (pipePos.equals(worldPosition)) + continue; + + boolean inbound = pipeGraph.get(pipePos) + .getSecond() + .get(pipeSide); + FluidTransportBehaviour pipeBehaviour = FluidPropagator.getPipe(level, pipePos); + if (pipeBehaviour == null) + continue; + + pipeBehaviour.addPressure(pipeSide, inbound, pressure / parallelBranches); + } + } + + } + private boolean hasReachedValidEndpoint(LevelAccessor world, BlockFace blockFace, boolean pull) { + BlockPos connectedPos = blockFace.getConnectedPos(); + BlockState connectedState = world.getBlockState(connectedPos); + BlockEntity blockEntity = world.getBlockEntity(connectedPos); + Direction face = blockFace.getFace(); + + // facing a pump + if (PumpBlock.isPump(connectedState) && connectedState.getValue(FACING) + .getAxis() == face.getAxis() && blockEntity instanceof ElectricPumpBlockEntity) { + ElectricPumpBlockEntity pumpBE = (ElectricPumpBlockEntity) blockEntity; + return pumpBE.isPullingOnSide(pumpBE.isFront(blockFace.getOppositeFace())) != pull; + } + + // other pipe, no endpoint + FluidTransportBehaviour pipe = FluidPropagator.getPipe(world, connectedPos); + if (pipe != null && pipe.canHaveFlowToward(connectedState, blockFace.getOppositeFace())) + return false; + + // fluid handler endpoint + if (blockEntity != null) { + IFluidHandler capability = blockEntity.getLevel().getCapability(Capabilities.FluidHandler.BLOCK, blockEntity.getBlockPos(), face.getOpposite()); + if (capability != null) + return true; + } + + // open endpoint + return FluidPropagator.isOpenEnd(world, blockFace.getPos(), face); + } + protected boolean isFront(Direction side) { + BlockState blockState = getBlockState(); + if (!(blockState.getBlock() instanceof PumpBlock)) + return false; + Direction front = blockState.getValue(FACING); + boolean isFront = side == front; + return isFront; + } + + ////////////////////// + + + + + @Override + public LevelAccessor getLevelAccessor() { + return level; + } + + @Override + public boolean destroyed() { + return data.destroyed; + } + + @Override + public ElectricalNetwork getOrCreateElectricNetwork() { + if (level.getBlockEntity(BlockPos.of(data.electricalNetworkId)) instanceof IElectric) { + return TFMG.NETWORK_MANAGER.getOrCreateNetworkFor((IElectric) level.getBlockEntity(BlockPos.of(data.electricalNetworkId))); + } else { + ElectricNetworkManager.networks.get(getLevel()) + .remove(data.electricalNetworkId); + return TFMG.NETWORK_MANAGER.getOrCreateNetworkFor(this); + } + } + + @Override + public void lazyTick() { + super.lazyTick(); + } + + @Override + public ElectricBlockValues getData() { + return data; + } + + + + + @Override + public float resistance() { + return 100; + } + + + + @Override + public int voltageGeneration() { + + int voltageGeneration = 0; + + for (Direction direction : Direction.values()) { + if (hasElectricitySlot(direction)) { + + if (level.getBlockEntity(getBlockPos().relative(direction)) instanceof VoltageAlteringBlockEntity be) + if (be.getData().getId() != getData().getId()) + if (be.getData().getVoltage() != 0) + if (be.hasElectricitySlot(direction)) { + voltageGeneration = Math.max(voltageGeneration, be.getOutputVoltage()); + data.getsOutsidePower = true; + } + } + } + + if (voltageGeneration == 0) + data.getsOutsidePower = false; + + return voltageGeneration; + } + + @Override + public int powerGeneration() { + + int powerGeneration = 0; + + for (Direction direction : Direction.values()) { + if (hasElectricitySlot(direction)) { + + if (level.getBlockEntity(getBlockPos().relative(direction)) instanceof VoltageAlteringBlockEntity be) { + if (be.getData().getId() != getData().getId()) + if (be.getData().getVoltage() != 0) + if (be.hasElectricitySlot(direction)) { + powerGeneration = Math.max(powerGeneration, be.getPowerUsage()) + 1; + } + } + } + } + + return powerGeneration; + } + + @Override + public int frequencyGeneration() { + return 0; + } + + @Override + public void updateNextTick() { + data.updateNextTick = true; + } + + @Override + public void updateNetwork() { + getOrCreateElectricNetwork().updateNetwork(); + if (level instanceof ServerLevel serverLevel) + CatnipServices.NETWORK.sendToClientsTrackingChunk(serverLevel, new ChunkPos(worldPosition),new NetworkUpdatePacket(BlockPos.of(getPos()))); + sendData(); + } + + @Override + public void sendStuff() { + sendData(); + } + + @Override + public void setVoltage(int newVoltage) { + + + if (canBeInGroups()) { + data.voltage = (int) (((float) resistance() / data.group.resistance) * (float) data.voltageSupply); + return; + } + data.voltage = newVoltage; + } + + @Override + public void setFrequency(int newFrequency) { + data.frequency = newFrequency; + } + + @Override + public void setNetworkResistance(int newUsage) { + data.networkResistance = newUsage; + } + + @Override + public int getNetworkResistance() { + return data.networkResistance; + } + + + + @Override + public void setNetwork(long network) { + this.data.electricalNetworkId = network; + if (network != getPos()) + ElectricNetworkManager.networks.get(getLevel()) + .remove(getPos()); + } + + + + + @Override + public long getPos() { + return getBlockPos().asLong(); + } + + @Override + public void remove() { + super.remove(); + this.data.destroyed = true; + for (Direction d : Direction.values()) { + if (hasElectricitySlot(d)) + if (getLevelAccessor().getBlockEntity(BlockPos.of(getPos()).relative(d)) instanceof IElectric be && be.hasElectricitySlot(d.getOpposite())) { + ElectricNetworkManager.networks.get(getLevel()) + .remove(be.getPos()); + be.setNetwork(be.getPos()); + be.onPlaced(); + be.updateNextTick(); + } + } + if (data.electricalNetworkId != getPos()) + getOrCreateElectricNetwork().getMembers().remove(this); + + if (data.electricalNetworkId == getPos()) + ElectricNetworkManager.networks.get(getLevel()) + .remove(getData().getId()); + } + + @Override + public void tick() { + super.tick(); + if (data.connectNextTick) { + onPlaced(); + data.connectNextTick = false; + } + if (data.updateNextTick) { + updateNetwork(); + data.updateNextTick = false; + } + if (data.setVoltageNextTick) { + setVoltage(data.voltageSupply); + data.setVoltageNextTick = false; + } + + } + + @Override + protected void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + + compound.putInt("GroupId", data.group.id); + compound.putFloat("GroupResistance", data.group.resistance); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + data.group = new ElectricalGroup(compound.getInt("GroupId")); + data.group.resistance = compound.getFloat("GroupResistance"); + if (!clientPacket) + data.connectNextTick = true; + } + + /// //////////////// + class ElectricPumpTransferBehavior extends FluidTransportBehaviour { + + public ElectricPumpTransferBehavior(SmartBlockEntity be) { + super(be); + } + + @Override + public void tick() { + super.tick(); + for (Map.Entry entry : interfaces.entrySet()) { + boolean pull = isPullingOnSide(isFront(entry.getKey())); + Couple pressure = entry.getValue().getPressure(); + pressure.set(pull,getPowerUsage() == 0 ? 0 : Math.min(1500,data.getVoltage()*2f)); + pressure.set(!pull, 0f); + } + } + + @Override + public boolean canHaveFlowToward(BlockState state, Direction direction) { + return isSideAccessible(direction); + } + + @Override + public AttachmentTypes getRenderedRimAttachment(BlockAndTintGetter world, BlockPos pos, BlockState state, + Direction direction) { + AttachmentTypes attachment = super.getRenderedRimAttachment(world, pos, state, direction); + if (attachment == AttachmentTypes.RIM) + return AttachmentTypes.NONE; + return attachment; + } + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_switch/ElectricSwitchBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_switch/ElectricSwitchBlock.java new file mode 100644 index 00000000..d71ca8fb --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_switch/ElectricSwitchBlock.java @@ -0,0 +1,38 @@ +package com.drmangotea.tfmg.content.electricity.utilities.electric_switch; + +import com.drmangotea.tfmg.base.blocks.TFMGDirectionalBlock; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.electricity.base.IVoltageChanger; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +public class ElectricSwitchBlock extends TFMGDirectionalBlock implements IBE, IVoltageChanger { + public ElectricSwitchBlock(Properties p_54120_) { + super(p_54120_); + } + + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level, pos, IElectric::onPlaced); + } + + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + + + @Override + public Class getBlockEntityClass() { + return ElectricSwitchBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.ELECTRIC_SWITCH.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_switch/ElectricSwitchBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_switch/ElectricSwitchBlockEntity.java new file mode 100644 index 00000000..6b78fb13 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_switch/ElectricSwitchBlockEntity.java @@ -0,0 +1,64 @@ +package com.drmangotea.tfmg.content.electricity.utilities.electric_switch; + +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.electricity.utilities.diode.ElectricDiodeBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +import static net.minecraft.world.level.block.DirectionalBlock.FACING; + +public class ElectricSwitchBlockEntity extends ElectricDiodeBlockEntity { + + int signal; + boolean signalChanged; + + public ElectricSwitchBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + @Override + public void lazyTick() { + super.lazyTick(); + neighbourChanged(); + + + } + + @Override + public void tick() { + super.tick(); + + if (signalChanged) { + signalChanged = false; + analogSignalChanged(level.getBestNeighborSignal(worldPosition)); + } + } + protected void analogSignalChanged(int newSignal) { + signal = newSignal; + + + updateInFrontNextTick(); + updateNextTick(); + + } + + public void neighbourChanged() { + if (!hasLevel()) + return; + int power = level.getBestNeighborSignal(worldPosition); + if (power != signal) + signalChanged = true; + } + + @Override + public int getOutputVoltage() { + return (int) (data.getVoltage()*(signal/15f)); + } + + @Override + public boolean hasElectricitySlot(Direction direction) { + return direction == getBlockState().getValue(FACING).getOpposite(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/fuse_block/FuseBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/fuse_block/FuseBlock.java new file mode 100644 index 00000000..a5b006c7 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/fuse_block/FuseBlock.java @@ -0,0 +1,45 @@ +package com.drmangotea.tfmg.content.electricity.utilities.fuse_block; + +import com.drmangotea.tfmg.base.blocks.TFMGHorizontalDirectionalBlock; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.electricity.base.IVoltageChanger; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.BlockHitResult; + +public class FuseBlock extends TFMGHorizontalDirectionalBlock implements IBE, IVoltageChanger { + + public FuseBlock(Properties p_54120_) { + super(p_54120_); + } + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level,pos, IElectric::onPlaced); + } + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + + + + @Override + public Class getBlockEntityClass() { + return FuseBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.FUSE_BLOCK.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/fuse_block/FuseBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/fuse_block/FuseBlockEntity.java new file mode 100644 index 00000000..cf164d14 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/fuse_block/FuseBlockEntity.java @@ -0,0 +1,209 @@ +package com.drmangotea.tfmg.content.electricity.utilities.fuse_block; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.electricity.base.UpdateInFrontPacket; +import com.drmangotea.tfmg.content.electricity.utilities.diode.ElectricDiodeBlockEntity; +import com.drmangotea.tfmg.registry.TFMGPackets; + +import com.simibubi.create.foundation.utility.CreateLang; +import net.createmod.catnip.platform.CatnipServices; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.ChunkPos; +import net.minecraft.world.level.block.DirectionalBlock; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + + +import java.util.List; + +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + + +public class FuseBlockEntity extends ElectricDiodeBlockEntity { + + public ItemStack fuse = ItemStack.EMPTY; + + boolean testFuse = false; + + + public FuseBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + + + public void updateInFront() { + + if (level instanceof ServerLevel serverLevel) + CatnipServices.NETWORK.sendToClientsTrackingChunk(serverLevel, new ChunkPos(worldPosition),new UpdateInFrontPacket(BlockPos.of(getPos()))); + Direction facing = getBlockState().hasProperty(DirectionalBlock.FACING) ? getBlockState().getValue(DirectionalBlock.FACING) : getBlockState().getValue(FACING).getCounterClockWise(); + if (level.getBlockEntity(getBlockPos().relative(facing)) instanceof IElectric be && be.getData().getId() != data.getId()) { + if (be.hasElectricitySlot(facing.getOpposite())) { + be.updateNextTick(); + } + } + + sendStuff(); + setChanged(); + } + @Override + public float resistance() { + if(!hasFuse()) + return 0; + + Direction facing = getBlockState().getValue(FACING).getCounterClockWise(); + if (level.getBlockEntity(getBlockPos().relative(facing)) instanceof IElectric be && be.getData().getId() != data.getId()) { + if (be.hasElectricitySlot(facing.getOpposite())) + return Math.max(be.getNetworkResistance(), 0); + } + return 0; + } + + + //@Override + //public void onNetworkChanged(int oldVoltage, int oldPower) { + // super.onNetworkChanged(oldVoltage, oldPower); +// + // if (hasFuse() && getData().highestCurrent >= (float) fuse.getOrCreateTag().getInt("AmpRating")) { + // blowFuse(); + // updateNetwork(); + // updateInFront(); +// + // } + // Direction facing = getBlockState().getValue(FACING).getCounterClockWise(); + // if (level.getBlockEntity(getBlockPos().relative(facing)) instanceof IElectric be) { +// + // if (hasFuse() && be.getData().highestCurrent >= (float) fuse.getOrCreateTag().getInt("AmpRating")) { + // blowFuse(); + // updateNetwork(); + // updateInFront(); +// + // } + // } + //} + + + + //@Override + //public void setVoltage(int newVoltage) { + // super.setVoltage(newVoltage); + // Direction facing = getBlockState().getValue(FACING).getCounterClockWise(); + // if (level.getBlockEntity(getBlockPos().relative(facing)) instanceof IElectric be) { +// + // if (hasFuse() && be.getData().highestCurrent >= (float) fuse.getOrCreateTag().getInt("AmpRating")) { + // blowFuse(); + // updateNetwork(); + // updateInFront(); +// + // } + // } + // if (hasFuse() && getData().highestCurrent >= (float) fuse.getOrCreateTag().getInt("AmpRating")) { + // blowFuse(); + // updateNetwork(); + // updateInFront(); +// + // } + // testFuse = true; +// + //} +// + //public void testFuse(){ + // Direction facing = getBlockState().getValue(FACING).getCounterClockWise(); + // if (level.getBlockEntity(getBlockPos().relative(facing)) instanceof IElectric be) { +// + // if (hasFuse() && be.getData().highestCurrent >= (float) fuse.getOrCreateTag().getInt("AmpRating")) { + // blowFuse(); + // updateNetwork(); + // updateInFront(); +// + // } + // } + // if (hasFuse() && getData().highestCurrent >= (float) fuse.getOrCreateTag().getInt("AmpRating")) { + // blowFuse(); + // updateNetwork(); + // updateInFront(); +// + // } + // testFuse = true; + //} + + @Override + public void tick() { + super.tick(); + + + //if(testFuse){ + // testFuse(); + // testFuse = false; + //} + + + Direction facing = getBlockState().getValue(FACING).getCounterClockWise(); + + + } + + @Override + public void updateNextTick() { + super.updateNextTick(); + } + + @Override + public int getOutputVoltage() { + return fuse.isEmpty() ? 0 : super.getOutputVoltage(); + } + + @Override + public int getOutputPower() { + return fuse.isEmpty() ? 0 : super.getOutputPower(); + } + + public boolean hasFuse(){ + return !fuse.isEmpty(); + } + + public void blowFuse(){ + level.playSound(null, getBlockPos(), SoundEvents.GLASS_BREAK, SoundSource.BLOCKS, 2.0F, + level.random.nextFloat() * 0.4F + 0.8F); + fuse = ItemStack.EMPTY; + TFMGUtils.spawnElectricParticles(level,getBlockPos()); + sendStuff(); + + } + + @Override + public boolean hasElectricitySlot(Direction direction) { + return direction == getBlockState().getValue(FACING).getClockWise(); + } + + @Override + public boolean addToTooltip(List tooltip, boolean isPlayerSneaking) { + + super.addToTooltip(tooltip, isPlayerSneaking); + return true; + } +// + // @Override + // protected void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + // super.write(compound,registries , clientPacket); + // compound.put("Fuse", fuse.serializeNBT()); + // } +// + // @Override + // protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + // super.read(compound,registries , clientPacket); + // fuse = ItemStack.of(compound.getCompound("Fuse")); + // } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/fuse_block/FuseBlockRenderer.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/fuse_block/FuseBlockRenderer.java new file mode 100644 index 00000000..1c7ddb62 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/fuse_block/FuseBlockRenderer.java @@ -0,0 +1,32 @@ +package com.drmangotea.tfmg.content.electricity.utilities.fuse_block; + +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; +import net.createmod.catnip.render.CachedBuffers; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.state.BlockState; + +import static com.simibubi.create.content.kinetics.base.HorizontalKineticBlock.HORIZONTAL_FACING; +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class FuseBlockRenderer extends SafeBlockEntityRenderer { + + public FuseBlockRenderer(BlockEntityRendererProvider.Context context){} + + @Override + protected void renderSafe(FuseBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource bufferSource, int light, int overlay) { + + BlockState blockState = be.getBlockState(); + + if(!be.fuse.isEmpty()) + CachedBuffers.partialFacing(TFMGPartialModels.FUSE, blockState, blockState.getValue(FACING).getOpposite()) + .light(light) + .renderInto(ms, bufferSource.getBuffer(RenderType.cutoutMipped())); + + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/fuse_block/FuseItem.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/fuse_block/FuseItem.java new file mode 100644 index 00000000..a026aca2 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/fuse_block/FuseItem.java @@ -0,0 +1,25 @@ +package com.drmangotea.tfmg.content.electricity.utilities.fuse_block; + + +import com.simibubi.create.foundation.utility.CreateLang; +import net.minecraft.ChatFormatting; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.level.Level; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; + + +import java.util.List; + +public class FuseItem extends Item{ + + + public FuseItem(Properties p_41383_) { + super(p_41383_); + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/polarizer/MagnetItem.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/polarizer/MagnetItem.java new file mode 100644 index 00000000..ab161f18 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/polarizer/MagnetItem.java @@ -0,0 +1,11 @@ +package com.drmangotea.tfmg.content.electricity.utilities.polarizer; + +import net.minecraft.world.item.Item; + +public class MagnetItem extends Item { + public MagnetItem(Properties p_41383_) { + super(p_41383_.fireResistant()); + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/polarizer/PolarizeByLightningEvent.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/polarizer/PolarizeByLightningEvent.java new file mode 100644 index 00000000..e6cde0f9 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/polarizer/PolarizeByLightningEvent.java @@ -0,0 +1,45 @@ +package com.drmangotea.tfmg.content.electricity.utilities.polarizer; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.registry.TFMGItems; +import net.minecraft.core.BlockPos; +import net.minecraft.world.entity.item.ItemEntity; +import net.minecraft.world.item.ItemStack; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.EventBusSubscriber; +import net.neoforged.neoforge.event.entity.EntityStruckByLightningEvent; + + +@EventBusSubscriber +public class PolarizeByLightningEvent { + + @SubscribeEvent + public static void onStruckByLightning(EntityStruckByLightningEvent event) { + + if (event.getEntity() instanceof ItemEntity entity) { + if (entity.getItem().is(TFMGItems.MAGNETIC_ALLOY_INGOT.get())) { + + int random = entity.level().random.nextInt(entity.getItem().getCount()+1); + + if(random == 1){ + if(entity.level().random.nextBoolean()){ + random =0; + }else { + random =1; + } + } + + entity.setItem(new ItemStack(TFMGItems.MAGNET.get(),random)); + TFMGUtils.spawnElectricParticles(entity.level(), entity.blockPosition()); + event.setCanceled(true); + } + if (entity.getItem().is(TFMGItems.MAGNET.get())) { + + event.setCanceled(true); + } + } + + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/polarizer/PolarizerBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/polarizer/PolarizerBlock.java new file mode 100644 index 00000000..b0f6f943 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/polarizer/PolarizerBlock.java @@ -0,0 +1,74 @@ +package com.drmangotea.tfmg.content.electricity.utilities.polarizer; + +import com.drmangotea.tfmg.base.blocks.TFMGHorizontalDirectionalBlock; +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class PolarizerBlock extends TFMGHorizontalDirectionalBlock implements IBE { + public PolarizerBlock(Properties p_54120_) { + super(p_54120_); + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + if(level.getBlockEntity(pos) instanceof PolarizerBlockEntity be){ + if(player.getItemInHand(hand).isEmpty()){ + if(!be.inventory.isEmpty()) { + player.setItemInHand(hand, be.inventory.getStackInSlot(0)); + be.inventory.setItem(0, ItemStack.EMPTY); + return ItemInteractionResult.SUCCESS; + } + }else { + if(be.inventory.isEmpty()&&!stack.isEmpty()){ + ItemStack stack1 = player.getItemInHand(hand).copy(); + stack1.setCount(1); + be.inventory.setItem(0, stack1); + player.getItemInHand(hand).shrink(1); + return ItemInteractionResult.SUCCESS; + } + } + } + + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + } + + + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level,pos, IElectric::onPlaced); + } + + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + @Override + public VoxelShape getShape(BlockState state, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) { + return TFMGShapes.POLARIZER.get(state.getValue(FACING)); + } + + @Override + public Class getBlockEntityClass() { + return PolarizerBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.POLARIZER.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/polarizer/PolarizerBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/polarizer/PolarizerBlockEntity.java new file mode 100644 index 00000000..e6730b40 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/polarizer/PolarizerBlockEntity.java @@ -0,0 +1,190 @@ +package com.drmangotea.tfmg.content.electricity.utilities.polarizer; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.config.TFMGConfigs; +import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; +import com.drmangotea.tfmg.recipes.PolarizingRecipe; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.content.processing.sequenced.SequencedAssemblyRecipe; +import com.simibubi.create.foundation.item.SmartInventory; + +import com.simibubi.create.foundation.utility.CreateLang; +import net.createmod.catnip.animation.LerpedFloat; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.RecipeHolder; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.items.IItemHandlerModifiable; +import net.neoforged.neoforge.items.wrapper.RecipeWrapper; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; +import java.util.Optional; + +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + + +public class PolarizerBlockEntity extends ElectricBlockEntity implements IHaveGoggleInformation { + + public SmartInventory inventory = new SmartInventory(1, this, 1, false) + .whenContentsChanged(this::onInventoryChanged); + public IItemHandlerModifiable itemCapability; + + LerpedFloat angle = LerpedFloat.angular(); + + public boolean chargeCapacitors = false; + public int capacitorPercentage = 0; + + public PolarizerBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + itemCapability = inventory; + } + + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.ItemHandler.BLOCK, + TFMGBlockEntities.POLARIZER.get(), + (be, context) -> be.itemCapability + ); + } + + @Override + public boolean hasElectricitySlot(Direction direction) { + return direction == getBlockState().getValue(FACING).getOpposite(); + } + + public void onInventoryChanged(int count) { + sendData(); + setChanged(); + if (inventory.isEmpty()) { + chargeCapacitors = false; + updateNextTick(); + return; + } + ItemStack itemStack = inventory.getItem(0); + + if (getRecipe(itemStack).isPresent()) { + + + + chargeCapacitors = true; + updateNextTick(); + if (capacitorPercentage >= 200) { + performRecipe(getRecipe(itemStack).get().value()); + } + } else { + chargeCapacitors = false; + updateNextTick(); + } + + } + + + + + @Override + public float resistance() { + return chargeCapacitors ? 30 : 0; + } + + // + @Override + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + + if(getPowerUsage()<2000&&!inventory.isEmpty()){ + CreateLang.translate("goggles.polarizer.insufficient_power") + .style(ChatFormatting.GRAY) + .forGoggles(tooltip, 1); + return true; + } + + CreateLang.translate("goggles.polarizer.header") + .style(ChatFormatting.GRAY) + .forGoggles(tooltip, 1); + + CreateLang.translate("goggles.polarizer.charge") + .add(CreateLang.text(capacitorPercentage/2f+"%")) + .style(ChatFormatting.DARK_AQUA) + .forGoggles(tooltip); + + return true; + } + + @Override + public boolean canBeInGroups() { + return false; + } + + @Override + public void tick() { + super.tick(); + + + if (level.isClientSide) { + angle.chase(180 * (capacitorPercentage / 200f), 0.2f, LerpedFloat.Chaser.EXP); + angle.tickChaser(); + } + + + if (getPowerUsage() >= 2000) { + if (chargeCapacitors) { + if (capacitorPercentage < 200) { + capacitorPercentage++; + } else onInventoryChanged(inventory.getStackInSlot(0).getCount()); + } + } + + } + + public void performRecipe(PolarizingRecipe recipe) { + ItemStack stack = recipe.getRollableResults().get(0).rollOutput(); + inventory.setStackInSlot(0, stack); + TFMGUtils.spawnElectricParticles(level, getBlockPos()); + capacitorPercentage = 0; + } + + public Optional> getRecipe(ItemStack item) { + if (!hasLevel()) + return Optional.empty(); + Optional> assemblyRecipe = SequencedAssemblyRecipe.getRecipe(this.level, item, TFMGRecipeTypes.POLARIZING.getType(), PolarizingRecipe.class); + if (assemblyRecipe.isPresent()) { + return assemblyRecipe; + } else { + // inventory.setItem(0, item); + return TFMGRecipeTypes.POLARIZING.find(new RecipeWrapper(inventory), this.level); + } + } + + public int getItemChargingRate() { + return TFMGConfigs.common().machines.polarizerItemChargingRate.get(); + } + + @Override + protected void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + compound.put("Inventory", inventory.serializeNBT(registries)); + compound.putInt("CapacitorPercentage", capacitorPercentage); + compound.putBoolean("ChargeCapacitors", chargeCapacitors); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + inventory.deserializeNBT(registries,compound.getCompound("Inventory")); + capacitorPercentage = compound.getInt("CapacitorPercentage"); + chargeCapacitors = compound.getBoolean("ChargeCapacitors"); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/polarizer/PolarizerRenderer.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/polarizer/PolarizerRenderer.java new file mode 100644 index 00000000..b3ec8eb1 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/polarizer/PolarizerRenderer.java @@ -0,0 +1,63 @@ +package com.drmangotea.tfmg.content.electricity.utilities.polarizer; + +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; +import dev.engine_room.flywheel.lib.transform.TransformStack; +import net.createmod.catnip.render.CachedBuffers; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.client.renderer.entity.ItemRenderer; +import net.minecraft.core.Direction; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.state.BlockState; + +import static com.simibubi.create.content.kinetics.base.HorizontalKineticBlock.HORIZONTAL_FACING; +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class PolarizerRenderer extends SafeBlockEntityRenderer { + + public PolarizerRenderer(BlockEntityRendererProvider.Context context) {} + + @Override + protected void renderSafe(PolarizerBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, + int light, int overlay) { + BlockState blockState = be.getBlockState(); + VertexConsumer vb = buffer.getBuffer(RenderType.solid()); + CachedBuffers.partial(TFMGPartialModels.POLARIZER_DIAL,blockState) + .center() + .rotateYDegrees(blockState.getValue(FACING).getAxis() == Direction.Axis.Z ? Math.abs(blockState.getValue(FACING).toYRot() - 180) : blockState.getValue(FACING).toYRot()) + .translateY(-0.025f) + .rotateZDegrees(be.angle.getValue(partialTicks)) + .translateX(0.05f) + .uncenter() + .renderInto(ms, vb); + ItemStack heldItem = be.inventory.getItem(0); + if (heldItem.isEmpty()) + return; + + ItemRenderer itemRenderer = Minecraft.getInstance() + .getItemRenderer(); + boolean blockItem = itemRenderer.getModel(heldItem, null, null, 0) + .isGui3d(); + + ms.pushPose(); + + + var msr = TransformStack.of(ms) + .center() + .rotateYDegrees(blockState.getValue(HorizontalDirectionalBlock.FACING).getAxis()== Direction.Axis.X ? 90 : 0) + .translate(0, 0.4, 0) + .rotateXDegrees(90) + .scale(blockItem ? .5f : .375f); + + itemRenderer.renderStatic(heldItem, ItemDisplayContext.FIXED, light, overlay, ms, buffer,be.getLevel(), 0); + + ms.popPose(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/potentiometer/EncasedPotentiometerBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/potentiometer/EncasedPotentiometerBlock.java new file mode 100644 index 00000000..2effea91 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/potentiometer/EncasedPotentiometerBlock.java @@ -0,0 +1,77 @@ +package com.drmangotea.tfmg.content.electricity.utilities.potentiometer; + +import com.drmangotea.tfmg.base.blocks.TFMGDirectionalBlock; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.electricity.base.IVoltageChanger; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.simibubi.create.content.decoration.encasing.EncasedBlock; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.BlockHitResult; + +public class EncasedPotentiometerBlock extends TFMGDirectionalBlock implements IBE, IVoltageChanger, EncasedBlock, IWrenchable { + public EncasedPotentiometerBlock(Properties p_54120_) { + super(p_54120_); + } + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level,pos, IElectric::onPlaced); + } + + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + @Override + public InteractionResult onWrenched(BlockState state, UseOnContext context) { + return InteractionResult.PASS; + } + + @Override + public InteractionResult onSneakWrenched(BlockState state, UseOnContext context) { + if (context.getLevel().isClientSide) + return InteractionResult.SUCCESS; + context.getLevel() + .levelEvent(2001, context.getClickedPos(), Block.getId(state)); + + KineticBlockEntity.switchToBlockState(context.getLevel(), context.getClickedPos(), + TFMGBlocks.POTENTIOMETER.getDefaultState() + .setValue(FACING, state.getValue(FACING))); + return InteractionResult.SUCCESS; + } + + + @Override + public void handleEncasing(BlockState state, Level level, BlockPos pos, ItemStack heldItem, Player player, InteractionHand hand, + BlockHitResult ray) { + level.setBlockAndUpdate(pos, this.defaultBlockState().setValue(FACING,state.getValue(FACING))); + } + + + @Override + public Class getBlockEntityClass() { + return PotentiometerBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.POTENTIOMETER.get(); + } + + @Override + public Block getCasing() { + return TFMGBlocks.HEAVY_MACHINERY_CASING.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/potentiometer/PotentiometerBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/potentiometer/PotentiometerBlock.java new file mode 100644 index 00000000..04acf77c --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/potentiometer/PotentiometerBlock.java @@ -0,0 +1,65 @@ +package com.drmangotea.tfmg.content.electricity.utilities.potentiometer; + +import com.drmangotea.tfmg.base.blocks.TFMGDirectionalBlock; +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.electricity.base.IVoltageChanger; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.content.decoration.encasing.EncasableBlock; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class PotentiometerBlock extends TFMGDirectionalBlock implements IBE, IVoltageChanger, EncasableBlock { + public PotentiometerBlock(Properties p_54120_) { + super(p_54120_); + } + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level,pos, IElectric::onPlaced); + } + + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + ItemStack heldItem = player.getItemInHand(hand); + ItemInteractionResult result = tryEncase(state, level, pos, heldItem, player, hand, hitResult); + if (result.consumesAction()) + return result; + + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + } + + + + @Override + public VoxelShape getShape(BlockState pState, BlockGetter worldIn, BlockPos pos, CollisionContext context) { + return pState.getValue(FACING).getAxis().isVertical() ? TFMGShapes.RESISTOR_VERTICAL.get(pState.getValue(FACING)) : TFMGShapes.POTENTIOMETER.get(pState.getValue(FACING)); + } + + + @Override + public Class getBlockEntityClass() { + return PotentiometerBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.POTENTIOMETER.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/potentiometer/PotentiometerBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/potentiometer/PotentiometerBlockEntity.java new file mode 100644 index 00000000..402e7159 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/potentiometer/PotentiometerBlockEntity.java @@ -0,0 +1,98 @@ +package com.drmangotea.tfmg.content.electricity.utilities.potentiometer; + +import com.drmangotea.tfmg.base.blocks.TFMGHorizontalDirectionalBlock; +import com.drmangotea.tfmg.content.electricity.utilities.diode.ElectricDiodeBlockEntity; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.content.kinetics.base.DirectionalKineticBlock; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollValue.ScrollValueBehaviour; +import com.simibubi.create.foundation.utility.CreateLang; +import dev.engine_room.flywheel.lib.transform.TransformStack; +import net.createmod.catnip.math.AngleHelper; +import net.createmod.catnip.math.VecHelper; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.DirectionalBlock; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec3; + +import java.util.List; + +public class PotentiometerBlockEntity extends ElectricDiodeBlockEntity { + + + protected ScrollValueBehaviour outputPercentage; + public PotentiometerBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + @Override + public void addBehaviours(List behaviours) { + super.addBehaviours(behaviours); + int max = 100; + outputPercentage = new ScrollValueBehaviour(CreateLang.translateDirect("resistor.allowed_voltage"), + this, new PotentiometerValueBox()); + outputPercentage.between(0, max); + outputPercentage.value = 100; + outputPercentage.withCallback(i ->this.updateNextTick()); + outputPercentage.withCallback(i ->this.updateInFrontNextTick()); + behaviours.add(outputPercentage); + + } + + public Direction getDirection(){ + if(!getBlockState().hasProperty(DirectionalBlock.FACING)){ + return getBlockState().getValue(TFMGHorizontalDirectionalBlock.FACING).getCounterClockWise(); + } + + return getBlockState().getValue(DirectionalBlock.FACING); + } + + + @Override + public int getOutputVoltage() { + return (int) (((float)getData().getVoltage()/100)* outputPercentage.getValue()); + } + + + static class PotentiometerValueBox extends ValueBoxTransform.Sided { + + @Override + protected Vec3 getSouthLocation() { + return VecHelper.voxelSpace(8, 8, 12.5); + } + + @Override + public Vec3 getLocalOffset(LevelAccessor level, BlockPos pos, BlockState state) { + Direction facing = state.getValue(DirectionalKineticBlock.FACING); + return super.getLocalOffset(level,pos,state).add(Vec3.atLowerCornerOf(facing.getNormal()) + .scale(-1 / 16f)); + } + + @Override + public void rotate(LevelAccessor level, BlockPos pos, BlockState state, PoseStack ms) { + super.rotate(level,pos,state, ms); + Direction facing = state.getValue(DirectionalKineticBlock.FACING); + if (facing.getAxis() == Direction.Axis.Y) + return; + if (getSide() != Direction.UP) + return; + TransformStack.of(ms) + .rotateZDegrees(-AngleHelper.horizontalAngle(facing) + 180); + } + + @Override + protected boolean isSideActive(BlockState state, Direction direction) { + Direction facing = state.getValue(DirectionalKineticBlock.FACING); + if (facing.getAxis().isVertical()) { + return direction.getAxis().isHorizontal(); + } else return direction == Direction.UP; + } + + } + + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/resistor/ResistorBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/resistor/ResistorBlock.java new file mode 100644 index 00000000..232094d0 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/resistor/ResistorBlock.java @@ -0,0 +1,79 @@ +package com.drmangotea.tfmg.content.electricity.utilities.resistor; + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.base.blocks.WallMountBlock; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.item.ItemEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.level.storage.loot.LootParams; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +import java.util.Collections; +import java.util.List; + +public class ResistorBlock extends WallMountBlock implements IBE { + public ResistorBlock(Properties p_49795_) { + super(p_49795_); + } + + @Override + public void setPlacedBy(Level level, BlockPos pos, BlockState state, LivingEntity placer, ItemStack stack) { + super.setPlacedBy(level, pos, state, placer, stack); + withBlockEntityDo(level, pos, be -> be.setResistance(stack)); + } + + @Override + public List getDrops(BlockState p_287732_, LootParams.Builder p_287596_) { + return Collections.emptyList(); + } + @Override + public boolean onDestroyedByPlayer(BlockState state, Level level, BlockPos pos, Player player, boolean willHarvest, FluidState fluid) { + if(!player.isCreative()&&level.getBlockEntity(pos) instanceof ResistorBlockEntity be) { + ItemStack item = TFMGBlocks.RESISTOR.asItem().getDefaultInstance(); + item.set(TFMGDataComponents.RESISTANCE, be.resistance); + ItemEntity itemToSpawn = new ItemEntity((Level) level, pos.getX() + 0.5f, pos.getY() + 0.5f, pos.getZ() + 0.5f, item); + if (itemToSpawn.getItem().getCount() > 0) + level.addFreshEntity(itemToSpawn); + } + return super.onDestroyedByPlayer(state, level, pos, player, willHarvest, fluid); + } + + // + @Override + public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) { + return TFMGShapes.RESISTOR.get(p_60555_.getValue(FACING)); + } + + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level,pos, IElectric::onPlaced); + } + + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + + @Override + public Class getBlockEntityClass() { + return ResistorBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.RESISTOR.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/resistor/ResistorBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/resistor/ResistorBlockEntity.java new file mode 100644 index 00000000..3fa192b5 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/resistor/ResistorBlockEntity.java @@ -0,0 +1,55 @@ +package com.drmangotea.tfmg.content.electricity.utilities.resistor; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +import static com.drmangotea.tfmg.base.blocks.WallMountBlock.FACING; + +public class ResistorBlockEntity extends ElectricBlockEntity { + + public int resistance = 500; + + public ResistorBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + @Override + public boolean hasElectricitySlot(Direction direction) { + return direction == getBlockState().getValue(FACING).getOpposite(); + } + + @Override + public boolean canBeInGroups() { + return true; + } + + @Override + public float resistance() { + return resistance; + } + + public void setResistance(ItemStack stack){ + if(stack.get(TFMGDataComponents.RESISTANCE)!=null) + this.resistance = stack.get(TFMGDataComponents.RESISTANCE); + } + + @Override + protected void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + compound.putInt("Resistance",resistance); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + resistance = compound.getInt("Resistance"); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/resistor/ResistorBlockItem.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/resistor/ResistorBlockItem.java new file mode 100644 index 00000000..32a07ed9 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/resistor/ResistorBlockItem.java @@ -0,0 +1,33 @@ +package com.drmangotea.tfmg.content.electricity.utilities.resistor; + + +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.simibubi.create.foundation.utility.CreateLang; +import net.minecraft.ChatFormatting; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.level.block.Block; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; + +import java.util.List; + +public class ResistorBlockItem extends BlockItem { + public ResistorBlockItem(Block p_40565_, Properties p_40566_) { + super(p_40565_, p_40566_); + } + + + @Override + @OnlyIn(Dist.CLIENT) + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag flag) { + + + tooltip.add(CreateLang.translateDirect("tooltip.resistor", stack.get(TFMGDataComponents.RESISTANCE) == null ? 0 : stack.get(TFMGDataComponents.RESISTANCE)).append("Ω") + .withStyle(ChatFormatting.GREEN) + ); + super.appendHoverText(stack, context, tooltip, flag); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/resistor/ResistorItem.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/resistor/ResistorItem.java new file mode 100644 index 00000000..4fad3454 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/resistor/ResistorItem.java @@ -0,0 +1,35 @@ +package com.drmangotea.tfmg.content.electricity.utilities.resistor; + + +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.simibubi.create.foundation.utility.CreateLang; +import net.minecraft.ChatFormatting; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; + + +import java.util.List; + +public class ResistorItem extends Item { + public ResistorItem(Properties p_40566_) { + super(p_40566_); + } + + @Override + @OnlyIn(Dist.CLIENT) + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag flag) { + tooltip.add(CreateLang.translateDirect("tooltip.resistor", stack.get(TFMGDataComponents.RESISTANCE)==null?0:stack.get(TFMGDataComponents.RESISTANCE)).append("Ω") + .withStyle(ChatFormatting.GREEN) + ); + super.appendHoverText(stack, context, tooltip, flag); + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayBlock.java new file mode 100644 index 00000000..485c9bb6 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayBlock.java @@ -0,0 +1,141 @@ +package com.drmangotea.tfmg.content.electricity.utilities.segmented_display; + + +import com.drmangotea.tfmg.base.blocks.TFMGHorizontalDirectionalBlock; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.component.DataComponents; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.Tag; +import net.minecraft.network.chat.Component; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.DyeColor; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.BlockHitResult; + +import java.util.function.BiConsumer; + +public class SegmentedDisplayBlock extends TFMGHorizontalDirectionalBlock implements IBE { + + + + + public SegmentedDisplayBlock(Properties properties) { + super(properties); + + } + + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level,pos, IElectric::onPlaced); + } + + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + + public static void walkParts(LevelAccessor world, BlockPos start, BiConsumer callback) { + BlockState state = world.getBlockState(start); + if (!(state.getBlock() instanceof SegmentedDisplayBlock)) + return; + + BlockPos currentPos = start; + Direction left = state.getValue(FACING) + .getClockWise(); + + + Direction right = left.getOpposite(); + + while (true) { + BlockPos nextPos = currentPos.relative(left); + if (!areDisplaysEqual(world.getBlockState(nextPos), state)) + break; + currentPos = nextPos; + } + + int index = 0; + + while (true) { + final int rowPosition = index; + callback.accept(currentPos, rowPosition); + BlockPos nextPos = currentPos.relative(right); + if (!areDisplaysEqual(world.getBlockState(nextPos), state)) + break; + currentPos = nextPos; + index++; + } + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + ItemStack heldItem = player.getItemInHand(hand); + SegmentedDisplayBlockEntity segmentedDisplay = getBlockEntity(world, pos); + if (heldItem.isEmpty()) { + + segmentedDisplay.clearCustomText(); + return ItemInteractionResult.SUCCESS; + } + + boolean display = + heldItem.getItem() == Items.NAME_TAG && heldItem.has(DataComponents.CUSTOM_NAME) || AllBlocks.CLIPBOARD.isIn(heldItem); + + DyeColor dye = DyeColor.getColor(heldItem); + + if (dye != null) { + walkParts(world, pos, (currentPos, rowPosition) -> { + world.playSound(null, pos, SoundEvents.DYE_USE, SoundSource.BLOCKS, 1.0F, 1.0F); + withBlockEntityDo(world, currentPos, be -> be.setColor(dye)); + }); + return ItemInteractionResult.SUCCESS; + } + + if(!display) + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + String tagElement = stack.getOrDefault(DataComponents.CUSTOM_NAME, Component.empty()).getString(); + String tagUsed = tagElement; + walkParts(world, pos, (currentPos, rowPosition) -> { + if (display) + withBlockEntityDo(world, currentPos, be -> be.displayCustomText(tagUsed, rowPosition)); + + }); + return ItemInteractionResult.SUCCESS; + } + + + + public static boolean areDisplaysEqual(BlockState blockState, BlockState otherState) { + if (!(blockState.getBlock() instanceof SegmentedDisplayBlock)) + return false; + return otherState.getBlock() instanceof SegmentedDisplayBlock; + } + + @Override + public Class getBlockEntityClass() { + return SegmentedDisplayBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.SEGMENTED_DISPLAY.get(); + } + + + + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayBlockEntity.java new file mode 100644 index 00000000..aadc7c1a --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayBlockEntity.java @@ -0,0 +1,187 @@ +package com.drmangotea.tfmg.content.electricity.utilities.segmented_display; + +import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; +import com.simibubi.create.content.redstone.displayLink.DisplayLinkBlock; +import com.simibubi.create.foundation.utility.DynamicComponent; +import net.createmod.catnip.data.Couple; +import net.createmod.catnip.nbt.NBTHelper; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.MutableComponent; +import net.minecraft.world.item.DyeColor; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class SegmentedDisplayBlockEntity extends ElectricBlockEntity { + + private static final Couple EMPTY = Couple.create("", ""); + + private Optional customText; + private Couple displayedStrings; + + public List segmentsToRender = new ArrayList<>(); + public List segmentsToRender2 = new ArrayList<>(); + + public DyeColor color; + + private int partIndex; + + public SegmentedDisplayBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + customText = Optional.empty(); + color = DyeColor.LIME; + } + + public void setColor(DyeColor color) { + + + if(color==DyeColor.BLACK||color == DyeColor.LIGHT_GRAY|| color == DyeColor.GRAY) + return; + + this.color = color; + notifyUpdate(); + } + + @Override + public float resistance() { + return 100; + } + + @Override + public void lazyTick() { + super.lazyTick(); + if(getPowerUsage()<5||!canWork()){ + segmentsToRender = new ArrayList<>(); + segmentsToRender2 = new ArrayList<>(); + }else { + segmentsToRender = getSegments(); + } + } + + public void clearCustomText() { + partIndex = 0; + customText = Optional.empty(); + } + public List getSegments(){ + List segments = SegmentedDisplayRenderer.SYMBOLS_TO_SEGMENTS.get(getDisplayedStrings().get(true).toLowerCase()); + + + + List segments2 = SegmentedDisplayRenderer.SYMBOLS_TO_SEGMENTS.get(getDisplayedStrings().get(false).toLowerCase()); + + if(segments2 == null) + segments2 = new ArrayList<>(); + if(segments == null) + segments = new ArrayList<>(); + + List segments3 = new ArrayList<>(); + for(int segment : segments2){ + segments3.add(segment+10); + } + + segmentsToRender2 = segments3; + + + // segments.addAll(segments3); + + return segments; + } + + + public Couple getDisplayedStrings() { + if (displayedStrings == null) + return EMPTY; + return displayedStrings; + } + + @Override + public void initialize() { + if (level.isClientSide) + updateDisplayedStrings(); + } + + + public void displayCustomText(String tagElement, int partPositionInRow) { + if (tagElement == null) + return; + if (customText.filter(d -> d.sameAs(tagElement)) + .isPresent()) + return; + + DynamicComponent component = customText.orElseGet(DynamicComponent::new); + component.displayCustomText(level, worldPosition, tagElement); + customText = Optional.of(component); + partIndex = partPositionInRow; + DisplayLinkBlock.notifyGatherers(level, worldPosition); + notifyUpdate(); + } + + @Override + public boolean hasElectricitySlot(Direction direction) { + return direction != getBlockState().getValue(FACING); + } + + public void updateDisplayedStrings() { + + customText.map(DynamicComponent::resolve) + .ifPresentOrElse( + fullText -> displayedStrings = + Couple.create(charOrEmpty(fullText, partIndex * 2), charOrEmpty(fullText, partIndex * 2 + 1)), + () -> displayedStrings = + Couple.create("0","0")); + } + + public MutableComponent getFullText() { + return customText.map(DynamicComponent::get) + .orElse(Component.literal("")); + } + + @Override + public void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + color = NBTHelper.readEnum(compound,"color",DyeColor.class); + if (compound.contains("CustomText")) { + DynamicComponent component = customText.orElseGet(DynamicComponent::new); + component.read( worldPosition, compound,registries); + + if (component.isValid()) { + customText = Optional.of(component); + partIndex = compound.getInt("CustomTextIndex"); + } else { + customText = Optional.empty(); + partIndex = 0; + } + } + + if (clientPacket) + updateDisplayedStrings(); + } + + + + @Override + public void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + + NBTHelper.writeEnum(compound,"color",color); + + if (customText.isPresent()) { + compound.putInt("CustomTextIndex", partIndex); + customText.get() + .write(compound,registries); + } + } + + private String charOrEmpty(String string, int index) { + return string.length() <= index ? " " : string.substring(index, index + 1); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayCTBehavior.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayCTBehavior.java new file mode 100644 index 00000000..fbded838 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayCTBehavior.java @@ -0,0 +1,68 @@ +package com.drmangotea.tfmg.content.electricity.utilities.segmented_display; + + +import com.drmangotea.tfmg.base.TFMGSpriteShifts; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry; +import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour; +import net.minecraft.client.renderer.texture.TextureAtlasSprite; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.Nullable; + +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class SegmentedDisplayCTBehavior extends ConnectedTextureBehaviour.Base { + + @Override + public CTSpriteShiftEntry getShift(BlockState state, Direction direction, @Nullable TextureAtlasSprite sprite) { + Direction facing = state.getValue(FACING); + + + if(direction == facing) + return TFMGSpriteShifts.SEGMENTED_DISPLAY_SCREEN; + + //if(direction == facing.getOpposite()) + // return null; + + return null; + } + + @Override + protected Direction getUpDirection(BlockAndTintGetter reader, BlockPos pos, BlockState state, Direction face) { + + return Direction.UP; + } + // +// +// + @Override + protected Direction getRightDirection(BlockAndTintGetter reader, BlockPos pos, BlockState state, Direction face) { + + + return state.getValue(FACING) == Direction.NORTH ||state.getValue(FACING) == Direction.WEST ? state.getValue(FACING).getCounterClockWise() : state.getValue(FACING).getClockWise(); + } + + + + public boolean buildContextForOccludedDirections() { + return super.buildContextForOccludedDirections(); + } + + @Override + public boolean connectsTo(BlockState state, BlockState other, BlockAndTintGetter reader, BlockPos pos, + BlockPos otherPos, Direction face) { + + + + if(other.is(TFMGBlocks.SEGMENTED_DISPLAY.get())){ + if(other.getValue(FACING)==state.getValue(FACING)) + return super.connectsTo(state,other,reader,pos,otherPos,face); +// + } + return false; + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayRenderer.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayRenderer.java new file mode 100644 index 00000000..fb331a57 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayRenderer.java @@ -0,0 +1,133 @@ +package com.drmangotea.tfmg.content.electricity.utilities.segmented_display; + +import com.drmangotea.tfmg.registry.TFMGPartialModels; + + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; + +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import dev.engine_room.flywheel.lib.transform.TransformStack; +import net.createmod.catnip.render.CachedBuffers; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.state.BlockState; + +import java.util.*; + +public class SegmentedDisplayRenderer extends SafeBlockEntityRenderer { + + public SegmentedDisplayRenderer(BlockEntityRendererProvider.Context context) {} + @Override + protected void renderSafe(SegmentedDisplayBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource bufferSource, int light, int overlay) { + + BlockState blockState = be.getBlockState(); + VertexConsumer vb = bufferSource.getBuffer(RenderType.cutoutMipped()); + ms.pushPose(); + var msr = TransformStack.of(ms); + // msr.translate(0.5, 0.5, 0.5); + + int color = be.color.getTextColor(); + + for(int i =0;i> SYMBOLS_TO_SEGMENTS= new HashMap<>(); + static { + + + // + put(0,1,2,3,5,6,7); + put(1,1,2); + put(2,3,6,4,2,5); + put(3,3,4,5,6,7); + put(4,1,4,6,7); + put(5,1,3,4,5,7); + put(6,1,2,3,4,5,7); + put(7,7,6,3); + put(8,1,2,3,4,5,6,7); + put(9,1,3,4,6,7); + + put(":",0); + + put("a",1,2,3,4,6,7); + put("b",1,2,4,5,7); + put("c",1,2,3,5); + put("d",2,4,5,6,7); + put("e",1,2,3,4,5); + put("f",1,2,3,4); + put("g",1,2,3,5,7); + put("h",1,2,4,6,7); + put("i",1,2); + put("j",6,7,5,2); + put("k",1,2,9,10); + put("l",1,2,5); + put("m",1,2,6,7,8); + put("n",2,7,10); + put("o",1,2,6,7,3,5); + put("p",1,2,3,4,6); + put("q",1,3,4,6,7); + put("r",1,2,3,4,6,10); + put("s",1,3,4,5,7); + put("t",1,2,4,5); + put("u",2,5,7); + put("v",1,2,5,6,7); + put("w",1,2,4,5,6,7); + put("x",1,2,4,6,7); + put("y",1,4,6,7,5); + put("z",3,9,4); + + + } + public static void put(int number, Integer... segments){ + put(String.valueOf(number),segments); + } + private static void put(String string, Integer... segments){ + + SYMBOLS_TO_SEGMENTS.put(string, Arrays.asList(segments)); + + List segments2 = new ArrayList<>(); + + for (Integer segment : segments){ + + if(segment == 0) + break; + + segments2.add(10+segment); + } + + + SYMBOLS_TO_SEGMENTS.put(string, segments2); + + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplaySource.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplaySource.java new file mode 100644 index 00000000..d5d9d4da --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplaySource.java @@ -0,0 +1,58 @@ +package com.drmangotea.tfmg.content.electricity.utilities.segmented_display; + +import com.simibubi.create.content.redstone.displayLink.DisplayLinkContext; +import com.simibubi.create.content.redstone.displayLink.source.SingleLineDisplaySource; +import com.simibubi.create.content.redstone.displayLink.target.DisplayTargetStats; +import com.simibubi.create.content.trains.display.FlapDisplaySection; +import net.minecraft.network.chat.MutableComponent; +import net.minecraft.world.level.block.entity.BlockEntity; + +public class SegmentedDisplaySource extends SingleLineDisplaySource { + + @Override + protected String getTranslationKey() { + return "segmented_display"; + } + + @Override + protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) { + BlockEntity sourceBE = context.getSourceBlockEntity(); + if (!(sourceBE instanceof SegmentedDisplayBlockEntity nbe)) + return EMPTY_LINE; + + MutableComponent text = nbe.getFullText(); + + try { + String line = text.getString(); + Integer.valueOf(line); + context.flapDisplayContext = Boolean.TRUE; + } catch (NumberFormatException e) { + } + + return text; + } + + @Override + protected boolean allowsLabeling(DisplayLinkContext context) { + return !(context.blockEntity().activeTarget instanceof SegmentedDisplayTarget); + } + + @Override + protected String getFlapDisplayLayoutName(DisplayLinkContext context) { + if (isNumeric(context)) + return "Number"; + return super.getFlapDisplayLayoutName(context); + } + + @Override + protected FlapDisplaySection createSectionForValue(DisplayLinkContext context, int size) { + if (isNumeric(context)) + return new FlapDisplaySection(size * FlapDisplaySection.MONOSPACE, "numeric", false, false); + return super.createSectionForValue(context, size); + } + + protected boolean isNumeric(DisplayLinkContext context) { + return context.flapDisplayContext == Boolean.TRUE; + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayTarget.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayTarget.java new file mode 100644 index 00000000..89b32188 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayTarget.java @@ -0,0 +1,58 @@ +package com.drmangotea.tfmg.content.electricity.utilities.segmented_display; + +import com.simibubi.create.content.redstone.displayLink.DisplayLinkContext; +import com.simibubi.create.content.redstone.displayLink.target.SingleLineDisplayTarget; +import net.minecraft.core.BlockPos; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.MutableComponent; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.phys.AABB; +import net.minecraft.world.phys.Vec3; + + +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import org.apache.commons.lang3.mutable.MutableInt; +import org.apache.commons.lang3.mutable.MutableObject; + +public class SegmentedDisplayTarget extends SingleLineDisplayTarget { + + @Override + protected void acceptLine(MutableComponent text, DisplayLinkContext context) { + String tagElement = Component.Serializer.toJson(text, context.level().registryAccess()); + SegmentedDisplayBlock.walkParts(context.level(), context.getTargetPos(), (currentPos, rowPosition) -> { + BlockEntity blockEntity = context.level() + .getBlockEntity(currentPos); + if (blockEntity instanceof SegmentedDisplayBlockEntity display) + display.displayCustomText(tagElement, rowPosition); + }); + } + + @Override + protected int getWidth(DisplayLinkContext context) { + MutableInt count = new MutableInt(0); + SegmentedDisplayBlock.walkParts(context.level(), context.getTargetPos(), (currentPos, rowPosition) -> count.add(2)); + return count.intValue(); + } + + @Override + @OnlyIn(Dist.CLIENT) + public AABB getMultiblockBounds(LevelAccessor level, BlockPos pos) { + MutableObject start = new MutableObject<>(null); + MutableObject end = new MutableObject<>(null); + SegmentedDisplayBlock.walkParts(level, pos, (currentPos, rowPosition) -> { + end.setValue(currentPos); + if (start.getValue() == null) + start.setValue(currentPos); + }); + + BlockPos diffToCurrent = start.getValue() + .subtract(pos); + BlockPos diff = end.getValue() + .subtract(start.getValue()); + + return super.getMultiblockBounds(level, pos).move(diffToCurrent) + .expandTowards(Vec3.atLowerCornerOf(diff)); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/traffic_light/TimerScrollBehaviour.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/traffic_light/TimerScrollBehaviour.java new file mode 100644 index 00000000..2386e87f --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/traffic_light/TimerScrollBehaviour.java @@ -0,0 +1,73 @@ +package com.drmangotea.tfmg.content.electricity.utilities.traffic_light; + +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueSettingsBoard; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueSettingsFormatter; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollValue.ScrollValueBehaviour; + +import com.simibubi.create.foundation.utility.CreateLang; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.MutableComponent; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.phys.BlockHitResult; + +public class TimerScrollBehaviour extends ScrollValueBehaviour { + + public TimerScrollBehaviour(Component label, SmartBlockEntity be, ValueBoxTransform slot) { + super(label, be, slot); + } + + @Override + public ValueSettingsBoard createBoard(Player player, BlockHitResult hitResult) { + return new ValueSettingsBoard(label, 60, 10, + CreateLang.translatedOptions("generic.unit", "ticks", "seconds", "minutes"), + new ValueSettingsFormatter(this::formatSettings)); + } + + + + @Override + public void setValueSettings(Player player, ValueSettings valueSetting, boolean ctrlHeld) { + int value = valueSetting.value(); + int multiplier = switch (valueSetting.row()) { + case 0 -> 1; + case 1 -> 20; + default -> 60 * 20; + }; + if (!valueSetting.equals(getValueSettings())) + playFeedbackSound(this); + setValue(Math.max(2, Math.max(1, value) * multiplier)); + } + + @Override + public ValueSettings getValueSettings() { + int row = 0; + int value = this.value; + + if (value > 60 * 20) { + value = value / (60 * 20); + row = 2; + } else if (value > 60) { + value = value / 20; + row = 1; + } + + return new ValueSettings(row, value); + } + + public MutableComponent formatSettings(ValueSettings settings) { + int value = Math.max(1, settings.value()); + return Component.literal(switch (settings.row()) { + case 0 -> Math.max(2, value) + "t"; + case 1 -> "0:" + (value < 10 ? "0" : "") + value; + default -> value + ":00"; + }); + } + + @Override + public String getClipboardKey() { + return "Timings"; + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/traffic_light/TrafficLightBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/traffic_light/TrafficLightBlock.java new file mode 100644 index 00000000..5097f92f --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/traffic_light/TrafficLightBlock.java @@ -0,0 +1,45 @@ +package com.drmangotea.tfmg.content.electricity.utilities.traffic_light; + + +import com.drmangotea.tfmg.base.blocks.TFMGHorizontalDirectionalBlock; +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class TrafficLightBlock extends TFMGHorizontalDirectionalBlock implements IBE { + public TrafficLightBlock(Properties p_54120_) { + super(p_54120_); + } + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level,pos, IElectric::onPlaced); + } + + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + + @Override + public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) { + return TFMGShapes.TRAFFIC_LIGHT; + } + + @Override + public Class getBlockEntityClass() { + return TrafficLightBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.TRAFFIC_LIGHT.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/traffic_light/TrafficLightBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/traffic_light/TrafficLightBlockEntity.java new file mode 100644 index 00000000..e42c968e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/traffic_light/TrafficLightBlockEntity.java @@ -0,0 +1,115 @@ +package com.drmangotea.tfmg.content.electricity.utilities.traffic_light; + +import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; +import com.simibubi.create.Create; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollValue.ScrollValueBehaviour; + +import com.simibubi.create.foundation.utility.CreateLang; +import net.createmod.catnip.animation.LerpedFloat; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +import java.util.List; + +public class TrafficLightBlockEntity extends ElectricBlockEntity { + + protected ScrollValueBehaviour timerLength; + + public LerpedFloat glow = LerpedFloat.linear(); + + int light = 0; + + public int timer = 180; + public TrafficLightBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + @Override + public void addBehaviours(List behaviours) { + super.addBehaviours(behaviours); + timerLength = new TimerScrollBehaviour(CreateLang.translateDirect("traffic_light.timer"), this, + new TrafficLightScrollSlot()).between(180, 60 * 20 * 60); + timerLength.withFormatter(this::format); + timerLength.withCallback(value-> timer = value); + timerLength.setValue(2); + behaviours.add(timerLength); + + + } + private String format(int value) { + if (value < 60) + return value + "t"; + if (value < 20 * 60) + return (value / 20) + "s"; + return (value / 20 / 60) + "m"; + } + + + @Override + public boolean hasElectricitySlot(Direction direction) { + return direction.getAxis().isVertical(); + } + + @Override + public float resistance() { + return 175; + } + + @Override + public void tick() { + super.tick(); + + if(!level.isClientSide) + return; + if(timer>0) { + timer--; + } + + + glow.chase(200f,0.4, LerpedFloat.Chaser.EXP); + + + int halfTimer = timerLength.getValue()/2; + + + if(timer60) { + light = 0; + }else + + if(timer>halfTimer+30) { + light = 2; + }else{ light = 1; + } + + if(timer == 0){ + + + + glow.setValue(0); + + timer = timerLength.getValue(); + } + + + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + + timer = compound.getInt("Timer"); + + } + + @Override + public void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + + compound.putInt("Timer", timer); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/traffic_light/TrafficLightRenderer.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/traffic_light/TrafficLightRenderer.java new file mode 100644 index 00000000..15da0f60 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/traffic_light/TrafficLightRenderer.java @@ -0,0 +1,49 @@ +package com.drmangotea.tfmg.content.electricity.utilities.traffic_light; + + +import com.drmangotea.tfmg.registry.TFMGPartialModels; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; +import dev.engine_room.flywheel.lib.transform.TransformStack; +import net.createmod.catnip.render.CachedBuffers; +import com.simibubi.create.foundation.render.RenderTypes; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.state.BlockState; + +public class TrafficLightRenderer extends SafeBlockEntityRenderer { + public TrafficLightRenderer(BlockEntityRendererProvider.Context context) { + + } + + @Override + protected void renderSafe(TrafficLightBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { + + + BlockState blockState = be.getBlockState(); + var msr = TransformStack.of(ms); + + + ms.pushPose(); + + float glow = be.glow.getValue(partialTicks); + + + // if(be.glow.getValue()!=0) { + + if(be.getData().getVoltage()>0&&be.getPowerUsage()>0) + CachedBuffers.partialFacing(TFMGPartialModels.TRAFFIC_LIGHT, blockState, blockState.getValue(HorizontalDirectionalBlock.FACING).getOpposite()) + .light((int) glow * 3 + 80) + .color(be.light == 0 ? 0x4CFF00 : be.light == 1 ? 0xF78000 : 0xE22B16) + .disableDiffuse() + .translateY(be.light == 0 ? 0 : (float) (be.light == 1 ? 0.3125 : 0.625)) + .renderInto(ms, buffer.getBuffer(RenderTypes.additive())); + + + // } + ms.popPose(); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/traffic_light/TrafficLightScrollSlot.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/traffic_light/TrafficLightScrollSlot.java new file mode 100644 index 00000000..92c90ec9 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/traffic_light/TrafficLightScrollSlot.java @@ -0,0 +1,55 @@ +package com.drmangotea.tfmg.content.electricity.utilities.traffic_light; + + +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; +import dev.engine_room.flywheel.lib.transform.TransformStack; +import net.createmod.catnip.math.AngleHelper; +import net.createmod.catnip.math.VecHelper; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.phys.Vec3; + +public class TrafficLightScrollSlot extends ValueBoxTransform { + + @Override + public Vec3 getLocalOffset(LevelAccessor level, BlockPos pos, BlockState state) { + + Direction direction = state.getValue(TrafficLightBlock.FACING); + + float x = 3.5f; + float z = 8; + + if(direction ==Direction.WEST) + x = 12.5f; + + if(direction == Direction.NORTH){ + x=8; + z=12.5f; + } + if(direction == Direction.SOUTH){ + x=8; + z=3.5f; + } + + + return VecHelper.voxelSpace(x, 8, z); + } + + @Override + public void rotate(LevelAccessor level, BlockPos pos, BlockState state, PoseStack ms) { + float yRot = AngleHelper.horizontalAngle(state.getValue(BlockStateProperties.HORIZONTAL_FACING)) + 180; + TransformStack.of(ms) + .rotateYDegrees(yRot+180) + .rotateYDegrees(0); + } + + @Override + public int getOverrideColor() { + return 0x77FFAB; + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/transformer/ElectromagneticCoilItem.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/transformer/ElectromagneticCoilItem.java new file mode 100644 index 00000000..b797b387 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/transformer/ElectromagneticCoilItem.java @@ -0,0 +1,32 @@ +package com.drmangotea.tfmg.content.electricity.utilities.transformer; + + +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.simibubi.create.foundation.utility.CreateLang; +import net.minecraft.ChatFormatting; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.level.Level; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; + + +import java.util.List; + +public class ElectromagneticCoilItem extends Item { + public ElectromagneticCoilItem(Properties p_41383_) { + super(p_41383_); + } + + @Override + @OnlyIn(Dist.CLIENT) + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag flag) { + tooltip.add(CreateLang.translateDirect("tooltip.coils", stack.get(TFMGDataComponents.COIL_TURNS)==null?0:stack.get(TFMGDataComponents.COIL_TURNS)) + .withStyle(ChatFormatting.GREEN) + ); + super.appendHoverText(stack, context, tooltip, flag); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/transformer/TransformerBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/transformer/TransformerBlock.java new file mode 100644 index 00000000..743c4210 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/transformer/TransformerBlock.java @@ -0,0 +1,91 @@ +package com.drmangotea.tfmg.content.electricity.utilities.transformer; + +import com.drmangotea.tfmg.base.blocks.TFMGHorizontalDirectionalBlock; +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.electricity.base.IVoltageChanger; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class TransformerBlock extends TFMGHorizontalDirectionalBlock implements IBE, IVoltageChanger { + public TransformerBlock(Properties p_54120_) { + super(p_54120_); + } + + + @Override + public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) { + return TFMGShapes.TRANSFORMER.get(p_60555_.getValue(FACING)); + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + ItemStack inHand = player.getItemInHand(hand); + + if(level.getBlockEntity(pos) instanceof TransformerBlockEntity be){ + if(inHand.is(TFMGItems.ELECTROMAGNETIC_COIL.get())){ + if(be.primaryCoil.isEmpty()) { + be.primaryCoil = inHand; + player.setItemInHand(hand,ItemStack.EMPTY); + withBlockEntityDo(level, pos, TransformerBlockEntity::updateCoils); + return ItemInteractionResult.SUCCESS; + } + if(be.secondaryCoil.isEmpty()) { + be.secondaryCoil = inHand; + player.setItemInHand(hand,ItemStack.EMPTY); + withBlockEntityDo(level, pos, TransformerBlockEntity::updateCoils); + return ItemInteractionResult.SUCCESS; + } + + }else if(inHand.isEmpty()){ + if(!be.primaryCoil.isEmpty()) { + player.setItemInHand(hand,be.primaryCoil); + be.primaryCoil = ItemStack.EMPTY; + withBlockEntityDo(level, pos, TransformerBlockEntity::updateCoils); + return ItemInteractionResult.SUCCESS; + } + if(!be.secondaryCoil.isEmpty()) { + player.setItemInHand(hand,be.secondaryCoil); + be.secondaryCoil = ItemStack.EMPTY; + withBlockEntityDo(level, pos, TransformerBlockEntity::updateCoils); + return ItemInteractionResult.SUCCESS; + } + + } + } + + return super.useItemOn(stack,state, level, pos, player, hand,hitResult); + } + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level,pos, IElectric::onPlaced); + } + + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + @Override + public Class getBlockEntityClass() { + return TransformerBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.TRANSFORMER.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/transformer/TransformerBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/transformer/TransformerBlockEntity.java new file mode 100644 index 00000000..888838a1 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/transformer/TransformerBlockEntity.java @@ -0,0 +1,233 @@ +package com.drmangotea.tfmg.content.electricity.utilities.transformer; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.blocks.TFMGHorizontalDirectionalBlock; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.electricity.base.UpdateInFrontPacket; +import com.drmangotea.tfmg.content.electricity.base.VoltageAlteringBlockEntity; + +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.simibubi.create.foundation.utility.CreateLang; +import net.createmod.catnip.platform.CatnipServices; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.entity.item.ItemEntity; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.ChunkPos; +import net.minecraft.world.level.block.DirectionalBlock; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + + +import java.util.List; + +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class TransformerBlockEntity extends VoltageAlteringBlockEntity { + boolean updateInFront = false; + + public ItemStack primaryCoil = ItemStack.EMPTY; + public ItemStack secondaryCoil = ItemStack.EMPTY; + + public float coilRatio = 0; + + public TransformerBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + @Override + public int getOutputVoltage() { + return (int) (getData().getVoltage()*coilRatio); + } + + @Override + public int getOutputPower() { + return coilRatio == 0 ? 0 : getPowerUsage(); + } + + @Override + public IElectric getControlledBlock() { + Direction facing = getBlockState().hasProperty(DirectionalBlock.FACING) ? getBlockState().getValue(DirectionalBlock.FACING) : getBlockState().getValue(HorizontalDirectionalBlock.FACING).getCounterClockWise(); + if (level.getBlockEntity(getBlockPos().relative(facing)) instanceof IElectric be && be.getData().getId() != data.getId()) { + return be; + } + return null; + } + + @Override + public void tick() { + super.tick(); + if(updateInFront) { + updateInFront(); + updateInFront = false; + } + } + + @Override + public void destroy() { + super.destroy(); + BlockPos pos = this.getBlockPos(); + if(!primaryCoil.isEmpty()){ + ItemEntity item = new ItemEntity(level, pos.getX()+.5f,pos.getY()+.5f,pos.getZ()+.5f,primaryCoil); + level.addFreshEntity(item); + } + if(!secondaryCoil.isEmpty()){ + ItemEntity item = new ItemEntity(level, pos.getX()+.5f,pos.getY()+.5f,pos.getZ()+.5f,secondaryCoil); + level.addFreshEntity(item); + } + } + + @Override + public int getPowerUsage() { + Direction facing = getDirection(); + + if (level.getBlockEntity(getBlockPos().relative(facing)) instanceof IElectric be && be.getData().getId() != data.getId()) { + if (be.hasElectricitySlot(facing.getOpposite())) { + + return Math.max(be.getNetworkPowerUsage(this), 0); + + + } + } + + return 0; + + } + + + + public void updateCoils(){ + if(primaryCoil.get(TFMGDataComponents.COIL_TURNS)==null||secondaryCoil.get(TFMGDataComponents.COIL_TURNS)==null) + return; + int primaryTurns = primaryCoil.get(TFMGDataComponents.COIL_TURNS); + int secondaryTurns = secondaryCoil.get(TFMGDataComponents.COIL_TURNS); + + if(primaryCoil.isEmpty()||secondaryCoil.isEmpty()||primaryTurns<50||secondaryTurns<50){ + coilRatio = 0; + updateNextTick(); + updateInFront(); + return; + } + + coilRatio = (float) (float)secondaryTurns/(float) primaryTurns; + + updateNextTick(); + updateInFront(); + + } + + @Override + public boolean makeMultimeterTooltip(List tooltip, boolean isPlayerSneaking) { + super.makeMultimeterTooltip(tooltip, isPlayerSneaking); + + if(coilRatio!=0) { + CreateLang.text("----------------------------") + .style(ChatFormatting.WHITE) + .forGoggles(tooltip); + CreateLang.translate("multimeter.transformer_ratio") + .add(CreateLang.number(coilRatio)) + .color(0xc6e82c) + .forGoggles(tooltip, 1); + } + return true; + } + + @Override + public float resistance() { + Direction facing = getBlockState().getValue(FACING).getCounterClockWise(); + if (level.getBlockEntity(getBlockPos().relative(facing)) instanceof IElectric be && be.getData().getId() != data.getId()) { + if (be.hasElectricitySlot(facing.getOpposite())) + return Math.max(be.getNetworkResistance(), 0); + } + return 0; + } + public Direction getDirection(){ + if(!getBlockState().hasProperty(DirectionalBlock.FACING)){ + return getBlockState().getValue(TFMGHorizontalDirectionalBlock.FACING).getCounterClockWise(); + } + + return getBlockState().getValue(DirectionalBlock.FACING); + } + + @Override + public boolean hasElectricitySlot(Direction direction) { + return direction == getBlockState().getValue(FACING).getClockWise(); + } + @Override + public void onNetworkChanged(int oldVoltage, int oldPower) { + super.onNetworkChanged(oldVoltage, oldPower); + if (oldVoltage != getData().getVoltage() || oldPower != getPowerUsage()) { + updateInFront = true; + } + sendStuff(); + setChanged(); + } + + @Override + public void updateNetwork() { + super.updateNetwork(); + updateInFront(); + } + + @Override + public void remove() { + + super.remove(); + updateInFront(); + } + + @Override + public void onPlaced() { + + super.onPlaced(); + updateInFront = true; + } + + public void updateInFront() { + + if (level instanceof ServerLevel serverLevel) + CatnipServices.NETWORK.sendToClientsTrackingChunk(serverLevel, new ChunkPos(worldPosition),new UpdateInFrontPacket(BlockPos.of(getPos()))); + Direction facing = getBlockState().hasProperty(DirectionalBlock.FACING) ? getBlockState().getValue(DirectionalBlock.FACING) : getBlockState().getValue(HorizontalDirectionalBlock.FACING).getCounterClockWise(); + if (level.getBlockEntity(getBlockPos().relative(facing)) instanceof IElectric be && be.getData().getId() != data.getId()) { + if (be.hasElectricitySlot(facing.getOpposite())) { + be.updateNextTick(); + + } + } + sendStuff(); + setChanged(); + } + @Override + protected void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + if(!primaryCoil.isEmpty()) + compound.put("PrimaryCoil", primaryCoil.saveOptional(registries)); + if(!secondaryCoil.isEmpty()) + compound.put("SecondaryCoil", secondaryCoil.save(registries)); + + compound.putFloat("CoilRation", coilRatio); + + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + + if (compound.contains("PrimaryCoil")) { + ItemStack.parse(registries, compound.getCompound("PrimaryCoil")).ifPresent(i -> primaryCoil = i); + } + if (compound.contains("SecondaryCoil")) { + ItemStack.parse(registries, compound.getCompound("SecondaryCoil")).ifPresent(i -> secondaryCoil = i); + } +; + + coilRatio = compound.getFloat("CoilRation"); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/transformer/TransformerRenderer.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/transformer/TransformerRenderer.java new file mode 100644 index 00000000..c0c08f31 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/transformer/TransformerRenderer.java @@ -0,0 +1,43 @@ +package com.drmangotea.tfmg.content.electricity.utilities.transformer; + +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; +import net.createmod.catnip.render.CachedBuffers; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.state.BlockState; + +import static com.simibubi.create.content.kinetics.base.HorizontalKineticBlock.HORIZONTAL_FACING; +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class TransformerRenderer extends SafeBlockEntityRenderer { + + public TransformerRenderer(BlockEntityRendererProvider.Context context) { + } + + @Override + protected void renderSafe(TransformerBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource bufferSource, int light, int overlay) { + BlockState blockState = be.getBlockState(); + if (!be.primaryCoil.isEmpty()) { + CachedBuffers.partial(TFMGPartialModels.TRANSFORMER_COIL, blockState) + .center() + .rotateYDegrees(blockState.getValue(HORIZONTAL_FACING).getAxis() == Direction.Axis.Z ? Math.abs(blockState.getValue(FACING).toYRot() - 180) : blockState.getValue(FACING).toYRot()) + .light(light) + .translateX(0.5f) + .uncenter() + .renderInto(ms, bufferSource.getBuffer(RenderType.cutoutMipped())); + } + + if (!be.secondaryCoil.isEmpty()) { + CachedBuffers.partial(TFMGPartialModels.TRANSFORMER_COIL, blockState) + .light(light) + .center() + .rotateYDegrees(blockState.getValue(HORIZONTAL_FACING).getAxis() == Direction.Axis.Z ? Math.abs(blockState.getValue(FACING).toYRot() - 180) : blockState.getValue(FACING).toYRot()) + .uncenter() + .renderInto(ms, bufferSource.getBuffer(RenderType.cutoutMipped())); + } + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/voltage_observer/VoltageObserverBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/voltage_observer/VoltageObserverBlock.java new file mode 100644 index 00000000..68009bc7 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/voltage_observer/VoltageObserverBlock.java @@ -0,0 +1,104 @@ +package com.drmangotea.tfmg.content.electricity.utilities.voltage_observer; + + +import com.drmangotea.tfmg.base.blocks.WallMountBlock; +import com.drmangotea.tfmg.content.electricity.base.ConnectNeightborsPacket; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.simibubi.create.foundation.block.IBE; +import net.createmod.catnip.platform.CatnipServices; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.ChunkPos; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BooleanProperty; + +import javax.annotation.Nullable; + +public class VoltageObserverBlock extends WallMountBlock implements IBE { + + public static final BooleanProperty POWERED = BooleanProperty.create("powered"); + + + public VoltageObserverBlock(Properties p_49795_) { + super(p_49795_); + this.registerDefaultState(this.stateDefinition.any().setValue(POWERED,false)); + } + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + if (level instanceof ServerLevel serverLevel) + CatnipServices.NETWORK.sendToClientsTrackingChunk(serverLevel, new ChunkPos(pos),new ConnectNeightborsPacket(pos)); + withBlockEntityDo(level,pos, VoltageObserverBlockEntity::onPlaced); + + } + + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + super.createBlockStateDefinition(builder); + builder.add(POWERED); + } + + @Override + public boolean isSignalSource(BlockState p_60571_) { + return true; + } + + @Override + public int getSignal(BlockState p_60483_, BlockGetter p_60484_, BlockPos p_60485_, Direction p_60486_) { + return p_60483_.getValue(POWERED) ? 15 : 0; + + } + + @Override + public boolean hasAnalogOutputSignal(BlockState p_149740_1_) { + return true; + } + + @Override + public int getAnalogOutputSignal(BlockState state, Level world, BlockPos pos) { + return getBlockEntityOptional(world, pos).map(VoltageObserverBlockEntity::getComparatorOutput) + .orElse(0); + } + + @Override + public Class getBlockEntityClass() { + return VoltageObserverBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.VOLTAGE_OBSERVER.get(); + } + + @Nullable + public BlockState getStateForPlacement(BlockPlaceContext p_58126_) { + BlockState blockstate = this.defaultBlockState(); + LevelReader levelreader = p_58126_.getLevel(); + BlockPos blockpos = p_58126_.getClickedPos(); + Direction[] adirection = p_58126_.getNearestLookingDirections(); + + for(Direction direction : adirection) { + Direction direction1 = direction.getOpposite(); + blockstate = blockstate.setValue(FACING, direction1.getOpposite()); + return blockstate; + + + } + + return null; + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/voltage_observer/VoltageObserverBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/voltage_observer/VoltageObserverBlockEntity.java new file mode 100644 index 00000000..71b4a153 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/voltage_observer/VoltageObserverBlockEntity.java @@ -0,0 +1,48 @@ +package com.drmangotea.tfmg.content.electricity.utilities.voltage_observer; + + +import com.drmangotea.tfmg.base.blocks.WallMountBlock; +import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; +import com.simibubi.create.foundation.blockEntity.ComparatorUtil; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +import static com.drmangotea.tfmg.content.electricity.utilities.voltage_observer.VoltageObserverBlock.POWERED; + + +public class VoltageObserverBlockEntity extends ElectricBlockEntity { + + boolean update = false; + + public VoltageObserverBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + + @Override + public void onNetworkChanged(int oldVoltage, int oldPower) { + super.onNetworkChanged(oldVoltage, oldPower); + update = true; + } + + public int getComparatorOutput() { + return ComparatorUtil.fractionToRedstoneLevel((double) getData().getVoltage() /250); + } + + @Override + public void tick() { + super.tick(); + if(update){ + level.setBlock(getBlockPos(),getBlockState().setValue(POWERED,getData().getVoltage() != 0),2); + level.updateNeighborsAt(getBlockPos(), getBlockState().getBlock()); + update = false; + } + } + + @Override + public boolean hasElectricitySlot(Direction direction) { + return direction == getBlockState().getValue(WallMountBlock.FACING); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/voltage_observer/VoltageObserverGenerator.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/voltage_observer/VoltageObserverGenerator.java new file mode 100644 index 00000000..2cfc5097 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/voltage_observer/VoltageObserverGenerator.java @@ -0,0 +1,78 @@ +package com.drmangotea.tfmg.content.electricity.utilities.voltage_observer; + + + +import com.drmangotea.tfmg.base.blocks.WallMountBlock; +import com.simibubi.create.foundation.data.AssetLookup; +import com.simibubi.create.foundation.data.SpecialBlockStateGen; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.model.generators.ModelFile; + +public class VoltageObserverGenerator extends SpecialBlockStateGen { + public VoltageObserverGenerator() { + } + + protected int getXRotation(BlockState state) { + short value; + switch ((Direction)state.getValue(WallMountBlock.FACING)) { + case NORTH: + value = 90; + break; + case SOUTH: + value = 90; + break; + case WEST: + value = 90; + break; + case EAST: + value = 90; + break; + case DOWN: + value = 180; + break; + case UP: + value = 0; + break; + default: + throw new IncompatibleClassChangeError(); + } + + return value; + } + + protected int getYRotation(BlockState state) { + short value; + switch ((Direction)state.getValue(WallMountBlock.FACING)) { + case NORTH: + value = 0; + break; + case SOUTH: + value = 180; + break; + case WEST: + value = 270; + break; + case EAST: + value = 90; + break; + case DOWN: + value = 0; + break; + case UP: + value = 0; + break; + default: + throw new IncompatibleClassChangeError(); + } + + return value; + } + + public ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, BlockState state) { + return (Boolean)state.getValue(VoltageObserverBlock.POWERED) ? AssetLookup.partialBaseModel(ctx, prov, new String[]{"on"}) : AssetLookup.partialBaseModel(ctx, prov, new String[0]); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/CylinderItem.java b/src/main/java/com/drmangotea/tfmg/content/engines/CylinderItem.java new file mode 100644 index 00000000..c0df6ea0 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/CylinderItem.java @@ -0,0 +1,55 @@ +package com.drmangotea.tfmg.content.engines; + + +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.simibubi.create.foundation.utility.CreateLang; +import net.minecraft.ChatFormatting; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.ComponentContents; +import net.minecraft.network.chat.MutableComponent; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.level.Level; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; + + +import java.util.List; + +public class CylinderItem extends Item { + + + public CylinderItem(Properties p_41383_) { + super(p_41383_); + } + + @Override + @OnlyIn(Dist.CLIENT) + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag flag) { + super.appendHoverText(stack, context, tooltip, flag); + + if(stack.get(TFMGDataComponents.FUELS)==null) + return; + + CompoundTag fuels = stack.get(TFMGDataComponents.FUELS); + + if(fuels.isEmpty()) + return; + tooltip.add(CreateLang.translateDirect("tooltip.cylinder") + .withStyle(ChatFormatting.GRAY)); + + for(String key : fuels.getAllKeys()) { + + + MutableComponent component = CreateLang.text("- ").component() + .append(Component.translatable(fuels.getString(key))) + .withStyle(ChatFormatting.AQUA); + tooltip.add(component); + } + + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/FluidContainingItem.java b/src/main/java/com/drmangotea/tfmg/content/engines/FluidContainingItem.java new file mode 100644 index 00000000..58e583bb --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/FluidContainingItem.java @@ -0,0 +1,89 @@ +package com.drmangotea.tfmg.content.engines; + +import com.drmangotea.tfmg.content.items.weapons.flamethrover.FlamethrowerItem; +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; + +import com.simibubi.create.foundation.utility.CreateLang; +import com.tterrag.registrate.util.entry.FluidEntry; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.Level; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; + + +import java.util.List; + +public class FluidContainingItem extends Item { + + public final FluidEntry fluid; + + public static final int CAPACITY = 4000; + + public FluidContainingItem(Properties p_41383_, FluidEntry fluid) { + super(p_41383_); + this.fluid = fluid; + } + + @Override + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltipComponents, TooltipFlag tooltipFlag) { + tooltipComponents.add(CreateLang.translateDirect("tooltip.fluid_item", stack.get(TFMGDataComponents.AMOUNT)==null?0:stack.get(TFMGDataComponents.AMOUNT)) + .withStyle(ChatFormatting.GREEN) + ); + super.appendHoverText(stack, context, tooltipComponents, tooltipFlag); + } + + + + @Override + public InteractionResult useOn(UseOnContext context) { + + Level level = context.getLevel(); + BlockPos pos = context.getClickedPos(); + ItemStack stack = context.getItemInHand(); + + + if (context.getPlayer().isShiftKeyDown()&&stack.get(TFMGDataComponents.AMOUNT)>0) { + + level.playSound(null, pos, SoundEvents.BUCKET_FILL, SoundSource.BLOCKS, 1f, 1f); + stack.set(TFMGDataComponents.AMOUNT, 0); + return InteractionResult.SUCCESS; + } + + if (level.getBlockEntity(pos) != null) + if (level.getBlockEntity(pos) instanceof FluidTankBlockEntity fluidTankBe) { + + FluidTankBlockEntity be = fluidTankBe.isController() ? fluidTankBe : fluidTankBe.getControllerBE(); + + if (be.getFluid(0).getFluid().isSame(fluid.get())) { + + int toDrain = Math.min(CAPACITY - stack.get(TFMGDataComponents.AMOUNT), be.getFluid(0).getAmount()); + if(toDrain == 0||context.getPlayer().getCooldowns().isOnCooldown(stack.getItem())) + return InteractionResult.PASS; + level.playSound(null, be.getBlockPos(), SoundEvents.BUCKET_FILL, SoundSource.BLOCKS, 1f, 1f); + be.getTankInventory().drain(toDrain, IFluidHandler.FluidAction.EXECUTE); + stack.set(TFMGDataComponents.AMOUNT, stack.get(TFMGDataComponents.AMOUNT) + toDrain); + context.getPlayer().getCooldowns().addCooldown(stack.getItem(), 20); + + + + + return InteractionResult.SUCCESS; + } + } + + return InteractionResult.PASS; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/base/AbstractEngineBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/engines/base/AbstractEngineBlockEntity.java new file mode 100644 index 00000000..8c26946c --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/base/AbstractEngineBlockEntity.java @@ -0,0 +1,361 @@ +package com.drmangotea.tfmg.content.engines.base; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.config.TFMGConfigs; +import com.drmangotea.tfmg.content.electricity.base.KineticElectricBlockEntity; +import com.drmangotea.tfmg.content.engines.fuels.BaseFuelTypes; +import com.drmangotea.tfmg.content.engines.fuels.EngineFuelTypeManager; +import com.drmangotea.tfmg.content.engines.fuels.FuelType; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.drmangotea.tfmg.registry.TFMGTags; +import com.simibubi.create.AllBlockEntityTypes; +import com.simibubi.create.foundation.fluid.CombinedTankWrapper; +import com.simibubi.create.foundation.utility.CreateLang; +import net.createmod.catnip.math.VecHelper; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.tags.TagKey; +import net.minecraft.world.entity.item.ItemEntity; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.material.Fluid; +import net.minecraft.world.phys.Vec3; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.util.List; +import java.util.concurrent.atomic.AtomicReference; + +import static com.drmangotea.tfmg.content.engines.base.EngineBlock.ENGINE_STATE; +import static com.drmangotea.tfmg.content.engines.base.EngineBlock.EngineState.SHAFT; + +public abstract class AbstractEngineBlockEntity extends KineticElectricBlockEntity { + + // + + public EngineFluidTank fuelTank; + public EngineFluidTank exhaustTank; + public IFluidHandler fluidCapability; + // + + // + public float rpm = 0; + public float fuelInjectionRate = 0; + // + public boolean reverse = false; + // + public int highestSignal; + public int signal; + // + public BlockPos engineController; + // + + // + + public float torque = 0; + public boolean signalChanged; + // + public int fuelConsumptionTimer = 0; + // + + + public AbstractEngineBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + super(typeIn, pos, state); + setLazyTickRate(10); + fuelTank = new EngineFluidTank(4000, false, true, f->tankUpdated(f,true), TFMGTags.TFMGFluidTags.AIR.tag); + exhaustTank = new EngineFluidTank(8000, true, false, f->tankUpdated(f,false)); + fluidCapability = new CombinedTankWrapper(fuelTank, exhaustTank); + + refreshCapability(); + } + + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.FluidHandler.BLOCK, + TFMGBlockEntities.REGULAR_ENGINE.get(), + (be, context) -> be.fluidCapability + ); + event.registerBlockEntity( + Capabilities.FluidHandler.BLOCK, + TFMGBlockEntities.TURBINE_ENGINE.get(), + (be, context) -> be.fluidCapability + ); + event.registerBlockEntity( + Capabilities.FluidHandler.BLOCK, + TFMGBlockEntities.RADIAL_ENGINE.get(), + (be, context) -> be.fluidCapability + ); + + } + + + @Override + public void tick() { + if (signalChanged) { + signalChanged = false; + analogSignalChanged(); + } + super.tick(); + } + + public void tankUpdated(FluidStack stack, boolean fuelTank ) { + if(fuelTank && stack.isEmpty()) { + fuelInjectionRate = 0; + updateRotation(); + } + sendData(); + setChanged(); + } + + public boolean hasEngineController() { + return engineController != null; + } + + + @Override + public void updateNetwork() { + super.updateNetwork(); + } + + protected void analogSignalChanged() { + + + if (hasEngineController()) { + fuelInjectionRate = highestSignal / 15f; + return; + } + + int newSignal = level.getBestNeighborSignal(getBlockPos()); + + signal = newSignal; + + + newSignal = Math.max(level.getBestNeighborSignal(getBlockPos()), newSignal); + highestSignal = newSignal; + fuelInjectionRate = highestSignal / 15f; + updateRotation(); + + } + + //@Override + //public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { +// + // CreateLang.text("SIGNAL " + highestSignal).forGoggles(tooltip); +// +// + // return super.addToGoggleTooltip(tooltip, isPlayerSneaking); + //} + + + @Override + public void lazyTick() { + super.lazyTick(); + + neighbourChanged(); + + + + manageFuelAndExhaust(); + } + + public void manageFuelAndExhaust() { + exhaustTank.forceFill(new FluidStack(TFMGFluids.CARBON_DIOXIDE.get(), Math.min(300, getFuelConsumption())), IFluidHandler.FluidAction.EXECUTE); + + if (fuelConsumptionTimer <= 2) { + fuelConsumptionTimer++; + } else { + fuelConsumptionTimer = 0; + fuelTank.forceDrain(getFuelConsumption(), IFluidHandler.FluidAction.EXECUTE); + + if (fuelTank.isEmpty()) + updateRotation(); + + } + } + + + @Override + public boolean makeMultimeterTooltip(List tooltip, boolean isPlayerSneaking) { + return false; + } + + + public float getSpeedEfficiency() { + if (rpm >= 6000) + return 1; + + return 1 / (0.08f * (rpm / 1000) + 0.5f); + } + + + public abstract List> getSupportedFuels(); + + public void onUpdated() { + } + + + public boolean canWork() { + + if (fuelTank.isEmpty()) + return false; + + if (exhaustTank.getSpace() == 0) + return false; + + + return true; + } + + public void updateRotation() { + } + + public abstract float efficiencyModifier(); + + public abstract float speedModifier(); + + public abstract float torqueModifier(); + + public abstract String engineId(); + + + public FuelType getFuelType() { + + AtomicReference matchingType = new AtomicReference<>(BaseFuelTypes.FALLBACK); + + EngineFuelTypeManager.GLOBAL_TYPE_MAP.forEach((r, t) -> { + TagKey fluidTag = t.getFluid(); + FluidStack fluid = fuelTank.getFluid(); + if (fluid.getFluid().is(fluidTag)) { + matchingType.set(t); + } + + }); + return matchingType.get(); + } + + public void refreshCapability() { + IFluidHandler oldCap = fluidCapability; + fluidCapability = this.handlerForCapability(); + invalidateCapabilities(); + } + + public IFluidHandler handlerForCapability() { + + return new CombinedTankWrapper(fuelTank, exhaustTank); + } + + + + public int getMaxLength() { + return TFMGConfigs.common().machines.engineMaxLength.get(); + } + + + public void changeDirection() { + playInsertionSound(); + reverse = !reverse; + updateRotation(); + } + + public void dropItem(ItemStack stack) { + Vec3 dropVec = VecHelper.getCenterOf(worldPosition).add(0, 0.3f, 0); + ItemEntity dropped = new ItemEntity(level, dropVec.x, dropVec.y, dropVec.z, stack); + dropped.setDefaultPickUpDelay(); + dropped.setDeltaMovement(0, 0.15f, 0); + level.addFreshEntity(dropped); + } + + + public void playInsertionSound() { + level.playSound(null, getBlockPos(), SoundEvents.ITEM_PICKUP, SoundSource.BLOCKS, 0.4f, 0.5f); + } + + public void playRemovalSound() { + level.playSound(null, getBlockPos(), SoundEvents.ITEM_PICKUP, SoundSource.BLOCKS, 0.4f, 0.5f); + } + + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + + reverse = compound.getBoolean("Reverse"); + signal = compound.getInt("Signal")+1; + if (hasEngineController()) + engineController = BlockPos.of(compound.getLong("EngineController")); + fuelInjectionRate = compound.getFloat("RPM"); + + // if (isController()) { + // if (!BlockPos.of(compound.getLong("ControllerPos")).equals(new BlockPos(0, 0, 0))) + // controller = BlockPos.of(compound.getLong("ControllerPos")); + + fuelTank.readFromNBT(registries,compound.getCompound("FuelTank")); + exhaustTank.readFromNBT(registries,compound.getCompound("ExhaustTank")); + + highestSignal = compound.getInt("HighestSignal"); + + //signalChanged = true; + updateRotation(); + updateGeneratedRotation(); + + //} + + } + + @Override + protected void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + + compound.putBoolean("Reverse", reverse); + compound.putInt("Signal", signal); + if (hasEngineController()) + compound.putLong("EngineController", engineController.asLong()); + compound.putFloat("RPM", fuelInjectionRate); + + + compound.put("FuelTank", fuelTank.writeToNBT(registries,new CompoundTag())); + compound.put("ExhaustTank", exhaustTank.writeToNBT(registries,new CompoundTag())); + + compound.putInt("HighestSignal", highestSignal); + + + } + + + public abstract int getFuelConsumption(); + + + @Override + public void onPlaced() { + super.onPlaced(); + } + + + public void neighbourChanged() { + + + if (!hasLevel()) + return; + + + int power = level.getBestNeighborSignal(getBlockPos()); + + + if (power != this.signal) + this.signalChanged = true; + + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineBlock.java b/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineBlock.java new file mode 100644 index 00000000..44c3dd78 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineBlock.java @@ -0,0 +1,175 @@ +package com.drmangotea.tfmg.content.engines.base; + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.content.engines.engine_controller.EngineControllerBlockEntity; +import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.types.radial_engine.RadialEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.types.turbine_engine.TurbineEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.upgrades.EnginePipingUpgrade; +import com.drmangotea.tfmg.content.engines.upgrades.TransmissionUpgrade; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.content.kinetics.base.HorizontalKineticBlock; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.util.StringRepresentable; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.DirectionProperty; +import net.minecraft.world.level.block.state.properties.EnumProperty; +import net.minecraft.world.level.block.state.properties.Property; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +import java.util.Optional; + +import static com.drmangotea.tfmg.content.engines.base.EngineBlock.EngineState.NORMAL; +import static com.drmangotea.tfmg.content.engines.base.EngineBlock.EngineState.SHAFT; + +public class EngineBlock extends HorizontalKineticBlock { + + public static final EnumProperty ENGINE_STATE = EnumProperty.create("engine_state", EngineState.class); + + public static final Property SHAFT_FACING = DirectionProperty.create("shaft_facing", Direction.Plane.HORIZONTAL); + + public EngineBlock(Properties properties) { + super(properties); + registerDefaultState(defaultBlockState().setValue(ENGINE_STATE, EngineState.NORMAL)); + } + + @Override + public InteractionResult onWrenched(BlockState state, UseOnContext context) { + Level level = context.getLevel(); + BlockPos pos = context.getClickedPos(); + if (level.getBlockEntity(pos) instanceof AbstractSmallEngineBlockEntity be) { + if (be.hasUpgrade()) { + + if (be.upgrade.isPresent()) { + + if (be.upgrade.get() instanceof TransmissionUpgrade) { + if (be.getControllerBE().engineController != null) { + if (level.getBlockEntity(be.getControllerBE().engineController) instanceof EngineControllerBlockEntity engineController) { + engineController.engineStarted = false; + engineController.accelerationRate = 0; + engineController.shift = TransmissionUpgrade.TransmissionState.NEUTRAL; + be.shift = TransmissionUpgrade.TransmissionState.NEUTRAL; + be.clutchPressed = false; + engineController.engine = null; + engineController.enginePos = null; + engineController.disconnectEngine(); + engineController.sendData(); + } + } + //if(!level.isClientSide) + // TFMGPackets.getChannel().send(PacketDistributor.ALL.noArg(), new UpdateInFrontPacket(BlockPos.of(be.getPos()))); + be.getControllerBE().engineController = null; + be.getControllerBE().highestSignal = 0; + be.getControllerBE().connectNextTick = true; + be.getControllerBE().fuelInjectionRate = 0; + be.updateGeneratedRotation(); + be.getControllerBE().updateGeneratedRotation(); + be.getControllerBE().sendData(); + + } + + be.playRemovalSound(); + be.dropItem(be.upgrade.get().getItem().getDefaultInstance()); + + } + be.upgrade = Optional.empty(); + be.updateRotation(); + + return InteractionResult.SUCCESS; + } + if (!(be instanceof RadialEngineBlockEntity) && !(be instanceof TurbineEngineBlockEntity)) + if (state.getValue(ENGINE_STATE) == SHAFT) { + be.playRemovalSound(); + be.dropItem(AllBlocks.SHAFT.asStack()); + level.setBlock(pos, state.setValue(ENGINE_STATE, NORMAL), 2); + be.connectNextTick = true; + be.detachKinetics(); + be.getControllerBE().updateGeneratedRotation(); + be.updateGeneratedRotation(); + if (be.getOrCreateNetwork() != null) + be.getOrCreateNetwork().remove(be); + be.setChanged(); + be.sendData(); + return InteractionResult.SUCCESS; + } + } + return InteractionResult.PASS; + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + if (level.getBlockEntity(pos) instanceof AbstractSmallEngineBlockEntity be) { + if (be.insertItem(player.getItemInHand(hand), player.isShiftKeyDown(), player, hand)) + return ItemInteractionResult.SUCCESS; + } + return super.useItemOn(stack, state, level, pos, player, hand, hitResult); + } + + + + @Override + public VoxelShape getShape(BlockState state, BlockGetter p_60556_, BlockPos pos, CollisionContext p_60558_) { + return state.getValue(ENGINE_STATE) == SHAFT ? TFMGShapes.ENGINE_FRONT.get(state.getValue(HORIZONTAL_FACING).getOpposite()) : TFMGShapes.ENGINE.get(state.getValue(HORIZONTAL_FACING)); + } + + @Override + public boolean hasShaftTowards(LevelReader world, BlockPos pos, BlockState state, Direction face) { + return state.getValue(ENGINE_STATE) == EngineState.SHAFT && face == state.getValue(SHAFT_FACING); + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + super.createBlockStateDefinition(builder); + builder.add(ENGINE_STATE, SHAFT_FACING); + } + + @Override + public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, BlockPos neighbor, boolean b) { + if (level.getBlockEntity(pos) instanceof AbstractSmallEngineBlockEntity be) { + if (be.hasUpgrade() && be.upgrade.get().getItem() == TFMGBlocks.INDUSTRIAL_PIPE.asItem()) { + ((EnginePipingUpgrade) be.upgrade.get()).findTank(be); + } + } + + super.neighborChanged(state, level, pos, block, neighbor, b); + } + + + @Override + public Direction.Axis getRotationAxis(BlockState state) { + return state.getValue(HORIZONTAL_FACING).getAxis(); + } + + public enum EngineState implements StringRepresentable { + + NORMAL("normal"), + SHAFT("front"), + BACK("back"), + SINGLE("single"); + private final String name; + + EngineState(String name) { + this.name = name; + } + + @Override + public String getSerializedName() { + return name; + } + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineCTBehavior.java b/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineCTBehavior.java new file mode 100644 index 00000000..9c1a1c2f --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineCTBehavior.java @@ -0,0 +1,56 @@ +package com.drmangotea.tfmg.content.engines.base; + +import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry; +import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour; +import net.minecraft.client.renderer.texture.TextureAtlasSprite; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.Nullable; + +import static com.simibubi.create.content.kinetics.base.HorizontalKineticBlock.HORIZONTAL_FACING; + +public class EngineCTBehavior extends ConnectedTextureBehaviour.Base { + + protected CTSpriteShiftEntry topShift; + protected CTSpriteShiftEntry bottomShift; + protected CTSpriteShiftEntry sideShift; + + + public EngineCTBehavior(CTSpriteShiftEntry topShift, CTSpriteShiftEntry bottomShift, CTSpriteShiftEntry sideShift){ + this.topShift = topShift; + this.bottomShift = bottomShift; + this.sideShift = sideShift; + } + + @Override + public @Nullable CTSpriteShiftEntry getShift(BlockState state, Direction direction, @Nullable TextureAtlasSprite sprite) { + + if(direction.getAxis().isHorizontal()) + return sideShift; + if(direction == Direction.UP) + return topShift; + if(direction == Direction.DOWN) + return bottomShift; + + return null; + } + + @Override + public boolean connectsTo(BlockState state, BlockState other, BlockAndTintGetter reader, BlockPos pos, BlockPos otherPos, Direction face) { + //if(reader.getBlockEntity(pos) instanceof AbstractEngineBlockEntity be && reader.getBlockEntity(otherPos) instanceof AbstractEngineBlockEntity be2){ + // if(be.controller.asLong()==be2.controller.asLong()) + // return true; + //} + // return false; + return true; + } + + @Override + protected Direction getUpDirection(BlockAndTintGetter reader, BlockPos pos, BlockState state, Direction face) { + if(face.getAxis().isVertical()) + return state.getValue(HORIZONTAL_FACING); + return super.getUpDirection(reader, pos, state, face); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineComponentsInventory.java b/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineComponentsInventory.java new file mode 100644 index 00000000..d23650f8 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineComponentsInventory.java @@ -0,0 +1,44 @@ +package com.drmangotea.tfmg.content.engines.base; + +import com.simibubi.create.foundation.blockEntity.SyncedBlockEntity; +import com.simibubi.create.foundation.item.SmartInventory; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.Ingredient; + +import java.util.List; + +public class EngineComponentsInventory extends SmartInventory { + + public final List components; + public EngineComponentsInventory(SyncedBlockEntity be, List components) { + super(components.size(), be, 1, false); + this.components = components; + } + @Override + public ItemStack insertItem(int slot, ItemStack stack, boolean simulate) { + return inv.insertItem(slot, stack, simulate); + } + public boolean insertItem(ItemStack stack){ + for(int i = 0; i allowedFluids; + final TagKey fluidBlacklist; + + public EngineFluidTank(int capacity, boolean extractionAllowed, boolean insertionAllowed, Consumer updateCallback) { + super(capacity, updateCallback); + this.extractionAllowed = extractionAllowed; + this.insertionAllowed = insertionAllowed; + this.allowedFluids = null; + this.fluidBlacklist = null; + } + + public EngineFluidTank(int capacity, boolean extractionAllowed, boolean insertionAllowed, TagKey allowedFluid, Consumer updateCallback) { + super(capacity, updateCallback); + this.extractionAllowed = extractionAllowed; + this.insertionAllowed = insertionAllowed; + this.allowedFluids = allowedFluid; + this.fluidBlacklist = null; + } + + public EngineFluidTank(int capacity, boolean extractionAllowed, boolean insertionAllowed, Consumer updateCallback,TagKey fluidBlacklist) { + super(capacity, updateCallback); + this.extractionAllowed = extractionAllowed; + this.insertionAllowed = insertionAllowed; + this.allowedFluids = null; + this.fluidBlacklist = fluidBlacklist; + } + + + @Override + public FluidStack drain(FluidStack resource, FluidAction action) { + if (!extractionAllowed) return FluidStack.EMPTY; + return super.drain(resource, action); + } + + public FluidStack forceDrain(FluidStack resource, FluidAction action) { + return super.drain(resource, action); + } + + + public FluidStack forceDrain(int resource, FluidAction action) { + return super.drain(resource, action); + } + + @Override + public FluidStack drain(int maxDrain, FluidAction action) { + if (!extractionAllowed) return FluidStack.EMPTY; + return super.drain(maxDrain, action); + } + + public int forceFill(FluidStack resource, FluidAction action) { + return super.fill(resource, action); + } + + @Override + public int fill(FluidStack resource, FluidAction action) { + + + + if(fluidBlacklist!=null&&resource.getFluid().is(fluidBlacklist)) + return 0; + + if (allowedFluids != null&& !resource.getFluid().is(allowedFluids)) + return 0; + + if (!insertionAllowed) return 0; + return super.fill(resource, action); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineGenerator.java b/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineGenerator.java new file mode 100644 index 00000000..a5a3ace7 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineGenerator.java @@ -0,0 +1,42 @@ +package com.drmangotea.tfmg.content.engines.base; + + + +import com.drmangotea.tfmg.TFMG; +import com.simibubi.create.foundation.data.SpecialBlockStateGen; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.model.generators.ModelFile; + +import static com.drmangotea.tfmg.content.engines.base.EngineBlock.ENGINE_STATE; +import static com.drmangotea.tfmg.content.engines.types.regular_engine.RegularEngineBlock.EXTENDED; + + +public class EngineGenerator extends SpecialBlockStateGen { + @Override + protected int getXRotation(BlockState state) { + return 0; + } + + @Override + protected int getYRotation(BlockState state) { + return horizontalAngle(state.getValue(EngineBlock.SHAFT_FACING).getOpposite()); + } + + + @Override + public ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, + BlockState state) { + + String extended = state.getValue(EXTENDED) ? "_extended" : ""; + + String path = "block/" +ctx.getName()+"/block_" + + state.getValue(ENGINE_STATE).getSerializedName() + extended; + + return prov.models() + .getExistingFile(TFMG.asResource(path)); + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineProperties.java b/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineProperties.java new file mode 100644 index 00000000..15186259 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineProperties.java @@ -0,0 +1,127 @@ +package com.drmangotea.tfmg.content.engines.base; + +import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipes; +import com.drmangotea.tfmg.content.engines.types.regular_engine.PistonPosition; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllItems; +import net.minecraft.world.item.crafting.Ingredient; + +import java.util.ArrayList; +import java.util.List; + +public class EngineProperties { + public static List pistonsI(){ + List pistonPositions = new ArrayList<>(); + + pistonPositions.add(new PistonPosition(0,0.2f,0,0)); + pistonPositions.add(new PistonPosition(0.5f,0.2f,0,0)); + + return pistonPositions; + } + public static List pistonsV(){ + List pistonPositions = new ArrayList<>(); + pistonPositions.add(new PistonPosition(0,0.1f,-0.35f,45)); + pistonPositions.add(new PistonPosition(0.5f,0.1f,-0.35f,45)); + pistonPositions.add(new PistonPosition(0,0.1f,0.35f,-45)); + pistonPositions.add(new PistonPosition(0.5f,0.1f,0.35f,-45)); + return pistonPositions; + } + public static List pistonsW(){ + List pistonPositions = new ArrayList<>(); + pistonPositions.add(new PistonPosition(0,0.15f,-0.25f,45)); + pistonPositions.add(new PistonPosition(0.5f,0.15f,-0.25f,45)); + pistonPositions.add(new PistonPosition(0,0.15f,0.25f,-45)); + pistonPositions.add(new PistonPosition(0.5f,0.15f,0.25f,-45)); + + pistonPositions.add(new PistonPosition(0,-0.1f,-0.35f,77.5f)); + pistonPositions.add(new PistonPosition(0.5f,-0.1f,-0.35f,77.5f)); + pistonPositions.add(new PistonPosition(0,-0.1f,0.35f,-77.5f)); + pistonPositions.add(new PistonPosition(0.5f,-0.1f,0.35f,-77.5f)); + return pistonPositions; + } + public static List pistonsU(){ + List pistonPositions = new ArrayList<>(); + pistonPositions.add(new PistonPosition(0,0.2f,-0.25f,0)); + pistonPositions.add(new PistonPosition(0.5f,0.2f,-0.25f,0)); + pistonPositions.add(new PistonPosition(0,0.2f,0.25f,0)); + pistonPositions.add(new PistonPosition(0.5f,0.2f,0.25f,0)); + return pistonPositions; + } + public static List pistonsBoxer(){ + List pistonPositions = new ArrayList<>(); + pistonPositions.add(new PistonPosition(0,0.05f,-0.3f,90)); + pistonPositions.add(new PistonPosition(0.5f,0.05f,-0.3f,90)); + pistonPositions.add(new PistonPosition(0,0.05f,0.3f,-90)); + pistonPositions.add(new PistonPosition(0.5f,0.05f,0.3f,-90)); + return pistonPositions; + } + + public static List pistonsRadial(){ + + float i = 15/16f; + float f = 10/16f; + List pistonPositions = new ArrayList<>(); + pistonPositions.add(new PistonPosition(0,i,0,0)); + pistonPositions.add(new PistonPosition(0,f,-f,45)); + pistonPositions.add(new PistonPosition(0,0,-i,90)); + pistonPositions.add(new PistonPosition(0,-f,-f,135)); + pistonPositions.add(new PistonPosition(0,-i,0,180)); + pistonPositions.add(new PistonPosition(0,-f,f,225)); + pistonPositions.add(new PistonPosition(0,0,i,270)); + pistonPositions.add(new PistonPosition(0,f,f,315)); + return pistonPositions; + } + public static List pistonsTurbine() { + + List pistonPositions = new ArrayList<>(); + pistonPositions.add(new PistonPosition(0, 0, 0, 0)); + pistonPositions.add(new PistonPosition(0, 0, 0, 0)); + pistonPositions.add(new PistonPosition(0, 0, 0, 0)); + pistonPositions.add(new PistonPosition(0, 0, 0, 0)); + return pistonPositions; + } + // + + //public static List componentsW(){ + // List components = commonRegularComponents(); + // components.add(1,TFMGItems.CRANKSHAFT.asStack()); +// + // return components; + //} + //public static List componentsU(){ + // List components = new ArrayList<>(); +// + // return components; + //} + public static List commonRegularComponents(){ + List components = new ArrayList<>(); + + components.add(Ingredient.of(TFMGItems.CRANKSHAFT.asStack())); + + components.add(Ingredient.of(TFMGBlocks.STEEL_COGWHEEL.asStack())); + components.add(Ingredient.of(TFMGBlocks.LARGE_STEEL_COGWHEEL.asStack())); + components.add(Ingredient.of(AllItems.BELT_CONNECTOR.asStack())); + components.add(Ingredient.of(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(0).asStack())); + components.add(Ingredient.of(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(0).asStack())); + components.add(Ingredient.of(TFMGItems.STEEL_MECHANISM.asStack())); + + return components; + } + + public static List turbineEngineComponents(){ + List components = new ArrayList<>(); + + components.add(Ingredient.of(AllBlocks.SHAFT.asStack())); + components.add(Ingredient.of(TFMGBlocks.STEEL_COGWHEEL.asStack())); + components.add(Ingredient.of(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(0).asStack())); + components.add(Ingredient.of(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(0).asStack())); + components.add(Ingredient.of(TFMGItems.STEEL_MECHANISM.asStack())); + components.add(Ingredient.of(TFMGItems.STEEL_MECHANISM.asStack())); + + return components; + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineRenderer.java b/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineRenderer.java new file mode 100644 index 00000000..0a7e432d --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineRenderer.java @@ -0,0 +1,40 @@ +package com.drmangotea.tfmg.content.engines.base; + +import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer; +import net.createmod.catnip.render.CachedBuffers; +import net.createmod.catnip.render.SuperByteBuffer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.world.level.block.state.BlockState; + +import static com.drmangotea.tfmg.content.engines.base.EngineBlock.ENGINE_STATE; +import static com.simibubi.create.content.kinetics.base.HorizontalKineticBlock.HORIZONTAL_FACING; + +public class EngineRenderer extends KineticBlockEntityRenderer { + public EngineRenderer(BlockEntityRendererProvider.Context context) { + + super(context); + } + + @Override + protected void renderSafe(AbstractSmallEngineBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { + + + if(be.hasUpgrade()){ + be.upgrade.get().render(be, partialTicks, ms, buffer,light); + } + + + if(be.getBlockState().getValue(ENGINE_STATE) == EngineBlock.EngineState.SHAFT) + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); + } + + @Override + protected SuperByteBuffer getRotatedModel(AbstractSmallEngineBlockEntity be, BlockState state) { + return CachedBuffers.partialFacing(AllPartialModels.SHAFT_HALF, state,state.getValue(HORIZONTAL_FACING)); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerBlock.java b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerBlock.java new file mode 100644 index 00000000..764512ac --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerBlock.java @@ -0,0 +1,76 @@ +package com.drmangotea.tfmg.content.engines.engine_controller; + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.base.blocks.TFMGHorizontalDirectionalBlock; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.AllItems; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class EngineControllerBlock extends TFMGHorizontalDirectionalBlock implements IBE, IWrenchable { + public EngineControllerBlock(Properties p_54120_) { + super(p_54120_); + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + if (!player.isShiftKeyDown() && EngineControllerBlockEntity.playerInRange(player, level, pos)&&player.getItemInHand(hand).getItem()!= AllItems.WRENCH.get()&&player.getItemInHand(hand).getItem()!= TFMGItems.TRANSMISSION.get()) { + + + + if (!level.isClientSide) { + withBlockEntityDo(level, pos, be -> { + if(be.isUsedBy(player)){ + be.tryStopUsing(player); + }else + be.tryStartUsing(player); + + }); + } + return ItemInteractionResult.SUCCESS; + } + + + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + } + + @Override + public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) { + return TFMGShapes.ENGINE_CONTROLLER.get(p_60555_.getValue(FACING).getOpposite()); + } + + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + + @Override + public InteractionResult onWrenched(BlockState state, UseOnContext context) { + return onBlockEntityUse(context.getLevel(), context.getClickedPos(), be -> be.use(context.getPlayer())); + } + + @Override + public Class getBlockEntityClass() { + return EngineControllerBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.ENGINE_CONTROLLER.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerBlockEntity.java new file mode 100644 index 00000000..7c204655 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerBlockEntity.java @@ -0,0 +1,428 @@ +package com.drmangotea.tfmg.content.engines.engine_controller; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.upgrades.TransmissionUpgrade; +import com.drmangotea.tfmg.registry.TFMGMenuTypes; +import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.content.redstone.link.RedstoneLinkNetworkHandler; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.utility.CreateLang; +import net.createmod.catnip.animation.LerpedFloat; +import net.createmod.catnip.data.Couple; +import net.createmod.catnip.gui.ScreenOpener; +import net.createmod.catnip.platform.CatnipServices; +import net.minecraft.client.Minecraft; +import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.MenuProvider; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.inventory.AbstractContainerMenu; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec3; + + +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import net.neoforged.neoforge.common.util.FakePlayer; +import net.neoforged.neoforge.items.ItemStackHandler; +import org.jetbrains.annotations.Nullable; + +import java.util.Collection; +import java.util.List; +import java.util.UUID; + + +public class EngineControllerBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation, MenuProvider { + + private UUID user; + private UUID prevUser; + private boolean deactivatedThisTick; + + public TransmissionUpgrade.TransmissionState shift = TransmissionUpgrade.TransmissionState.NEUTRAL; + public int accelerationRate = 0; + public AbstractSmallEngineBlockEntity engine = null; + public BlockPos enginePos = null; + public boolean engineStarted = false; + + public boolean clutch = false; + public boolean brake = false; + public boolean gas = false; + + public ItemStackHandler frequencyItems = new ItemStackHandler(6); + + /// rendering + public LerpedFloat transmissionLeverAngle = LerpedFloat.angular(); + public LerpedFloat steeringWheelAngle = LerpedFloat.angular(); + public LerpedFloat clutchPedalMotion = LerpedFloat.linear(); + public LerpedFloat gasPedalMotion = LerpedFloat.linear(); + public LerpedFloat brakePedalMotion = LerpedFloat.linear(); + public LerpedFloat fuelDial = LerpedFloat.angular(); + public LerpedFloat rpmDial = LerpedFloat.angular(); + + public EngineControllerBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + public ItemStack getController() { + return ItemStack.EMPTY; + } + + public static Couple toFrequency(EngineControllerBlockEntity controller, int slot) { + ItemStackHandler frequencyItems = controller.frequencyItems; + return Couple.create(RedstoneLinkNetworkHandler.Frequency.of(frequencyItems.getStackInSlot(slot * 2)), + RedstoneLinkNetworkHandler.Frequency.of(frequencyItems.getStackInSlot(slot * 2 + 1))); + } + + @Override + protected void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + + if (enginePos != null) + compound.putLong("EnginePos", enginePos.asLong()); + compound.putString("Shift", shift.name()); + + compound.putBoolean("EngineStarted", engineStarted); + + compound.put("FrequencyItems", frequencyItems.serializeNBT(registries)); + + if (user != null) + compound.putUUID("User", user); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + enginePos = BlockPos.of(compound.getLong("EnginePos")); + + engineStarted = compound.getBoolean("EngineStarted"); + if (engineStarted && accelerationRate == 0) + accelerationRate = 4; + frequencyItems.deserializeNBT(registries,compound.getCompound("FrequencyItems")); + shift = TransmissionUpgrade.TransmissionState.valueOf(compound.getString("Shift")); + user = compound.hasUUID("User") ? compound.getUUID("User") : null; + updateEngine(); + } + + public void shiftForward() { + int max = TransmissionUpgrade.TransmissionState.values().length - 1; + for (int i = 0; i < max; i++) { + TransmissionUpgrade.TransmissionState state = TransmissionUpgrade.TransmissionState.values()[i]; + if (state == shift && i + 1 <= max) { + shift = TransmissionUpgrade.TransmissionState.values()[i + 1]; + updateShift(); + break; + } + + } + sendData(); + setChanged(); + } + + public void updateShift() { + if (enginePos != null) + if (level.getBlockEntity(enginePos) instanceof AbstractSmallEngineBlockEntity be) { + be.getControllerBE().shift = shift; + be.getControllerBE().clutchPressed = clutch; + be.getControllerBE().updateGeneratedRotation(); + if(be.getControllerBE().engineLength()>1){ + if(level.getBlockEntity(BlockPos.of(be.getControllerBE().engines.get(be.getControllerBE().engineLength()-1)))instanceof AbstractSmallEngineBlockEntity be2){ + be2.updateGeneratedRotation(); + } + } + } + } + + @Override + public void destroy() { + super.destroy(); + Entity playerEntity = ((ServerLevel) level).getEntity(user); + if (playerEntity instanceof Player) + stopUsing((Player) playerEntity); + } + + public void shiftBack() { + int max = TransmissionUpgrade.TransmissionState.values().length; + for (int i = 0; i < max; i++) { + TransmissionUpgrade.TransmissionState state = TransmissionUpgrade.TransmissionState.values()[i]; + if (state == shift && i - 1 >= 0) { + shift = TransmissionUpgrade.TransmissionState.values()[i - 1]; + updateShift(); + break; + } + } + } + + public void tickAcceleration() { + + if (gas) { + if (engineStarted && accelerationRate < 15) { + accelerationRate++; + this.updateEngine(); + } + } else { + if ((accelerationRate > 4 || !engineStarted) && accelerationRate > 0) { + accelerationRate--; + this.updateEngine(); + } + } + + + } + + public void tickBraking() { + + if (brake && accelerationRate > 4) { + accelerationRate--; + updateEngine(); + } + + } + + @Override + public void lazyTick() { + super.lazyTick(); + + tickAcceleration(); + } + + public static ItemStackHandler getFrequencyItems(EngineControllerBlockEntity be) { + return be.frequencyItems; + } + + public void handleInput(Collection currentlyPressed, boolean press) { + if (currentlyPressed.contains(4)) { + this.clutch = press; + this.sendData(); + this.setChanged(); + } + if (currentlyPressed.contains(0)) { + this.gas = press; + this.sendData(); + this.setChanged(); + } + if (currentlyPressed.contains(1)) { + this.brake = press; + this.sendData(); + this.setChanged(); + } + } + + public void toggleEngine() { + this.engineStarted = !this.engineStarted; + this.accelerationRate = this.engineStarted ? 4 : 0; + this.updateEngine(); + this.sendData(); + this.setChanged(); + + } + + @Override + public void remove() { + super.remove(); + disconnectEngine(); + } + + //@Override + //public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { +// + // if (engine != null) { + // CreateLang.text("Linked").forGoggles(tooltip); + // } +// +// + // CreateLang.text(shift.name()).forGoggles(tooltip); + // CreateLang.text(engineStarted ? "Engine Started" : "Engine Stopped").forGoggles(tooltip); + // CreateLang.text("Acceleration: " + accelerationRate).forGoggles(tooltip); +// +// + // if (clutch) + // CreateLang.text("CLUTCH").forGoggles(tooltip); + // if (brake) + // CreateLang.text("BRAKE").forGoggles(tooltip); + // if (gas) + // CreateLang.text("GAS").forGoggles(tooltip); +// + // return true; + //} + + + @Override + public void tick() { + super.tick(); + + if (level.isClientSide) { + CatnipServices.PLATFORM.executeOnClientOnly(() -> this::tryToggleActive); + prevUser = user; + tickRendering(); + } + + if (enginePos != null && (engine == null)) { + if (level.getBlockEntity(enginePos) instanceof AbstractSmallEngineBlockEntity be) { + engine = be; + engine.getControllerBE().highestSignal = 4; + } + } + + tickBraking(); + if (!level.isClientSide) { + deactivatedThisTick = false; + + if (!(level instanceof ServerLevel)) + return; + if (user == null) + return; + + Entity entity = ((ServerLevel) level).getEntity(user); + if (!(entity instanceof Player)) { + stopUsing(null); + return; + } + + Player player = (Player) entity; + if (!playerInRange(player, level, worldPosition) || !playerIsUsingEngineController(player)) + stopUsing(player); + } + } + + public void updateEngine() { + if (engine == null) + return; + engine.getControllerBE().engineController = this.getBlockPos(); + engine.getControllerBE().highestSignal = accelerationRate; + engine.getControllerBE().fuelInjectionRate = engine.getControllerBE().highestSignal / 15f; + engine.getControllerBE().updateRotation(); + + + } + + public void disconnectEngine() { + if (engine == null) + return; + engine.getControllerBE().highestSignal = 0; + engine.getControllerBE().engineController = null; + engine.getControllerBE().updateGeneratedRotation(); + } + + public void tickRendering() { + if (Minecraft.getInstance() + .isPaused()) + return; + + + steeringWheelAngle.chase(isPressed(2) ? -40 : isPressed(3) ? 40 : 0, 0.25, LerpedFloat.Chaser.EXP); + clutchPedalMotion.chase(isPressed(4) ? 2 / 16f : 0, 0.25, LerpedFloat.Chaser.EXP); + gasPedalMotion.chase(isPressed(0) ? 2 / 16f : 0, 0.25, LerpedFloat.Chaser.EXP); + brakePedalMotion.chase(isPressed(1) ? 2 / 16f : 0, 0.25, LerpedFloat.Chaser.EXP); + transmissionLeverAngle.chase(shift == TransmissionUpgrade.TransmissionState.REVERSE ? -20 : (shift.value * 20), 0.25, LerpedFloat.Chaser.EXP); + fuelDial.chase(engine == null ? 0 : ((double) engine.getControllerBE().fuelTank.getFluidAmount() / (double) engine.fuelTank.getCapacity()) * 180f, 0.25, LerpedFloat.Chaser.EXP); + rpmDial.chase(engine == null ? 0 : ((double) engine.getControllerBE().rpm / 6000f) * 180f, 0.25, LerpedFloat.Chaser.EXP); + + transmissionLeverAngle.tickChaser(); + steeringWheelAngle.tickChaser(); + clutchPedalMotion.tickChaser(); + gasPedalMotion.tickChaser(); + brakePedalMotion.tickChaser(); + fuelDial.tickChaser(); + rpmDial.tickChaser(); + } + + public boolean isPressed(int id) { + return EngineControllerClientHandler.currentlyPressed.contains(id); + } + + @OnlyIn(Dist.CLIENT) + private void tryToggleActive() { + if (user == null && Minecraft.getInstance().player.getUUID().equals(prevUser)) { + EngineControllerClientHandler.deactivateInLectern(); + } else if (prevUser == null && Minecraft.getInstance().player.getUUID().equals(user)) { + EngineControllerClientHandler.activateInLectern(worldPosition); + } + } + + public void tryStopUsing(Player player) { + if (isUsedBy(player)) + stopUsing(player); + } + + public static boolean playerIsUsingEngineController(Player player) { + return player.getPersistentData().contains("IsUsingEngineController"); + } + + public void tryStartUsing(Player player) { + + + if (!deactivatedThisTick && !hasUser() && !playerIsUsingEngineController(player) && playerInRange(player, level, worldPosition)) { + startUsing(player); + } + } + + + private void startUsing(Player player) { + + user = player.getUUID(); + player.getPersistentData().putBoolean("IsUsingEngineController", true); + sendData(); + } + + private void stopUsing(Player player) { + + + user = null; + if (player != null) + player.getPersistentData().remove("IsUsingEngineController"); + deactivatedThisTick = true; + sendData(); + } + + public InteractionResult use(Player player) { + if (player == null) + return InteractionResult.PASS; + if (player instanceof FakePlayer) + return InteractionResult.PASS; + if (level.isClientSide) + return InteractionResult.SUCCESS; + + player.openMenu(this,getBlockPos()); + return InteractionResult.SUCCESS; + } + + public boolean isUsedBy(Player player) { + return hasUser() && user.equals(player.getUUID()); + } + + public boolean hasUser() { + return user != null; + } + + @Override + public void addBehaviours(List behaviours) { + } + + public static boolean playerInRange(Player player, Level world, BlockPos pos) { + double reach = 0.4 * player.getAttributeValue(Attributes.BLOCK_INTERACTION_RANGE); + return player.distanceToSqr(Vec3.atCenterOf(pos)) < reach * reach; + } + + @Override + public Component getDisplayName() { + return Component.empty(); + } + + @Override + public @Nullable AbstractContainerMenu createMenu(int pContainerId, Inventory pPlayerInventory, Player pPlayer) { + return EngineControllerMenu.create(pContainerId, pPlayerInventory, this); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerClientHandler.java b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerClientHandler.java new file mode 100644 index 00000000..bf396e57 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerClientHandler.java @@ -0,0 +1,252 @@ +package com.drmangotea.tfmg.content.engines.engine_controller; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.engines.engine_controller.packets.*; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGKeys; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.mojang.blaze3d.platform.InputConstants; +import com.simibubi.create.*; +import com.simibubi.create.content.redstone.link.LinkBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.utility.ControlsUtil; + +import com.simibubi.create.foundation.utility.CreateLang; +import net.createmod.catnip.platform.CatnipServices; +import net.minecraft.client.KeyMapping; +import net.minecraft.client.Minecraft; +import net.minecraft.client.Options; +import net.minecraft.client.player.LocalPlayer; +import net.minecraft.core.BlockPos; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.phys.shapes.VoxelShape; +import org.lwjgl.glfw.GLFW; + +import java.util.*; + +public class EngineControllerClientHandler { + //public static final IGuiOverlay OVERLAY = LinkedControllerClientHandler::renderOverlay; + + public static Mode MODE = Mode.IDLE; + public static int PACKET_RATE = 5; + public static List currentlyPressed = new ArrayList<>(); + public static BlockPos controllerPos; + private static BlockPos selectedLocation = BlockPos.ZERO; + private static int packetCooldown; + + public static void toggleBindMode(BlockPos location) { + if (MODE == Mode.IDLE) { + MODE = Mode.BIND; + selectedLocation = location; + } else { + MODE = Mode.IDLE; + onReset(); + } + } + + public static void toggle() { + if (MODE == Mode.IDLE) { + MODE = Mode.ACTIVE; + controllerPos = null; + } else { + MODE = Mode.IDLE; + onReset(); + } + } + + public static void activateInLectern(BlockPos lecternAt) { + if (MODE == Mode.IDLE) { + MODE = Mode.ACTIVE; + controllerPos = lecternAt; + } + } + + public static void deactivateInLectern() { + if (MODE == Mode.ACTIVE && isController()) { + MODE = Mode.IDLE; + onReset(); + } + } + + public static boolean isController() { + return controllerPos != null; + } + + protected static void onReset() { + getControls() + .forEach(kb -> kb.setDown(ControlsUtil.isActuallyPressed(kb))); + packetCooldown = 0; + selectedLocation = BlockPos.ZERO; + if (isController()) + CatnipServices.NETWORK.sendToServer(new EngineControllerStopControllerPacket(controllerPos)); + controllerPos = null; + + if (!currentlyPressed.isEmpty()) + CatnipServices.NETWORK.sendToServer(new EngineControllerInputPacket(currentlyPressed, false)); + currentlyPressed.clear(); + + // LinkedControllerItemRenderer.resetButtons(); + } + + public static void tick() { + // LinkedControllerItemRenderer.tick(); + + if (MODE == Mode.IDLE) + return; + if (packetCooldown > 0) + packetCooldown--; + + Minecraft mc = Minecraft.getInstance(); + LocalPlayer player = mc.player; + ItemStack heldItem = player.getMainHandItem(); + + if (player.isSpectator()) { + MODE = Mode.IDLE; + onReset(); + return; + } + + if (!isController() && !AllItems.LINKED_CONTROLLER.isIn(heldItem)) { + heldItem = player.getOffhandItem(); + if (!AllItems.LINKED_CONTROLLER.isIn(heldItem)) { + MODE = Mode.IDLE; + + //onReset(); + return; + } + } + + if (isController() && TFMGBlocks.ENGINE_CONTROLLER.get() + .getBlockEntityOptional(mc.level, controllerPos) + .map(be -> !be.isUsedBy(mc.player)) + .orElse(true)) { + deactivateInLectern(); + return; + } + + if (mc.screen != null) { + MODE = Mode.IDLE; + onReset(); + return; + } + + if (InputConstants.isKeyDown(mc.getWindow() + .getWindow(), GLFW.GLFW_KEY_ESCAPE)) { + MODE = Mode.IDLE; + onReset(); + return; + } + + Vector controls = getControls(); + List pressedKeys = new ArrayList<>(); + for (int i = 0; i < controls.size(); i++) { + if (ControlsUtil.isActuallyPressed(controls.get(i))) + pressedKeys.add(i); + } + + List newKeys = new ArrayList<>(pressedKeys); + List releasedKeys = currentlyPressed; + newKeys.removeAll(releasedKeys); + releasedKeys.removeAll(pressedKeys); + + if (MODE == Mode.ACTIVE) { + // Released Keys + if (!releasedKeys.isEmpty()) { + CatnipServices.NETWORK.sendToServer(new EngineControllerInputPacket(releasedKeys, false, controllerPos)); + if(player.level().getBlockEntity(controllerPos) instanceof EngineControllerBlockEntity be){ + + be.handleInput(releasedKeys,false); + } + AllSoundEvents.CONTROLLER_CLICK.playAt(player.level(), player.blockPosition(), 1f, .5f, true); + + } + + // Newly Pressed Keys + if (!newKeys.isEmpty()) { + CatnipServices.NETWORK.sendToServer(new EngineControllerInputPacket(newKeys, true, controllerPos)); + if(player.level().getBlockEntity(controllerPos) instanceof EngineControllerBlockEntity be){ + be.handleInput(newKeys,true); + } + if (newKeys.contains(5) || newKeys.contains(6)) { + CatnipServices.NETWORK.sendToServer(new TransmissionShiftPacket(newKeys, controllerPos)); + if(player.level().getBlockEntity(controllerPos) instanceof EngineControllerBlockEntity be){ + + if(newKeys.contains(6)) { + be.shiftBack(); + }else { + + be.shiftForward(); + + } + } + } + if(newKeys.contains(8)){ + CatnipServices.NETWORK.sendToServer(new EngineStartPacket(controllerPos)); + if(player.level().getBlockEntity(controllerPos) instanceof EngineControllerBlockEntity be){ + be.toggleEngine(); + } + } + packetCooldown = PACKET_RATE; + + AllSoundEvents.CONTROLLER_CLICK.playAt(player.level(), player.blockPosition(), 1f, .75f, true); + } + + // Keepalive Pressed Keys + if (packetCooldown == 0) { + if (!pressedKeys.isEmpty()) { + CatnipServices.NETWORK.sendToServer(new EngineControllerInputPacket(pressedKeys, true, controllerPos)); + if(player.level().getBlockEntity(controllerPos) instanceof EngineControllerBlockEntity be){ + be.handleInput(newKeys,true); + } + packetCooldown = PACKET_RATE; + } + } + } + + if (MODE == Mode.BIND) { + VoxelShape shape = mc.level.getBlockState(selectedLocation) + .getShape(mc.level, selectedLocation); + + + for (Integer integer : newKeys) { + LinkBehaviour linkBehaviour = BlockEntityBehaviour.get(mc.level, selectedLocation, LinkBehaviour.TYPE); + if (linkBehaviour != null) { + // CatnipServices.NETWORK.sendToServer(new EngineControllerBindPacket(integer, selectedLocation)); + CreateLang.translate("linked_controller.key_bound", controls.get(integer) + .getTranslatedKeyMessage() + .getString()) + .sendStatus(mc.player); + } + MODE = Mode.IDLE; + break; + } + } + + currentlyPressed = pressedKeys; + controls.forEach(kb -> kb.setDown(false)); + } + + private static Vector standardControls; + + public static Vector getControls() { + if (standardControls == null) { + Options gameSettings = Minecraft.getInstance().options; + standardControls = new Vector<>(6); + standardControls.add(gameSettings.keyUp);//0 + standardControls.add(gameSettings.keyDown);//1 + standardControls.add(gameSettings.keyLeft);//2 + standardControls.add(gameSettings.keyRight);//3 + standardControls.add(gameSettings.keyJump);//4 + standardControls.add(TFMGKeys.TRANSMISSION_SHIFT_UP.getKeybind());//5 + standardControls.add(TFMGKeys.TRANSMISSION_SHIFT_DOWN.getKeybind());//6 + standardControls.add(TFMGKeys.ENGINE_CONTROLLER_CUSTOM_BUTTON.getKeybind());//7 + standardControls.add(TFMGKeys.ENGINE_START.getKeybind());//8 + standardControls.add(gameSettings.keyShift);//9 + } + return standardControls; + } + + public enum Mode { + IDLE, ACTIVE, BIND + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerMenu.java b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerMenu.java new file mode 100644 index 00000000..33238446 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerMenu.java @@ -0,0 +1,91 @@ +package com.drmangotea.tfmg.content.engines.engine_controller; + +import com.drmangotea.tfmg.registry.TFMGMenuTypes; +import com.simibubi.create.AllMenuTypes; + +import com.simibubi.create.foundation.gui.menu.GhostItemMenu; +import com.simibubi.create.foundation.gui.menu.MenuBase; +import net.minecraft.client.Minecraft; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.core.BlockPos; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.chat.Component; +import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.inventory.ClickType; +import net.minecraft.world.inventory.MenuType; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.neoforged.neoforge.items.ItemStackHandler; +import net.neoforged.neoforge.items.SlotItemHandler; + +public class EngineControllerMenu extends GhostItemMenu { + + public EngineControllerMenu(MenuType type, int id, Inventory inv, RegistryFriendlyByteBuf extraData) { + super(type, id, inv, extraData); + } + + public EngineControllerMenu(MenuType type, int id, Inventory inv, EngineControllerBlockEntity be) { + super(type, id, inv, be); + } + + @Override + protected EngineControllerBlockEntity createOnClient(RegistryFriendlyByteBuf extraData) { + BlockPos readBlockPos = extraData.readBlockPos(); + ClientLevel world = Minecraft.getInstance().level; + BlockEntity blockEntity = world.getBlockEntity(readBlockPos); + if (blockEntity instanceof EngineControllerBlockEntity controller) + return controller; + return null; + } + + + public static EngineControllerMenu create(int id, Inventory inv, EngineControllerBlockEntity be) { + return new EngineControllerMenu(TFMGMenuTypes.ENGINE_CONTROLLER.get(), id, inv, be); + } + + + @Override + protected ItemStackHandler createGhostInventory() { + return EngineControllerBlockEntity.getFrequencyItems(contentHolder); + } + + @Override + protected void addSlots() { + addPlayerSlots(8-49, 131); + + int x = 12; + int y = 34; + int slot = 0; + + for (int column = 0; column < 3; column++) { + for (int row = 0; row < 2; ++row) + addSlot(new SlotItemHandler(ghostInventory, slot++, x, y + row * 18)); + x += 24; + } + } + + @Override + protected void saveData(EngineControllerBlockEntity be) { + //be.getOrCreateTag() + // .put("Items", ghostInventory.serializeNBT()); + be.frequencyItems = ghostInventory; + + } + + @Override + protected boolean allowRepeats() { + return true; + } + + @Override + public void clicked(int slotId, int dragType, ClickType clickTypeIn, Player player) { + if (slotId == playerInventory.selected && clickTypeIn != ClickType.THROW) + return; + super.clicked(slotId, dragType, clickTypeIn, player); + } + + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerRenderer.java b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerRenderer.java new file mode 100644 index 00000000..aba0d8e6 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerRenderer.java @@ -0,0 +1,110 @@ +package com.drmangotea.tfmg.content.engines.engine_controller; + +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; +import net.createmod.catnip.render.CachedBuffers; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.state.BlockState; + +import static com.drmangotea.tfmg.base.TFMGUtils.toYRot; +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class EngineControllerRenderer extends SafeBlockEntityRenderer { + + public EngineControllerRenderer(BlockEntityRendererProvider.Context context) { + } + + @Override + protected void renderSafe(EngineControllerBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource bufferSource, int light, int overlay) { + + BlockState state = be.getBlockState(); + Direction facing = state.getValue(FACING); + + boolean move = be.getBlockPos() == EngineControllerClientHandler.controllerPos; + + + ms.pushPose(); + + CachedBuffers.partial(TFMGPartialModels.STEERING_WHEEL, state) + .center() + .rotateYDegrees(toYRot(facing)) + .translateY(0.1f) + .rotateXDegrees(30) + .rotateZDegrees(move ? be.steeringWheelAngle.getValue(partialTicks) : 0) + .uncenter() + .light(light) + .renderInto(ms, bufferSource.getBuffer(RenderType.solid())); + + CachedBuffers.partial(TFMGPartialModels.PEDAL, state) + .center() + .rotateYDegrees(toYRot(facing)) + .translateX(-4/16f) + .translateZ(move ? be.gasPedalMotion.getValue(partialTicks) : 0) + .uncenter() + .light(light) + .renderInto(ms, bufferSource.getBuffer(RenderType.cutoutMipped())); + CachedBuffers.partial(TFMGPartialModels.PEDAL, state) + .center() + .rotateYDegrees(toYRot(facing)) + .translateX(-0/16f) + .translateZ(move ? be.brakePedalMotion.getValue(partialTicks) : 0) + + .uncenter() + .light(light) + .renderInto(ms, bufferSource.getBuffer(RenderType.cutoutMipped())); + CachedBuffers.partial(TFMGPartialModels.PEDAL, state) + .center() + .rotateYDegrees(toYRot(facing)) + .translateX(4/16f) + .translateZ(move ? be.clutchPedalMotion.getValue(partialTicks) : 0) + + .uncenter() + .light(light) + .renderInto(ms, bufferSource.getBuffer(RenderType.cutoutMipped())); + CachedBuffers.partial(TFMGPartialModels.TRANSMISSION_LEVER,state) + .center() + .rotateYDegrees(toYRot(facing)) + .translateY(-4/16f) + //.translateZ(5/16f) + .rotateXDegrees(be.transmissionLeverAngle.getValue(partialTicks)) + .uncenter() + .light(light) + .renderInto(ms, bufferSource.getBuffer(RenderType.solid())); + + + + + CachedBuffers.partial(TFMGPartialModels.ENGINE_CONTROLLER_DIAL, state) + .center() + + .rotateYDegrees(toYRot(facing)) + .rotateXDegrees(22.5f) + .translateX(2.5f/16f) + .translateZ(6.7f/16f) + .translateY(5.3f/16f) + .rotateZDegrees(be.fuelDial.getValue(partialTicks)-90) + .uncenter() + .light(light) + .renderInto(ms, bufferSource.getBuffer(RenderType.solid())); + + CachedBuffers.partial(TFMGPartialModels.ENGINE_CONTROLLER_DIAL, state) + .center() + + .rotateYDegrees(toYRot(facing)) + .rotateXDegrees(22.5f) + .translateX(-2.5f/16f) + .translateZ(6.7f/16f) + .translateY(5.3f/16f) + .rotateZDegrees(be.rpmDial.getValue(partialTicks)-90) + .uncenter() + .light(light) + .renderInto(ms, bufferSource.getBuffer(RenderType.solid())); + ms.popPose(); + + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerScreen.java b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerScreen.java new file mode 100644 index 00000000..1f341a03 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerScreen.java @@ -0,0 +1,119 @@ +package com.drmangotea.tfmg.content.engines.engine_controller; + +import com.drmangotea.tfmg.registry.TFMGGuiTextures; +import com.google.common.collect.ImmutableList; +import com.simibubi.create.foundation.gui.AllGuiTextures; +import com.simibubi.create.foundation.gui.AllIcons; +import com.simibubi.create.foundation.gui.menu.AbstractSimiContainerScreen; +import com.simibubi.create.foundation.gui.widget.IconButton; +import com.simibubi.create.foundation.utility.ControlsUtil; +import com.simibubi.create.foundation.utility.CreateLang; +import net.createmod.catnip.gui.element.GuiGameElement; +import net.minecraft.ChatFormatting; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.renderer.Rect2i; +import net.minecraft.network.chat.Component; +import net.minecraft.world.entity.player.Inventory; + +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; + +import static com.simibubi.create.foundation.gui.AllGuiTextures.PLAYER_INVENTORY; + +public class EngineControllerScreen extends AbstractSimiContainerScreen { + + protected TFMGGuiTextures background; + private List extraAreas = Collections.emptyList(); + + private IconButton resetButton; + private IconButton confirmButton; + + public EngineControllerScreen(EngineControllerMenu menu, Inventory inv, Component title) { + super(menu, inv, title); + this.background = TFMGGuiTextures.ENGINE_CONTROLLER; + } + + @Override + protected void init() { + setWindowSize(background.width, background.height + 4 + PLAYER_INVENTORY.getHeight()); + setWindowOffset(50, 0); + super.init(); + + int x = leftPos; + int y = topPos; + + resetButton = new IconButton(x + background.width - 170, y + background.height - 24, AllIcons.I_TRASH); + resetButton.withCallback(() -> { + menu.clearContents(); + menu.sendClearPacket(); + }); + confirmButton = new IconButton(x + background.width -117, y + background.height - 24, AllIcons.I_CONFIRM); + confirmButton.withCallback(() -> { + minecraft.player.closeContainer(); + }); + + addRenderableWidget(resetButton); + addRenderableWidget(confirmButton); + + extraAreas = ImmutableList.of(new Rect2i(x + background.width + 4, y + background.height - 44, 64, 56)); + } + + @Override + protected void renderBg(GuiGraphics graphics, float partialTicks, int mouseX, int mouseY) { + + + int invX = getLeftOfCentered(PLAYER_INVENTORY.getWidth()); + int invY = topPos + background.height + 4; + renderPlayerInventory(graphics, invX, invY); + + int x = leftPos; + int y = topPos; + + background.render(graphics, x, y); + graphics.drawString(font, title, x + 15, y + 4, 0x592424, false); + GuiGameElement.of(menu.contentHolder).at(x + background.width - 4, y + background.height - 56, -200) + .scale(5) + .render(graphics); + } + + @Override + protected void containerTick() { + + + super.containerTick(); + } + + @Override + protected void renderTooltip(GuiGraphics graphics, int x, int y) { + if (!menu.getCarried() + .isEmpty() || this.hoveredSlot == null || hoveredSlot.container == menu.playerInventory) { + super.renderTooltip(graphics, x, y); + return; + } + + List list = new LinkedList<>(); + if (hoveredSlot.hasItem()) + list = getTooltipFromContainerItem(hoveredSlot.getItem()); + + graphics.renderComponentTooltip(font, addToTooltip(list, hoveredSlot.getSlotIndex()), x, y); + } + + private List addToTooltip(List list, int slot) { + if (slot < 0 || slot >= 12) + return list; + list.add(CreateLang.translateDirect("engine_controller0.frequency_slot_" + ((slot % 2) + 1), ControlsUtil.getControls() + .get(slot / 2) + .getTranslatedKeyMessage() + .getString()) + .withStyle(ChatFormatting.GOLD)); + return list; + } + + @Override + public List getExtraAreas() { + return extraAreas; + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/TransmissionRemovePacket.java b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/TransmissionRemovePacket.java new file mode 100644 index 00000000..09695fc4 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/TransmissionRemovePacket.java @@ -0,0 +1,40 @@ +package com.drmangotea.tfmg.content.engines.engine_controller; + +import com.drmangotea.tfmg.content.electricity.base.ConnectNeightborsPacket; +import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.networking.BlockEntityDataPacket; +import io.netty.buffer.ByteBuf; +import net.minecraft.core.BlockPos; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; + +public class TransmissionRemovePacket extends BlockEntityDataPacket { + + + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + BlockPos.STREAM_CODEC, packet -> packet.pos, + TransmissionRemovePacket::new + ); + + public TransmissionRemovePacket(BlockPos pos) { + super(pos); + } + + + + + @Override + protected void handlePacket(SmartBlockEntity blockEntity) { + + if(blockEntity instanceof AbstractEngineBlockEntity be) { + be.highestSignal = 0; + } + } + + @Override + public PacketTypeProvider getTypeProvider() { + return TFMGPackets.TRANSMISSION_REMOVE; + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/packets/EngineControllerBindPacket.java b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/packets/EngineControllerBindPacket.java new file mode 100644 index 00000000..a5a64615 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/packets/EngineControllerBindPacket.java @@ -0,0 +1,38 @@ +package com.drmangotea.tfmg.content.engines.engine_controller.packets; + +import com.drmangotea.tfmg.content.engines.engine_controller.EngineControllerBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.server.level.ServerPlayer; + + +//public class EngineControllerBindPacket extends EngineControllerPacketBase { +// +// private int button; +// private BlockPos linkLocation; +// +// public EngineControllerBindPacket(int button, BlockPos linkLocation) { +// super((BlockPos) null); +// this.button = button; +// this.linkLocation = linkLocation; +// } +// +// public EngineControllerBindPacket(FriendlyByteBuf buffer) { +// super(buffer); +// this.button = buffer.readVarInt(); +// this.linkLocation = buffer.readBlockPos(); +// } +// +// @Override +// public void write(FriendlyByteBuf buffer) { +// super.write(buffer); +// buffer.writeVarInt(button); +// buffer.writeBlockPos(linkLocation); +// } +// +// +// +// @Override +// protected void handleController(ServerPlayer player, EngineControllerBlockEntity lectern) {} +// +//} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/packets/EngineControllerInputPacket.java b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/packets/EngineControllerInputPacket.java new file mode 100644 index 00000000..d82750e1 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/packets/EngineControllerInputPacket.java @@ -0,0 +1,83 @@ +package com.drmangotea.tfmg.content.engines.engine_controller.packets; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.engines.engine_controller.EngineControllerBlockEntity; +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.simibubi.create.content.redstone.link.RedstoneLinkNetworkHandler; +import com.simibubi.create.content.redstone.link.controller.*; +import io.netty.buffer.ByteBuf; +import net.createmod.catnip.codecs.stream.CatnipStreamCodecBuilders; +import net.createmod.catnip.codecs.stream.CatnipStreamCodecs; +import net.createmod.catnip.data.Couple; +import net.minecraft.core.BlockPos; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; + +import java.util.*; +import java.util.stream.Collectors; + +public class EngineControllerInputPacket extends EngineControllerPacketBase { + + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + CatnipStreamCodecBuilders.list(ByteBufCodecs.INT), p -> p.activatedButtons, + ByteBufCodecs.BOOL, p -> p.press, + CatnipStreamCodecs.NULLABLE_BLOCK_POS, EngineControllerInputPacket::getControllerPos, + EngineControllerInputPacket::new + ); + + + private List activatedButtons; + private boolean press; + + public EngineControllerInputPacket(List activatedButtons, boolean press) { + this(activatedButtons, press, null); + } + + public EngineControllerInputPacket(List activatedButtons, boolean press, BlockPos lecternPos) { + super(lecternPos); + this.activatedButtons = activatedButtons; + this.press = press; + } + + + @Override + protected void handleItem(ServerPlayer player, ItemStack heldItem) { + + } + + @Override + protected void handleLectern(ServerPlayer player, EngineControllerBlockEntity controller) { + UUID uniqueID = player.getUUID(); + Level level = controller.getLevel(); + BlockPos pos = controller.getBlockPos(); + + List> list = new ArrayList<>(); + if (activatedButtons.contains(2)) + list.add(EngineControllerBlockEntity.toFrequency(controller, 0)); + + if (activatedButtons.contains(3)) + list.add(EngineControllerBlockEntity.toFrequency(controller, 1)); + + if (activatedButtons.contains(7)) + list.add(EngineControllerBlockEntity.toFrequency(controller, 2)); + + + LinkedControllerServerHandler.receivePressed(level, pos, uniqueID, list, press); + + + //LinkedControllerServerHandler.receivePressed(controller.getLevel(), controller.getBlockPos(), uniqueID, activatedButtons.stream() + // .map(i -> EngineControllerBlockEntity.toFrequency(controller, i)) + // .collect(Collectors.toList()), press); + controller.handleInput(activatedButtons, press); + } + + @Override + public PacketTypeProvider getTypeProvider() { + return TFMGPackets.ENGINE_CONTROLLER_INPUT; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/packets/EngineControllerPacketBase.java b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/packets/EngineControllerPacketBase.java new file mode 100644 index 00000000..90fee268 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/packets/EngineControllerPacketBase.java @@ -0,0 +1,49 @@ +package com.drmangotea.tfmg.content.engines.engine_controller.packets; + +import com.drmangotea.tfmg.content.engines.engine_controller.EngineControllerBlockEntity; +import com.simibubi.create.AllItems; + +import net.createmod.catnip.net.base.ServerboundPacketPayload; +import net.minecraft.core.BlockPos; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.entity.BlockEntity; + +import javax.annotation.Nullable; + + +public abstract class EngineControllerPacketBase implements ServerboundPacketPayload { + @Nullable + private final BlockPos controllerPos; + + public EngineControllerPacketBase(@Nullable BlockPos lecternPos) { + this.controllerPos = lecternPos; + } + + @Nullable + public BlockPos getControllerPos() { + return controllerPos; + } + + @Override + public void handle(ServerPlayer player) { + if (this.controllerPos != null) { + BlockEntity be = player.level().getBlockEntity(controllerPos); + if (!(be instanceof EngineControllerBlockEntity)) + return; + handleLectern(player, (EngineControllerBlockEntity) be); + } else { + ItemStack controller = player.getMainHandItem(); + if (!AllItems.LINKED_CONTROLLER.isIn(controller)) { + controller = player.getOffhandItem(); + if (!AllItems.LINKED_CONTROLLER.isIn(controller)) + return; + } + handleItem(player, controller); + } + } + + protected abstract void handleItem(ServerPlayer player, ItemStack heldItem); + protected abstract void handleLectern(ServerPlayer player, EngineControllerBlockEntity lectern); + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/packets/EngineControllerStopControllerPacket.java b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/packets/EngineControllerStopControllerPacket.java new file mode 100644 index 00000000..a9546bf2 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/packets/EngineControllerStopControllerPacket.java @@ -0,0 +1,39 @@ +package com.drmangotea.tfmg.content.engines.engine_controller.packets; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.engines.engine_controller.EngineControllerBlockEntity; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.simibubi.create.content.redstone.link.controller.LinkedControllerPacketBase; +import com.simibubi.create.content.redstone.link.controller.LinkedControllerStopLecternPacket; +import io.netty.buffer.ByteBuf; +import net.minecraft.core.BlockPos; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.item.ItemStack; + +public class EngineControllerStopControllerPacket extends EngineControllerPacketBase { + public static final StreamCodec STREAM_CODEC = BlockPos.STREAM_CODEC.map( + EngineControllerStopControllerPacket::new, EngineControllerStopControllerPacket::getControllerPos + ); + + + public EngineControllerStopControllerPacket(BlockPos lecternPos) { + super(lecternPos); + } + + @Override + protected void handleItem(ServerPlayer player, ItemStack heldItem) { + + } + + @Override + protected void handleLectern(ServerPlayer player, EngineControllerBlockEntity lectern) { + lectern.tryStopUsing(player); + } + + @Override + public PacketTypeProvider getTypeProvider() { + return TFMGPackets.ENGINE_CONTROLLER_STOP_CONTROL; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/packets/EngineStartPacket.java b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/packets/EngineStartPacket.java new file mode 100644 index 00000000..11772cd7 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/packets/EngineStartPacket.java @@ -0,0 +1,45 @@ +package com.drmangotea.tfmg.content.engines.engine_controller.packets; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.engines.engine_controller.EngineControllerBlockEntity; +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.drmangotea.tfmg.registry.TFMGPackets; +import io.netty.buffer.ByteBuf; +import net.minecraft.core.BlockPos; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.item.ItemStack; + +import java.util.ArrayList; +import java.util.Collection; + +public class EngineStartPacket extends EngineControllerPacketBase { + + + public static final StreamCodec STREAM_CODEC = BlockPos.STREAM_CODEC.map( + EngineStartPacket::new, EngineStartPacket::getControllerPos + ); + + + public EngineStartPacket(BlockPos controllerPos) { + super(controllerPos); + } + + @Override + protected void handleItem(ServerPlayer player, ItemStack heldItem) { + + } + + @Override + protected void handleLectern(ServerPlayer player, EngineControllerBlockEntity controller) { + controller.toggleEngine(); + } + + + + @Override + public PacketTypeProvider getTypeProvider() { + return TFMGPackets.ENGINE_START; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/packets/TransmissionShiftPacket.java b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/packets/TransmissionShiftPacket.java new file mode 100644 index 00000000..3661ad95 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/packets/TransmissionShiftPacket.java @@ -0,0 +1,61 @@ +package com.drmangotea.tfmg.content.engines.engine_controller.packets; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.engines.engine_controller.EngineControllerBlockEntity; +import com.drmangotea.tfmg.registry.TFMGPackets; +import io.netty.buffer.ByteBuf; +import net.createmod.catnip.codecs.stream.CatnipStreamCodecBuilders; +import net.createmod.catnip.codecs.stream.CatnipStreamCodecs; +import net.minecraft.core.BlockPos; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.item.ItemStack; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +public class TransmissionShiftPacket extends EngineControllerPacketBase { + + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + CatnipStreamCodecBuilders.list(ByteBufCodecs.INT), p -> p.activatedButtons, + CatnipStreamCodecs.NULLABLE_BLOCK_POS, TransmissionShiftPacket::getControllerPos, + TransmissionShiftPacket::new + ); + + private List activatedButtons; + + + public TransmissionShiftPacket(List activatedButtons) { + this(activatedButtons, null); + } + + public TransmissionShiftPacket(List activatedButtons, BlockPos controllerPos) { + super(controllerPos); + this.activatedButtons = activatedButtons; + + } + + @Override + protected void handleItem(ServerPlayer player, ItemStack heldItem) { + + } + + @Override + protected void handleLectern(ServerPlayer player, EngineControllerBlockEntity controller) { + if(activatedButtons.contains(6)) { + controller.shiftBack(); + }else { + + controller.shiftForward(); + + } + } + + @Override + public PacketTypeProvider getTypeProvider() { + return TFMGPackets.ENGINE_TRANSMISSION_PACKET; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/engine_gearbox/EngineGearboxBlock.java b/src/main/java/com/drmangotea/tfmg/content/engines/engine_gearbox/EngineGearboxBlock.java new file mode 100644 index 00000000..e0b0bed1 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/engine_gearbox/EngineGearboxBlock.java @@ -0,0 +1,53 @@ +package com.drmangotea.tfmg.content.engines.engine_gearbox; + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.content.kinetics.base.HorizontalKineticBlock; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class EngineGearboxBlock extends HorizontalKineticBlock implements IBE { + public EngineGearboxBlock(Properties p_54120_) { + super(p_54120_); + } + + @Override + public boolean hasShaftTowards(LevelReader world, BlockPos pos, BlockState state, Direction face) { + return face == state.getValue(HORIZONTAL_FACING)||face.getAxis() ==state.getValue(HORIZONTAL_FACING).getClockWise().getAxis(); + } + + @Override + public VoxelShape getShape(BlockState state, BlockGetter blockGetter, BlockPos pos, CollisionContext context) { + return TFMGShapes.ENGINE_GEARBOX.get(state.getValue(HORIZONTAL_FACING)); + } + + @Override + public BlockState getStateForPlacement(BlockPlaceContext context) { + return this.defaultBlockState() + .setValue(HORIZONTAL_FACING, context.getHorizontalDirection()); + } + + @Override + public Direction.Axis getRotationAxis(BlockState state) { + return state.getValue(HORIZONTAL_FACING).getClockWise().getAxis(); + } + + @Override + public Class getBlockEntityClass() { + return EngineGearboxBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.ENGINE_GEARBOX.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/engine_gearbox/EngineGearboxBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/engines/engine_gearbox/EngineGearboxBlockEntity.java new file mode 100644 index 00000000..5d96e3fe --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/engine_gearbox/EngineGearboxBlockEntity.java @@ -0,0 +1,14 @@ +package com.drmangotea.tfmg.content.engines.engine_gearbox; + +import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +public class EngineGearboxBlockEntity extends KineticBlockEntity { + public EngineGearboxBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + super(typeIn, pos, state); + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/engine_gearbox/EngineGearboxRenderer.java b/src/main/java/com/drmangotea/tfmg/content/engines/engine_gearbox/EngineGearboxRenderer.java new file mode 100644 index 00000000..72ccffe2 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/engine_gearbox/EngineGearboxRenderer.java @@ -0,0 +1,11 @@ +package com.drmangotea.tfmg.content.engines.engine_gearbox; + +import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer; +import com.simibubi.create.content.kinetics.gearbox.GearboxBlockEntity; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; + +public class EngineGearboxRenderer extends KineticBlockEntityRenderer { + public EngineGearboxRenderer(BlockEntityRendererProvider.Context context) { + super(context); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/fuels/BaseFuelTypes.java b/src/main/java/com/drmangotea/tfmg/content/engines/fuels/BaseFuelTypes.java new file mode 100644 index 00000000..4230c350 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/fuels/BaseFuelTypes.java @@ -0,0 +1,78 @@ +package com.drmangotea.tfmg.content.engines.fuels; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.registry.TFMGTags; + +public class BaseFuelTypes { + + public static final FuelType + + FALLBACK = create("fallback") + .speed(1) + .efficiency(1) + .stress(1) + .register(), + + GASOLINE = create("gasoline") + .speed(1) + .efficiency(1) + .stress(1) + .registerAndAssign(TFMGTags.TFMGFluidTags.GASOLINE.tag), + + DIESEL = create("diesel") + .speed(0.8f) + .efficiency(0.8f) + .stress(1.4f) + .registerAndAssign(TFMGTags.TFMGFluidTags.DIESEL.tag), + + LPG = create("lpg") + .speed(1.2f) + .efficiency(0.7f) + .stress(0.7f) + .registerAndAssign(TFMGTags.TFMGFluidTags.LPG.tag), + + KEROSENE = create("kerosene") + .speed(0.7f) + .efficiency(1f) + .stress(1.4f) + .registerAndAssign(TFMGTags.TFMGFluidTags.KEROSENE.tag), + + NAPHTHA = create("naphtha") + .speed(1f) + .efficiency(0.7f) + .stress(1.3f) + .registerAndAssign(TFMGTags.TFMGFluidTags.NAPHTHA.tag), + + //MAZUT = create("mazut") + // .speed(0) + // .efficiency(0) + // .stress(0) + // .registerAndAssign(TFMGTags.TFMGFluidTags.GAS.tag), + + CREOSOTE = create("creosote") + .speed(0.7f) + .efficiency(0.4f) + .stress(0.5f) + .registerAndAssign(TFMGTags.TFMGFluidTags.CREOSOTE.tag), + + //HYDROGEN = create("hydrogen") + // .speed(0) + // .efficiency(0) + // .stress(0) + // .registerAndAssign(TFMGTags.TFMGFluidTags.GAS.tag), + + + FURNACE_GAS = create("furnace_gas") + .speed(0.5f) + .efficiency(0.3f) + .stress(0.3f) + .registerAndAssign(TFMGTags.TFMGFluidTags.FURNACE_GAS.tag); + + + private static FuelType.Builder create(String name) { + return new FuelType.Builder(TFMG.asResource(name)); + } + + public static void register() { + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/fuels/EngineFuelTypeManager.java b/src/main/java/com/drmangotea/tfmg/content/engines/fuels/EngineFuelTypeManager.java new file mode 100644 index 00000000..e8734856 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/fuels/EngineFuelTypeManager.java @@ -0,0 +1,187 @@ +package com.drmangotea.tfmg.content.engines.fuels; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.registries.Registries; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.server.packs.resources.ResourceManager; +import net.minecraft.server.packs.resources.SimpleJsonResourceReloadListener; +import net.minecraft.tags.TagKey; +import net.minecraft.util.profiling.ProfilerFiller; +import net.minecraft.world.level.material.Fluid; +import net.neoforged.neoforge.fluids.FluidStack; + +import java.util.HashMap; +import java.util.IdentityHashMap; +import java.util.Map; +import java.util.Optional; +import java.util.function.Supplier; + +public class EngineFuelTypeManager { + public static final Map BUILTIN_TYPE_MAP = new HashMap<>(); + public static final Map CUSTOM_TYPE_MAP = new HashMap<>(); + public static final Map GLOBAL_TYPE_MAP = new HashMap<>(); + private static final Map, FuelType> FLUID_TO_TYPE_MAP = new IdentityHashMap<>(); + + public static void registerBuiltinType(ResourceLocation id, FuelType type) { + synchronized (BUILTIN_TYPE_MAP) { + BUILTIN_TYPE_MAP.put(id, type); + } + synchronized (GLOBAL_TYPE_MAP) { + GLOBAL_TYPE_MAP.put(id, type); + } + } + + public static FuelType getBuiltinType(ResourceLocation id) { + return BUILTIN_TYPE_MAP.get(id); + } + public static FuelType getCustomType(ResourceLocation id) { + return CUSTOM_TYPE_MAP.get(id); + } + public static FuelType getGlobalType(ResourceLocation id) { + return GLOBAL_TYPE_MAP.get(id); + } + public static FuelType getTypeForFluid(Fluid fluid) { + return FLUID_TO_TYPE_MAP.get(fluid); + } + //public static FuelType getTypeForFluid(ResourceLocation fluidId) { + // return getTypeForFluid(BuiltInRegistries.FLUID.getValue(fluidId)); + //} + + public static Optional getTypeForStack(FluidStack fluidStack) { + if (fluidStack.isEmpty()) + return Optional.empty(); + return Optional.ofNullable(getTypeForFluid(fluidStack.getFluid())); + } + + public static ResourceLocation getIdForType(FuelType type) { + for (Map.Entry entry : GLOBAL_TYPE_MAP.entrySet()) { + if (entry.getValue() == type) + return entry.getKey(); + } + return null; + } + public static FuelType getTypeForId(ResourceLocation id) { + for (Map.Entry entry : GLOBAL_TYPE_MAP.entrySet()) { + if (entry.getKey().equals(id)) + return entry.getValue(); + } + return null; + } + + public static void clear() { + GLOBAL_TYPE_MAP.clear(); + CUSTOM_TYPE_MAP.clear(); + FLUID_TO_TYPE_MAP.clear(); + } + + //public static void fillFluidMap() { + // for (Map.Entry entry : BUILTIN_TYPE_MAP.entrySet()) { + // FuelType type = entry.getValue(); + // for (Supplier delegate : type.getFluids()) { + // FLUID_TO_TYPE_MAP.put(delegate.get(), type); + // } + // } + // for (Map.Entry entry : CUSTOM_TYPE_MAP.entrySet()) { + // FuelType type = entry.getValue(); + // for (Supplier delegate : type.getFluids()) { + // FLUID_TO_TYPE_MAP.put(delegate.get(), type); + // } + // } + //} + public static void fillGlobalMap() { + GLOBAL_TYPE_MAP.putAll(BUILTIN_TYPE_MAP); + GLOBAL_TYPE_MAP.putAll(CUSTOM_TYPE_MAP); + TFMG.LOGGER.info("Added {} Engine Fuel Types", GLOBAL_TYPE_MAP.size()); + } + + public static void toBuffer(FriendlyByteBuf buffer) { + buffer.writeVarInt(CUSTOM_TYPE_MAP.size()); + for (Map.Entry entry : CUSTOM_TYPE_MAP.entrySet()) { + buffer.writeResourceLocation(entry.getKey()); + FuelType.toBuffer(entry.getValue(), buffer); + } + } + + public static void fromBuffer(FriendlyByteBuf buffer) { + clear(); + + int size = buffer.readVarInt(); + for (int i = 0; i < size; i++) { + CUSTOM_TYPE_MAP.put(buffer.readResourceLocation(), FuelType.fromBuffer(buffer)); + } + + // fillFluidMap(); + fillGlobalMap(); + } + + // public static void syncTo(ServerPlayer player) { + // TFMGPackets.getChannel().send(PacketDistributor.PLAYER.with(() -> player), new SyncPacket()); + // } + + //public static void syncToAll() { + // TFMGPackets.getChannel().send(PacketDistributor.ALL.noArg(), new SyncPacket()); + //} + + public static class ReloadListener extends SimpleJsonResourceReloadListener { + + private static final Gson GSON = new Gson(); + + public static final ReloadListener INSTANCE = new ReloadListener(); + + protected ReloadListener() { + super(GSON, "tfmg_engine_fuels"); + } + + @Override + protected void apply(Map map, ResourceManager resourceManager, ProfilerFiller profiler) { + clear(); + + for (Map.Entry entry : map.entrySet()) { + JsonElement element = entry.getValue(); + if (element.isJsonObject()) { + ResourceLocation id = entry.getKey(); + JsonObject object = element.getAsJsonObject(); + FuelType type = FuelType.fromJson(object); + CUSTOM_TYPE_MAP.put(id, type); + } + } + + // fillFluidMap(); + fillGlobalMap(); + } + + } + + //public static class SyncPacket extends SimplePacketBase { + // + // private FriendlyByteBuf buffer; + // + // public SyncPacket() { + // } + // + // public SyncPacket(FriendlyByteBuf buffer) { + // this.buffer = buffer; + // } + // + // @Override + // public void write(FriendlyByteBuf buffer) { + // toBuffer(buffer); + // } + // + // @Override + // public boolean handle(NetworkEvent.Context context) { + // context.enqueueWork(() -> { + // fromBuffer(buffer); + // }); + // return true; + // } + // + //} +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/fuels/FuelType.java b/src/main/java/com/drmangotea/tfmg/content/engines/fuels/FuelType.java new file mode 100644 index 00000000..8da95838 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/fuels/FuelType.java @@ -0,0 +1,136 @@ +package com.drmangotea.tfmg.content.engines.fuels; + +import com.drmangotea.tfmg.registry.TFMGTags; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonPrimitive; +import com.simibubi.create.AllTags; +import net.minecraft.ResourceLocationException; +import net.minecraft.core.Holder; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.registries.Registries; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.TagKey; +import net.minecraft.world.level.material.Fluid; +import java.util.function.Consumer; +import java.util.function.Predicate; +import java.util.function.Supplier; + +import static com.simibubi.create.AllTags.optionalTag; + +public class FuelType { + TagKey fluid = TFMGTags.TFMGFluidTags.GASOLINE.tag; + private float speed = 1; + private float efficiency = 1; + private float stress = 1; + + public FuelType() { + } + + public TagKey getFluid() { + return fluid; + } + + + public float getSpeed() { + return speed; + } + + public float getEfficiency() { + return efficiency; + } + + public float getStress() { + return stress; + } + + + + + public static FuelType fromJson(JsonObject object) { + FuelType type = new FuelType(); + try { + parseJsonPrimitive(object, "fluid", JsonPrimitive::isString, primitive -> type.fluid = optionalTag(BuiltInRegistries.FLUID, ResourceLocation.fromNamespaceAndPath("",primitive.getAsString()))); + + parseJsonPrimitive(object, "speed", JsonPrimitive::isNumber, primitive -> type.speed = primitive.getAsFloat()); + parseJsonPrimitive(object, "efficiency", JsonPrimitive::isNumber, primitive -> type.efficiency = primitive.getAsFloat()); + parseJsonPrimitive(object, "stress", JsonPrimitive::isNumber, primitive -> type.stress = primitive.getAsFloat()); + } catch (Exception e) { + // + } + return type; + } + + private static void parseJsonPrimitive(JsonObject object, String key, Predicate predicate, Consumer consumer) { + JsonElement element = object.get(key); + if (element != null && element.isJsonPrimitive()) { + JsonPrimitive primitive = element.getAsJsonPrimitive(); + if (predicate.test(primitive)) { + consumer.accept(primitive); + } + } + } + + public static void toBuffer(FuelType type, FriendlyByteBuf buffer) { + + buffer.writeResourceLocation(type.fluid.location()); + + buffer.writeFloat(type.speed); + buffer.writeFloat(type.efficiency); + buffer.writeFloat(type.stress); + } + + public static FuelType fromBuffer(FriendlyByteBuf buffer) { + FuelType type = new FuelType(); + type.fluid = optionalTag(BuiltInRegistries.FLUID,buffer.readResourceLocation()); + type.speed = buffer.readFloat(); + type.efficiency = buffer.readFloat(); + type.stress = buffer.readFloat(); + return type; + } + + public static class Builder { + + protected ResourceLocation id; + protected FuelType result; + + public Builder(ResourceLocation id) { + this.id = id; + this.result = new FuelType(); + } + + + + public Builder speed(float speed) { + result.speed = speed; + return this; + } + public Builder efficiency(float efficiency) { + result.efficiency = efficiency; + return this; + } + public Builder stress(float stress) { + result.stress = stress; + return this; + } + + + + public final Builder addFluids(TagKey tag) { + result.fluid = tag; + return this; + } + + public FuelType register() { + EngineFuelTypeManager.registerBuiltinType(id, result); + return result; + } + public final FuelType registerAndAssign(TagKey tag) { + addFluids(tag); + register(); + return result; + } + + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/types/AbstractSmallEngineBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/engines/types/AbstractSmallEngineBlockEntity.java new file mode 100644 index 00000000..5d23e94d --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/types/AbstractSmallEngineBlockEntity.java @@ -0,0 +1,724 @@ +package com.drmangotea.tfmg.content.engines.types; + +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.base.EngineBlock; +import com.drmangotea.tfmg.content.engines.base.EngineComponentsInventory; +import com.drmangotea.tfmg.content.engines.base.EngineProperties; +import com.drmangotea.tfmg.content.engines.engine_controller.EngineControllerBlockEntity; +import com.drmangotea.tfmg.content.engines.upgrades.EnginePipingUpgrade; +import com.drmangotea.tfmg.content.engines.upgrades.EngineUpgrade; +import com.drmangotea.tfmg.content.engines.upgrades.TransmissionUpgrade; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.foundation.fluid.CombinedTankWrapper; +import com.simibubi.create.foundation.utility.CreateLang; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.tags.TagKey; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.material.Fluid; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +import static com.drmangotea.tfmg.content.engines.base.EngineBlock.ENGINE_STATE; +import static com.drmangotea.tfmg.content.engines.base.EngineBlock.EngineState.NORMAL; +import static com.drmangotea.tfmg.content.engines.base.EngineBlock.EngineState.SHAFT; +import static com.drmangotea.tfmg.content.engines.base.EngineBlock.SHAFT_FACING; +import static com.simibubi.create.content.kinetics.base.HorizontalKineticBlock.HORIZONTAL_FACING; + +public abstract class AbstractSmallEngineBlockEntity extends AbstractEngineBlockEntity { + + public Optional upgrade = Optional.empty(); + public TransmissionUpgrade.TransmissionState shift = TransmissionUpgrade.TransmissionState.NEUTRAL; + public boolean clutchPressed = false; + + + public int oil = 0; + public int coolingFluid = 0; + + public EngineComponentsInventory componentsInventory; + + public BlockPos controller = getBlockPos(); + public boolean connectNextTick = true; + public boolean delayedConnect = false; + public List engines = new ArrayList<>(); + public int engineNumber = 0; + + public AbstractSmallEngineBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + super(typeIn, pos, state); + componentsInventory = new EngineComponentsInventory(this, EngineProperties.commonRegularComponents()); + } + + public int getFuelConsumption() { + + if (rpm == 0) + return 0; + + float oilModifier = oil > 0 ? 0.7f : 1f; + + float coolingFluidModifier = coolingFluid > 0 ? 0.7f : 1f; + + + return (int) (12.5f * (1 / efficiencyModifier()) * getSpeedEfficiency() * fuelInjectionRate * oilModifier * coolingFluidModifier) * (engineLength() + 1); + } + + public void detashEngines() { + //for (long id : engines) { + // BlockPos pos = BlockPos.of(id); + // if (level.getBlockEntity(pos) instanceof AbstractEngineBlockEntity be) { + // be.controller = be.getBlockPos(); + // be.engineNumber = 0; + // be.refreshCapability(); + // be.sendData(); + // be.setChanged(); + // } + //} + } + + public void setBlockStates(AbstractSmallEngineBlockEntity be, BlockPos last) { + + + if (!be.isController()) { + level.setBlock(be.getBlockPos(), level.getBlockState(be.getBlockPos()).setValue(SHAFT_FACING, getBlockState().getValue(SHAFT_FACING).getOpposite()), 2); + } + + } + + public boolean hasAllComponents() { + + if (level.getBlockEntity(controller) instanceof AbstractSmallEngineBlockEntity be) { + return be.nextComponent() == Ingredient.EMPTY; + } + + return false; + } + + public boolean hasUpgrade() { + return upgrade.isPresent(); + } + + @Override + public int voltageGeneration() { + + if (upgrade.isPresent() && upgrade.get().getItem() == TFMGBlocks.GENERATOR.asItem()) + return (int) (20 * (rpm / 500)); + + return 0; + } + + @Override + public int powerGeneration() { + if (upgrade.isPresent() && upgrade.get().getItem() == TFMGBlocks.GENERATOR.asItem()) + return (int) rpm; + + return 0; + } + + @Override + public void lazyTick() { + super.lazyTick(); + + if (level.random.nextInt(45) == 0) { + if (oil > 0) + oil--; + } + if (level.random.nextInt(45) == 0) { + if (coolingFluid > 0) + coolingFluid--; + } + + upgrade.ifPresent(engineUpgrade -> engineUpgrade.lazyTickUpgrade(this)); + } + + @Override + public float calculateAddedStressCapacity() { + float stress = super.calculateAddedStressCapacity() + (torque); + return hasTwoShafts() ? stress / 2 : stress; + } + + public boolean hasTwoShafts() { + + if (!isController()) + return getControllerBE().hasTwoShafts(); + + if (this.getBlockState().getValue(ENGINE_STATE) == SHAFT) { + BlockState state = level.getBlockState(controller.south(engineLength())); + if (state.getBlock() instanceof EngineBlock) + if (engineLength() > 1 && state.getValue(ENGINE_STATE) == SHAFT) + return true; + } + return false; + } + + @Override + public void neighbourChanged() { + if (controller == null) + return; + + super.neighbourChanged(); + } + + @Override + public void onLoad() { + super.onLoad(); + if (this.hasUpgrade() && this.upgrade.get().getItem() == TFMGBlocks.INDUSTRIAL_PIPE.asItem()) { + ((EnginePipingUpgrade) this.upgrade.get()).findTank(this); + } + } + + @Override + protected void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + compound.putLong("Controller", controller.asLong()); + compound.putString("Shift", shift.name()); + if (controller != null) { + compound.putLong("ControllerPos", controller.asLong()); + } else compound.remove("ControllerPos"); + + if (upgrade.isPresent()) + compound.put("UpgradeItem", upgrade.get().getItem().getDefaultInstance().saveOptional(registries)); + compound.put("Components", componentsInventory.serializeNBT(registries)); + compound.putInt("Oil", oil); + compound.putInt("CoolingFluid", coolingFluid); + super.write(compound, registries, clientPacket); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + if (compound.contains("UpgradeItem") && ItemStack.parse(registries, compound.getCompound("UpgradeItem")).isPresent()) { + ItemStack stack = ItemStack.parse(registries, compound.getCompound("UpgradeItem")).get(); + //.ifPresent(i -> upgrade = Optional.of(EngineUpgrade.getUpgrades().get(i))); + upgrade = Optional.of(EngineUpgrade.getUpgrades().get(stack.getItem())); + + } + if (!compound.getString("Shift").isEmpty()) + shift = TransmissionUpgrade.TransmissionState.valueOf(compound.getString("Shift")); + oil = compound.getInt("Oil"); + coolingFluid = compound.getInt("CoolingFluid"); + componentsInventory.deserializeNBT(registries, compound.getCompound("Components")); + super.read(compound, registries, clientPacket); + controller = BlockPos.of(compound.getLong("Controller")); + } + + public int engineLength() { + return engines.size(); + } + + @Override + public boolean canWork() { + + if (!nextComponent().isEmpty()) + return false; + + return super.canWork(); + } + + public Ingredient nextComponent() { + if (!isController()) + return Ingredient.EMPTY; + for (int i = 0; i < componentsInventory.getSlots(); i++) { + if (componentsInventory.getStackInSlot(i).isEmpty()) { + return componentsInventory.components.get(i); + } + } + + return Ingredient.EMPTY; + } + + protected void analogSignalChanged() { + + if (controller == null) + return; + + if (hasEngineController()) { + fuelInjectionRate = highestSignal / 15f; + return; + } + + getControllerBE().updateRotation(); + getControllerBE().updateGeneratedRotation(); + int newSignal = level.getBestNeighborSignal(getBlockPos()); + + signal = newSignal; + + if (!isController()) { + if (level.getBlockEntity(controller) instanceof AbstractSmallEngineBlockEntity be) { + be.analogSignalChanged(); + return; + } + } + + for (long posLong : engines) { + BlockPos pos = BlockPos.of(posLong); + newSignal = Math.max(level.getBestNeighborSignal(pos), newSignal); + + } + newSignal = Math.max(level.getBestNeighborSignal(controller), newSignal); + highestSignal = newSignal; + fuelInjectionRate = highestSignal / 15f; + updateRotation(); + + } + + @Override + public IFluidHandler handlerForCapability() { + + + return isController() || getControllerBE() == this ? new CombinedTankWrapper(fuelTank, exhaustTank) + : getControllerBE().handlerForCapability(); + } + + + public void updateRotation() { + + if (!isController()) { + if (level.getBlockEntity(controller) instanceof AbstractSmallEngineBlockEntity be) + be.updateRotation(); + return; + } + + List allEngines = new ArrayList<>(engines); + allEngines.add(controller.asLong()); + for (TagKey fluidTag : getSupportedFuels()) { + + + if (fuelTank.getFluid().getFluid().is(fluidTag)) { + if (!canWork()) { + allEngines.forEach(l -> { + BlockPos pos = BlockPos.of(l); + if (level.getBlockEntity(pos) instanceof AbstractEngineBlockEntity be) { + be.rpm = 0; + be.torque = 0; + be.updateGeneratedRotation(); + } + + }); + return; + } + allEngines.forEach(l -> { + BlockPos pos = BlockPos.of(l); + if (level.getBlockEntity(pos) instanceof AbstractEngineBlockEntity be) { + be.rpm = 4000 * speedModifier() * fuelInjectionRate; + be.torque = 15 * torqueModifier() * fuelInjectionRate * engineLength(); + be.updateGeneratedRotation(); + } + }); + return; + } + } + updateGeneratedRotation(); + getAllEngines().forEach(l -> { + if (hasLevel()) + if (level.getBlockEntity(BlockPos.of(l)) instanceof AbstractEngineBlockEntity be) { + be.updateGeneratedRotation(); + } + }); + } + + public boolean canGenerateSpeed() { + if (getBlockState().getValue(ENGINE_STATE) != SHAFT) + return false; + + + return true; + } + + + @Override + public float getGeneratedSpeed() { + + if (!canGenerateSpeed()) + return 0; + + float speed; + + + if (hasLevel()) { + if (getControllerBE().fuelTank.isEmpty()) + return 0; + + if (!getControllerBE().canWork()) + return 0; + + speed = rpm / 40; + if (reverse) + speed = speed * -1; + + if (getControllerBE().hasEngineController()) { + + if (getControllerBE().hasTwoShafts()) + + + speed = switch (getControllerBE().shift) { + case REVERSE -> speed * -0.3f; + case NEUTRAL -> 0; + case SHIFT_1 -> speed * 0.2f; + case SHIFT_2 -> speed * 0.4f; + case SHIFT_3 -> speed * 0.6f; + case SHIFT_4 -> speed * 0.8f; + case SHIFT_5 -> speed; + case SHIFT_6 -> speed * 1.2f; + }; + + + } + + + return convertToDirection(Math.min((int) speed, 256), getBlockState().getValue(HORIZONTAL_FACING)); + } + return 0; + } + + @Override + public void tankUpdated(FluidStack stack, boolean fuel) { + if (stack.getFluid().isSame(TFMGFluids.CARBON_DIOXIDE.get()) && stack.getAmount() >= exhaustTank.getSpace()) + updateRotation(); + super.tankUpdated(stack, fuel); + } + + public boolean insertItem(ItemStack itemStack, boolean shifting, Player player, InteractionHand hand) { + Direction shaft_facing = getBlockState().getValue(SHAFT_FACING); + if (itemStack.is(AllBlocks.SHAFT.asItem()) && getBlockState().getValue(ENGINE_STATE) == NORMAL && !(level.getBlockEntity(getBlockPos().relative(shaft_facing)) instanceof AbstractEngineBlockEntity)) { + playInsertionSound(); + level.setBlock(getBlockPos(), getBlockState().setValue(ENGINE_STATE, SHAFT), 2); + itemStack.shrink(1); + updateRotation(); + setChanged(); + sendData(); + return true; + } + if (itemStack.is(TFMGItems.SCREWDRIVER.get())) { + for (int i = componentsInventory.components.size() - 1; i >= 0; i--) { + if (!componentsInventory.getItem(i).isEmpty()) { + dropItem(componentsInventory.getItem(i)); + componentsInventory.setStackInSlot(i, ItemStack.EMPTY); + playRemovalSound(); + updateRotation(); + setChanged(); + sendData(); + return true; + } + } + } + + if (itemStack.is(TFMGItems.COOLING_FLUID_BOTTLE.get())) { + + if (level.getBlockEntity(controller) instanceof AbstractSmallEngineBlockEntity be) { + + int toDrain = Math.min(2000 - coolingFluid, itemStack.get(TFMGDataComponents.AMOUNT)); + itemStack.set(TFMGDataComponents.AMOUNT, itemStack.get(TFMGDataComponents.AMOUNT) - toDrain); + be.coolingFluid += toDrain; + level.playSound(null, getBlockPos(), SoundEvents.BUCKET_FILL, SoundSource.BLOCKS, 1f, 1f); + return true; + } + } + if (itemStack.is(TFMGItems.OIL_CAN.get())) { + if (level.getBlockEntity(controller) instanceof AbstractSmallEngineBlockEntity be) { + int toDrain = Math.min(2000 - oil, itemStack.get(TFMGDataComponents.AMOUNT)); + itemStack.set(TFMGDataComponents.AMOUNT, itemStack.get(TFMGDataComponents.AMOUNT) - toDrain); + be.oil += toDrain; + level.playSound(null, getBlockPos(), SoundEvents.BUCKET_FILL, SoundSource.BLOCKS, 1f, 1f); + updateRotation(); + return true; + } + } + if (itemStack.is(TFMGFluids.COOLING_FLUID.getBucket().get())) { + if (coolingFluid <= 1000) { + coolingFluid += 1000; + player.setItemInHand(hand, Items.BUCKET.getDefaultInstance()); + level.playSound(null, getBlockPos(), SoundEvents.BUCKET_FILL, SoundSource.BLOCKS, 1f, 1f); + updateRotation(); + return true; + } + } + if (itemStack.is(TFMGFluids.LUBRICATION_OIL.getBucket().get())) { + if (oil <= 1000) { + oil += 1000; + player.setItemInHand(hand, Items.BUCKET.getDefaultInstance()); + level.playSound(null, getBlockPos(), SoundEvents.BUCKET_FILL, SoundSource.BLOCKS, 1f, 1f); + updateRotation(); + return true; + } + } + if (upgrade.isEmpty()) + if (EngineUpgrade.getUpgrades().containsKey(itemStack.getItem())) { + Optional itemUpgrade = EngineUpgrade.getUpgrades().get(itemStack.getItem()).createUpgrade(); + + if (itemUpgrade.isPresent() && isUpgradeFirst(itemUpgrade.get())) { + upgrade = itemUpgrade; + playInsertionSound(); + updateRotation(); + upgrade.ifPresent(u -> u.updateUpgrade(this)); + itemStack.shrink(1); + if (upgrade.isPresent()) + if (upgrade.get() instanceof TransmissionUpgrade transmissionUpgrade) { + if (itemStack.has(TFMGDataComponents.POSITION) && itemStack.get(TFMGDataComponents.POSITION) != null) { + BlockPos pos = BlockPos.of(itemStack.get(TFMGDataComponents.POSITION)); + if (level.getBlockEntity(pos) instanceof EngineControllerBlockEntity engineControllerBE) { + + this.getControllerBE().updateGeneratedRotation(); + + getControllerBE().controller = pos; + engineControllerBE.enginePos = this.getBlockPos(); + getControllerBE().highestSignal = 0; + } + } + } + setChanged(); + sendData(); + return true; + } + } + + if (!isController()) + return false; + if (nextComponent().test(itemStack)) { + if (componentsInventory.insertItem(itemStack)) { + if (!itemStack.is(TFMGItems.SCREWDRIVER.get())) + itemStack.shrink(1); + playInsertionSound(); + updateRotation(); + setChanged(); + sendData(); + return true; + } + } + return false; + } + + public List getEngines() { + + List values = new ArrayList<>(); + + for (Long position : getAllEngines()) { + BlockPos pos = BlockPos.of(position); + if (level.getBlockEntity(pos) instanceof AbstractSmallEngineBlockEntity be) + values.add(be); + } + return values; + + } + + public boolean isController() { + + if (controller == null) + controller = getBlockPos(); + + if (engineNumber == 0) + controller = getBlockPos(); + + return controller.equals(getBlockPos()); + } + + + @Override + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + + if (controller.asLong() == getBlockPos().asLong()) + CreateLang.text("CONTROLLER").forGoggles(tooltip); + + CreateLang.text("Shift " + shift.toString()).forGoggles(tooltip); + CreateLang.text("Speed Efficiency " + getSpeedEfficiency()).forGoggles(tooltip); + CreateLang.text("Efficiency " + efficiencyModifier()).forGoggles(tooltip); + CreateLang.text("Fuel Consumption " + getFuelConsumption()).forGoggles(tooltip); + CreateLang.text("Rpm " + rpm).forGoggles(tooltip); + CreateLang.text("length " + engineLength()).forGoggles(tooltip); + CreateLang.text("Torque " + torque).forGoggles(tooltip); + CreateLang.text("Injection Rate " + fuelInjectionRate).forGoggles(tooltip); + CreateLang.text("Signal " + highestSignal).forGoggles(tooltip); + + + CreateLang.number(engineNumber).style(ChatFormatting.DARK_GREEN).forGoggles(tooltip); + if (isController() && !nextComponent().isEmpty()) + CreateLang.text(nextComponent().getItems()[0].getDisplayName().getString()).forGoggles(tooltip); + + TFMGUtils.createFluidTooltip(this, tooltip); + + return true; + } + + public boolean isUpgradeFirst(EngineUpgrade itemUpgrade) { + + for (AbstractSmallEngineBlockEntity be : getEngines()) { + + if (be.upgrade.isPresent() && be.upgrade.get().getItem() == itemUpgrade.getItem()) + return false; + } + return true; + } + + public List getAllEngines() { + List list = new ArrayList<>(engines); + list.add(controller.asLong()); + return list; + } + + public AbstractSmallEngineBlockEntity getControllerBE() { + if (isController()) + return this; + BlockEntity blockEntity = level.getBlockEntity(controller); + if (blockEntity instanceof AbstractSmallEngineBlockEntity) + return (AbstractSmallEngineBlockEntity) blockEntity; + return this; + } + + + @Override + public void tick() { + + upgrade.ifPresent(engineUpgrade -> engineUpgrade.tickUpgrade(this)); + + if (connectNextTick) { + if (isController()) { + connect(); + connectNextTick = false; + } + } + + super.tick(); + } + + public void connect() { + + + Direction facing = getBlockState().getValue(HORIZONTAL_FACING); + Direction updateDirection = facing.getOpposite(); + + if (level.getBlockEntity(getBlockPos().relative(facing)) instanceof AbstractSmallEngineBlockEntity be && be.getBlockState().getBlock() == this.getBlockState().getBlock()) { + be.connect(); + return; + } + + engines = new ArrayList<>(); + + for (int i = 0; i < getMaxLength(); i++) { + BlockPos pos = getBlockPos().relative(updateDirection, i); + if (level.getBlockEntity(pos) instanceof AbstractSmallEngineBlockEntity be) { + if (be.getBlockState().getValue(HORIZONTAL_FACING) != facing) { + return; + } + + level.setBlock(be.getBlockPos(), be.getBlockState().setValue(SHAFT_FACING, be.getBlockPos() == this.getBlockPos() ? facing : updateDirection), 2); + + //if (be instanceof RegularEngineBlockEntity be1 && this instanceof RegularEngineBlockEntity be2 && be1.type != be2.type) { + // setBlockStates(this, getBlockPos().relative(updateDirection, i - 1)); + // TFMG.LOGGER.debug("set blockstates"); + // return; + //} + be.detashEngines(); + engines.add(pos.asLong()); + + // level.setBlock(be.getBlockPos().above(), Blocks.GOLD_BLOCK.defaultBlockState(),3); + + be.engineNumber = i; + be.engines = new ArrayList<>(); + be.controller = getBlockPos(); + be.refreshCapability(); + + setBlockStates(be, null); + updateGeneratedRotation(); + onUpdated(); + be.sendData(); + be.setChanged(); + + if (be.getBlockState().getValue(ENGINE_STATE) != NORMAL && i != 0) { + setBlockStates(this, getBlockPos().relative(updateDirection, i - 1)); + break; + } + if (i == getMaxLength() - 1) + setBlockStates(this, getBlockPos().relative(updateDirection, i)); + + + } else { + setBlockStates(this, getBlockPos().relative(updateDirection, i - 1)); + return; + } + } + + updateGeneratedRotation(); + updateRotation(); + setChanged(); + sendData(); + + } + + @Override + public void remove() { + super.remove(); + updateOthers(); + } + + public void updateOthers() { + + if (!isController()) { + getControllerBE().connectNextTick = true; + } + + + Direction facing = getBlockState().getValue(HORIZONTAL_FACING); + + for (Direction direction : Direction.values()) { + + if (direction.getAxis() != facing.getAxis()) + continue; + + if (level.getBlockEntity(getBlockPos().relative(direction)) instanceof AbstractSmallEngineBlockEntity be) { + level.setBlockAndUpdate(be.getBlockPos(), be.getBlockState().setValue(SHAFT_FACING, direction.getOpposite())); + be.delayedConnect = true; + be.connectNextTick = true; + be.connect(); + } + + } + + } + + + public float getUpgradeSpeedModifier() { + float modifier = 1; + for (AbstractSmallEngineBlockEntity be : getEngines()) { + if (be.upgrade.isPresent()) + modifier *= be.upgrade.get().getSpeedModifier(this); + } + return modifier; + } + + public float getUpgradeTorqueModifier() { + float modifier = 1; + for (AbstractSmallEngineBlockEntity be : getEngines()) { + if (be.upgrade.isPresent()) + modifier *= be.upgrade.get().getTorqueModifier(this); + } + return modifier; + } + + public float getUpgradeEfficiencyModifier() { + float modifier = 1; + for (AbstractSmallEngineBlockEntity be : getEngines()) { + if (be.upgrade.isPresent()) + modifier *= be.upgrade.get().getEfficiencyModifier(this); + } + return modifier; + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/types/large_engine/LargeEngineBlock.java b/src/main/java/com/drmangotea/tfmg/content/engines/types/large_engine/LargeEngineBlock.java new file mode 100644 index 00000000..495ae430 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/types/large_engine/LargeEngineBlock.java @@ -0,0 +1,237 @@ +package com.drmangotea.tfmg.content.engines.types.large_engine; + + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.mojang.serialization.MapCodec; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllShapes; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.content.fluids.tank.FluidTankBlock; +import com.simibubi.create.content.kinetics.simpleRelays.ShaftBlock; +import com.simibubi.create.content.kinetics.steamEngine.PoweredShaftBlock; +import com.simibubi.create.foundation.block.IBE; +import com.simibubi.create.foundation.utility.BlockHelper; +import net.createmod.catnip.data.Couple; +import net.createmod.catnip.placement.IPlacementHelper; +import net.createmod.catnip.placement.PlacementHelpers; +import net.createmod.catnip.placement.PlacementOffset; +import net.minecraft.MethodsReturnNonnullByDefault; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.Direction.Axis; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.CocoaBlock; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition.Builder; +import net.minecraft.world.level.block.state.properties.AttachFace; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.EnumProperty; +import net.minecraft.world.level.pathfinder.PathComputationType; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +import javax.annotation.Nullable; +import java.util.function.Predicate; + +import static net.minecraft.world.level.block.state.properties.BlockStateProperties.WATERLOGGED; + +public class LargeEngineBlock extends HorizontalDirectionalBlock + implements IWrenchable, IBE { + public static final EnumProperty FACE = BlockStateProperties.ATTACH_FACE; + + public static final MapCodec CODEC = simpleCodec(LargeEngineBlock::new); + + private static final int placementHelperId = PlacementHelpers.register(new PlacementHelper()); + + public LargeEngineBlock(Properties properties) { + super(properties); + registerDefaultState(stateDefinition.any().setValue(FACE, AttachFace.FLOOR).setValue(FACING, Direction.NORTH).setValue(WATERLOGGED, false)); + } + + @Override + protected MapCodec codec() { + return CODEC; + } + + public static Direction getConnectedDirection(BlockState p_53201_) { + switch ((AttachFace) p_53201_.getValue(FACE)) { + case CEILING: + return Direction.DOWN; + case FLOOR: + return Direction.UP; + default: + return p_53201_.getValue(FACING); + } + } + + @Override + protected void createBlockStateDefinition(Builder pBuilder) { + super.createBlockStateDefinition(pBuilder.add(FACE, FACING, WATERLOGGED)); + } +/* + @Override + public void setPlacedBy(Level pLevel, BlockPos pPos, BlockState pState, LivingEntity pPlacer, ItemStack pStack) { + super.setPlacedBy(pLevel, pPos, pState, pPlacer, pStack); + AdvancementBehaviour.setPlacedBy(pLevel, pPos, pPlacer); + } + +*/ + + + @Nullable + public BlockState getStateForPlacement(BlockPlaceContext p_53184_) { + for (Direction direction : p_53184_.getNearestLookingDirections()) { + BlockState blockstate; + if (direction.getAxis() == Axis.Y) { + blockstate = this.defaultBlockState().setValue(FACE, direction == Direction.UP ? AttachFace.CEILING : AttachFace.FLOOR).setValue(FACING, p_53184_.getHorizontalDirection()); + } else { + blockstate = this.defaultBlockState().setValue(FACE, AttachFace.WALL).setValue(FACING, direction.getOpposite()); + } + + if (blockstate.canSurvive(p_53184_.getLevel(), p_53184_.getClickedPos())) { + return blockstate; + } + } + + return null; + } + + + + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand, BlockHitResult ray) { + ItemStack heldItem = player.getItemInHand(hand); + + IPlacementHelper placementHelper = PlacementHelpers.get(placementHelperId); + if (placementHelper.matchesItem(heldItem)) + return placementHelper.getOffset(player, world, state, pos, ray) + .placeInWorld(world, (BlockItem) heldItem.getItem(), player, hand, ray); + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + } + + @Override + public BlockState updateShape(BlockState state, Direction direction, BlockState neighbourState, LevelAccessor world, + BlockPos pos, BlockPos neighbourPos) { + // if (state.getValue(WATERLOGGED)) + // world.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(world)); + return state; + } + + @Override + public void onPlace(BlockState pState, Level pLevel, BlockPos pPos, BlockState pOldState, boolean pIsMoving) { + // FluidTankBlock.updateBoilerState(pState, pLevel, pPos.relative(getFacing(pState).getOpposite())); + BlockPos shaftPos = getShaftPos(pState, pPos); + BlockState shaftState = pLevel.getBlockState(shaftPos); + if (isShaftValid(pState, shaftState)) + pLevel.setBlock(shaftPos, PoweredShaftBlock.getEquivalent(shaftState), 3); + } + + @Override + public void onRemove(BlockState pState, Level pLevel, BlockPos pPos, BlockState pNewState, boolean pIsMoving) { + if (pState.hasBlockEntity() && (!pState.is(pNewState.getBlock()) || !pNewState.hasBlockEntity())) + pLevel.removeBlockEntity(pPos); + FluidTankBlock.updateBoilerState(pState, pLevel, pPos.relative(getFacing(pState).getOpposite())); + BlockPos shaftPos = getShaftPos(pState, pPos); + BlockState shaftState = pLevel.getBlockState(shaftPos); + if (AllBlocks.POWERED_SHAFT.has(shaftState)) + pLevel.scheduleTick(shaftPos, shaftState.getBlock(), 1); + } + + @Override + public VoxelShape getShape(BlockState state, BlockGetter pLevel, BlockPos pPos, CollisionContext pContext) { + + if (TFMGBlocks.LARGE_ENGINE.has(state)) + return TFMGShapes.FULL; + + + AttachFace face = state.getValue(FACE); + Direction direction = state.getValue(FACING); + return face == AttachFace.CEILING ? AllShapes.STEAM_ENGINE_CEILING.get(direction.getAxis()) + : face == AttachFace.FLOOR ? AllShapes.STEAM_ENGINE.get(direction.getAxis()) + : AllShapes.STEAM_ENGINE_WALL.get(direction); + } + + + @Override + protected boolean isPathfindable(BlockState state, PathComputationType pathComputationType) { + return false; + } + + public static Direction getFacing(BlockState sideState) { + return getConnectedDirection(sideState); + } + + public static BlockPos getShaftPos(BlockState sideState, BlockPos pos) { + return pos.relative(getConnectedDirection(sideState), 2); + } + + public static boolean isShaftValid(BlockState state, BlockState shaft) { + return (AllBlocks.SHAFT.has(shaft) || AllBlocks.POWERED_SHAFT.has(shaft)) + && shaft.getValue(ShaftBlock.AXIS) != getFacing(state).getAxis(); + } + + @Override + public Class getBlockEntityClass() { + return LargeEngineBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.LARGE_ENGINE.get(); + } + + @MethodsReturnNonnullByDefault + private static class PlacementHelper implements IPlacementHelper { + @Override + public Predicate getItemPredicate() { + return AllBlocks.SHAFT::isIn; + } + + @Override + public Predicate getStatePredicate() { + return s -> s.getBlock() instanceof LargeEngineBlock; + } + + @Override + public PlacementOffset getOffset(Player player, Level world, BlockState state, BlockPos pos, + BlockHitResult ray) { + BlockPos shaftPos = LargeEngineBlock.getShaftPos(state, pos); + BlockState shaft = AllBlocks.SHAFT.getDefaultState(); + for (Direction direction : Direction.orderedByNearest(player)) { + shaft = shaft.setValue(ShaftBlock.AXIS, direction.getAxis()); + if (isShaftValid(state, shaft)) + break; + } + + BlockState newState = world.getBlockState(shaftPos); + if (!newState.canBeReplaced()) + return PlacementOffset.fail(); + + Axis axis = shaft.getValue(ShaftBlock.AXIS); + return PlacementOffset.success(shaftPos, + s -> BlockHelper.copyProperties(s, AllBlocks.POWERED_SHAFT.getDefaultState()) + .setValue(PoweredShaftBlock.AXIS, axis)); + } + } + + public static Couple getSpeedRange() { + return Couple.create(16, 128); + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/types/large_engine/LargeEngineBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/engines/types/large_engine/LargeEngineBlockEntity.java new file mode 100644 index 00000000..33d047b7 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/types/large_engine/LargeEngineBlockEntity.java @@ -0,0 +1,362 @@ +package com.drmangotea.tfmg.content.engines.types.large_engine; + + +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.config.TFMGConfigs; +import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.base.EngineFluidTank; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGSoundEvents; +import com.drmangotea.tfmg.registry.TFMGTags; +import com.simibubi.create.content.kinetics.base.GeneratingKineticBlockEntity; +import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer; +import com.simibubi.create.content.kinetics.belt.behaviour.DirectBeltInputBehaviour; +import com.simibubi.create.content.kinetics.steamEngine.PoweredShaftBlockEntity; +import com.simibubi.create.content.kinetics.steamEngine.SteamEngineBlock; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.fluid.CombinedTankWrapper; +import com.simibubi.create.foundation.utility.CreateLang; +import net.createmod.catnip.math.AngleHelper; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.Direction.Axis; +import net.minecraft.core.Direction.AxisDirection; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.tags.TagKey; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.material.Fluid; +import net.minecraft.world.phys.AABB; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; + + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.lang.ref.WeakReference; +import java.util.List; + +public class LargeEngineBlockEntity extends AbstractEngineBlockEntity { + + + public WeakReference target; + + + public EngineFluidTank airTank; + + public IFluidHandler fluidCapabilityy; + + + public LargeEngineBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + target = new WeakReference<>(null); + exhaustTank = new EngineFluidTank(2000, true, false, f->tankUpdated(f,false)); + fuelTank = new EngineFluidTank(2000, false, true, f->tankUpdated(f,true), TFMGTags.TFMGFluidTags.AIR.tag); + airTank = new EngineFluidTank(1000, false, true, TFMGTags.TFMGFluidTags.AIR.tag, f->tankUpdated(f,true)); + fluidCapabilityy = new CombinedTankWrapper(exhaustTank,fuelTank,airTank); + } + + @Override + public void tankUpdated(FluidStack stack, boolean fuelTank) { + super.tankUpdated(stack, fuelTank); + sendStuff(); + } + + @Override + public void refreshCapability() {} + + @Override + public List> getSupportedFuels() { + return List.of(TFMGTags.TFMGFluidTags.DIESEL.tag, TFMGTags.TFMGFluidTags.KEROSENE.tag, TFMGTags.TFMGFluidTags.NAPHTHA.tag, TFMGTags.TFMGFluidTags.FURNACE_GAS.tag); + } + + @Override + public void addBehaviours(List behaviours) { + behaviours.add(new DirectBeltInputBehaviour(this)); + } + + + public boolean isSimpleEngine(){ + return TFMGBlocks.SIMPLE_LARGE_ENGINE.has(getBlockState()); + } + + @Override + public IFluidHandler handlerForCapability() { + return new CombinedTankWrapper(fuelTank, exhaustTank, airTank); + } + + @Override + public void manageFuelAndExhaust() { + super.manageFuelAndExhaust(); + + if (fuelConsumptionTimer > 2) { + airTank.forceDrain(150, IFluidHandler.FluidAction.EXECUTE); + } + } + + @Override + public void tick() { + super.tick(); + + PoweredShaftBlockEntity shaft = getShaft(); + + if (shaft == null) { + if (!level.isClientSide()) { + + if (shaft == null) + return; + if (!shaft.getBlockPos() + .subtract(worldPosition) + .equals(shaft.enginePos)) + return; + if (shaft.engineEfficiency == 0) + return; + Direction facing = LargeEngineBlock.getFacing(getBlockState()); + if (level.isLoaded(worldPosition.relative(facing.getOpposite()))) + shaft.update(worldPosition, 0, 0); + return; + } + } + + BlockState blockState = getBlockState(); + if (!TFMGBlocks.LARGE_ENGINE.has(blockState) && !TFMGBlocks.SIMPLE_LARGE_ENGINE.has(blockState)) + return; + + if(level.isClientSide) + makeSound(); + + + if (!level.isClientSide) + if (getShaft() != null) + engineProcess(); + + } + + @Override + public float efficiencyModifier() { + return 0.5f; + } + + @Override + public float speedModifier() { + return 1; + } + + @Override + public float torqueModifier() { + return 1; + } + + @Override + public String engineId() { + return "Large"; + } + + + @OnlyIn(Dist.CLIENT) + private void makeSound() { + Float targetAngle = getTargetAngle(); + PoweredShaftBlockEntity ste = target.get(); + if (ste == null) + return; + if(getShaft().getSpeed()==0) + return; + if(fuelTank.isEmpty()||airTank.isEmpty()||exhaustTank.getSpace() == 0) + return; + //if (engineStrength == 0) + // return; + PoweredShaftBlockEntity shaft = getShaft(); + + + if (targetAngle == null) + return; + + float angle = AngleHelper.deg(targetAngle); + angle += (angle < 0) ? -180 + 75 : 360 - 75; + angle %= 360; + + + if (shaft == null || shaft.getSpeed() == 0) + return; + + if (angle >= 0 && !(prevAngle > 180 && angle < 180)) { + prevAngle = angle; + return; + } + + if (angle < 0 && !(prevAngle < -180 && angle > -180)) { + prevAngle = angle; + return; + } + + TFMGSoundEvents.DIESEL_ENGINE.playAt(level, worldPosition, 0.4f * TFMGConfigs.common().machines.engineLoudness.getF(), 1f, false); + + prevAngle = angle; + } + + + + @Override + public boolean canWork() { + + if (airTank.isEmpty()) + return false; + + + return super.canWork(); + } + + private void engineProcess() { + PoweredShaftBlockEntity shaft = getShaft(); + + + if (!canWork()) { + shaft.update(worldPosition, 0, 0); + return; + } + + boolean isFuelValid = false; + for(TagKey tag : getSupportedFuels()){ + if(fuelTank.getFluid().getFluid().is(tag)) + isFuelValid = true; + } + + + shaft.update(worldPosition, 2, 15 * getFuelType().getStress()*(isFuelValid?1:0)); + sendData(); + setChanged(); + } + + @Override + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + + if(getShaft() == null) + return false; + + CreateLang.text("").style(ChatFormatting.GRAY).forGoggles(tooltip); + + TFMGUtils.createFluidTooltip(this,tooltip); + + return true; + } + + @Override + public void remove() { + PoweredShaftBlockEntity shaft = getShaft(); + if (shaft != null) + shaft.remove(worldPosition); + super.remove(); + } + + @Override + @OnlyIn(Dist.CLIENT) + protected AABB createRenderBoundingBox() { + return super.createRenderBoundingBox().inflate(2); + } + + public PoweredShaftBlockEntity getShaft() { + PoweredShaftBlockEntity shaft = target.get(); + if (shaft == null || shaft.isRemoved() || !shaft.canBePoweredBy(worldPosition)) { + if (shaft != null) + target = new WeakReference<>(null); + Direction facing = LargeEngineBlock.getFacing(getBlockState()); + BlockEntity anyShaftAt = level.getBlockEntity(worldPosition.relative(facing, 2)); + if (anyShaftAt instanceof PoweredShaftBlockEntity ps && ps.canBePoweredBy(worldPosition)) + target = new WeakReference<>(shaft = ps); + } + return shaft; + } + + + float prevAngle = 0; + + + @Nullable + @OnlyIn(Dist.CLIENT) + public Float getTargetAngle() { + float angle = 0; + BlockState blockState = getBlockState(); + if (!TFMGBlocks.LARGE_ENGINE.has(blockState)&&!TFMGBlocks.SIMPLE_LARGE_ENGINE.has(blockState)) + return null; + + Direction facing = SteamEngineBlock.getFacing(blockState); + PoweredShaftBlockEntity shaft = getShaft(); + Axis facingAxis = facing.getAxis(); + Axis axis = Axis.Y; + + if (shaft == null) + return null; + + axis = KineticBlockEntityRenderer.getRotationAxisOf(shaft); + angle = KineticBlockEntityRenderer.getAngleForBe(shaft, shaft.getBlockPos(), axis); + + if (axis == facingAxis) + return null; + if (axis.isHorizontal() && (facingAxis == Axis.X ^ facing.getAxisDirection() == AxisDirection.POSITIVE)) + angle *= -1; + if (axis == Axis.X && facing == Direction.DOWN) + angle *= -1; + return angle; + } + + + @Override + public void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + compound.put("Air", airTank.writeToNBT(registries,new CompoundTag())); + super.write(compound,registries , clientPacket); + } + + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.FluidHandler.BLOCK, + TFMGBlockEntities.LARGE_ENGINE.get(), + (be, context) -> be.fluidCapabilityy + ); + } + @Override + public int getFuelConsumption() { + if(getShaft()==null) + return 0; + + if(isSimpleEngine()&&getShaft()!=null) + return (int) getShaft().getGeneratedSpeed()/10; + + if(getShaft()==null) + return 0; + return (int) getShaft().getGeneratedSpeed()/40; + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + airTank.readFromNBT(registries,compound.getCompound("Air")); + + + super.read(compound,registries , clientPacket); + } + + + @Override + public void invalidate() { + super.invalidate(); + + invalidateCapabilities(); + } + + + + @Override + public void notifyUpdate() { + super.notifyUpdate(); + } + + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/types/large_engine/LargeEngineRenderer.java b/src/main/java/com/drmangotea/tfmg/content/engines/types/large_engine/LargeEngineRenderer.java new file mode 100644 index 00000000..7c2eddf4 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/types/large_engine/LargeEngineRenderer.java @@ -0,0 +1,97 @@ +package com.drmangotea.tfmg.content.engines.types.large_engine; + + +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer; +import com.simibubi.create.content.kinetics.steamEngine.PoweredShaftBlockEntity; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import net.createmod.catnip.math.AngleHelper; +import net.createmod.catnip.render.CachedBuffers; +import net.createmod.catnip.render.SuperByteBuffer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.core.Direction; +import net.minecraft.core.Direction.Axis; +import net.minecraft.util.Mth; +import net.minecraft.world.level.block.state.BlockState; + +public class LargeEngineRenderer extends SafeBlockEntityRenderer { + + public LargeEngineRenderer(BlockEntityRendererProvider.Context context) { + } + + @Override + protected void renderSafe(LargeEngineBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, + int light, int overlay) { + //if (Backend.canUseInstancing(te.getLevel())) + // return; + + Float angle = be.getTargetAngle(); + if (angle == null) + return; + + BlockState blockState = be.getBlockState(); + Direction facing = LargeEngineBlock.getFacing(blockState); + Axis facingAxis = facing.getAxis(); + Axis axis = Axis.Y; + + PoweredShaftBlockEntity shaft = be.getShaft(); + if (shaft != null) + axis = KineticBlockEntityRenderer.getRotationAxisOf(shaft); + + boolean roll90 = facingAxis.isHorizontal() && axis == Axis.Y || facingAxis.isVertical() && axis == Axis.Z; + float sine = Mth.sin(angle); + float sine2 = Mth.sin(angle - Mth.HALF_PI); + float piston = ((1 - sine) / 4) * 24 / 16f; + + VertexConsumer vb = buffer.getBuffer(RenderType.solid()); + + + transformed(be.isSimpleEngine() ? TFMGPartialModels.SIMPLE_LARGE_ENGINE_PISTON : TFMGPartialModels.LARGE_ENGINE_PISTON, blockState, facing, roll90) + .translate(0, piston, 0) + .light(light) + .renderInto(ms, vb); + + + transformed(be.isSimpleEngine() ? TFMGPartialModels.SIMPLE_LARGE_ENGINE_LINKAGE : TFMGPartialModels.LARGE_ENGINE_LINKAGE, blockState, facing, roll90) + .center() + .translate(0, 1, 0) + .uncenter() + .translate(0, piston, 0) + .translate(0, 4 / 16f, 8 / 16f) + .rotateXDegrees(sine2 * 23f) + .translate(0, -4 / 16f, -8 / 16f) + .light(light) + .renderInto(ms, vb); + + transformed(AllPartialModels.ENGINE_CONNECTOR, blockState, facing, roll90) + .translate(0, 2, 0) + .center() + .rotateX(-angle + Mth.HALF_PI) + .uncenter() + .light(light) + .renderInto(ms, vb); + + + } + + private SuperByteBuffer transformed(PartialModel model, BlockState blockState, Direction facing, boolean roll90) { + return CachedBuffers.partial(model, blockState) + .center() + .rotateYDegrees(AngleHelper.horizontalAngle(facing)) + .rotateXDegrees(AngleHelper.verticalAngle(facing) + 90) + .rotateYDegrees(roll90 ? -90 : 0) + .uncenter(); + } + + @Override + public int getViewDistance() { + return 128; + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/types/radial_engine/RadialEngineBlock.java b/src/main/java/com/drmangotea/tfmg/content/engines/types/radial_engine/RadialEngineBlock.java new file mode 100644 index 00000000..fe4854f1 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/types/radial_engine/RadialEngineBlock.java @@ -0,0 +1,46 @@ +package com.drmangotea.tfmg.content.engines.types.radial_engine; + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.content.engines.types.regular_engine.RegularEngineBlock; +import com.drmangotea.tfmg.content.engines.types.regular_engine.RegularEngineBlockEntity; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class RadialEngineBlock extends RegularEngineBlock { + public RadialEngineBlock(Properties properties) { + super(properties); + registerDefaultState(defaultBlockState().setValue(ENGINE_STATE, EngineState.SINGLE)); + } + + @Override + public boolean hasShaftTowards(LevelReader world, BlockPos pos, BlockState state, Direction face) { + + if(state.getValue(ENGINE_STATE)==EngineState.SINGLE) + return face.getAxis() == state.getValue(SHAFT_FACING).getAxis(); + + return face==state.getValue(SHAFT_FACING); + } + + @Override + public VoxelShape getShape(BlockState state, BlockGetter p_60556_, BlockPos pos, CollisionContext p_60558_) { + return switch (state.getValue(ENGINE_STATE)){ + case NORMAL -> TFMGShapes.RADIAL_ENGINE_MIDDLE.get(state.getValue(HORIZONTAL_FACING)); + case SHAFT -> TFMGShapes.RADIAL_ENGINE_SIDE.get(state.getValue(HORIZONTAL_FACING).getOpposite()); + case BACK -> TFMGShapes.RADIAL_ENGINE_SIDE.get(state.getValue(HORIZONTAL_FACING)); + case SINGLE -> TFMGShapes.RADIAL_ENGINE_SINGLE.get(state.getValue(HORIZONTAL_FACING)); + }; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.RADIAL_ENGINE.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/types/radial_engine/RadialEngineBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/engines/types/radial_engine/RadialEngineBlockEntity.java new file mode 100644 index 00000000..38b02e35 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/types/radial_engine/RadialEngineBlockEntity.java @@ -0,0 +1,91 @@ +package com.drmangotea.tfmg.content.engines.types.radial_engine; + +import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.types.regular_engine.RegularEngineBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.AABB; + +import static com.drmangotea.tfmg.content.engines.base.EngineBlock.ENGINE_STATE; +import static com.drmangotea.tfmg.content.engines.base.EngineBlock.EngineState.*; +import static com.drmangotea.tfmg.content.engines.base.EngineBlock.SHAFT_FACING; +import static com.simibubi.create.content.kinetics.base.HorizontalKineticBlock.HORIZONTAL_FACING; + +public class RadialEngineBlockEntity extends RegularEngineBlockEntity { + + public RadialEngineBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + super(typeIn, pos, state); + + } + @Override + public boolean canGenerateSpeed() { + return true; + } + //@Override + //public float getGeneratedSpeed() { +// + // float speed; +// + // if (hasLevel()) +// + // if (level.getBlockEntity(controller) instanceof AbstractEngineBlockEntity controller) { + // if (controller.fuelTank.isEmpty()) + // return 0; + // if (!controller.canWork()) + // return 0; + // speed = rpm / 40; + // if (reverse) + // speed = speed * -1; +// + // return convertToDirection(Math.min((int) speed, 256), getBlockState().getValue(HORIZONTAL_FACING)); + // } + // return 0; + //} + + @Override + public boolean hasTwoShafts() { + return engineLength()>1; + } + + @Override + public AABB getRenderBoundingBox() { + return new AABB(getBlockPos()).inflate(1); + } + + @Override + public EngineType getDefaultEngineType() { + return EngineType.RADIAL; + } + + + + public void setBlockStates(AbstractSmallEngineBlockEntity be, BlockPos last) { + + Direction facing = getBlockState().getValue(SHAFT_FACING).getOpposite(); + + if(level.getBlockState(getBlockPos().relative(facing)).getBlock()!=this.getBlockState().getBlock()&&level.getBlockState(getBlockPos().relative(facing.getOpposite())).getBlock()!=this.getBlockState().getBlock()){ + level.setBlock(getBlockPos(), level.getBlockState(getBlockPos()).setValue(ENGINE_STATE, SINGLE), 2); + return; + } + + //if(level.getBlockState(getBlockPos().relative(facing.getOpposite())).getBlock()!=this.getBlockState().getBlock()&&isController()){ + // level.setBlock(getBlockPos(), level.getBlockState(getBlockPos()).setValue(ENGINE_STATE, SINGLE), 2); + // return; + //} + + if(last!=null){ + level.setBlock(last, level.getBlockState(last).setValue(ENGINE_STATE, BACK), 2); + return; + } + + if (be.isController()) { + level.setBlock(be.getBlockPos(), be.getBlockState().setValue(ENGINE_STATE, SHAFT), 2); + } else { + level.setBlock(be.getBlockPos(), be.getBlockState().setValue(SHAFT_FACING, getBlockState().getValue(SHAFT_FACING).getOpposite()).setValue(ENGINE_STATE, NORMAL), 2); + } + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/PistonPosition.java b/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/PistonPosition.java new file mode 100644 index 00000000..984a11c0 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/PistonPosition.java @@ -0,0 +1,28 @@ +package com.drmangotea.tfmg.content.engines.types.regular_engine; + +public class PistonPosition { + + private final float xOffset; + private final float yOffset; + private final float zOffset; + private final float rotation; + + public PistonPosition(float x, float y,float z, float rotation){ + this.xOffset = x; + this.yOffset = y; + this.zOffset = z; + this.rotation = rotation; + } + public float getXOffset(){ + return xOffset; + } + public float getYOffset(){ + return yOffset; + } + public float getZOffset(){ + return zOffset; + } + public float getRotation(){ + return rotation; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/RegularEngineBlock.java b/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/RegularEngineBlock.java new file mode 100644 index 00000000..d3a118c3 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/RegularEngineBlock.java @@ -0,0 +1,94 @@ +package com.drmangotea.tfmg.content.engines.types.regular_engine; + +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.base.EngineBlock; +import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.phys.BlockHitResult; + +public class RegularEngineBlock extends EngineBlock implements IBE { + + public static final BooleanProperty EXTENDED = BooleanProperty.create("extended"); + + public RegularEngineBlock(Properties properties) { + super(properties); + } + + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + super.createBlockStateDefinition(builder); + builder.add(EXTENDED); + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + ItemStack itemStack = player.getItemInHand(hand); + + if (level.getBlockEntity(pos) instanceof RegularEngineBlockEntity be && !be.isController() && level.getBlockEntity(be.controller) instanceof AbstractSmallEngineBlockEntity controller) { + if (controller.nextComponent().test(itemStack)) + if (controller.componentsInventory.insertItem(itemStack)) { + if (!itemStack.is(TFMGItems.SCREWDRIVER.get())) + itemStack.shrink(1); + controller.playInsertionSound(); + controller.updateRotation(); + controller.setChanged(); + controller.sendData(); + return ItemInteractionResult.SUCCESS; + } + + if(controller instanceof RegularEngineBlockEntity be1&&!be1.pistonInventory.isEmpty()&&!((RegularEngineBlockEntity) controller).pistonInventory.isEmpty()) + return super.useItemOn(stack, state, level, pos, player, hand, hitResult); + + if (itemStack.is(TFMGItems.SCREWDRIVER.get())&&be.pistonInventory.isEmpty()) { + for (int i = controller.componentsInventory.components.size() - 1; i >= 0; i--) { + if (!controller.componentsInventory.getItem(i).isEmpty()) { + controller.dropItem(controller.componentsInventory.getItem(i)); + controller.componentsInventory.setStackInSlot(i, ItemStack.EMPTY); + controller.playRemovalSound(); + controller.updateRotation(); + controller.setChanged(); + controller.sendData(); + return ItemInteractionResult.SUCCESS; + } + } + + } + + } + + return super.useItemOn(stack, state, level, pos, player, hand, hitResult); + } + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level, pos, IElectric::onPlaced); + } + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + @Override + public Class getBlockEntityClass() { + return RegularEngineBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.REGULAR_ENGINE.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/RegularEngineBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/RegularEngineBlockEntity.java new file mode 100644 index 00000000..595243b9 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/RegularEngineBlockEntity.java @@ -0,0 +1,490 @@ +package com.drmangotea.tfmg.content.engines.types.regular_engine; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.config.TFMGConfigs; +import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.types.turbine_engine.TurbineEngineBlockEntity; +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.drmangotea.tfmg.registry.TFMGSoundEvents; +import com.simibubi.create.AllItems; +import com.simibubi.create.AllSoundEvents; +import com.simibubi.create.foundation.item.SmartInventory; +import com.simibubi.create.foundation.utility.CreateLang; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.TagKey; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.material.Fluid; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; + +import java.util.ArrayList; +import java.util.List; + +import static com.drmangotea.tfmg.content.engines.base.EngineProperties.*; +import static com.drmangotea.tfmg.content.engines.types.regular_engine.RegularEngineBlock.EXTENDED; +import static com.simibubi.create.AllTags.optionalTag; +import static com.simibubi.create.content.kinetics.base.HorizontalKineticBlock.HORIZONTAL_FACING; + +public class RegularEngineBlockEntity extends AbstractSmallEngineBlockEntity { + + + public EngineType type = getDefaultEngineType(); + + public SmartInventory pistonInventory; + + List> supportedFuels = new ArrayList<>(); + + protected int soundTimer=0; + + boolean updateFuel = true; + + public RegularEngineBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + super(typeIn, pos, state); + pistonInventory = createInventory(); + + } + + public EngineType getDefaultEngineType() { + return EngineType.I; + } + + public void updateInventory() { + pistonInventory = createInventory(); + } + + public SmartInventory createInventory() { + return new SmartInventory(type.pistons.size(), this) + .withMaxStackSize(1) + .whenContentsChanged(this::onInventoryChanged) + ; + } + + + private void onInventoryChanged(int integer) { + refreshFuels(); + updateRotation(); + sendData(); + setChanged(); + } + + public void refreshFuels() { + + CompoundTag fuelsToAllow = pistonInventory.getItem(0).get(TFMGDataComponents.FUEL_TAGS); + + if(fuelsToAllow == null) + return; + + List> fuelsFound = new ArrayList<>(); + for (String key : fuelsToAllow.getAllKeys()) { + + String id = fuelsToAllow.getString(key); + + TagKey tag = optionalTag(BuiltInRegistries.FLUID, ResourceLocation.fromNamespaceAndPath("c",id.replace("c:",""))); + + fuelsFound.add(tag); + } + + if (level.getBlockEntity(controller) instanceof RegularEngineBlockEntity be) { + be.supportedFuels = new ArrayList<>(fuelsFound); + + for (Long position : be.engines) { + BlockPos pos = BlockPos.of(position); + if (level.getBlockEntity(pos) instanceof RegularEngineBlockEntity be1) { + be1.supportedFuels = new ArrayList<>(fuelsFound); + } + } + } + } + + @Override + public List> getSupportedFuels() { + return supportedFuels; + } + + + + @Override + public boolean canWork() { + + + if (level.getBlockEntity(controller) instanceof RegularEngineBlockEntity controller) { + + for (Long position : controller.getAllEngines()) { + + if (level.getBlockEntity(BlockPos.of(position)) instanceof RegularEngineBlockEntity be) { + for (int i = 0; i < be.pistonInventory.getSlots(); i++) { + if (be.pistonInventory.getItem(i).isEmpty()) { + return false; + } + } + } + } + return super.canWork(); + } + return false; + } + + public boolean hasAllPistons(){ + for (Long position : getControllerBE().getAllEngines()) { + + if (level.getBlockEntity(BlockPos.of(position)) instanceof RegularEngineBlockEntity be) { + for (int i = 0; i < be.pistonInventory.getSlots(); i++) { + if (be.pistonInventory.getItem(i).isEmpty()) { + return false; + } + } + } + } + return true; + } + + @Override + public boolean insertItem(ItemStack itemStack, boolean shifting, Player player, InteractionHand hand) { + + + if (itemStack.is(AllItems.EMPTY_SCHEMATIC.get())) { + + if(type == EngineType.RADIAL||type == EngineType.TURBINE) + return false; + + boolean next = false; + if (type == EngineType.BOXER) { + if (level.getBlockEntity(controller) instanceof RegularEngineBlockEntity be) + be.updateEngineType(EngineType.I); + AllSoundEvents.CONFIRM.play(level, null, getBlockPos(), 1, 1); + return true; + } + for (EngineType engineType : EngineType.values()) { + if (next) { + if (level.getBlockEntity(controller) instanceof RegularEngineBlockEntity be) + be.updateEngineType(engineType); + AllSoundEvents.CONFIRM.play(level, null, getBlockPos(), 1, 1); + return true; + } + if (engineType == type) { + next = true; + } + } + } + + if (itemStack.is(TFMGItems.SCREWDRIVER.get())) { + if (!pistonInventory.isEmpty()) { + for (int i = 0; i < pistonInventory.getSlots(); i++) { + if (!pistonInventory.getItem(i).isEmpty()) { + dropItem(pistonInventory.getItem(i)); + pistonInventory.setItem(i, ItemStack.EMPTY); + playRemovalSound(); + updateRotation(); + setChanged(); + sendData(); + return true; + } + } + } + for (int i = componentsInventory.components.size() - 1; i >= 0; i--) { + if (!componentsInventory.getItem(i).isEmpty()) { + dropItem(componentsInventory.getItem(i)); + componentsInventory.setItem(i, ItemStack.EMPTY); + playRemovalSound(); + updateRotation(); + setChanged(); + sendData(); + return true; + } + } + + } + if (hasAllComponents()) + if (isCorrectCylinder(itemStack)) + if (isCylinderSame(itemStack)) { + for (int i = pistonInventory.getSlots() - 1; i >= 0; i--) { + if (pistonInventory.getItem(i).isEmpty()) { + ItemStack toInsert = itemStack.copy(); + toInsert.setCount(1); + pistonInventory.setItem(i, toInsert); + itemStack.shrink(1); + playInsertionSound(); + updateRotation(); + setChanged(); + sendData(); + return true; + } + } + } + if (nextComponent().test(itemStack) && !isController()) { + + if (level.getBlockEntity(controller) instanceof AbstractSmallEngineBlockEntity be) { + return be.insertItem(itemStack, shifting, player, hand); + } + + } + + return super.insertItem(itemStack, shifting, player, hand); + } + + public boolean isCorrectCylinder(ItemStack itemStack) { + return itemStack.is(TFMGItems.ENGINE_CYLINDER.get())||itemStack.is(TFMGItems.SIMPLE_ENGINE_CYLINDER.get())||itemStack.is(TFMGItems.DIESEL_ENGINE_CYLINDER.get()); + } + + public boolean isCylinderSame(ItemStack stack) { + + if(stack.is(TFMGItems.TURBINE_BLADE.get())) + return true; + + CompoundTag tag = stack.get(TFMGDataComponents.FUELS); + + + if (level.getBlockEntity(controller) instanceof RegularEngineBlockEntity controller) { + + List engines = new ArrayList<>(controller.engines); + engines.add(this.controller.asLong()); + + + for (int i = 0; i < controller.engineLength() + 1; i++) { + BlockPos pos = BlockPos.of(engines.get(i)); + if (level.getBlockEntity(pos) instanceof RegularEngineBlockEntity be) { + for (int y = 0; y < be.pistonInventory.getSlots(); y++) { + if (!be.pistonInventory.getItem(y).is(TFMGItems.ENGINE_CYLINDER.get())) + continue; + + CompoundTag tagInside = be.pistonInventory.getItem(y).get(TFMGDataComponents.FUELS); + if (!tagInside.toString().equals(tag.toString())) + return false; + + } + } + } + } + + return true; + } + + @Override + public void tick() { + super.tick(); + + if (level.isClientSide) + makeSound(); + + + if (updateFuel) { + refreshFuels(); + updateFuel = false; + } + + } + + @OnlyIn(Dist.CLIENT) + private void makeSound(){ + soundTimer++; + if(!isController()) + return; + + if(soundTimer>1/Math.min(6000,(rpm*0.0002)*pistonInventory.getSlots())) { + + + soundTimer = 0; + + float randomPitch = (level.getRandom().nextFloat()-.5f)*0.05f; + + if (this instanceof TurbineEngineBlockEntity) { + TFMGSoundEvents.ENGINE.playAt(level, worldPosition, 0.06f * TFMGConfigs.common().machines.engineLoudness.getF(), 1.5f, false); + } else + + TFMGSoundEvents.ENGINE.playAt(level, worldPosition, 0.1f * TFMGConfigs.common().machines.engineLoudness.getF(), 0.7f+ randomPitch, false); + } + + } + + public boolean updateEngineType(EngineType newType) { + + Direction updateDirection = getBlockState().getValue(HORIZONTAL_FACING); + if (level.getBlockEntity(getBlockPos().relative(updateDirection)) instanceof RegularEngineBlockEntity be) { + return be.updateEngineType(newType); + } + for (int i = 0; i <= engineLength(); i++) { + BlockPos pos = getBlockPos().relative(updateDirection.getOpposite(), i); + if (level.getBlockEntity(pos) instanceof RegularEngineBlockEntity be) { + //be.type = EngineType.I; + if (!be.pistonInventory.isEmpty()) + return false; + } + } + for (int i = 0; i <= engineLength(); i++) { + BlockPos pos = getBlockPos().relative(updateDirection.getOpposite(), i); + if (level.getBlockEntity(pos) instanceof RegularEngineBlockEntity be) { + be.type = newType; + be.updateInventory(); + level.setBlockAndUpdate(pos, be.getBlockState().setValue(EXTENDED, newType == EngineType.I || newType == EngineType.U)); + } + } + + return true; + } + + @Override + protected void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + compound.putString("Type", type.name); + compound.put("Cylinders", pistonInventory.serializeNBT(registries)); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + + for (EngineType engineType : EngineType.values()) { + if (engineType.name.matches(compound.getString("Type"))) { + type = engineType; + break; + } + } + pistonInventory.deserializeNBT(registries,compound.getCompound("Cylinders")); + } + + @Override + public float efficiencyModifier() { + return type.effeciencyModifier * getFuelType().getEfficiency() * getUpgradeEfficiencyModifier(); + } + + @Override + public float speedModifier() { + return type.speedModifier * getFuelType().getSpeed() * getUpgradeSpeedModifier(); + } + + @Override + public float torqueModifier() { + return type.torqueModifier * getFuelType().getStress() * getUpgradeTorqueModifier(); + } + + @Override + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + + if(!isController()) + return getControllerBE().addToGoggleTooltip(tooltip,isPlayerSneaking); + + + + CreateLang.translate("goggles.engine.header") + .style(ChatFormatting.GRAY) + .forGoggles(tooltip); + + if(nextComponent()!= Ingredient.EMPTY){ + CreateLang.translate("goggles.engine.unfinished") + .color(0xde5050) + .forGoggles(tooltip); + CreateLang.translate("goggles.engine.next_component") + .add(Component.empty().append(nextComponent().getItems()[0].getHoverName())) + .color(0xfff240) + .forGoggles(tooltip); + return true; + } + if(!hasAllPistons()){ + + CreateLang.translate(this instanceof TurbineEngineBlockEntity ? "goggles.engine.turbines_missing" : "goggles.engine.pistons_missing") + .color(0xde5050) + .forGoggles(tooltip); + + return true; + } + + + CreateLang.translate("goggles.engine.type") + .add(CreateLang.text(type.name())) + .color(0xfcad03) + .forGoggles(tooltip); + CreateLang.translate("goggles.engine.rpm") + .add(CreateLang.text((int)rpm+" rpm")) + .color(0xa36f00) + .forGoggles(tooltip); + CreateLang.translate("goggles.engine.signal") + .add(CreateLang.text(String.valueOf(highestSignal))) + .color(0xfcad03) + .forGoggles(tooltip); + CreateLang.translate("goggles.engine.torque") + .add(CreateLang.text(String.valueOf((int)torque))) + .color(0xa36f00) + .forGoggles(tooltip); + CreateLang.translate("goggles.engine.fuel_consumption") + .add(CreateLang.text(getFuelConsumption()/1.5f+" mb/s")) + .color(0xfcad03) + .forGoggles(tooltip); + if(oil>0){ + CreateLang.translate("goggles.engine.oil") + .add(CreateLang.number(oil)) + .color(0xf5dd42) + .forGoggles(tooltip); + } + if(coolingFluid>0){ + CreateLang.translate("goggles.engine.cooling_fluid") + .add(CreateLang.number(coolingFluid)) + .color(0x51bdb9) + .forGoggles(tooltip); + } + + TFMGUtils.createFluidTooltip(this,tooltip); + + return true; + } + + @Override + public String engineId() { + return type.name; + } + + public enum EngineType { + I("engine_i", pistonsI(), 1, 1, 1, true), + V("engine_v", pistonsV(), 1.2f, 1.3f, 0.8f), + W("engine_w", pistonsW(), 1.3f, 1.1f, 0.5f), + U("engine_u", pistonsU(), 1, 1.5f, 0.9f, true), + BOXER("engine_boxer", pistonsBoxer(), 1, 0.8f, 1.2f), + RADIAL("radial", pistonsRadial(), 1, 0.8f, 1.2f), + TURBINE("turbine", pistonsTurbine(), 1.5f, 1.5f, 0.5f); + public final float speedModifier; + public final float torqueModifier; + public final float effeciencyModifier; + public final List pistons; + public final List fluidBlacklist; + public final String name; + public final boolean upgradesOnSide; + + EngineType(String name, List positions, float speedModifier, + float torqueModifier, float efficiencyModifier, boolean upgradesOnSide) { + this(name, positions, speedModifier, torqueModifier, efficiencyModifier, upgradesOnSide, new ArrayList<>()); + } + + EngineType(String name, List positions, float speedModifier, + float torqueModifier, float efficiencyModifier) { + this(name, positions, speedModifier, torqueModifier, efficiencyModifier, false, new ArrayList<>()); + } + + EngineType(String name, List positions, float speedModifier, + float torqueModifier, float efficiencyModifier, boolean upgradesOnSide, List fluidBlacklist) { + this.name = name; + this.pistons = positions; + this.speedModifier = speedModifier; + this.torqueModifier = torqueModifier; + this.effeciencyModifier = efficiencyModifier; + this.fluidBlacklist = fluidBlacklist; + this.upgradesOnSide = upgradesOnSide; + + } + + + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/RegularEngineRenderer.java b/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/RegularEngineRenderer.java new file mode 100644 index 00000000..462db710 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/RegularEngineRenderer.java @@ -0,0 +1,65 @@ +package com.drmangotea.tfmg.content.engines.types.regular_engine; + +import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.base.EngineRenderer; +import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.types.turbine_engine.TurbineEngineBlockEntity; +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import net.createmod.catnip.render.CachedBuffers; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.state.BlockState; + +import static com.simibubi.create.content.kinetics.base.HorizontalKineticBlock.HORIZONTAL_FACING; + +public class RegularEngineRenderer extends EngineRenderer { + public RegularEngineRenderer(BlockEntityRendererProvider.Context context) { + super(context); + } + + @Override + protected void renderSafe(AbstractSmallEngineBlockEntity be1, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { + RegularEngineBlockEntity be = (RegularEngineBlockEntity) be1; + if(be instanceof TurbineEngineBlockEntity) + return; + BlockState blockState = be.getBlockState(); + + VertexConsumer vb = buffer.getBuffer(RenderType.cutoutMipped()); + + for (int i = 0; i < be.type.pistons.size(); i++) { + PistonPosition position = be.type.pistons.get(i); + + if (be.type.pistons.size() == be.pistonInventory.getSlots()) + ms.pushPose(); + if (!be.pistonInventory.getStackInSlot(i).isEmpty()) + CachedBuffers.partial(getCylinderModel(be), blockState) + .center() + .light(light) + .rotateYDegrees(blockState.getValue(HORIZONTAL_FACING).getAxis() == Direction.Axis.Z ? 0 : 90) + .translateY(position.getYOffset()) + .translateZ(position.getXOffset()) + .translateX(position.getZOffset()) + .rotateZDegrees(position.getRotation()) + .uncenter() + .renderInto(ms, vb); + ms.popPose(); + } + + super.renderSafe(be1, partialTicks, ms, buffer, light, overlay); + } + + private PartialModel getCylinderModel(RegularEngineBlockEntity be){ + + return switch (be.type){ + case I, U, BOXER, TURBINE -> TFMGPartialModels.SMALL_CYLINDER; + case V, W -> TFMGPartialModels.CYLINDER; + case RADIAL -> TFMGPartialModels.RADIAL_ENGINE_CYLINDER; + }; + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/RegularEngineVisual.java b/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/RegularEngineVisual.java new file mode 100644 index 00000000..48ec4d8f --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/RegularEngineVisual.java @@ -0,0 +1,75 @@ +package com.drmangotea.tfmg.content.engines.types.regular_engine; + +import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.base.EngineBlock; +import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity; +import com.drmangotea.tfmg.content.machinery.vat.industrial_mixer.IndustrialMixerBlockEntity; +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.content.kinetics.base.IRotate; +import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual; +import com.simibubi.create.content.kinetics.base.RotatingInstance; +import com.simibubi.create.content.kinetics.simpleRelays.BracketedKineticBlockEntityRenderer; +import com.simibubi.create.foundation.render.AllInstanceTypes; +import dev.engine_room.flywheel.api.instance.Instance; +import dev.engine_room.flywheel.api.visualization.VisualizationContext; +import dev.engine_room.flywheel.lib.model.Models; +import net.createmod.catnip.data.Iterate; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.Block; +import org.jetbrains.annotations.Nullable; + +import java.util.function.Consumer; + +public class RegularEngineVisual extends KineticBlockEntityVisual { + @Nullable + protected final RotatingInstance shaft; + + public RegularEngineVisual(VisualizationContext context, AbstractSmallEngineBlockEntity blockEntity, float partialTick) { + super(context, blockEntity, partialTick); + + + RotatingInstance shaft = null; + + Block block = blockState.getBlock(); + if (block instanceof IRotate def) { + for (Direction d : Iterate.directionsInAxis(rotationAxis())) { + if (!def.hasShaftTowards(blockEntity.getLevel(), blockEntity.getBlockPos(), blockState, d)) + continue; + RotatingInstance instance = instancerProvider().instancer(AllInstanceTypes.ROTATING, Models.partial(AllPartialModels.SHAFT_HALF)) + .createInstance(); + instance.setup(blockEntity) + .setPosition(getVisualPosition()) + .rotateToFace(Direction.SOUTH, d) + .setChanged(); + shaft = instance; + } + } + + this.shaft = shaft; + } + + @Override + public void update(float pt) { + if (shaft != null)shaft.setup(blockEntity) + .setChanged(); + + } + + @Override + public void updateLight(float partialTick) { + BlockPos behind = pos.relative(Direction.UP); + if (shaft != null)relight(behind, shaft); + + } + + @Override + protected void _delete() { + if (shaft != null)shaft.delete(); + } + + @Override + public void collectCrumblingInstances(Consumer consumer) { + consumer.accept(shaft); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/types/turbine_engine/TurbineEngineBlock.java b/src/main/java/com/drmangotea/tfmg/content/engines/types/turbine_engine/TurbineEngineBlock.java new file mode 100644 index 00000000..83df5d90 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/types/turbine_engine/TurbineEngineBlock.java @@ -0,0 +1,44 @@ +package com.drmangotea.tfmg.content.engines.types.turbine_engine; + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.engines.base.EngineBlock; +import com.drmangotea.tfmg.content.engines.types.radial_engine.RadialEngineBlock; +import com.drmangotea.tfmg.content.engines.types.regular_engine.RegularEngineBlockEntity; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class TurbineEngineBlock extends RadialEngineBlock { + public TurbineEngineBlock(Properties properties) { + super(properties); + } + + @Override + public boolean hasShaftTowards(LevelReader world, BlockPos pos, BlockState state, Direction face) { + return face==state.getValue(SHAFT_FACING)&&(state.getValue(ENGINE_STATE)==EngineState.BACK||state.getValue(ENGINE_STATE)==EngineState.SINGLE); + } + + @Override + public VoxelShape getShape(BlockState state, BlockGetter p_60556_, BlockPos pos, CollisionContext p_60558_) { + return switch (state.getValue(ENGINE_STATE)){ + case NORMAL -> TFMGShapes.TURBINE_ENGINE_MIDDLE.get(state.getValue(SHAFT_FACING)); + case BACK, SINGLE -> TFMGShapes.TURBINE_ENGINE_BACK.get(state.getValue(SHAFT_FACING).getOpposite()); + case SHAFT -> TFMGShapes.TURBINE_ENGINE_FRONT.get(state.getValue(SHAFT_FACING).getOpposite()); + }; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.TURBINE_ENGINE.get(); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/types/turbine_engine/TurbineEngineBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/engines/types/turbine_engine/TurbineEngineBlockEntity.java new file mode 100644 index 00000000..7a5850f9 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/types/turbine_engine/TurbineEngineBlockEntity.java @@ -0,0 +1,112 @@ +package com.drmangotea.tfmg.content.engines.types.turbine_engine; + +import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.base.EngineComponentsInventory; +import com.drmangotea.tfmg.content.engines.base.EngineProperties; +import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.types.radial_engine.RadialEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.types.regular_engine.RegularEngineBlockEntity; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.drmangotea.tfmg.registry.TFMGTags; +import com.simibubi.create.foundation.item.SmartInventory; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.tags.TagKey; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.material.Fluid; +import net.minecraft.world.phys.AABB; + +import java.util.ArrayList; +import java.util.List; + +import static com.drmangotea.tfmg.content.engines.base.EngineBlock.ENGINE_STATE; +import static com.drmangotea.tfmg.content.engines.base.EngineBlock.EngineState.*; +import static com.drmangotea.tfmg.content.engines.base.EngineBlock.SHAFT_FACING; +import static com.simibubi.create.content.kinetics.base.HorizontalKineticBlock.HORIZONTAL_FACING; +public class TurbineEngineBlockEntity extends RegularEngineBlockEntity { + + public TurbineEngineBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + super(typeIn, pos, state); + componentsInventory = new EngineComponentsInventory(this, EngineProperties.turbineEngineComponents()); + } + + @Override + public boolean canGenerateSpeed() { + return true; + } + + //@Override + //public List> getSupportedFuels() { + // List> list = new ArrayList<>(); + // list.add(TFMGTags.TFMGFluidTags.KEROSENE.tag); + // return list; + //} + public boolean isCorrectCylinder(ItemStack itemStack) { + return itemStack.is(TFMGItems.TURBINE_BLADE.get()); + } + // @Override + // public float getGeneratedSpeed() { +// + // float speed; +// + // if (hasLevel()) +// + // if (level.getBlockEntity(controller) instanceof AbstractEngineBlockEntity controller) { + // if (controller.fuelTank.isEmpty()) + // return 0; + // if (!controller.canWork()) + // return 0; + // speed = rpm / 40; + // if (reverse) + // speed = speed * -1; +// + // return convertToDirection(Math.min((int) speed, 256), getBlockState().getValue(HORIZONTAL_FACING)); + // } + // return 0; + // } + + + + @Override + public EngineType getDefaultEngineType() { + return EngineType.TURBINE; + } + + @Override + public boolean hasTwoShafts() { + return false; + } + + public void setBlockStates(AbstractSmallEngineBlockEntity be, BlockPos last) { + + Direction facing = getBlockState().getValue(SHAFT_FACING).getOpposite(); + + if(level.getBlockState(getBlockPos().relative(facing)).getBlock()!=this.getBlockState().getBlock()&&level.getBlockState(getBlockPos().relative(facing.getOpposite())).getBlock()!=this.getBlockState().getBlock()){ + level.setBlock(getBlockPos(), level.getBlockState(getBlockPos()).setValue(ENGINE_STATE, SINGLE), 2); + return; + } + + //if(level.getBlockState(getBlockPos().relative(facing.getOpposite())).getBlock()!=this.getBlockState().getBlock()&&isController()){ + // level.setBlock(getBlockPos(), level.getBlockState(getBlockPos()).setValue(ENGINE_STATE, SINGLE), 2); + // return; + //} + + if(last!=null){ + level.setBlock(last, level.getBlockState(last).setValue(ENGINE_STATE, BACK), 2); + return; + } + + if (be.isController()) { + level.setBlock(be.getBlockPos(), be.getBlockState().setValue(ENGINE_STATE, SHAFT), 2); + } else { + level.setBlock(be.getBlockPos(), be.getBlockState().setValue(SHAFT_FACING, getBlockState().getValue(SHAFT_FACING).getOpposite()).setValue(ENGINE_STATE, NORMAL), 2); + } + + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/types/turbine_engine/TurbineEngineGenerator.java b/src/main/java/com/drmangotea/tfmg/content/engines/types/turbine_engine/TurbineEngineGenerator.java new file mode 100644 index 00000000..823e1a1b --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/types/turbine_engine/TurbineEngineGenerator.java @@ -0,0 +1,43 @@ +package com.drmangotea.tfmg.content.engines.types.turbine_engine; + + + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.engines.base.EngineBlock; +import com.simibubi.create.foundation.data.SpecialBlockStateGen; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.model.generators.ModelFile; + +import static com.drmangotea.tfmg.content.engines.base.EngineBlock.ENGINE_STATE; +import static com.drmangotea.tfmg.content.engines.types.regular_engine.RegularEngineBlock.EXTENDED; + + +public class TurbineEngineGenerator extends SpecialBlockStateGen { + @Override + protected int getXRotation(BlockState state) { + return 0; + } + + @Override + protected int getYRotation(BlockState state) { + return horizontalAngle(state.getValue(EngineBlock.SHAFT_FACING).getOpposite()); + } + + + @Override + public ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, + BlockState state) { + + + + String path = "block/" +ctx.getName()+"/block_" + + state.getValue(ENGINE_STATE).getSerializedName(); + + return prov.models() + .getExistingFile(TFMG.asResource(path)); + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/EnginePipingUpgrade.java b/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/EnginePipingUpgrade.java new file mode 100644 index 00000000..42be5a3c --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/EnginePipingUpgrade.java @@ -0,0 +1,75 @@ +package com.drmangotea.tfmg.content.engines.upgrades; + + +import com.drmangotea.tfmg.TFMG; + +import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.Level; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; + +import java.util.Optional; + +public class EnginePipingUpgrade extends EngineUpgrade { + + public Optional tank = Optional.empty(); + + + public void findTank(AbstractSmallEngineBlockEntity be) { + Level level = be.getLevel(); + + for (Direction direction : Direction.values()) { + BlockPos pos = be.getBlockPos().relative(direction); + if (level.getBlockEntity(pos) instanceof FluidTankBlockEntity foundTank) { + + tank = Optional.of(foundTank); + return; + } + } + tank = Optional.empty(); + } + + @Override + public void updateUpgrade(AbstractSmallEngineBlockEntity be) { + findTank(be); + } + + @Override + public void lazyTickUpgrade(AbstractSmallEngineBlockEntity engine) { + + if (tank.isPresent()) { + + AbstractSmallEngineBlockEntity controller = engine.getControllerBE(); + + FluidTankBlockEntity tankBE = tank.get(); + int maxOutput = tankBE.getTankInventory().drain(500, IFluidHandler.FluidAction.SIMULATE).getAmount(); + int maxInput = tankBE.getTankInventory().fill(new FluidStack(tankBE.getFluid(0).getFluidHolder(), 500), IFluidHandler.FluidAction.SIMULATE); + if(controller == null) + return; + if(controller.fuelTank == null) + return; + + int amount = Math.min(maxInput, Math.min(maxOutput, controller.fuelTank.getSpace())); + + tankBE.getTankInventory().drain(amount, IFluidHandler.FluidAction.EXECUTE); + controller.getControllerBE().fuelTank.fill(new FluidStack(tankBE.getFluid(0).getFluidHolder(), amount), IFluidHandler.FluidAction.EXECUTE); + + } + + } + + @Override + public Optional createUpgrade() { + return Optional.of(new EnginePipingUpgrade()); + } + + @Override + public Item getItem() { + return TFMGBlocks.INDUSTRIAL_PIPE.asItem(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/EngineUpgrade.java b/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/EngineUpgrade.java new file mode 100644 index 00000000..4670b36e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/EngineUpgrade.java @@ -0,0 +1,53 @@ +package com.drmangotea.tfmg.content.engines.upgrades; + +import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.world.item.Item; + +import java.util.HashMap; +import java.util.Map; +import java.util.Optional; + +public abstract class EngineUpgrade { + + + public EngineUpgrade(){ + + } + + public abstract Optional createUpgrade(); + + + public void tickUpgrade(AbstractSmallEngineBlockEntity engine) {} + public void lazyTickUpgrade(AbstractSmallEngineBlockEntity engine) {} + public void render(AbstractSmallEngineBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light) {} + public float getTorqueModifier(AbstractSmallEngineBlockEntity engine) { + return 1; + } + + public void updateUpgrade(AbstractSmallEngineBlockEntity be ){} + + public abstract Item getItem(); + public float getSpeedModifier(AbstractSmallEngineBlockEntity engine) { + return 1; + } + + public float getEfficiencyModifier(AbstractSmallEngineBlockEntity engine) { + return 1; + } + + public static Map getUpgrades(){ + Map map = new HashMap<>(); + + map.put(TFMGItems.TURBO.get(), new TurboUpgradeData()); + map.put(TFMGItems.GOLDEN_TURBO.get(), new GoldenTurboUpgradeData()); + map.put(TFMGBlocks.GENERATOR.asItem(), new GeneratorEngineUpgrade()); + map.put(TFMGBlocks.INDUSTRIAL_PIPE.asItem(), new EnginePipingUpgrade()); + map.put(TFMGItems.TRANSMISSION.get(), new TransmissionUpgrade()); + + return map; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/GeneratorEngineUpgrade.java b/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/GeneratorEngineUpgrade.java new file mode 100644 index 00000000..7c517951 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/GeneratorEngineUpgrade.java @@ -0,0 +1,62 @@ +package com.drmangotea.tfmg.content.engines.upgrades; + +import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.types.regular_engine.RegularEngineBlockEntity; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.mojang.blaze3d.vertex.PoseStack; +import net.createmod.catnip.render.CachedBuffers; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.core.Direction; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.state.BlockState; + +import java.util.Optional; + +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class GeneratorEngineUpgrade extends EngineUpgrade { + @Override + public Optional createUpgrade() { + return Optional.of(new GeneratorEngineUpgrade()); + } + + @Override + public void render(AbstractSmallEngineBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light) { + + + + + BlockState state = be.getBlockState(); + Direction facing = state.getValue(FACING); + boolean side = false; + ms.pushPose(); + if (be instanceof RegularEngineBlockEntity blockEntity) { + side = blockEntity.type.upgradesOnSide; + } + + CachedBuffers.partial(TFMGPartialModels.ENGINE_GENERATOR, state) + .center() + .translateY(side ? -2/16f :0) + .rotateYDegrees(facing.toYRot()) + .rotateZDegrees(side ? 90 : 0) + .translateY(side ? 4 / 16f : 0) + .uncenter() + .light(light) + .renderInto(ms, buffer.getBuffer(RenderType.solid())); + + ms.popPose(); + + } + + @Override + public Item getItem() { + return TFMGBlocks.GENERATOR.asItem(); + } + + @Override + public float getTorqueModifier(AbstractSmallEngineBlockEntity engine) { + return 0.7f; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/GoldenTurboUpgradeData.java b/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/GoldenTurboUpgradeData.java new file mode 100644 index 00000000..4d069742 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/GoldenTurboUpgradeData.java @@ -0,0 +1,100 @@ +package com.drmangotea.tfmg.content.engines.upgrades; + +import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.types.regular_engine.RegularEngineBlockEntity; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import com.mojang.blaze3d.vertex.PoseStack; +import net.createmod.catnip.render.CachedBuffers; +import net.createmod.catnip.animation.LerpedFloat; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.core.Direction; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.state.BlockState; + +import java.util.Optional; + +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class GoldenTurboUpgradeData extends EngineUpgrade { + + + LerpedFloat speed = LerpedFloat.linear(); + + float angle; + + public GoldenTurboUpgradeData() { + } + + @Override + public Optional createUpgrade() { + return Optional.of(new GoldenTurboUpgradeData()); + } + + + public PartialModel getModel() { + return TFMGPartialModels.GOLDEN_TURBO; + } + + @Override + public void tickUpgrade(AbstractSmallEngineBlockEntity engine) { + if (!engine.getLevel().isClientSide) + return; + speed.chase(engine.rpm / 200, 1 / 128f, LerpedFloat.Chaser.EXP); + speed.tickChaser(); + } + + + @Override + public void render(AbstractSmallEngineBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light) { + + angle+=be.rpm/500f; + angle %= 360; + + BlockState state = be.getBlockState(); + Direction facing = state.getValue(FACING); + boolean side = false; + ms.pushPose(); + if (be instanceof RegularEngineBlockEntity blockEntity) { + side = blockEntity.type.upgradesOnSide; + } + CachedBuffers.partial(getModel(), state) + .center() + .rotateYDegrees(facing.toYRot()) + .translateX(side ? -4/16f : 0) + .rotateZDegrees(side ? 90 : 0) + .uncenter() + .light(light) + .renderInto(ms, buffer.getBuffer(RenderType.solid())); + + CachedBuffers.partial(TFMGPartialModels.GOLDEN_TURBO_PROPELLER, state) + .center() + .rotateYDegrees(facing.toYRot()) + .translateX(side ? -4/16f : 0) + .rotateZDegrees(side ? 90 : 0) + .rotateYDegrees(angle) + .uncenter() + .light(light) + .renderInto(ms, buffer.getBuffer(RenderType.solid())); + + ms.popPose(); + } + + @Override + public float getTorqueModifier(AbstractSmallEngineBlockEntity engine) { + return 1.4f; + } + + @Override + public Item getItem() { + return TFMGItems.GOLDEN_TURBO.asItem(); + } + + @Override + public float getSpeedModifier(AbstractSmallEngineBlockEntity engine) { + return 1.3f; + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/TransmissionItem.java b/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/TransmissionItem.java new file mode 100644 index 00000000..d625a86e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/TransmissionItem.java @@ -0,0 +1,70 @@ +package com.drmangotea.tfmg.content.engines.upgrades; + +import com.drmangotea.tfmg.content.engines.engine_controller.EngineControllerBlockEntity; +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.simibubi.create.foundation.utility.CreateLang; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.network.chat.Component; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.Level; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; + + +import javax.tools.Tool; +import java.util.List; + +public class TransmissionItem extends Item { + public TransmissionItem(Properties p_41383_) { + super(p_41383_); + } + + @Override + public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { + ItemStack stack = player.getItemInHand(hand); + + if(player.isCrouching()){ + + stack.remove(TFMGDataComponents.POSITION); + + return InteractionResultHolder.success(stack); + } + + return InteractionResultHolder.pass(stack); + } + + @Override + public InteractionResult useOn(UseOnContext context) { + Level level = context.getLevel(); + BlockPos pos = context.getClickedPos(); + + if(level.getBlockEntity(pos) instanceof EngineControllerBlockEntity be&&!context.getPlayer().isCrouching()){ + context.getItemInHand().set(TFMGDataComponents.POSITION,be.getBlockPos().asLong()); + } + return InteractionResult.PASS; + } + + @Override + @OnlyIn(Dist.CLIENT) + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag flag) { + + if(stack.get(TFMGDataComponents.POSITION)==null) + return; + + + BlockPos pos = BlockPos.of(stack.get(TFMGDataComponents.POSITION)); + if(pos.asLong()!=0) + tooltip.add(CreateLang.text("" + pos.getX() + " " + pos.getY() + " " + pos.getZ()).component() + .withStyle(ChatFormatting.AQUA) + ); + super.appendHoverText(stack, context, tooltip, flag); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/TransmissionUpgrade.java b/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/TransmissionUpgrade.java new file mode 100644 index 00000000..eca2cc1e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/TransmissionUpgrade.java @@ -0,0 +1,85 @@ +package com.drmangotea.tfmg.content.engines.upgrades; + +import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.types.regular_engine.RegularEngineBlockEntity; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.mojang.blaze3d.vertex.PoseStack; +import net.createmod.catnip.render.CachedBuffers; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.core.Direction; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.state.BlockState; + +import java.util.Optional; + +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class TransmissionUpgrade extends EngineUpgrade{ + + + + + + @Override + public Optional createUpgrade() { + return Optional.of(new TransmissionUpgrade()); + } + + + @Override + public void render(AbstractSmallEngineBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light) { + + BlockState state = be.getBlockState(); + Direction facing = state.getValue(FACING); + boolean side = false; + ms.pushPose(); + if (be instanceof RegularEngineBlockEntity blockEntity) { + side = blockEntity.type.upgradesOnSide; + } + + CachedBuffers.partial(TFMGPartialModels.TRANSMISSION, state) + .center() + .translateY(side ? -2/16f :0) + .rotateYDegrees(facing.toYRot()) + .rotateZDegrees(side ? 90 : 0) + .translateY(side ? 4 / 16f : 0) + .uncenter() + .light(light) + .renderInto(ms, buffer.getBuffer(RenderType.solid())); + + ms.popPose(); + + } + + @Override + public Item getItem() { + return TFMGItems.TRANSMISSION.asItem(); + } + + public enum TransmissionState{ + REVERSE(0.9f,true), + NEUTRAL(0), + SHIFT_1(0.6f), + SHIFT_2(0.7f), + SHIFT_3(1.1f), + SHIFT_4(1.4f), + SHIFT_5(1.5f), + SHIFT_6(1.9f) + + + + ; + public final float value; + public final boolean reverse; + TransmissionState(float value){ + this(value,false); + } + TransmissionState(float value, boolean reverse){ + this.value = value; + this.reverse = reverse; + } + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/TurboUpgradeData.java b/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/TurboUpgradeData.java new file mode 100644 index 00000000..16a9af04 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/TurboUpgradeData.java @@ -0,0 +1,113 @@ +package com.drmangotea.tfmg.content.engines.upgrades; + +import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.types.regular_engine.RegularEngineBlockEntity; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import com.mojang.blaze3d.vertex.PoseStack; +import net.createmod.catnip.render.CachedBuffers; +import net.createmod.catnip.animation.LerpedFloat; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.core.Direction; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.state.BlockState; + +import java.util.Optional; + +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class TurboUpgradeData extends EngineUpgrade { + + + LerpedFloat speed = LerpedFloat.linear(); + + float angle; + + public TurboUpgradeData() { + } + + @Override + public Optional createUpgrade() { + return Optional.of(new TurboUpgradeData()); + } + + + public PartialModel getModel() { + return TFMGPartialModels.TURBO; + } + + @Override + public void tickUpgrade(AbstractSmallEngineBlockEntity engine) { + if (!engine.getLevel().isClientSide) + return; + + + + + } + + + @Override + public void render(AbstractSmallEngineBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light) { + + if(!Minecraft.getInstance().isPaused()) { + + speed.chase(be.rpm / 100, 1 / 32f, LerpedFloat.Chaser.EXP); + speed.tickChaser(); + // angle += speed.getValue(partialTicks) * 3 / 10f; + angle+=be.rpm/100; + angle %= 360; + } + BlockState state = be.getBlockState(); + Direction facing = state.getValue(FACING); + boolean side = false; + ms.pushPose(); + if (be instanceof RegularEngineBlockEntity blockEntity) { + side = blockEntity.type.upgradesOnSide; + } + + CachedBuffers.partial(getModel(), state) + .center() + .rotateYDegrees(facing.toYRot()) + .translateX(side ? -4/16f : 0) + .rotateZDegrees(side ? 90 : 0) + .uncenter() + .light(light) + .renderInto(ms, buffer.getBuffer(RenderType.solid())); + + CachedBuffers.partial(TFMGPartialModels.TURBO_PROPELLER, state) + .center() + .rotateYDegrees(facing.toYRot()) + .translateX(side ? -4/16f : 0) + .rotateZDegrees(side ? 90 : 0) + .rotateYDegrees(angle) + .uncenter() + .light(light) + .renderInto(ms, buffer.getBuffer(RenderType.solid())); + + ms.popPose(); + } + + @Override + public float getTorqueModifier(AbstractSmallEngineBlockEntity engine) { + return 1.2f; + } + + @Override + public Item getItem() { + return TFMGItems.TURBO.asItem(); + } + + @Override + public float getSpeedModifier(AbstractSmallEngineBlockEntity engine) { + return 1.3f; + } + + @Override + public float getEfficiencyModifier(AbstractSmallEngineBlockEntity engine) { + return 0.7f; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/items/CoalCokeBlockItem.java b/src/main/java/com/drmangotea/tfmg/content/items/CoalCokeBlockItem.java new file mode 100644 index 00000000..379f3772 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/CoalCokeBlockItem.java @@ -0,0 +1,25 @@ +package com.drmangotea.tfmg.content.items; + +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.RecipeType; +import net.minecraft.world.level.block.Block; +import org.jetbrains.annotations.Nullable; + +public class CoalCokeBlockItem extends BlockItem { + + + + + public CoalCokeBlockItem(Block p_40565_, Properties p_40566_) { + super(p_40565_, p_40566_); + + } + + + + @Override + public int getBurnTime(ItemStack itemStack, @Nullable RecipeType recipeType) { + return 28800; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/items/CoalCokeItem.java b/src/main/java/com/drmangotea/tfmg/content/items/CoalCokeItem.java new file mode 100644 index 00000000..a0484b42 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/CoalCokeItem.java @@ -0,0 +1,24 @@ +package com.drmangotea.tfmg.content.items; + +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.RecipeType; +import org.jetbrains.annotations.Nullable; + +public class CoalCokeItem extends Item { + + + + + public CoalCokeItem(Properties p_40566_) { + super( p_40566_); + + } + + + + @Override + public int getBurnTime(ItemStack itemStack, @Nullable RecipeType recipeType) { + return 3200; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/items/FossilstoneItem.java b/src/main/java/com/drmangotea/tfmg/content/items/FossilstoneItem.java new file mode 100644 index 00000000..50a45c02 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/FossilstoneItem.java @@ -0,0 +1,25 @@ +package com.drmangotea.tfmg.content.items; + +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.RecipeType; +import net.minecraft.world.level.block.Block; +import org.jetbrains.annotations.Nullable; + +public class FossilstoneItem extends BlockItem { + + + + + public FossilstoneItem(Block p_40565_, Properties p_40566_) { + super(p_40565_, p_40566_); + + } + + + + @Override + public int getBurnTime(ItemStack itemStack, @Nullable RecipeType recipeType) { + return 4000; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/items/ScrewdriverItem.java b/src/main/java/com/drmangotea/tfmg/content/items/ScrewdriverItem.java new file mode 100644 index 00000000..177e93fe --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/ScrewdriverItem.java @@ -0,0 +1,40 @@ +package com.drmangotea.tfmg.content.items; + +import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipeBlockEntity; +import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity; +import net.minecraft.core.BlockPos; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.Level; + + +public class ScrewdriverItem extends Item { + public ScrewdriverItem(Properties p_40566_) { + super( p_40566_); + + } + @Override + public InteractionResult useOn(UseOnContext pContext) { + Player player = pContext.getPlayer(); + + BlockPos positionClicked = pContext.getClickedPos(); + + Level level = pContext.getLevel(); + + if(level.getBlockEntity(positionClicked) instanceof AbstractEngineBlockEntity){ + + + + return super.useOn(pContext); + } + if(level.getBlockEntity(positionClicked)!=null) { + ((TFMGPipeBlockEntity) level.getBlockEntity(positionClicked)).toggleLock(player); + pContext.getItemInHand().hurtAndBreak(1, pContext.getPlayer(), + LivingEntity.getSlotForHand(pContext.getHand())); + } + return InteractionResult.SUCCESS; + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/LeadAxeItem.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/LeadAxeItem.java new file mode 100644 index 00000000..a6c91962 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/LeadAxeItem.java @@ -0,0 +1,28 @@ +package com.drmangotea.tfmg.content.items.weapons; + +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.AxeItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Tier; + +public class LeadAxeItem extends AxeItem { + public LeadAxeItem(Tier pTier, Properties pProperties) { + super(pTier,pProperties); + } + public boolean hurtEnemy(ItemStack pStack, LivingEntity pTarget, LivingEntity pAttacker) { + pStack.hurtAndBreak(2, pAttacker, LivingEntity.getSlotForHand(pTarget.getUsedItemHand())); + MobEffectInstance poison = pTarget.getEffect(MobEffects.POISON); + + ; + + + if(poison!=null) { + pTarget.addEffect(new MobEffectInstance(MobEffects.POISON, 160 + poison.getDuration())); + } + pTarget.addEffect(new MobEffectInstance(MobEffects.POISON,160)); + return true; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/LeadSwordItem.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/LeadSwordItem.java new file mode 100644 index 00000000..dab541ea --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/LeadSwordItem.java @@ -0,0 +1,27 @@ +package com.drmangotea.tfmg.content.items.weapons; + +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.SwordItem; +import net.minecraft.world.item.Tier; + +public class LeadSwordItem extends SwordItem { + public LeadSwordItem(Tier pTier, Properties pProperties) { + super(pTier,pProperties); + + } + + public boolean hurtEnemy(ItemStack pStack, LivingEntity pTarget, LivingEntity pAttacker) { + pStack.hurtAndBreak(2, pAttacker, LivingEntity.getSlotForHand(pTarget.getUsedItemHand())); + MobEffectInstance poison = pTarget.getEffect(MobEffects.POISON); + + if(poison!=null) { + pTarget.addEffect(new MobEffectInstance(MobEffects.POISON, 100 + poison.getDuration())); + } + pTarget.addEffect(new MobEffectInstance(MobEffects.POISON,100)); + return true; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/advanced_potato_cannon/AdvancedPotatoCannonItem.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/advanced_potato_cannon/AdvancedPotatoCannonItem.java new file mode 100644 index 00000000..1a32eefd --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/advanced_potato_cannon/AdvancedPotatoCannonItem.java @@ -0,0 +1,220 @@ +package com.drmangotea.tfmg.content.items.weapons.advanced_potato_cannon; + + + +import com.drmangotea.tfmg.TFMGClient; +import com.drmangotea.tfmg.content.items.weapons.advanced_potato_cannon.projectile.NapalmPotato; +import com.drmangotea.tfmg.registry.TFMGEntityTypes; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.AllSoundEvents; +import com.simibubi.create.Create; +import com.simibubi.create.content.equipment.armor.BacktankUtil; +import com.simibubi.create.content.equipment.zapper.ShootableGadgetItemMethods; +import com.simibubi.create.foundation.item.CustomArmPoseItem; +import com.simibubi.create.foundation.item.render.SimpleCustomRenderer; +import com.simibubi.create.infrastructure.config.AllConfigs; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.HumanoidModel.ArmPose; +import net.minecraft.client.player.AbstractClientPlayer; +import net.minecraft.client.player.LocalPlayer; +import net.minecraft.core.BlockPos; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.entity.projectile.Projectile; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.ProjectileWeaponItem; +import net.minecraft.world.item.UseAnim; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec3; + +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; +import org.jetbrains.annotations.Nullable; + +import java.util.Optional; +import java.util.function.Consumer; +import java.util.function.Predicate; + +public class AdvancedPotatoCannonItem extends ProjectileWeaponItem implements CustomArmPoseItem { + + public static ItemStack CLIENT_CURRENT_AMMO = ItemStack.EMPTY; + public static final int MAX_DAMAGE = 500; + + public AdvancedPotatoCannonItem(Properties properties) { + super(properties.durability(MAX_DAMAGE)); + } + + + + @Override + public boolean canAttackBlock(BlockState state, Level world, BlockPos pos, Player player) { + return false; + } + + + + @Override + public InteractionResult useOn(UseOnContext context) { + return use(context.getLevel(), context.getPlayer(), context.getHand()).getResult(); + } + + @Override + public boolean isBarVisible(ItemStack stack) { + return BacktankUtil.isBarVisible(stack, maxUses()); + } + + @Override + public int getBarWidth(ItemStack stack) { + return BacktankUtil.getBarWidth(stack, maxUses()); + } + + @Override + public int getBarColor(ItemStack stack) { + return BacktankUtil.getBarColor(stack, maxUses()); + } + + private int maxUses() { + return AllConfigs.server().equipment.maxPotatoCannonShots.get()*5; + } + + public boolean isCannon(ItemStack stack) { + return stack.getItem() instanceof AdvancedPotatoCannonItem; + } + + @Override + public InteractionResultHolder use(Level world, Player player, InteractionHand hand) { + ItemStack stack = player.getItemInHand(hand); + return findAmmoInInventory(world, player, stack).map(itemStack -> { + + + + + //if(itemStack.isEmpty()) + // return InteractionResultHolder.fail(stack); + + if (ShootableGadgetItemMethods.shouldSwap(player, stack, hand, this::isCannon)) + return InteractionResultHolder.fail(stack); + + if (world.isClientSide) { + TFMGClient.ADVANCED_POTATO_CANNON_RENDER_HANDLER.dontAnimateItem(hand); + return InteractionResultHolder.success(stack); + } + + Vec3 barrelPos = ShootableGadgetItemMethods.getGunBarrelVec(player, hand == InteractionHand.MAIN_HAND, + new Vec3(.75f, -0.15f, 1.5f)); + Vec3 correction = + ShootableGadgetItemMethods.getGunBarrelVec(player, hand == InteractionHand.MAIN_HAND, new Vec3(-.05f, 0, 0)) + .subtract(player.position() + .add(0, player.getEyeHeight(), 0)); + + + Vec3 lookVec = player.getLookAngle(); + Vec3 motion = lookVec.add(correction) + .normalize() + .scale(2); + + float soundPitch = 1 + (Create.RANDOM.nextFloat() - .5f) / 4f; + + + + NapalmPotato projectile = TFMGEntityTypes.NAPALM_POTATO.create(world); + + + projectile.setPos(barrelPos.x, barrelPos.y, barrelPos.z); + projectile.setDeltaMovement(motion); + projectile.setOwner(player); + world.addFreshEntity(projectile); + + + if (!player.isCreative()) { + itemStack.shrink(1); + if (itemStack.isEmpty()) + player.getInventory().removeItem(itemStack); + } + + if (!BacktankUtil.canAbsorbDamage(player, maxUses())) + stack.hurtAndBreak(1, player, LivingEntity.getSlotForHand(hand)); + + Integer cooldown = 75; + + + AllSoundEvents.FWOOMP.play(world,player,player.getX(),player.getY(),player.getZ(),1,0.2f); + + ShootableGadgetItemMethods.applyCooldown(player, stack, hand, this::isCannon, cooldown); + //ShootableGadgetItemMethods.sendPackets(player, + // b -> new AdvancedPotatoCannonPacket(barrelPos, lookVec.normalize(), itemStack, hand, soundPitch, b)); + return InteractionResultHolder.success(stack); + }) + .orElse(InteractionResultHolder.pass(stack)); + } + + @Override + public boolean shouldCauseReequipAnimation(ItemStack oldStack, ItemStack newStack, boolean slotChanged) { + return slotChanged || newStack.getItem() != oldStack.getItem(); + } + + private Optional findAmmoInInventory(Level world, Player player, ItemStack held) { + + + for(int i = 0; i < player.getInventory().getContainerSize(); ++i) { + ItemStack stack = player.getInventory().getItem(i); + if(stack.is(TFMGItems.NAPALM_POTATO.get())){ + if (!player.isCreative()) + stack.shrink(1); + return Optional.of(TFMGItems.NAPALM_POTATO.get().getDefaultInstance()); + } + } + + + return Optional.empty(); + + } + + @Override + public Predicate getAllSupportedProjectiles() { + return (Predicate) TFMGItems.NAPALM_POTATO.asItem(); + } + + @Override + public boolean onEntitySwing(ItemStack stack, LivingEntity entity, InteractionHand hand) { + return true; + } + + @Override + public UseAnim getUseAnimation(ItemStack stack) { + return UseAnim.NONE; + } + + @Override + @Nullable + public ArmPose getArmPose(ItemStack stack, AbstractClientPlayer player, InteractionHand hand) { + if (!player.swinging) { + return ArmPose.CROSSBOW_HOLD; + } + return null; + } + + @Override + public int getDefaultProjectileRange() { + return 15; + } + + @Override + protected void shootProjectile(LivingEntity livingEntity, Projectile projectile, int i, float v, float v1, float v2, @Nullable LivingEntity livingEntity1) { + + } + + @SuppressWarnings("removal") + @Override + @OnlyIn(Dist.CLIENT) + public void initializeClient(Consumer consumer) { + consumer.accept(SimpleCustomRenderer.create(this, new AdvancedPotatoCannonItemRenderer())); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/advanced_potato_cannon/AdvancedPotatoCannonItemRenderer.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/advanced_potato_cannon/AdvancedPotatoCannonItemRenderer.java new file mode 100644 index 00000000..39818d09 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/advanced_potato_cannon/AdvancedPotatoCannonItemRenderer.java @@ -0,0 +1,55 @@ +package com.drmangotea.tfmg.content.items.weapons.advanced_potato_cannon; + + +import com.drmangotea.tfmg.TFMGClient; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.math.Axis; +import com.simibubi.create.foundation.item.render.CustomRenderedItemModel; +import com.simibubi.create.foundation.item.render.CustomRenderedItemModelRenderer; +import com.simibubi.create.foundation.item.render.PartialItemModelRenderer; +import net.createmod.catnip.animation.AnimationTickHolder; +import net.minecraft.client.Minecraft; +import net.minecraft.client.player.LocalPlayer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.entity.ItemRenderer; +import net.minecraft.util.Mth; +import net.minecraft.world.entity.HumanoidArm; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; + +public class AdvancedPotatoCannonItemRenderer extends CustomRenderedItemModelRenderer { + + + + @Override + protected void render(ItemStack stack, CustomRenderedItemModel model, PartialItemModelRenderer renderer, + ItemDisplayContext transformType, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { + ItemRenderer itemRenderer = Minecraft.getInstance() + .getItemRenderer(); + renderer.render(model.getOriginalModel(), light); + LocalPlayer player = Minecraft.getInstance().player; + boolean mainHand = player.getMainHandItem() == stack; + boolean offHand = player.getOffhandItem() == stack; + boolean leftHanded = player.getMainArm() == HumanoidArm.LEFT; + + float offset = .5f / 16; + float worldTime = AnimationTickHolder.getRenderTime() / 10; + float angle = worldTime * -25; + float speed = TFMGClient.ADVANCED_POTATO_CANNON_RENDER_HANDLER.getAnimation(mainHand ^ leftHanded, + AnimationTickHolder.getPartialTicks()); + + if (mainHand || offHand) + angle += 360 * Mth.clamp(speed * 5, 0, 1); + angle %= 360; + + ms.pushPose(); + ms.translate(0, offset, 0); + ms.mulPose(Axis.ZP.rotationDegrees(angle)); + ms.translate(0, -offset, 0); + + ms.popPose(); + + + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/advanced_potato_cannon/AdvancedPotatoCannonPacket.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/advanced_potato_cannon/AdvancedPotatoCannonPacket.java new file mode 100644 index 00000000..367b48b2 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/advanced_potato_cannon/AdvancedPotatoCannonPacket.java @@ -0,0 +1,63 @@ +package com.drmangotea.tfmg.content.items.weapons.advanced_potato_cannon; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.TFMGClient; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.simibubi.create.AllPackets; +import com.simibubi.create.CreateClient; +import com.simibubi.create.content.equipment.potatoCannon.PotatoCannonPacket; +import com.simibubi.create.content.equipment.zapper.ShootGadgetPacket; +import com.simibubi.create.content.equipment.zapper.ShootableGadgetRenderHandler; +import net.createmod.catnip.codecs.stream.CatnipStreamCodecs; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.phys.Vec3; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; + + +public class AdvancedPotatoCannonPacket extends ShootGadgetPacket { + + + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + CatnipStreamCodecs.VEC3, packet -> packet.location, + CatnipStreamCodecs.VEC3, packet -> packet.motion, + ItemStack.OPTIONAL_STREAM_CODEC, packet -> packet.item, + CatnipStreamCodecs.HAND, packet -> packet.hand, + ByteBufCodecs.FLOAT, packet -> packet.pitch, + ByteBufCodecs.BOOL, packet -> packet.self, + AdvancedPotatoCannonPacket::new + ); + + private final float pitch; + private final Vec3 motion; + private final ItemStack item; + + public AdvancedPotatoCannonPacket(Vec3 location, Vec3 motion, ItemStack item, InteractionHand hand, float pitch, boolean self) { + super(location, hand, self); + this.motion = motion; + this.item = item; + this.pitch = pitch; + } + + @Override + @OnlyIn(Dist.CLIENT) + protected void handleAdditional() { + CreateClient.POTATO_CANNON_RENDER_HANDLER.beforeShoot(pitch, location, motion, item); + } + + @Override + @OnlyIn(Dist.CLIENT) + protected ShootableGadgetRenderHandler getHandler() { + return CreateClient.POTATO_CANNON_RENDER_HANDLER; + } + + @Override + public PacketTypeProvider getTypeProvider() { + return AllPackets.POTATO_CANNON; + } + } diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/advanced_potato_cannon/AdvancedPotatoCannonRenderHandler.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/advanced_potato_cannon/AdvancedPotatoCannonRenderHandler.java new file mode 100644 index 00000000..0423bef0 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/advanced_potato_cannon/AdvancedPotatoCannonRenderHandler.java @@ -0,0 +1,58 @@ +package com.drmangotea.tfmg.content.items.weapons.advanced_potato_cannon; + +import com.drmangotea.tfmg.registry.TFMGItems; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.content.equipment.potatoCannon.PotatoProjectileEntity; +import com.simibubi.create.content.equipment.zapper.ShootableGadgetRenderHandler; +import com.simibubi.create.foundation.particle.AirParticleData; +import net.createmod.catnip.math.VecHelper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.core.particles.ItemParticleOption; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.phys.Vec3; + +public class AdvancedPotatoCannonRenderHandler extends ShootableGadgetRenderHandler { + + private float nextPitch; + + @Override + protected void playSound(InteractionHand hand, Vec3 position) { + PotatoProjectileEntity.playLaunchSound(Minecraft.getInstance().level, position, nextPitch); + } + + @Override + protected boolean appliesTo(ItemStack stack) { + return false; + } + + public void beforeShoot(float nextPitch, Vec3 location, Vec3 motion, ItemStack stack) { + this.nextPitch = nextPitch; + if (stack.isEmpty()) + return; + + + ClientLevel world = Minecraft.getInstance().level; + for (int i = 0; i < 2; i++) { + Vec3 m = VecHelper.offsetRandomly(motion.scale(0.1f), world.random, .025f); + world.addParticle(new ItemParticleOption(ParticleTypes.ITEM, stack), location.x, location.y, location.z, m.x, + m.y, m.z); + + Vec3 m2 = VecHelper.offsetRandomly(motion.scale(2f), world.random, .5f); + world.addParticle(new AirParticleData(1, 1 / 4f), location.x, location.y, location.z, m2.x, m2.y, m2.z); + } + } + + @Override + protected void transformTool(PoseStack ms, float flip, float equipProgress, float recoil, float pt) { + + } + + @Override + protected void transformHand(PoseStack ms, float flip, float equipProgress, float recoil, float pt) { + + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/advanced_potato_cannon/projectile/NapalmPotato.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/advanced_potato_cannon/projectile/NapalmPotato.java new file mode 100644 index 00000000..a5f914c0 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/advanced_potato_cannon/projectile/NapalmPotato.java @@ -0,0 +1,79 @@ +package com.drmangotea.tfmg.content.items.weapons.advanced_potato_cannon.projectile; + +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.registry.TFMGEntityTypes; +import com.drmangotea.tfmg.registry.TFMGItems; +import net.minecraft.core.BlockPos; +import net.minecraft.core.particles.ParticleOptions; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.projectile.ThrowableItemProjectile; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.Level; +import net.minecraft.world.phys.EntityHitResult; +import net.minecraft.world.phys.HitResult; + +public class NapalmPotato extends ThrowableItemProjectile { + + + public NapalmPotato(EntityType entityType, Level level) { + super(entityType,level); + + + } + public NapalmPotato(Level p_37399_, LivingEntity p_37400, EntityType bomb) { + super(bomb, p_37400, p_37399_); + + } + public NapalmPotato(Level p_37394_, double p_37395_, double p_37396_, double p_37397_) { + super(TFMGEntityTypes.NAPALM_POTATO.get(), p_37395_, p_37396_, p_37397_, p_37394_); + } + + + protected Item getDefaultItem() { + return TFMGItems.NAPALM_POTATO.get(); + } + + private ParticleOptions getParticle() { + + return ParticleTypes.FLAME; + } + + public void handleEntityEvent(byte p_37402_) { + if (p_37402_ == 3) { + ParticleOptions particleoptions = this.getParticle(); + + for(int i = 0; i < 8; ++i) { + this.level().addParticle(particleoptions, this.getX(), this.getY(), this.getZ(), 0.0D, 0.0D, 0.0D); + } + } + + } + + protected void onHitEntity(EntityHitResult p_37404_) { + super.onHitEntity(p_37404_); + Entity entity = p_37404_.getEntity(); + + } + + protected void onHit(HitResult p_37406_) { + super.onHit(p_37406_); + + if (!this.level().isClientSide) { + this.level().broadcastEntityEvent(this, (byte) 3); + + TFMGUtils.createFireExplosion(level(),this,new BlockPos((int) getX(), (int) getY(), (int) getZ()),15,2.5f); + + this.discard(); + } + + } + + @SuppressWarnings("unchecked") + public static EntityType.Builder build(EntityType.Builder builder) { + EntityType.Builder entityBuilder = (EntityType.Builder) builder; + return entityBuilder.sized(.25f, .25f); + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/advanced_potato_cannon/projectile/NapalmPotatoRenderer.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/advanced_potato_cannon/projectile/NapalmPotatoRenderer.java new file mode 100644 index 00000000..e7695c53 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/advanced_potato_cannon/projectile/NapalmPotatoRenderer.java @@ -0,0 +1,47 @@ +package com.drmangotea.tfmg.content.items.weapons.advanced_potato_cannon.projectile; + + +import com.drmangotea.tfmg.registry.TFMGItems; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.math.Axis; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.entity.EntityRenderer; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.ItemRenderer; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.client.renderer.texture.TextureAtlas; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemDisplayContext; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; + + +@OnlyIn(Dist.CLIENT) +public class NapalmPotatoRenderer extends EntityRenderer { + private final ItemRenderer itemRenderer; + + + public NapalmPotatoRenderer(EntityRendererProvider.Context p_174114_) { + super(p_174114_); + this.itemRenderer = p_174114_.getItemRenderer(); + } + + + public void render(NapalmPotato kartofel, float p_114657_, float p_114658_, PoseStack p_114659_, MultiBufferSource p_114660_, int p_114661_) { + p_114659_.pushPose(); + p_114659_.mulPose(this.entityRenderDispatcher.cameraOrientation()); + p_114659_.mulPose(Axis.YP.rotationDegrees(180.0F)); + + + this.itemRenderer.renderStatic(TFMGItems.NAPALM_POTATO.get().getDefaultInstance(), ItemDisplayContext.GROUND, p_114661_, OverlayTexture.NO_OVERLAY, p_114659_, p_114660_,kartofel.level(), kartofel.getId()); + + + p_114659_.popPose(); + super.render(kartofel, p_114657_, p_114658_, p_114659_, p_114660_, p_114661_); + } + + public ResourceLocation getTextureLocation(NapalmPotato p_114654_) { + return TextureAtlas.LOCATION_BLOCKS; + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/napalm/NapalmBombBlock.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/napalm/NapalmBombBlock.java new file mode 100644 index 00000000..19607b1f --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/napalm/NapalmBombBlock.java @@ -0,0 +1,138 @@ +package com.drmangotea.tfmg.content.items.weapons.explosives.napalm; + +import net.minecraft.core.BlockPos; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.stats.Stats; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.entity.projectile.Projectile; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.Explosion; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.gameevent.GameEvent; +import net.minecraft.world.phys.BlockHitResult; + +import javax.annotation.Nullable; + +public class NapalmBombBlock extends Block { + public static final BooleanProperty UNSTABLE = BlockStateProperties.UNSTABLE; + + public NapalmBombBlock(Properties p_57422_) { + super(p_57422_); + this.registerDefaultState(this.defaultBlockState().setValue(UNSTABLE, Boolean.valueOf(false))); + } + + public void onCaughtFire(BlockState state, Level world, BlockPos pos, @Nullable net.minecraft.core.Direction face, @Nullable LivingEntity igniter) { + explode(world, pos, igniter); + } + + public void onPlace(BlockState p_57466_, Level p_57467_, BlockPos p_57468_, BlockState p_57469_, boolean p_57470_) { + if (!p_57469_.is(p_57466_.getBlock())) { + if (p_57467_.hasNeighborSignal(p_57468_)) { + onCaughtFire(p_57466_, p_57467_, p_57468_, null, null); + p_57467_.removeBlock(p_57468_, false); + } + + } + } + + public void neighborChanged(BlockState p_57457_, Level p_57458_, BlockPos p_57459_, Block p_57460_, BlockPos p_57461_, boolean p_57462_) { + if (p_57458_.hasNeighborSignal(p_57459_)) { + onCaughtFire(p_57457_, p_57458_, p_57459_, null, null); + p_57458_.removeBlock(p_57459_, false); + } + + } + + public BlockState playerWillDestroy(Level p_57445_, BlockPos p_57446_, BlockState p_57447_, Player p_57448_) { + if (!p_57445_.isClientSide() && !p_57448_.isCreative() && p_57447_.getValue(UNSTABLE)) { + onCaughtFire(p_57447_, p_57445_, p_57446_, null, null); + } + + super.playerWillDestroy(p_57445_, p_57446_, p_57447_, p_57448_); + return p_57447_; + } + + + + public void wasExploded(Level p_57441_, BlockPos p_57442_, Explosion sourceMob) { + if (!p_57441_.isClientSide) { + NapalmBombEntity napalmBomb = new NapalmBombEntity(p_57441_, (double)p_57442_.getX() + 0.5D, (double)p_57442_.getY(), (double)p_57442_.getZ() + 0.5D, sourceMob.getIndirectSourceEntity()); + int i = napalmBomb.getFuse(); + napalmBomb.setFuse((short)(p_57441_.random.nextInt(i / 4) + i / 8)); + p_57441_.addFreshEntity(napalmBomb); + } + } + + @Deprecated //Forge: Prefer using IForgeBlock#catchFire + public static void explode(Level p_57434_, BlockPos p_57435_) { + explode(p_57434_, p_57435_, (LivingEntity)null); + } + + @Deprecated //Forge: Prefer using IForgeBlock#catchFire + private static void explode(Level p_57437_, BlockPos p_57438_, @Nullable LivingEntity p_57439_) { + if (!p_57437_.isClientSide) { + NapalmBombEntity napalmBomb = new NapalmBombEntity(p_57437_, (double)p_57438_.getX() + 0.5D, (double)p_57438_.getY(), (double)p_57438_.getZ() + 0.5D, p_57439_); + p_57437_.addFreshEntity(napalmBomb); + p_57437_.playSound((Player)null, napalmBomb.getX(), napalmBomb.getY(), napalmBomb.getZ(), SoundEvents.TNT_PRIMED, SoundSource.BLOCKS, 1.0F, 1.0F); + p_57437_.gameEvent(p_57439_, GameEvent.PRIME_FUSE, p_57438_); + } + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + + ItemStack itemstack = player.getItemInHand(hand); + if (!itemstack.is(Items.FLINT_AND_STEEL) && !itemstack.is(Items.FIRE_CHARGE)) { + return super.useItemOn(stack, state, level, pos, player, hand, hitResult); + } else { + onCaughtFire(state, level, pos, hitResult.getDirection(), player); + level.setBlock(pos, Blocks.AIR.defaultBlockState(), 11); + Item item = itemstack.getItem(); + if (!player.isCreative()) { + if (itemstack.is(Items.FLINT_AND_STEEL)) { + itemstack.hurtAndBreak(1, player, + LivingEntity.getSlotForHand(hand)); + } else { + itemstack.shrink(1); + } + } + + player.awardStat(Stats.ITEM_USED.get(item)); + return ItemInteractionResult.SUCCESS; + } + } + + public void onProjectileHit(Level p_57429_, BlockState p_57430_, BlockHitResult p_57431_, Projectile p_57432_) { + if (!p_57429_.isClientSide) { + BlockPos blockpos = p_57431_.getBlockPos(); + Entity entity = p_57432_.getOwner(); + if (p_57432_.isOnFire() && p_57432_.mayInteract(p_57429_, blockpos)) { + onCaughtFire(p_57430_, p_57429_, blockpos, null, entity instanceof LivingEntity ? (LivingEntity)entity : null); + p_57429_.removeBlock(blockpos, false); + } + } + + } + + public boolean dropFromExplosion(Explosion p_57427_) { + return false; + } + + protected void createBlockStateDefinition(StateDefinition.Builder p_57464_) { + p_57464_.add(UNSTABLE); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/napalm/NapalmBombEntity.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/napalm/NapalmBombEntity.java new file mode 100644 index 00000000..f87aaeea --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/napalm/NapalmBombEntity.java @@ -0,0 +1,136 @@ +package com.drmangotea.tfmg.content.items.weapons.explosives.napalm; + + +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.registry.TFMGEntityTypes; +import net.minecraft.core.BlockPos; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.protocol.Packet; +import net.minecraft.network.protocol.game.ClientGamePacketListener; +import net.minecraft.network.protocol.game.ClientboundAddEntityPacket; +import net.minecraft.network.syncher.EntityDataAccessor; +import net.minecraft.network.syncher.EntityDataSerializers; +import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.world.entity.*; +import net.minecraft.world.entity.item.PrimedTnt; +import net.minecraft.world.level.Level; + +import javax.annotation.Nullable; + +public class NapalmBombEntity extends Entity { + private static final EntityDataAccessor DATA_FUSE_ID = SynchedEntityData.defineId(NapalmBombEntity.class, EntityDataSerializers.INT); + private static final int DEFAULT_FUSE_TIME = 80; + @Nullable + private LivingEntity owner; + + public NapalmBombEntity(EntityType p_32076_, Level p_32077_) { + super(p_32076_, p_32077_); + this.blocksBuilding = true; + } + + public NapalmBombEntity(Level p_32079_, double p_32080_, double p_32081_, double p_32082_, @Nullable LivingEntity p_32083_) { + this(TFMGEntityTypes.NAPALM_BOMB.get(), p_32079_); + this.setPos(p_32080_, p_32081_, p_32082_); + double d0 = p_32079_.random.nextDouble() * (double)((float)Math.PI * 2F); + this.setDeltaMovement(-Math.sin(d0) * 0.02D, (double)0.2F, -Math.cos(d0) * 0.02D); + this.setFuse(80); + this.xo = p_32080_; + this.yo = p_32081_; + this.zo = p_32082_; + this.owner = p_32083_; + } + + + @Override + protected void defineSynchedData(SynchedEntityData.Builder builder) { + builder.define(DATA_FUSE_ID, 80); + } + + + + protected MovementEmission getMovementEmission() { + return MovementEmission.NONE; + } + + public boolean isPickable() { + return !this.isRemoved(); + } + + public void tick() { + if (!this.isNoGravity()) { + this.setDeltaMovement(this.getDeltaMovement().add(0.0D, -0.04D, 0.0D)); + } + + this.move(MoverType.SELF, this.getDeltaMovement()); + this.setDeltaMovement(this.getDeltaMovement().scale(0.98D)); + if (this.onGround()) { + this.setDeltaMovement(this.getDeltaMovement().multiply(0.7D, -0.5D, 0.7D)); + } + + int i = this.getFuse() - 1; + this.setFuse(i); + if (i <= 0) { + this.discard(); + if (!this.level().isClientSide) { + this.explode(); + } + } else { + this.updateInWaterStateAndDoFluidPushing(); + if (this.level().isClientSide) { + this.level().addParticle(ParticleTypes.FLAME, this.getX(), this.getY() + 0.5D, this.getZ(), 0.0D, 0.0D, 0.0D); + } + } + + } + + protected void explode() { + + TFMGUtils.createFireExplosion(level(),this,new BlockPos((int) getX(), (int) getY(), (int) getZ()),40,2.5f); + + // float f = 4.0F; + // for (int i=0; i<40;i++){ + // float x= Create.RANDOM.nextFloat(360); + // float y= Create.RANDOM.nextFloat(360); + // float z= Create.RANDOM.nextFloat(360); + // Spark spark = TFMGEntityTypes.SPARK.create(level); + // spark.moveTo(this.getX(), this.getY()+1, this.getZ()); + // spark.shootFromRotation( this,x,y,z,0.3f,1); + // this.level.addFreshEntity(spark); + // } + // this.level.explode(this, this.getX(), this.getY(0.0625D), this.getZ(), 2.5F, Explosion.BlockInteraction.BREAK); + + } + + protected void addAdditionalSaveData(CompoundTag p_32097_) { + p_32097_.putShort("Fuse", (short)this.getFuse()); + } + + protected void readAdditionalSaveData(CompoundTag p_32091_) { + this.setFuse(p_32091_.getShort("Fuse")); + } + + @Nullable + public LivingEntity getOwner() { + return this.owner; + } + + protected float getEyeHeight(Pose p_32088_, EntityDimensions p_32089_) { + return 0.15F; + } + + public void setFuse(int p_32086_) { + this.entityData.set(DATA_FUSE_ID, p_32086_); + } + + public int getFuse() { + return this.entityData.get(DATA_FUSE_ID); + } + + + @SuppressWarnings("unchecked") + public static EntityType.Builder build(EntityType.Builder builder) { + EntityType.Builder entityBuilder = (EntityType.Builder) builder; + return entityBuilder.sized(.25f, .25f); + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/napalm/NapalmBombRenderer.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/napalm/NapalmBombRenderer.java new file mode 100644 index 00000000..7ece1e2b --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/napalm/NapalmBombRenderer.java @@ -0,0 +1,51 @@ +package com.drmangotea.tfmg.content.items.weapons.explosives.napalm; + +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.math.Axis; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.block.BlockRenderDispatcher; +import net.minecraft.client.renderer.entity.EntityRenderer; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.TntMinecartRenderer; +import net.minecraft.client.renderer.texture.TextureAtlas; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; + + +@OnlyIn(Dist.CLIENT) +public class NapalmBombRenderer extends EntityRenderer { + private final BlockRenderDispatcher blockRenderer; + public NapalmBombRenderer(EntityRendererProvider.Context p_174426_) { + super(p_174426_); + this.shadowRadius = 0.5F; + this.blockRenderer = p_174426_.getBlockRenderDispatcher(); + } + + public void render(NapalmBombEntity p_116177_, float p_116178_, float p_116179_, PoseStack p_116180_, MultiBufferSource p_116181_, int p_116182_) { + p_116180_.pushPose(); + p_116180_.translate(0.0D, 0.5D, 0.0D); + int i = p_116177_.getFuse(); + if ((float)i - p_116179_ + 1.0F < 10.0F) { + float f = 1.0F - ((float)i - p_116179_ + 1.0F) / 10.0F; + f = Mth.clamp(f, 0.0F, 1.0F); + f *= f; + f *= f; + float f1 = 1.0F + f * 0.3F; + p_116180_.scale(f1, f1, f1); + } + + p_116180_.mulPose(Axis.YP.rotationDegrees(-90.0F)); + p_116180_.translate(-0.5D, -0.5D, 0.5D); + p_116180_.mulPose(Axis.YP.rotationDegrees(90.0F)); + TntMinecartRenderer.renderWhiteSolidBlock(this.blockRenderer, TFMGBlocks.NAPALM_BOMB.get().defaultBlockState(), p_116180_, p_116181_, p_116182_, i / 5 % 2 == 0); + p_116180_.popPose(); + super.render(p_116177_, p_116178_, p_116179_, p_116180_, p_116181_, p_116182_); + } + + public ResourceLocation getTextureLocation(NapalmBombEntity p_116175_) { + return TextureAtlas.LOCATION_BLOCKS; + } + } \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/pipe_bomb/PipeBomb.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/pipe_bomb/PipeBomb.java new file mode 100644 index 00000000..4501f9f7 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/pipe_bomb/PipeBomb.java @@ -0,0 +1,79 @@ +package com.drmangotea.tfmg.content.items.weapons.explosives.pipe_bomb; + + +import com.drmangotea.tfmg.registry.TFMGEntityTypes; +import com.drmangotea.tfmg.registry.TFMGItems; +import net.minecraft.core.particles.ParticleOptions; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.projectile.ThrowableItemProjectile; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.Level; +import net.minecraft.world.phys.EntityHitResult; +import net.minecraft.world.phys.HitResult; + +public class PipeBomb extends ThrowableItemProjectile { + + + public PipeBomb(EntityType entityType, Level level) { + super(entityType,level); + + + } + public PipeBomb(Level p_37399_, LivingEntity p_37400,EntityType bomb) { + super(bomb, p_37400, p_37399_); + + } + public PipeBomb(Level p_37394_, double p_37395_, double p_37396_, double p_37397_) { + super(TFMGEntityTypes.PIPE_BOMB.get(), p_37395_, p_37396_, p_37397_, p_37394_); + } + + + protected Item getDefaultItem() { + return TFMGItems.PIPE_BOMB.get(); + } + + private ParticleOptions getParticle() { + + return ParticleTypes.FLAME; + } + + public void handleEntityEvent(byte p_37402_) { + if (p_37402_ == 3) { + ParticleOptions particleoptions = this.getParticle(); + + for(int i = 0; i < 8; ++i) { + this.level().addParticle(particleoptions, this.getX(), this.getY(), this.getZ(), 0.0D, 0.0D, 0.0D); + } + } + + } + + protected void onHitEntity(EntityHitResult p_37404_) { + super.onHitEntity(p_37404_); + Entity entity = p_37404_.getEntity(); + + } + + protected void onHit(HitResult p_37406_) { + super.onHit(p_37406_); + + if (!this.level().isClientSide) { + this.level().broadcastEntityEvent(this, (byte) 3); + + + + this.level().explode(this, this.getX(), this.getY(0.0625D), this.getZ(), 2.0F, Level.ExplosionInteraction.NONE); + this.discard(); + } + + } + + @SuppressWarnings("unchecked") + public static EntityType.Builder build(EntityType.Builder builder) { + EntityType.Builder entityBuilder = (EntityType.Builder) builder; + return entityBuilder.sized(.25f, .25f); + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/pipe_bomb/PipeBombItem.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/pipe_bomb/PipeBombItem.java new file mode 100644 index 00000000..783ffb17 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/pipe_bomb/PipeBombItem.java @@ -0,0 +1,42 @@ +package com.drmangotea.tfmg.content.items.weapons.explosives.pipe_bomb; + +import com.drmangotea.tfmg.registry.TFMGEntityTypes; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.stats.Stats; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; + +public class PipeBombItem extends Item { + + + + public PipeBombItem(Properties p_41383_) { + super(p_41383_); + } + + public InteractionResultHolder use(Level p_43142_, Player p_43143_, InteractionHand p_43144_) { + ItemStack itemstack = p_43143_.getItemInHand(p_43144_); + p_43143_.getCooldowns().addCooldown(this, 60); + p_43142_.playSound((Player)null, p_43143_.getX(), p_43143_.getY(), p_43143_.getZ(), SoundEvents.EGG_THROW, SoundSource.NEUTRAL, 0.5F, 0.4F / (p_43142_.getRandom().nextFloat() * 0.4F + 0.8F)); + if (!p_43142_.isClientSide) { + PipeBomb bomb; + bomb = new PipeBomb(p_43142_, p_43143_, TFMGEntityTypes.PIPE_BOMB.get()); + + bomb.setItem(itemstack); + bomb.shootFromRotation(p_43143_, p_43143_.getXRot(), p_43143_.getYRot(), 0.0F, 1.5F, 1.0F); + p_43142_.addFreshEntity(bomb); + } + + p_43143_.awardStat(Stats.ITEM_USED.get(this)); + if (!p_43143_.getAbilities().instabuild) { + itemstack.shrink(1); + } + + return InteractionResultHolder.sidedSuccess(itemstack, p_43142_.isClientSide()); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/pipe_bomb/PipeBombRenderer.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/pipe_bomb/PipeBombRenderer.java new file mode 100644 index 00000000..d0edd3cb --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/pipe_bomb/PipeBombRenderer.java @@ -0,0 +1,46 @@ +package com.drmangotea.tfmg.content.items.weapons.explosives.pipe_bomb; + + +import com.drmangotea.tfmg.registry.TFMGItems; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.math.Axis; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.entity.EntityRenderer; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.ItemRenderer; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.client.renderer.texture.TextureAtlas; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemDisplayContext; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; + + +@OnlyIn(Dist.CLIENT) +public class PipeBombRenderer extends EntityRenderer { + private final ItemRenderer itemRenderer; + + + public PipeBombRenderer(EntityRendererProvider.Context p_174114_) { + super(p_174114_); + this.itemRenderer = p_174114_.getItemRenderer(); + } + + + public void render(PipeBomb grenade, float p_114657_, float p_114658_, PoseStack p_114659_, MultiBufferSource p_114660_, int p_114661_) { + p_114659_.pushPose(); + p_114659_.mulPose(this.entityRenderDispatcher.cameraOrientation()); + p_114659_.mulPose(Axis.YP.rotationDegrees(180.0F)); + + + this.itemRenderer.renderStatic(TFMGItems.PIPE_BOMB.get().getDefaultInstance(), ItemDisplayContext.GROUND, p_114661_, OverlayTexture.NO_OVERLAY, p_114659_, p_114660_,grenade.level(), grenade.getId()); + + p_114659_.popPose(); + super.render(grenade, p_114657_, p_114658_, p_114659_, p_114660_, p_114661_); + } + + public ResourceLocation getTextureLocation(PipeBomb p_114654_) { + return TextureAtlas.LOCATION_BLOCKS; + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/thermite_grenades/ThermiteGrenade.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/thermite_grenades/ThermiteGrenade.java new file mode 100644 index 00000000..b4c4fd48 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/thermite_grenades/ThermiteGrenade.java @@ -0,0 +1,122 @@ +package com.drmangotea.tfmg.content.items.weapons.explosives.thermite_grenades; + +import com.drmangotea.tfmg.base.spark.BlueSpark; +import com.drmangotea.tfmg.base.spark.GreenSpark; +import com.drmangotea.tfmg.base.spark.Spark; +import com.drmangotea.tfmg.registry.TFMGEntityTypes; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.Create; +import net.minecraft.core.particles.ParticleOptions; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.projectile.ThrowableItemProjectile; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.Level; +import net.minecraft.world.phys.EntityHitResult; +import net.minecraft.world.phys.HitResult; + +public class ThermiteGrenade extends ThrowableItemProjectile { + public final ChemicalColor flameColor; + + public ThermiteGrenade(EntityType p_37391_, Level p_37392_) { + super(p_37391_, p_37392_); + this.flameColor =ChemicalColor.BLUE; + } + + + + + + public ThermiteGrenade(Level p_37399_, LivingEntity p_37400_, ChemicalColor color,EntityType grenade) { + super(grenade, p_37400_, p_37399_); + this.flameColor = color; + } + + public ThermiteGrenade(Level p_37394_, double p_37395_, double p_37396_, double p_37397_) { + super(TFMGEntityTypes.THERMITE_GRENADE.get(), p_37395_, p_37396_, p_37397_, p_37394_); + this.flameColor =ChemicalColor.BLUE; + } + + protected Item getDefaultItem() { + return TFMGItems.THERMITE_GRENADE.get(); + } + + private ParticleOptions getParticle() { + + return ParticleTypes.FLAME; + } + + public void handleEntityEvent(byte p_37402_) { + if (p_37402_ == 3) { + ParticleOptions particleoptions = this.getParticle(); + + for(int i = 0; i < 8; ++i) { + this.level().addParticle(particleoptions, this.getX(), this.getY(), this.getZ(), 0.0D, 0.0D, 0.0D); + } + } + + } + + protected void onHitEntity(EntityHitResult p_37404_) { + super.onHitEntity(p_37404_); + Entity entity = p_37404_.getEntity(); + + } + + protected void onHit(HitResult p_37406_) { + super.onHit(p_37406_); + + if (!this.level().isClientSide) { + this.level().broadcastEntityEvent(this, (byte) 3); + + for (int i=0; i<20;i++){ + float x= Create.RANDOM.nextFloat(360); + float y= Create.RANDOM.nextFloat(360); + float z= Create.RANDOM.nextFloat(360); + + if(flameColor==ChemicalColor.GREEN){ + GreenSpark spark = TFMGEntityTypes.GREEN_SPARK.create(level()); + spark.moveTo(this.getX(), this.getY()+1, this.getZ()); + spark.shootFromRotation( this,x,y,z,0.2f,1); + this.level().addFreshEntity(spark); + }else + if(flameColor==ChemicalColor.BLUE){ + BlueSpark spark = TFMGEntityTypes.BLUE_SPARK.create(level()); + spark.moveTo(this.getX(), this.getY()+1, this.getZ()); + spark.shootFromRotation( this,x,y,z,0.2f,1); + this.level().addFreshEntity(spark); + } else { Spark spark = TFMGEntityTypes.SPARK.create(level()); + spark.moveTo(this.getX(), this.getY()+1, this.getZ()); + spark.shootFromRotation( this,x,y,z,0.2f,1); + this.level().addFreshEntity(spark);} + + + + + + + + } + + + this.level().explode(this, this.getX(), this.getY(0.0625D), this.getZ(), 2.0F, Level.ExplosionInteraction.NONE); + this.discard(); + } + + } + + @SuppressWarnings("unchecked") + public static EntityType.Builder build(EntityType.Builder builder) { + EntityType.Builder entityBuilder = (EntityType.Builder) builder; + return entityBuilder.sized(.25f, .25f); + } + + public enum ChemicalColor { + BASE, + GREEN, + BLUE + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/thermite_grenades/ThermiteGrenadeItem.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/thermite_grenades/ThermiteGrenadeItem.java new file mode 100644 index 00000000..3029ac12 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/thermite_grenades/ThermiteGrenadeItem.java @@ -0,0 +1,48 @@ +package com.drmangotea.tfmg.content.items.weapons.explosives.thermite_grenades; + +import com.drmangotea.tfmg.registry.TFMGEntityTypes; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.stats.Stats; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; + +public class ThermiteGrenadeItem extends Item { + + public final ThermiteGrenade.ChemicalColor flameColor; + + public ThermiteGrenadeItem(Properties p_41383_, ThermiteGrenade.ChemicalColor color) { + super(p_41383_); + this.flameColor = color; + } + + public InteractionResultHolder use(Level p_43142_, Player p_43143_, InteractionHand p_43144_) { + ItemStack itemstack = p_43143_.getItemInHand(p_43144_); + p_43143_.getCooldowns().addCooldown(this, 60); + p_43142_.playSound((Player)null, p_43143_.getX(), p_43143_.getY(), p_43143_.getZ(), SoundEvents.EGG_THROW, SoundSource.NEUTRAL, 0.5F, 0.4F / (p_43142_.getRandom().nextFloat() * 0.4F + 0.8F)); + if (!p_43142_.isClientSide) { + ThermiteGrenade grenade; + if(flameColor== ThermiteGrenade.ChemicalColor.GREEN) { + grenade = new ThermiteGrenade(p_43142_, p_43143_, flameColor, TFMGEntityTypes.ZINC_GRENADE.get()); + }else if(flameColor== ThermiteGrenade.ChemicalColor.BLUE) { + grenade = new ThermiteGrenade(p_43142_, p_43143_, flameColor, TFMGEntityTypes.COPPER_GRENADE.get()); + }else { + grenade = new ThermiteGrenade(p_43142_, p_43143_, flameColor, TFMGEntityTypes.THERMITE_GRENADE.get()); + } + grenade.setItem(itemstack); + grenade.shootFromRotation(p_43143_, p_43143_.getXRot(), p_43143_.getYRot(), 0.0F, 0.5F, 1.0F); + p_43142_.addFreshEntity(grenade); + } + + p_43143_.awardStat(Stats.ITEM_USED.get(this)); + if (!p_43143_.getAbilities().instabuild) { + itemstack.shrink(1); + } + + return InteractionResultHolder.sidedSuccess(itemstack, p_43142_.isClientSide()); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/thermite_grenades/ThermiteGrenadeRenderer.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/thermite_grenades/ThermiteGrenadeRenderer.java new file mode 100644 index 00000000..12ed6e1c --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/thermite_grenades/ThermiteGrenadeRenderer.java @@ -0,0 +1,64 @@ +package com.drmangotea.tfmg.content.items.weapons.explosives.thermite_grenades; + + +import com.drmangotea.tfmg.registry.TFMGItems; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.math.Axis; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.entity.EntityRenderer; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.ItemRenderer; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.client.renderer.texture.TextureAtlas; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemDisplayContext; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; + + +import static com.drmangotea.tfmg.content.items.weapons.explosives.thermite_grenades.ThermiteGrenade.ChemicalColor; + +@OnlyIn(Dist.CLIENT) +public class ThermiteGrenadeRenderer extends EntityRenderer { + private final ItemRenderer itemRenderer; + private ChemicalColor chemicalColor; + public static ThermiteGrenadeRenderer regular(EntityRendererProvider.Context p_i48440_1_) { + return new ThermiteGrenadeRenderer(p_i48440_1_, ChemicalColor.BASE); + } + public static ThermiteGrenadeRenderer green(EntityRendererProvider.Context p_i48440_1_) { + return new ThermiteGrenadeRenderer(p_i48440_1_, ChemicalColor.GREEN); + } + public static ThermiteGrenadeRenderer blue(EntityRendererProvider.Context p_i48440_1_) { + return new ThermiteGrenadeRenderer(p_i48440_1_, ChemicalColor.BLUE); + } + public ThermiteGrenadeRenderer(EntityRendererProvider.Context p_174114_,ChemicalColor color) { + super(p_174114_); + this.chemicalColor = color; + this.itemRenderer = p_174114_.getItemRenderer(); + } + + + public void render(ThermiteGrenade grenade, float p_114657_, float p_114658_, PoseStack p_114659_, MultiBufferSource p_114660_, int p_114661_) { + p_114659_.pushPose(); + p_114659_.mulPose(this.entityRenderDispatcher.cameraOrientation()); + p_114659_.mulPose(Axis.YP.rotationDegrees(180.0F)); + + + + if (chemicalColor == ChemicalColor.GREEN) { + this.itemRenderer.renderStatic(TFMGItems.ZINC_GRENADE.get().getDefaultInstance(), ItemDisplayContext.GROUND, p_114661_, OverlayTexture.NO_OVERLAY, p_114659_, p_114660_,grenade.level(), grenade.getId()); + } else if (chemicalColor == ChemicalColor.BLUE) { + this.itemRenderer.renderStatic(TFMGItems.COPPER_GRENADE.get().getDefaultInstance(), ItemDisplayContext.GROUND, p_114661_, OverlayTexture.NO_OVERLAY, p_114659_, p_114660_,grenade.level(), grenade.getId()); + } else { + this.itemRenderer.renderStatic(TFMGItems.THERMITE_GRENADE.get().getDefaultInstance(), ItemDisplayContext.GROUND, p_114661_, OverlayTexture.NO_OVERLAY, p_114659_, p_114660_,grenade.level(), grenade.getId()); + } + + p_114659_.popPose(); + super.render(grenade, p_114657_, p_114658_, p_114659_, p_114660_, p_114661_); + } + + public ResourceLocation getTextureLocation(ThermiteGrenade p_114654_) { + return TextureAtlas.LOCATION_BLOCKS; + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/thermite_grenades/fire/BlueFireBlock.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/thermite_grenades/fire/BlueFireBlock.java new file mode 100644 index 00000000..cc68aa70 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/thermite_grenades/fire/BlueFireBlock.java @@ -0,0 +1,293 @@ +package com.drmangotea.tfmg.content.items.weapons.explosives.thermite_grenades.fire; + +import com.google.common.collect.ImmutableMap; +import com.mojang.serialization.MapCodec; +import it.unimi.dsi.fastutil.objects.Object2IntMap; +import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap; +import net.minecraft.Util; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.tags.BiomeTags; +import net.minecraft.util.RandomSource; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.*; +import net.minecraft.world.level.block.*; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.block.state.properties.IntegerProperty; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.Shapes; +import net.minecraft.world.phys.shapes.VoxelShape; + +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +public class BlueFireBlock extends BaseFireBlock { + public static final MapCodec CODEC = simpleCodec(BlueFireBlock::new); + public static final int MAX_AGE = 15; + public static final IntegerProperty AGE = BlockStateProperties.AGE_15; + public static final BooleanProperty NORTH = PipeBlock.NORTH; + public static final BooleanProperty EAST = PipeBlock.EAST; + public static final BooleanProperty SOUTH = PipeBlock.SOUTH; + public static final BooleanProperty WEST = PipeBlock.WEST; + public static final BooleanProperty UP = PipeBlock.UP; + private static final Map PROPERTY_BY_DIRECTION = PipeBlock.PROPERTY_BY_DIRECTION.entrySet().stream().filter((p_53467_) -> { + return p_53467_.getKey() != Direction.DOWN; + }).collect(Util.toMap()); + private static final VoxelShape UP_AABB = Block.box(0.0D, 15.0D, 0.0D, 16.0D, 16.0D, 16.0D); + private static final VoxelShape WEST_AABB = Block.box(0.0D, 0.0D, 0.0D, 1.0D, 16.0D, 16.0D); + private static final VoxelShape EAST_AABB = Block.box(15.0D, 0.0D, 0.0D, 16.0D, 16.0D, 16.0D); + private static final VoxelShape NORTH_AABB = Block.box(0.0D, 0.0D, 0.0D, 16.0D, 16.0D, 1.0D); + private static final VoxelShape SOUTH_AABB = Block.box(0.0D, 0.0D, 15.0D, 16.0D, 16.0D, 16.0D); + private final Map shapesCache; + + private final Object2IntMap igniteOdds = new Object2IntOpenHashMap<>(); + private final Object2IntMap burnOdds = new Object2IntOpenHashMap<>(); + + public BlueFireBlock(Properties p_53425_) { + super(p_53425_, 1.0F); + this.registerDefaultState(this.stateDefinition.any().setValue(AGE, Integer.valueOf(0)).setValue(NORTH, Boolean.valueOf(false)).setValue(EAST, Boolean.valueOf(false)).setValue(SOUTH, Boolean.valueOf(false)).setValue(WEST, Boolean.valueOf(false)).setValue(UP, Boolean.valueOf(false))); + this.shapesCache = ImmutableMap.copyOf(this.stateDefinition.getPossibleStates().stream().filter((p_53497_) -> { + return p_53497_.getValue(AGE) == 0; + }).collect(Collectors.toMap(Function.identity(), BlueFireBlock::calculateShape))); + } + + private static VoxelShape calculateShape(BlockState p_53491_) { + VoxelShape voxelshape = Shapes.empty(); + if (p_53491_.getValue(UP)) { + voxelshape = UP_AABB; + } + + if (p_53491_.getValue(NORTH)) { + voxelshape = Shapes.or(voxelshape, NORTH_AABB); + } + + if (p_53491_.getValue(SOUTH)) { + voxelshape = Shapes.or(voxelshape, SOUTH_AABB); + } + + if (p_53491_.getValue(EAST)) { + voxelshape = Shapes.or(voxelshape, EAST_AABB); + } + + if (p_53491_.getValue(WEST)) { + voxelshape = Shapes.or(voxelshape, WEST_AABB); + } + + return voxelshape.isEmpty() ? DOWN_AABB : voxelshape; + } + + public BlockState updateShape(BlockState p_53458_, Direction p_53459_, BlockState p_53460_, LevelAccessor p_53461_, BlockPos p_53462_, BlockPos p_53463_) { + return this.canSurvive(p_53458_, p_53461_, p_53462_) ? this.getStateWithAge(p_53461_, p_53462_, p_53458_.getValue(AGE)) : Blocks.AIR.defaultBlockState(); + } + + public VoxelShape getShape(BlockState p_53474_, BlockGetter p_53475_, BlockPos p_53476_, CollisionContext p_53477_) { + return this.shapesCache.get(p_53474_.setValue(AGE, Integer.valueOf(0))); + } + + @Override + protected MapCodec codec() { + return CODEC; + } + + public BlockState getStateForPlacement(BlockPlaceContext p_53427_) { + return this.getStateForPlacement(p_53427_.getLevel(), p_53427_.getClickedPos()); + } + + protected BlockState getStateForPlacement(BlockGetter p_53471_, BlockPos p_53472_) { + BlockPos blockpos = p_53472_.below(); + BlockState blockstate = p_53471_.getBlockState(blockpos); + if (!this.canCatchFire(p_53471_, p_53472_, Direction.UP) && !blockstate.isFaceSturdy(p_53471_, blockpos, Direction.UP)) { + BlockState blockstate1 = this.defaultBlockState(); + + for(Direction direction : Direction.values()) { + BooleanProperty booleanproperty = PROPERTY_BY_DIRECTION.get(direction); + if (booleanproperty != null) { + blockstate1 = blockstate1.setValue(booleanproperty, Boolean.valueOf(this.canCatchFire(p_53471_, p_53472_.relative(direction), direction.getOpposite()))); + } + } + + return blockstate1; + } else { + return this.defaultBlockState(); + } + } + + public boolean canSurvive(BlockState p_53454_, LevelReader p_53455_, BlockPos p_53456_) { + BlockPos blockpos = p_53456_.below(); + return p_53455_.getBlockState(blockpos).isFaceSturdy(p_53455_, blockpos, Direction.UP) || this.isValidFireLocation(p_53455_, p_53456_); + } + + public void tick(BlockState p_221160_, ServerLevel p_221161_, BlockPos p_221162_, RandomSource p_221163_) { + p_221161_.scheduleTick(p_221162_, this, getFireTickDelay(p_221161_.random)); + if (p_221161_.getGameRules().getBoolean(GameRules.RULE_DOFIRETICK)) { + if (!p_221160_.canSurvive(p_221161_, p_221162_)) { + p_221161_.removeBlock(p_221162_, false); + } + + BlockState blockstate = p_221161_.getBlockState(p_221162_.below()); + boolean flag = blockstate.isFireSource(p_221161_, p_221162_, Direction.UP); + int i = p_221160_.getValue(AGE); + if (!flag && p_221161_.isRaining() && this.isNearRain(p_221161_, p_221162_) && p_221163_.nextFloat() < 0.2F + (float)i * 0.03F) { + p_221161_.removeBlock(p_221162_, false); + } else { + int j = Math.min(15, i + p_221163_.nextInt(3) / 2); + if (i != j) { + p_221160_ = p_221160_.setValue(AGE, Integer.valueOf(j)); + p_221161_.setBlock(p_221162_, p_221160_, 4); + } + + if (!flag) { + if (!this.isValidFireLocation(p_221161_, p_221162_)) { + BlockPos blockpos = p_221162_.below(); + if (!p_221161_.getBlockState(blockpos).isFaceSturdy(p_221161_, blockpos, Direction.UP) || i > 3) { + p_221161_.removeBlock(p_221162_, false); + } + + return; + } + + if (i == 15 && p_221163_.nextInt(4) == 0 && !this.canCatchFire(p_221161_, p_221162_.below(), Direction.UP)) { + p_221161_.removeBlock(p_221162_, false); + return; + } + } + + boolean flag1 = p_221161_.getBiome(p_221162_).is(BiomeTags.INCREASED_FIRE_BURNOUT); + int k = flag1 ? -50 : 0; + this.tryCatchFire(p_221161_, p_221162_.east(), 300 + k, p_221163_, i, Direction.WEST); + this.tryCatchFire(p_221161_, p_221162_.west(), 300 + k, p_221163_, i, Direction.EAST); + this.tryCatchFire(p_221161_, p_221162_.below(), 250 + k, p_221163_, i, Direction.UP); + this.tryCatchFire(p_221161_, p_221162_.above(), 250 + k, p_221163_, i, Direction.DOWN); + this.tryCatchFire(p_221161_, p_221162_.north(), 300 + k, p_221163_, i, Direction.SOUTH); + this.tryCatchFire(p_221161_, p_221162_.south(), 300 + k, p_221163_, i, Direction.NORTH); + BlockPos.MutableBlockPos blockpos$mutableblockpos = new BlockPos.MutableBlockPos(); + + for(int l = -1; l <= 1; ++l) { + for(int i1 = -1; i1 <= 1; ++i1) { + for(int j1 = -1; j1 <= 4; ++j1) { + if (l != 0 || j1 != 0 || i1 != 0) { + int k1 = 100; + if (j1 > 1) { + k1 += (j1 - 1) * 100; + } + + blockpos$mutableblockpos.setWithOffset(p_221162_, l, j1, i1); + int l1 = this.getIgniteOdds(p_221161_, blockpos$mutableblockpos); + if (l1 > 0) { + int i2 = (l1 + 40 + p_221161_.getDifficulty().getId() * 7) / (i + 30); + if (flag1) { + i2 /= 2; + } + + if (i2 > 0 && p_221163_.nextInt(k1) <= i2 && (!p_221161_.isRaining() || !this.isNearRain(p_221161_, blockpos$mutableblockpos))) { + int j2 = Math.min(15, i + p_221163_.nextInt(5) / 4); + p_221161_.setBlock(blockpos$mutableblockpos, this.getStateWithAge(p_221161_, blockpos$mutableblockpos, j2), 3); + } + } + } + } + } + } + + } + } + } + + protected boolean isNearRain(Level p_53429_, BlockPos p_53430_) { + return p_53429_.isRainingAt(p_53430_) || p_53429_.isRainingAt(p_53430_.west()) || p_53429_.isRainingAt(p_53430_.east()) || p_53429_.isRainingAt(p_53430_.north()) || p_53429_.isRainingAt(p_53430_.south()); + } + + @Deprecated //Forge: Use IForgeBlockState.getFlammability, Public for default implementation only. + public int getBurnOdds(BlockState p_221165_) { + return p_221165_.hasProperty(BlockStateProperties.WATERLOGGED) && p_221165_.getValue(BlockStateProperties.WATERLOGGED) ? 0 : this.burnOdds.getInt(p_221165_.getBlock()); + } + + @Deprecated //Forge: Use IForgeBlockState.getFireSpreadSpeed + public int getIgniteOdds(BlockState p_221167_) { + return p_221167_.hasProperty(BlockStateProperties.WATERLOGGED) && p_221167_.getValue(BlockStateProperties.WATERLOGGED) ? 0 : this.igniteOdds.getInt(p_221167_.getBlock()); + } + public static BlockState getState(BlockGetter p_49246_, BlockPos p_49247_) { + return ((BlueFireBlock)TFMGColoredFires.BLUE_FIRE.get()).getStateForPlacement(p_49246_, p_49247_); + } + private void tryCatchFire(Level p_53432_, BlockPos p_53433_, int p_53434_, RandomSource p_53435_, int p_53436_, Direction face) { + int i = p_53432_.getBlockState(p_53433_).getFlammability(p_53432_, p_53433_, face); + if (p_53435_.nextInt(p_53434_) < i) { + BlockState blockstate = p_53432_.getBlockState(p_53433_); + if (p_53435_.nextInt(p_53434_ + 10) < 5 && !p_53432_.isRainingAt(p_53433_)) { + int j = Math.min(p_53434_ + p_53435_.nextInt(5) / 4, 15); + p_53432_.setBlock(p_53433_, this.getStateWithAge(p_53432_, p_53433_, j), 3); + } else { + p_53432_.removeBlock(p_53433_, false); + } + + blockstate.onCaughtFire(p_53432_, p_53433_, face, null); + } + + } + + private BlockState getStateWithAge(LevelAccessor p_53438_, BlockPos p_53439_, int p_53440_) { + BlockState blockstate = getState(p_53438_, p_53439_); + return blockstate.is(TFMGColoredFires.BLUE_FIRE.get()) ? blockstate.setValue(AGE, Integer.valueOf(p_53440_)) : blockstate; + } + + private boolean isValidFireLocation(BlockGetter p_53486_, BlockPos p_53487_) { + for(Direction direction : Direction.values()) { + if (this.canCatchFire(p_53486_, p_53487_.relative(direction), direction.getOpposite())) { + return true; + } + } + + return false; + } + + private int getIgniteOdds(LevelReader p_221157_, BlockPos p_221158_) { + if (!p_221157_.isEmptyBlock(p_221158_)) { + return 0; + } else { + int i = 0; + + for(Direction direction : Direction.values()) { + BlockState blockstate = p_221157_.getBlockState(p_221158_.relative(direction)); + i = Math.max(blockstate.getFireSpreadSpeed(p_221157_, p_221158_.relative(direction), direction.getOpposite()), i); + } + + return i; + } + } + + @Deprecated //Forge: Use canCatchFire with more context + protected boolean canBurn(BlockState p_53489_) { + return this.getIgniteOdds(p_53489_) > 0; + } + + public void onPlace(BlockState p_53479_, Level p_53480_, BlockPos p_53481_, BlockState p_53482_, boolean p_53483_) { + super.onPlace(p_53479_, p_53480_, p_53481_, p_53482_, p_53483_); + p_53480_.scheduleTick(p_53481_, this, getFireTickDelay(p_53480_.random)); + } + + private static int getFireTickDelay(RandomSource p_221149_) { + return 30 + p_221149_.nextInt(10); + } + + protected void createBlockStateDefinition(StateDefinition.Builder p_53465_) { + p_53465_.add(AGE, NORTH, EAST, SOUTH, WEST, UP); + } + + private void setFlammable(Block p_53445_, int p_53446_, int p_53447_) { + if (p_53445_ == Blocks.AIR) throw new IllegalArgumentException("Tried to set air on fire... This is bad."); + this.igniteOdds.put(p_53445_, p_53446_); + this.burnOdds.put(p_53445_, p_53447_); + } + + + public boolean canCatchFire(BlockGetter world, BlockPos pos, Direction face) { + return world.getBlockState(pos).isFlammable(world, pos, face); + } + +} + diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/thermite_grenades/fire/GreenFireBlock.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/thermite_grenades/fire/GreenFireBlock.java new file mode 100644 index 00000000..55e4c7f9 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/thermite_grenades/fire/GreenFireBlock.java @@ -0,0 +1,294 @@ +package com.drmangotea.tfmg.content.items.weapons.explosives.thermite_grenades.fire; + +import com.google.common.collect.ImmutableMap; +import com.mojang.serialization.MapCodec; +import it.unimi.dsi.fastutil.objects.Object2IntMap; +import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap; +import net.minecraft.Util; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.tags.BiomeTags; +import net.minecraft.util.RandomSource; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.*; +import net.minecraft.world.level.block.BaseFireBlock; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.PipeBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.block.state.properties.IntegerProperty; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.Shapes; +import net.minecraft.world.phys.shapes.VoxelShape; + +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +public class GreenFireBlock extends BaseFireBlock { + public static final MapCodec CODEC = simpleCodec(GreenFireBlock::new); + public static final int MAX_AGE = 15; + public static final IntegerProperty AGE = BlockStateProperties.AGE_15; + public static final BooleanProperty NORTH = PipeBlock.NORTH; + public static final BooleanProperty EAST = PipeBlock.EAST; + public static final BooleanProperty SOUTH = PipeBlock.SOUTH; + public static final BooleanProperty WEST = PipeBlock.WEST; + public static final BooleanProperty UP = PipeBlock.UP; + private static final Map PROPERTY_BY_DIRECTION = PipeBlock.PROPERTY_BY_DIRECTION.entrySet().stream().filter((p_53467_) -> { + return p_53467_.getKey() != Direction.DOWN; + }).collect(Util.toMap()); + private static final VoxelShape UP_AABB = Block.box(0.0D, 15.0D, 0.0D, 16.0D, 16.0D, 16.0D); + private static final VoxelShape WEST_AABB = Block.box(0.0D, 0.0D, 0.0D, 1.0D, 16.0D, 16.0D); + private static final VoxelShape EAST_AABB = Block.box(15.0D, 0.0D, 0.0D, 16.0D, 16.0D, 16.0D); + private static final VoxelShape NORTH_AABB = Block.box(0.0D, 0.0D, 0.0D, 16.0D, 16.0D, 1.0D); + private static final VoxelShape SOUTH_AABB = Block.box(0.0D, 0.0D, 15.0D, 16.0D, 16.0D, 16.0D); + private final Map shapesCache; + private final Object2IntMap igniteOdds = new Object2IntOpenHashMap<>(); + private final Object2IntMap burnOdds = new Object2IntOpenHashMap<>(); + + public GreenFireBlock(Properties p_53425_) { + super(p_53425_, 1.0F); + this.registerDefaultState(this.stateDefinition.any().setValue(AGE, Integer.valueOf(0)).setValue(NORTH, Boolean.valueOf(false)).setValue(EAST, Boolean.valueOf(false)).setValue(SOUTH, Boolean.valueOf(false)).setValue(WEST, Boolean.valueOf(false)).setValue(UP, Boolean.valueOf(false))); + this.shapesCache = ImmutableMap.copyOf(this.stateDefinition.getPossibleStates().stream().filter((p_53497_) -> { + return p_53497_.getValue(AGE) == 0; + }).collect(Collectors.toMap(Function.identity(), GreenFireBlock::calculateShape))); + } + + private static VoxelShape calculateShape(BlockState p_53491_) { + VoxelShape voxelshape = Shapes.empty(); + if (p_53491_.getValue(UP)) { + voxelshape = UP_AABB; + } + + if (p_53491_.getValue(NORTH)) { + voxelshape = Shapes.or(voxelshape, NORTH_AABB); + } + + if (p_53491_.getValue(SOUTH)) { + voxelshape = Shapes.or(voxelshape, SOUTH_AABB); + } + + if (p_53491_.getValue(EAST)) { + voxelshape = Shapes.or(voxelshape, EAST_AABB); + } + + if (p_53491_.getValue(WEST)) { + voxelshape = Shapes.or(voxelshape, WEST_AABB); + } + + return voxelshape.isEmpty() ? DOWN_AABB : voxelshape; + } + + public BlockState updateShape(BlockState p_53458_, Direction p_53459_, BlockState p_53460_, LevelAccessor p_53461_, BlockPos p_53462_, BlockPos p_53463_) { + return this.canSurvive(p_53458_, p_53461_, p_53462_) ? this.getStateWithAge(p_53461_, p_53462_, p_53458_.getValue(AGE)) : Blocks.AIR.defaultBlockState(); + } + + public VoxelShape getShape(BlockState p_53474_, BlockGetter p_53475_, BlockPos p_53476_, CollisionContext p_53477_) { + return this.shapesCache.get(p_53474_.setValue(AGE, Integer.valueOf(0))); + } + + @Override + protected MapCodec codec() { + return CODEC; + } + + public BlockState getStateForPlacement(BlockPlaceContext p_53427_) { + return this.getStateForPlacement(p_53427_.getLevel(), p_53427_.getClickedPos()); + } + + protected BlockState getStateForPlacement(BlockGetter p_53471_, BlockPos p_53472_) { + BlockPos blockpos = p_53472_.below(); + BlockState blockstate = p_53471_.getBlockState(blockpos); + if (!this.canCatchFire(p_53471_, p_53472_, Direction.UP) && !blockstate.isFaceSturdy(p_53471_, blockpos, Direction.UP)) { + BlockState blockstate1 = this.defaultBlockState(); + + for(Direction direction : Direction.values()) { + BooleanProperty booleanproperty = PROPERTY_BY_DIRECTION.get(direction); + if (booleanproperty != null) { + blockstate1 = blockstate1.setValue(booleanproperty, Boolean.valueOf(this.canCatchFire(p_53471_, p_53472_.relative(direction), direction.getOpposite()))); + } + } + + return blockstate1; + } else { + return this.defaultBlockState(); + } + } + + public boolean canSurvive(BlockState p_53454_, LevelReader p_53455_, BlockPos p_53456_) { + BlockPos blockpos = p_53456_.below(); + return p_53455_.getBlockState(blockpos).isFaceSturdy(p_53455_, blockpos, Direction.UP) || this.isValidFireLocation(p_53455_, p_53456_); + } + + public void tick(BlockState p_221160_, ServerLevel p_221161_, BlockPos p_221162_, RandomSource p_221163_) { + p_221161_.scheduleTick(p_221162_, this, getFireTickDelay(p_221161_.random)); + if (p_221161_.getGameRules().getBoolean(GameRules.RULE_DOFIRETICK)) { + if (!p_221160_.canSurvive(p_221161_, p_221162_)) { + p_221161_.removeBlock(p_221162_, false); + } + + BlockState blockstate = p_221161_.getBlockState(p_221162_.below()); + boolean flag = blockstate.isFireSource(p_221161_, p_221162_, Direction.UP); + int i = p_221160_.getValue(AGE); + if (!flag && p_221161_.isRaining() && this.isNearRain(p_221161_, p_221162_) && p_221163_.nextFloat() < 0.2F + (float)i * 0.03F) { + p_221161_.removeBlock(p_221162_, false); + } else { + int j = Math.min(15, i + p_221163_.nextInt(3) / 2); + if (i != j) { + p_221160_ = p_221160_.setValue(AGE, Integer.valueOf(j)); + p_221161_.setBlock(p_221162_, p_221160_, 4); + } + + if (!flag) { + if (!this.isValidFireLocation(p_221161_, p_221162_)) { + BlockPos blockpos = p_221162_.below(); + if (!p_221161_.getBlockState(blockpos).isFaceSturdy(p_221161_, blockpos, Direction.UP) || i > 3) { + p_221161_.removeBlock(p_221162_, false); + } + + return; + } + + if (i == 15 && p_221163_.nextInt(4) == 0 && !this.canCatchFire(p_221161_, p_221162_.below(), Direction.UP)) { + p_221161_.removeBlock(p_221162_, false); + return; + } + } + + boolean flag1 = p_221161_.getBiome(p_221162_).is(BiomeTags.INCREASED_FIRE_BURNOUT); + int k = flag1 ? -50 : 0; + this.tryCatchFire(p_221161_, p_221162_.east(), 300 + k, p_221163_, i, Direction.WEST); + this.tryCatchFire(p_221161_, p_221162_.west(), 300 + k, p_221163_, i, Direction.EAST); + this.tryCatchFire(p_221161_, p_221162_.below(), 250 + k, p_221163_, i, Direction.UP); + this.tryCatchFire(p_221161_, p_221162_.above(), 250 + k, p_221163_, i, Direction.DOWN); + this.tryCatchFire(p_221161_, p_221162_.north(), 300 + k, p_221163_, i, Direction.SOUTH); + this.tryCatchFire(p_221161_, p_221162_.south(), 300 + k, p_221163_, i, Direction.NORTH); + BlockPos.MutableBlockPos blockpos$mutableblockpos = new BlockPos.MutableBlockPos(); + + for(int l = -1; l <= 1; ++l) { + for(int i1 = -1; i1 <= 1; ++i1) { + for(int j1 = -1; j1 <= 4; ++j1) { + if (l != 0 || j1 != 0 || i1 != 0) { + int k1 = 100; + if (j1 > 1) { + k1 += (j1 - 1) * 100; + } + + blockpos$mutableblockpos.setWithOffset(p_221162_, l, j1, i1); + int l1 = this.getIgniteOdds(p_221161_, blockpos$mutableblockpos); + if (l1 > 0) { + int i2 = (l1 + 40 + p_221161_.getDifficulty().getId() * 7) / (i + 30); + if (flag1) { + i2 /= 2; + } + + if (i2 > 0 && p_221163_.nextInt(k1) <= i2 && (!p_221161_.isRaining() || !this.isNearRain(p_221161_, blockpos$mutableblockpos))) { + int j2 = Math.min(15, i + p_221163_.nextInt(5) / 4); + p_221161_.setBlock(blockpos$mutableblockpos, this.getStateWithAge(p_221161_, blockpos$mutableblockpos, j2), 3); + } + } + } + } + } + } + + } + } + } + + protected boolean isNearRain(Level p_53429_, BlockPos p_53430_) { + return p_53429_.isRainingAt(p_53430_) || p_53429_.isRainingAt(p_53430_.west()) || p_53429_.isRainingAt(p_53430_.east()) || p_53429_.isRainingAt(p_53430_.north()) || p_53429_.isRainingAt(p_53430_.south()); + } + + @Deprecated //Forge: Use IForgeBlockState.getFlammability, Public for default implementation only. + public int getBurnOdds(BlockState p_221165_) { + return p_221165_.hasProperty(BlockStateProperties.WATERLOGGED) && p_221165_.getValue(BlockStateProperties.WATERLOGGED) ? 0 : this.burnOdds.getInt(p_221165_.getBlock()); + } + + @Deprecated //Forge: Use IForgeBlockState.getFireSpreadSpeed + public int getIgniteOdds(BlockState p_221167_) { + return p_221167_.hasProperty(BlockStateProperties.WATERLOGGED) && p_221167_.getValue(BlockStateProperties.WATERLOGGED) ? 0 : this.igniteOdds.getInt(p_221167_.getBlock()); + } + + private void tryCatchFire(Level p_53432_, BlockPos p_53433_, int p_53434_, RandomSource p_53435_, int p_53436_, Direction face) { + int i = p_53432_.getBlockState(p_53433_).getFlammability(p_53432_, p_53433_, face); + if (p_53435_.nextInt(p_53434_) < i) { + BlockState blockstate = p_53432_.getBlockState(p_53433_); + if (p_53435_.nextInt(p_53434_ + 10) < 5 && !p_53432_.isRainingAt(p_53433_)) { + int j = Math.min(p_53434_ + p_53435_.nextInt(5) / 4, 15); + p_53432_.setBlock(p_53433_, this.getStateWithAge(p_53432_, p_53433_, j), 3); + } else { + p_53432_.removeBlock(p_53433_, false); + } + + blockstate.onCaughtFire(p_53432_, p_53433_, face, null); + } + + } + private BlockState getStateWithAge(LevelAccessor p_53438_, BlockPos p_53439_, int p_53440_) { + BlockState blockstate = getState(p_53438_, p_53439_); + return blockstate.is(TFMGColoredFires.GREEN_FIRE.get()) ? blockstate.setValue(AGE, Integer.valueOf(p_53440_)) : blockstate; + } + + private boolean isValidFireLocation(BlockGetter p_53486_, BlockPos p_53487_) { + for(Direction direction : Direction.values()) { + if (this.canCatchFire(p_53486_, p_53487_.relative(direction), direction.getOpposite())) { + return true; + } + } + + return false; + } + + private int getIgniteOdds(LevelReader p_221157_, BlockPos p_221158_) { + if (!p_221157_.isEmptyBlock(p_221158_)) { + return 0; + } else { + int i = 0; + + for(Direction direction : Direction.values()) { + BlockState blockstate = p_221157_.getBlockState(p_221158_.relative(direction)); + i = Math.max(blockstate.getFireSpreadSpeed(p_221157_, p_221158_.relative(direction), direction.getOpposite()), i); + } + + return i; + } + } + + @Deprecated //Forge: Use canCatchFire with more context + protected boolean canBurn(BlockState p_53489_) { + return this.getIgniteOdds(p_53489_) > 0; + } + + public void onPlace(BlockState p_53479_, Level p_53480_, BlockPos p_53481_, BlockState p_53482_, boolean p_53483_) { + super.onPlace(p_53479_, p_53480_, p_53481_, p_53482_, p_53483_); + p_53480_.scheduleTick(p_53481_, this, getFireTickDelay(p_53480_.random)); + } + + private static int getFireTickDelay(RandomSource p_221149_) { + return 30 + p_221149_.nextInt(10); + } + + protected void createBlockStateDefinition(StateDefinition.Builder p_53465_) { + p_53465_.add(AGE, NORTH, EAST, SOUTH, WEST, UP); + } + public static BlockState getState(BlockGetter p_49246_, BlockPos p_49247_) { + return ((GreenFireBlock)TFMGColoredFires.GREEN_FIRE.get()).getStateForPlacement(p_49246_, p_49247_); + } + private void setFlammable(Block p_53445_, int p_53446_, int p_53447_) { + if (p_53445_ == Blocks.AIR) throw new IllegalArgumentException("Tried to set air on fire... This is bad."); + this.igniteOdds.put(p_53445_, p_53446_); + this.burnOdds.put(p_53445_, p_53447_); + } + + + public boolean canCatchFire(BlockGetter world, BlockPos pos, Direction face) { + return world.getBlockState(pos).isFlammable(world, pos, face); + } + +} + diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/thermite_grenades/fire/LithiumFireBlock.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/thermite_grenades/fire/LithiumFireBlock.java new file mode 100644 index 00000000..a94a10a2 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/thermite_grenades/fire/LithiumFireBlock.java @@ -0,0 +1,312 @@ +package com.drmangotea.tfmg.content.items.weapons.explosives.thermite_grenades.fire; + +import com.drmangotea.tfmg.registry.TFMGMobEffects; +import com.google.common.collect.ImmutableMap; +import com.mojang.serialization.MapCodec; +import it.unimi.dsi.fastutil.objects.Object2IntMap; +import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap; +import net.minecraft.Util; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.tags.BiomeTags; +import net.minecraft.util.RandomSource; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.*; +import net.minecraft.world.level.block.BaseFireBlock; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.PipeBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.block.state.properties.IntegerProperty; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.Shapes; +import net.minecraft.world.phys.shapes.VoxelShape; + +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +public class LithiumFireBlock extends BaseFireBlock { + public static final MapCodec CODEC = simpleCodec(LithiumFireBlock::new); + public static final int MAX_AGE = 15; + public static final IntegerProperty AGE = BlockStateProperties.AGE_15; + public static final BooleanProperty NORTH = PipeBlock.NORTH; + public static final BooleanProperty EAST = PipeBlock.EAST; + public static final BooleanProperty SOUTH = PipeBlock.SOUTH; + public static final BooleanProperty WEST = PipeBlock.WEST; + public static final BooleanProperty UP = PipeBlock.UP; + private static final Map PROPERTY_BY_DIRECTION = PipeBlock.PROPERTY_BY_DIRECTION.entrySet().stream().filter((p_53467_) -> { + return p_53467_.getKey() != Direction.DOWN; + }).collect(Util.toMap()); + private static final VoxelShape UP_AABB = Block.box(0.0D, 15.0D, 0.0D, 16.0D, 16.0D, 16.0D); + private static final VoxelShape WEST_AABB = Block.box(0.0D, 0.0D, 0.0D, 1.0D, 16.0D, 16.0D); + private static final VoxelShape EAST_AABB = Block.box(15.0D, 0.0D, 0.0D, 16.0D, 16.0D, 16.0D); + private static final VoxelShape NORTH_AABB = Block.box(0.0D, 0.0D, 0.0D, 16.0D, 16.0D, 1.0D); + private static final VoxelShape SOUTH_AABB = Block.box(0.0D, 0.0D, 15.0D, 16.0D, 16.0D, 16.0D); + private final Map shapesCache; + private final Object2IntMap igniteOdds = new Object2IntOpenHashMap<>(); + private final Object2IntMap burnOdds = new Object2IntOpenHashMap<>(); + + public LithiumFireBlock(Properties p_53425_) { + super(p_53425_, 1.0F); + this.registerDefaultState(this.stateDefinition.any().setValue(AGE, Integer.valueOf(0)).setValue(NORTH, Boolean.valueOf(false)).setValue(EAST, Boolean.valueOf(false)).setValue(SOUTH, Boolean.valueOf(false)).setValue(WEST, Boolean.valueOf(false)).setValue(UP, Boolean.valueOf(false))); + this.shapesCache = ImmutableMap.copyOf(this.stateDefinition.getPossibleStates().stream().filter((p_53497_) -> { + return p_53497_.getValue(AGE) == 0; + }).collect(Collectors.toMap(Function.identity(), LithiumFireBlock::calculateShape))); + } + + private static VoxelShape calculateShape(BlockState p_53491_) { + VoxelShape voxelshape = Shapes.empty(); + if (p_53491_.getValue(UP)) { + voxelshape = UP_AABB; + } + + if (p_53491_.getValue(NORTH)) { + voxelshape = Shapes.or(voxelshape, NORTH_AABB); + } + + if (p_53491_.getValue(SOUTH)) { + voxelshape = Shapes.or(voxelshape, SOUTH_AABB); + } + + if (p_53491_.getValue(EAST)) { + voxelshape = Shapes.or(voxelshape, EAST_AABB); + } + + if (p_53491_.getValue(WEST)) { + voxelshape = Shapes.or(voxelshape, WEST_AABB); + } + + return voxelshape.isEmpty() ? DOWN_AABB : voxelshape; + } + + public void entityInside(BlockState blockState, Level level, BlockPos pos, Entity entity) { + if (!entity.fireImmune()) { + entity.setRemainingFireTicks(entity.getRemainingFireTicks() + 1); + if (entity.getRemainingFireTicks() == 0) { + entity.setRemainingFireTicks(8); + } + if(entity instanceof LivingEntity livingEntity) + livingEntity.addEffect(new MobEffectInstance(TFMGMobEffects.HELLFIRE, 20*15)); + } + + entity.hurt(level.damageSources().inFire(), 2); + super.entityInside(blockState, level, pos, entity); + } + + public BlockState updateShape(BlockState p_53458_, Direction p_53459_, BlockState p_53460_, LevelAccessor p_53461_, BlockPos p_53462_, BlockPos p_53463_) { + return this.canSurvive(p_53458_, p_53461_, p_53462_) ? this.getStateWithAge(p_53461_, p_53462_, p_53458_.getValue(AGE)) : Blocks.AIR.defaultBlockState(); + } + + public VoxelShape getShape(BlockState p_53474_, BlockGetter p_53475_, BlockPos p_53476_, CollisionContext p_53477_) { + return this.shapesCache.get(p_53474_.setValue(AGE, Integer.valueOf(0))); + } + + @Override + protected MapCodec codec() { + return CODEC; + } + + public BlockState getStateForPlacement(BlockPlaceContext p_53427_) { + return this.getStateForPlacement(p_53427_.getLevel(), p_53427_.getClickedPos()); + } + + protected BlockState getStateForPlacement(BlockGetter p_53471_, BlockPos p_53472_) { + BlockPos blockpos = p_53472_.below(); + BlockState blockstate = p_53471_.getBlockState(blockpos); + if (!this.canCatchFire(p_53471_, p_53472_, Direction.UP) && !blockstate.isFaceSturdy(p_53471_, blockpos, Direction.UP)) { + BlockState blockstate1 = this.defaultBlockState(); + + for(Direction direction : Direction.values()) { + BooleanProperty booleanproperty = PROPERTY_BY_DIRECTION.get(direction); + if (booleanproperty != null) { + blockstate1 = blockstate1.setValue(booleanproperty, Boolean.valueOf(this.canCatchFire(p_53471_, p_53472_.relative(direction), direction.getOpposite()))); + } + } + + return blockstate1; + } else { + return this.defaultBlockState(); + } + } + + public boolean canSurvive(BlockState p_53454_, LevelReader p_53455_, BlockPos p_53456_) { + BlockPos blockpos = p_53456_.below(); + return p_53455_.getBlockState(blockpos).isFaceSturdy(p_53455_, blockpos, Direction.UP) || this.isValidFireLocation(p_53455_, p_53456_); + } + + public void tick(BlockState p_221160_, ServerLevel p_221161_, BlockPos p_221162_, RandomSource p_221163_) { + p_221161_.scheduleTick(p_221162_, this, getFireTickDelay(p_221161_.random)); + if (p_221161_.getGameRules().getBoolean(GameRules.RULE_DOFIRETICK)) { + if (!p_221160_.canSurvive(p_221161_, p_221162_)) { + p_221161_.removeBlock(p_221162_, false); + } + + BlockState blockstate = p_221161_.getBlockState(p_221162_.below()); + boolean flag = blockstate.isFireSource(p_221161_, p_221162_, Direction.UP); + int i = p_221160_.getValue(AGE); + if (!flag && p_221161_.isRaining() && this.isNearRain(p_221161_, p_221162_) && p_221163_.nextFloat() < 0.2F + (float)i * 0.03F) { + p_221161_.removeBlock(p_221162_, false); + } else { + int j = Math.min(15, i + p_221163_.nextInt(3) / 2); + if (i != j) { + p_221160_ = p_221160_.setValue(AGE, Integer.valueOf(j)); + p_221161_.setBlock(p_221162_, p_221160_, 4); + } + + if (!flag) { + if (!this.isValidFireLocation(p_221161_, p_221162_)) { + BlockPos blockpos = p_221162_.below(); + if (!p_221161_.getBlockState(blockpos).isFaceSturdy(p_221161_, blockpos, Direction.UP) || i > 3) { + p_221161_.removeBlock(p_221162_, false); + } + + return; + } + + if (i == 15 && p_221163_.nextInt(4) == 0 && !this.canCatchFire(p_221161_, p_221162_.below(), Direction.UP)) { + p_221161_.removeBlock(p_221162_, false); + return; + } + } + + boolean flag1 = p_221161_.getBiome(p_221162_).is(BiomeTags.INCREASED_FIRE_BURNOUT); + int k = flag1 ? -50 : 0; + this.tryCatchFire(p_221161_, p_221162_.east(), 300 + k, p_221163_, i, Direction.WEST); + this.tryCatchFire(p_221161_, p_221162_.west(), 300 + k, p_221163_, i, Direction.EAST); + this.tryCatchFire(p_221161_, p_221162_.below(), 250 + k, p_221163_, i, Direction.UP); + this.tryCatchFire(p_221161_, p_221162_.above(), 250 + k, p_221163_, i, Direction.DOWN); + this.tryCatchFire(p_221161_, p_221162_.north(), 300 + k, p_221163_, i, Direction.SOUTH); + this.tryCatchFire(p_221161_, p_221162_.south(), 300 + k, p_221163_, i, Direction.NORTH); + BlockPos.MutableBlockPos blockpos$mutableblockpos = new BlockPos.MutableBlockPos(); + + for(int l = -1; l <= 1; ++l) { + for(int i1 = -1; i1 <= 1; ++i1) { + for(int j1 = -1; j1 <= 4; ++j1) { + if (l != 0 || j1 != 0 || i1 != 0) { + int k1 = 100; + if (j1 > 1) { + k1 += (j1 - 1) * 100; + } + + blockpos$mutableblockpos.setWithOffset(p_221162_, l, j1, i1); + int l1 = this.getIgniteOdds(p_221161_, blockpos$mutableblockpos); + if (l1 > 0) { + int i2 = (l1 + 40 + p_221161_.getDifficulty().getId() * 7) / (i + 30); + if (flag1) { + i2 /= 2; + } + + if (i2 > 0 && p_221163_.nextInt(k1) <= i2 && (!p_221161_.isRaining() || !this.isNearRain(p_221161_, blockpos$mutableblockpos))) { + int j2 = Math.min(15, i + p_221163_.nextInt(5) / 4); + p_221161_.setBlock(blockpos$mutableblockpos, this.getStateWithAge(p_221161_, blockpos$mutableblockpos, j2), 3); + } + } + } + } + } + } + + } + } + } + + protected boolean isNearRain(Level p_53429_, BlockPos p_53430_) { + return p_53429_.isRainingAt(p_53430_) || p_53429_.isRainingAt(p_53430_.west()) || p_53429_.isRainingAt(p_53430_.east()) || p_53429_.isRainingAt(p_53430_.north()) || p_53429_.isRainingAt(p_53430_.south()); + } + + @Deprecated //Forge: Use IForgeBlockState.getFlammability, Public for default implementation only. + public int getBurnOdds(BlockState p_221165_) { + return p_221165_.hasProperty(BlockStateProperties.WATERLOGGED) && p_221165_.getValue(BlockStateProperties.WATERLOGGED) ? 0 : this.burnOdds.getInt(p_221165_.getBlock()); + } + + @Deprecated //Forge: Use IForgeBlockState.getFireSpreadSpeed + public int getIgniteOdds(BlockState p_221167_) { + return p_221167_.hasProperty(BlockStateProperties.WATERLOGGED) && p_221167_.getValue(BlockStateProperties.WATERLOGGED) ? 0 : this.igniteOdds.getInt(p_221167_.getBlock()); + } + + private void tryCatchFire(Level p_53432_, BlockPos p_53433_, int p_53434_, RandomSource p_53435_, int p_53436_, Direction face) { + int i = p_53432_.getBlockState(p_53433_).getFlammability(p_53432_, p_53433_, face); + if (p_53435_.nextInt(p_53434_) < i) { + BlockState blockstate = p_53432_.getBlockState(p_53433_); + if (p_53435_.nextInt(p_53434_ + 10) < 5 && !p_53432_.isRainingAt(p_53433_)) { + int j = Math.min(p_53434_ + p_53435_.nextInt(5) / 4, 15); + p_53432_.setBlock(p_53433_, this.getStateWithAge(p_53432_, p_53433_, j), 3); + } else { + p_53432_.removeBlock(p_53433_, false); + } + + blockstate.onCaughtFire(p_53432_, p_53433_, face, null); + } + + } + private BlockState getStateWithAge(LevelAccessor p_53438_, BlockPos p_53439_, int p_53440_) { + BlockState blockstate = getState(p_53438_, p_53439_); + return blockstate.is(TFMGColoredFires.GREEN_FIRE.get()) ? blockstate.setValue(AGE, Integer.valueOf(p_53440_)) : blockstate; + } + + private boolean isValidFireLocation(BlockGetter p_53486_, BlockPos p_53487_) { + for(Direction direction : Direction.values()) { + if (this.canCatchFire(p_53486_, p_53487_.relative(direction), direction.getOpposite())) { + return true; + } + } + + return false; + } + + private int getIgniteOdds(LevelReader p_221157_, BlockPos p_221158_) { + if (!p_221157_.isEmptyBlock(p_221158_)) { + return 0; + } else { + int i = 0; + + for(Direction direction : Direction.values()) { + BlockState blockstate = p_221157_.getBlockState(p_221158_.relative(direction)); + i = Math.max(blockstate.getFireSpreadSpeed(p_221157_, p_221158_.relative(direction), direction.getOpposite()), i); + } + + return i; + } + } + + @Deprecated //Forge: Use canCatchFire with more context + protected boolean canBurn(BlockState p_53489_) { + return this.getIgniteOdds(p_53489_) > 0; + } + + public void onPlace(BlockState p_53479_, Level p_53480_, BlockPos p_53481_, BlockState p_53482_, boolean p_53483_) { + super.onPlace(p_53479_, p_53480_, p_53481_, p_53482_, p_53483_); + p_53480_.scheduleTick(p_53481_, this, getFireTickDelay(p_53480_.random)); + } + + private static int getFireTickDelay(RandomSource p_221149_) { + return 30 + p_221149_.nextInt(10); + } + + protected void createBlockStateDefinition(StateDefinition.Builder p_53465_) { + p_53465_.add(AGE, NORTH, EAST, SOUTH, WEST, UP); + } + public static BlockState getState(BlockGetter p_49246_, BlockPos p_49247_) { + return ((LithiumFireBlock)TFMGColoredFires.LITHIUM_FIRE.get()).getStateForPlacement(p_49246_, p_49247_); + } + private void setFlammable(Block p_53445_, int p_53446_, int p_53447_) { + if (p_53445_ == Blocks.AIR) throw new IllegalArgumentException("Tried to set air on fire... This is bad."); + this.igniteOdds.put(p_53445_, p_53446_); + this.burnOdds.put(p_53445_, p_53447_); + } + + + public boolean canCatchFire(BlockGetter world, BlockPos pos, Direction face) { + return world.getBlockState(pos).isFlammable(world, pos, face); + } + +} + diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/thermite_grenades/fire/TFMGColoredFires.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/thermite_grenades/fire/TFMGColoredFires.java new file mode 100644 index 00000000..55d33cad --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/explosives/thermite_grenades/fire/TFMGColoredFires.java @@ -0,0 +1,45 @@ +package com.drmangotea.tfmg.content.items.weapons.explosives.thermite_grenades.fire; + +import com.drmangotea.tfmg.TFMG; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.neoforge.registries.DeferredHolder; +import net.neoforged.neoforge.registries.DeferredRegister; + + +/** + * aint making blockstates with registrate for these + */ +public class TFMGColoredFires { + + public static final DeferredRegister BLOCKS = + DeferredRegister.create(BuiltInRegistries.BLOCK, TFMG.MOD_ID); + + + public static final DeferredHolder GREEN_FIRE = BLOCKS.register("green_fire", + () -> new GreenFireBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.FIRE) + .requiresCorrectToolForDrops() + .noOcclusion() + .lightLevel(s -> 15) + )); + public static final DeferredHolder BLUE_FIRE = BLOCKS.register("blue_fire", + () -> new BlueFireBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.FIRE) + .requiresCorrectToolForDrops() + .noOcclusion() + .lightLevel(s -> 15) + )); + public static final DeferredHolder LITHIUM_FIRE = BLOCKS.register("lithium_fire", + () -> new LithiumFireBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.FIRE) + .requiresCorrectToolForDrops() + .noOcclusion() + .lightLevel(s -> 15) + )); + + + public static void register (IEventBus eventBus){ + BLOCKS.register(eventBus); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/flamethrover/FlamethrowerItem.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/flamethrover/FlamethrowerItem.java new file mode 100644 index 00000000..495bbee4 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/flamethrover/FlamethrowerItem.java @@ -0,0 +1,226 @@ +package com.drmangotea.tfmg.content.items.weapons.flamethrover; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.TFMGClient; +import com.drmangotea.tfmg.base.spark.Spark; +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.drmangotea.tfmg.registry.TFMGEntityTypes; +import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; +import com.simibubi.create.foundation.item.CustomArmPoseItem; +import net.minecraft.client.model.HumanoidModel; +import net.minecraft.client.player.AbstractClientPlayer; +import net.minecraft.core.BlockPos; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.UseAnim; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.phys.HitResult; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; +import org.jetbrains.annotations.Nullable; + +public class FlamethrowerItem extends Item implements CustomArmPoseItem { + + + public static final int FUEL_CAPACITY = 4000; + + + public FlamethrowerItem(Properties pProperties) { + super(pProperties); + } + + + public void onUseTick(Level level, LivingEntity entity, ItemStack stack, int time) { + + if(stack.get(TFMGDataComponents.AMOUNT)==null) + stack.set(TFMGDataComponents.AMOUNT,0); + + Spark spark = TFMGEntityTypes.SPARK.create(level); + spark.setPos(entity.getX(),entity.getY()+1.2f,entity.getZ()); + + + if(stack.get(TFMGDataComponents.AMOUNT)==0) { + stack.set(TFMGDataComponents.FLAMETHROWER_FUEL,""); + return; + } + + + level.playSound((Player)null, entity.getX(), entity.getY(), entity.getZ(), SoundEvents.FIRE_EXTINGUISH, SoundSource.NEUTRAL, 0.1F, 0.04F); + + FlamethrowerFuel fuel = Enum.valueOf(FlamethrowerFuel.class,stack.get(TFMGDataComponents.FLAMETHROWER_FUEL).toUpperCase()); + + for(int i =0;i use(Level level, Player player, InteractionHand hand) { + player.startUsingItem(hand); + + + + if (level.isClientSide) { + TFMGClient.FLAMETHROWER_RENDER_HANDLER.dontAnimateItem(hand); + } + + return InteractionResultHolder.pass(player.getItemInHand(hand)); + } + + @Override + public int getUseDuration(ItemStack stack, LivingEntity entity) { + return 1000; + } + + @Override + public InteractionResult useOn(UseOnContext context) { + + Level level = context.getLevel(); + BlockPos pos = context.getClickedPos(); + ItemStack stack = context.getItemInHand(); + + + + + if(stack.get(TFMGDataComponents.FLAMETHROWER_FUEL)==null) + stack.set(TFMGDataComponents.FLAMETHROWER_FUEL,""); + if(stack.get(TFMGDataComponents.AMOUNT)==null) + stack.set(TFMGDataComponents.AMOUNT,0); + if(level.getBlockEntity(pos)!=null) + if(level.getBlockEntity(pos) instanceof FluidTankBlockEntity fluidTankBe){ + + FluidTankBlockEntity be = fluidTankBe.isController() ? fluidTankBe : fluidTankBe.getControllerBE(); + + for(FlamethrowerFuel fuel : FlamethrowerFuel.values()) { + + String fluid = be.getFluid(0).getFluid().getFluidType().toString().replaceFirst("tfmg:",""); + + + if (fluid.equals(fuel.name().toLowerCase())) { + + if(stack.get(TFMGDataComponents.FLAMETHROWER_FUEL).equals(fluid)||stack.get(TFMGDataComponents.AMOUNT)==0) { + + int toDrain = Math.min(FUEL_CAPACITY - stack.get(TFMGDataComponents.AMOUNT), be.getFluid(0).getAmount()); + + stack.set(TFMGDataComponents.FLAMETHROWER_FUEL, fluid); + be.getTankInventory().drain(toDrain, IFluidHandler.FluidAction.EXECUTE); + stack.set(TFMGDataComponents.AMOUNT, stack.get(TFMGDataComponents.AMOUNT) + toDrain); + context.getPlayer().getCooldowns().addCooldown(stack.getItem(), 20); + + + } + + } + + } + + + } + + + + return InteractionResult.PASS; + } + + @Override + @Nullable + public HumanoidModel.ArmPose getArmPose(ItemStack stack, AbstractClientPlayer player, InteractionHand hand) { + if (!player.swinging) { + return HumanoidModel.ArmPose.CROSSBOW_HOLD; + } + return null; + } + + + @Override + public UseAnim getUseAnimation(ItemStack pStack) { + return UseAnim.NONE; + } + + enum FlamethrowerFuel{ + + GASOLINE(15,1,3,0xC4AA76), + DIESEL(7,2,3,0xBA9177), + KEROSENE(10,1.3f,4,0x7876D5), + + NAPHTHA(20,0.8f,1,0x5E1B0A), + + LPG(35,0.6f,15,0xE0BB48), + + NAPALM(20,1.8f,15,0xA3C649), + + MOLTEN_SLAG(15,0.3f,15,0xFF9621) + + + ; + + public final float spread; + public final float speed; + public final int amount; + + public final int color; + + + + FlamethrowerFuel(float spread, float speed, int amount,int color){ + this.spread = spread; + this.speed = speed; + this.amount = amount; + this.color = color; + + } + + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/flamethrover/FlamethrowerRenderHandler.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/flamethrover/FlamethrowerRenderHandler.java new file mode 100644 index 00000000..b66779a5 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/flamethrover/FlamethrowerRenderHandler.java @@ -0,0 +1,35 @@ +package com.drmangotea.tfmg.content.items.weapons.flamethrover; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.content.equipment.potatoCannon.PotatoProjectileEntity; +import com.simibubi.create.content.equipment.zapper.ShootableGadgetRenderHandler; +import net.minecraft.client.Minecraft; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.phys.Vec3; + +public class FlamethrowerRenderHandler extends ShootableGadgetRenderHandler { + + private float nextPitch; + + @Override + protected void playSound(InteractionHand hand, Vec3 position) { + PotatoProjectileEntity.playLaunchSound(Minecraft.getInstance().level, position, nextPitch); + } + + @Override + protected boolean appliesTo(ItemStack stack) { + return stack.getItem() instanceof FlamethrowerItem; + } + + @Override + protected void transformTool(PoseStack ms, float flip, float equipProgress, float recoil, float pt) { + } + + @Override + protected void transformHand(PoseStack ms, float flip, float equipProgress, float recoil, float pt) { + ms.translate(0,-5,0); + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/lithium_blade/LitLithiumBladeItem.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/lithium_blade/LitLithiumBladeItem.java new file mode 100644 index 00000000..68c23a0d --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/lithium_blade/LitLithiumBladeItem.java @@ -0,0 +1,145 @@ +package com.drmangotea.tfmg.content.items.weapons.lithium_blade; + + +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.drmangotea.tfmg.registry.TFMGEntityTypes; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.drmangotea.tfmg.registry.TFMGMobEffects; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.SwordItem; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.enchantment.ItemEnchantments; +import net.minecraft.world.level.Level; +import net.minecraft.world.phys.Vec3; + +public class LitLithiumBladeItem extends SwordItem { + public LitLithiumBladeItem(Tier pTier, Properties pProperties) { + super(pTier, pProperties); + } + + public boolean hurtEnemy(ItemStack pStack, LivingEntity pTarget, LivingEntity pAttacker) { + pStack.hurtAndBreak(2, pAttacker, LivingEntity.getSlotForHand(pAttacker.getUsedItemHand())); + MobEffectInstance poison = pTarget.getEffect(TFMGMobEffects.HELLFIRE); + + if (poison != null) { + pTarget.addEffect(new MobEffectInstance(TFMGMobEffects.HELLFIRE, 140 + poison.getDuration())); + } + pTarget.addEffect(new MobEffectInstance(TFMGMobEffects.HELLFIRE, 140)); + return true; + } + + + @Override + public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { + + // :3 + + + ItemStack stack = player.getItemInHand(hand); + + + if (stack.get(TFMGDataComponents.LITHIUM_BLADE_TIMER) <= 100) + return super.use(level, player, hand); + + stack.set(TFMGDataComponents.LITHIUM_BLADE_TIMER, stack.get(TFMGDataComponents.LITHIUM_BLADE_TIMER) - 100); + + level.playSound(player, player.getX(), player.getY(), player.getZ(), SoundEvents.FIRECHARGE_USE, SoundSource.NEUTRAL, 0.5F, 0.4F); + + + Vec3 motion = player.getLookAngle(); + + for (int i = 0; i < 10; i++) { + + + LithiumSpark spark = TFMGEntityTypes.LITHIUM_SPARK.create(level); + + spark.setPos(player.getX(), player.getY() + 1.3, player.getZ()); + + + spark.burst(player.getLookAngle().x, player.getLookAngle().y, player.getLookAngle().z, 1, 30); + level.addFreshEntity(spark); + } + + player.getCooldowns().addCooldown(TFMGItems.LIT_LITHIUM_BLADE.get(), 60); + + return super.use(level, player, hand); + } + + + @Override + public boolean isBarVisible(ItemStack pStack) { + return pStack.get(TFMGDataComponents.LITHIUM_BLADE_TIMER) != null; + } + + @Override + public int getBarColor(ItemStack pStack) { + return 0xDD0B13; + } + + @Override + public int getBarWidth(ItemStack pStack) { + if (pStack.get(TFMGDataComponents.LITHIUM_BLADE_TIMER) == null) + return 0; + + return (int) ((((float) pStack.get(TFMGDataComponents.LITHIUM_BLADE_TIMER) / (float) LithiumBladeItem.MAX_TIME) * 12) + 1); + } + + @Override + public void inventoryTick(ItemStack stack, Level pLevel, Entity entity, int pSlotId, boolean pIsSelected) { + super.inventoryTick(stack, pLevel, entity, pSlotId, pIsSelected); + + Player player = (Player) entity; + if (stack.get(TFMGDataComponents.LITHIUM_BLADE_TIMER) != null) + if (stack.get(TFMGDataComponents.LITHIUM_BLADE_TIMER) > 0) { + stack.set(TFMGDataComponents.LITHIUM_BLADE_TIMER, stack.get(TFMGDataComponents.LITHIUM_BLADE_TIMER) - 1); + + + } else { + ItemStack stack1 = new ItemStack(TFMGItems.LITHIUM_BLADE, 1, stack.getComponentsPatch()); + + var lookup = net.neoforged.neoforge.common.CommonHooks.resolveLookup(net.minecraft.core.registries.Registries.ENCHANTMENT); + ItemEnchantments enchantments = stack.getAllEnchantments(lookup); + for (int i = 0; i < enchantments.size(); i++) { + stack1.enchant(enchantments.keySet().stream().toList().get(i), enchantments.getLevel(enchantments.keySet().stream().toList().get(i))); + } + + + int slot = -1; + + if (entity instanceof Player) + for (int i = 0; i < player.getInventory().getContainerSize(); i++) { + + if (player.getInventory().getItem(i).is(TFMGItems.LITHIUM_CHARGE.get())) { + slot = i; + break; + + } + + + } + + + ((Player) entity).getInventory().setItem(pSlotId, stack1); + } + + } + + @Override + public boolean shouldCauseReequipAnimation(ItemStack oldStack, ItemStack newStack, boolean slotChanged) { + + if (!slotChanged) + return false; + + return super.shouldCauseReequipAnimation(oldStack, newStack, slotChanged); + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/lithium_blade/LithiumBladeItem.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/lithium_blade/LithiumBladeItem.java new file mode 100644 index 00000000..78f3ceb9 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/lithium_blade/LithiumBladeItem.java @@ -0,0 +1,78 @@ +package com.drmangotea.tfmg.content.items.weapons.lithium_blade; + +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.drmangotea.tfmg.registry.TFMGItems; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.SwordItem; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.enchantment.Enchantment; +import net.minecraft.world.item.enchantment.ItemEnchantments; +import net.minecraft.world.level.Level; + +import java.util.Map; + +public class LithiumBladeItem extends SwordItem { + + + public static final int MAX_TIME = 2000; + + public LithiumBladeItem(Tier pTier, Properties pProperties) { + super(pTier, pProperties); + } + + @Override + public InteractionResultHolder use(Level pLevel, Player player, InteractionHand hand) { + + ItemStack stack = player.getItemInHand(hand); + + ItemStack stack1 = new ItemStack(TFMGItems.LIT_LITHIUM_BLADE, 1, stack.getComponentsPatch()); + + var lookup = net.neoforged.neoforge.common.CommonHooks.resolveLookup(net.minecraft.core.registries.Registries.ENCHANTMENT); + ItemEnchantments enchantments = stack.getAllEnchantments(lookup); + + + for(int i = 0;i p_37391_, Level p_37392_) { + super(p_37391_, p_37392_); + + } + public LithiumSpark(Level p_37399_, LivingEntity p_37400_) { + super(TFMGEntityTypes.LITHIUM_SPARK.get(), p_37400_, p_37399_); + } + + public LithiumSpark(Level p_37394_, double p_37395_, double p_37396_, double p_37397_) { + super(TFMGEntityTypes.LITHIUM_SPARK.get(), p_37395_, p_37396_, p_37397_, p_37394_); + } + + + @Override + protected double getDefaultGravity() { + return 0.02f; + } + + + @Override + protected void defineSynchedData(SynchedEntityData.Builder builder) { + + } + + public void tick(){ + super.tick(); + // if (this.isInWaterOrRain()) { + // this.discard(); + // } + if(this.level().isClientSide) { + + CubeParticleData data = + new CubeParticleData(100, 0, 0, .0125f + .0625f * random.nextFloat(), 30, false); + level().addParticle(data, this.getX(), this.getY(), this.getZ(), this.random.nextGaussian() * 0.05D, -this.getDeltaMovement().y * 0.5D, this.random.nextGaussian() * 0.05D); + + } + } + + + private ParticleOptions getParticle() { + + return ParticleTypes.FLAME; + } + + + public void burst(double pX, double pY, double pZ, float pVelocity, float pInaccuracy) { + Vec3 vec3 = (new Vec3(pX, pY, pZ)).normalize().add(this.random.triangle(0.0D, 0.0172275D * (double)pInaccuracy), 0, this.random.triangle(0.0D, 0.0172275D * (double)pInaccuracy)).scale((double)pVelocity); + this.setDeltaMovement(vec3); + double d0 = vec3.horizontalDistance(); + this.setYRot((float)(Mth.atan2(vec3.x, vec3.z) * (double)(180F / (float)Math.PI))); + this.setXRot((float)(Mth.atan2(vec3.y, d0) * (double)(180F / (float)Math.PI))); + this.yRotO = this.getYRot(); + this.xRotO = this.getXRot(); + } + + public void handleEntityEvent(byte p_37402_) { + if (p_37402_ == 3) { + ParticleOptions particleoptions = this.getParticle(); + + for(int i = 0; i < 8; ++i) { + this.level().addParticle(particleoptions, this.getX(), this.getY(), this.getZ(), 0.0D, 0.0D, 0.0D); + } + } + + } + protected void onHitBlock(BlockHitResult p_37384_) { + super.onHitBlock(p_37384_); + + } + + protected void onHitEntity(EntityHitResult p_37386_) { + super.onHitEntity(p_37386_); + if (!this.level().isClientSide) { + Entity entity = p_37386_.getEntity(); + Entity entity1 = this.getOwner(); + + + if(entity instanceof LivingEntity){ + + ((LivingEntity)entity).addEffect(new MobEffectInstance(TFMGMobEffects.HELLFIRE,60)); + + + } + + + } + } + + protected void onHit(HitResult p_37406_) { + super.onHit(p_37406_); + + if (!this.level().isClientSide) { + this.level().broadcastEntityEvent(this, (byte)3); + + + //this.level.explode(this, this.getX(), this.getY(0.0625D), this.getZ(), 2.0F, Explosion.BlockInteraction.NONE); + this.discard(); + } + + } + + @SuppressWarnings("unchecked") + public static EntityType.Builder build(EntityType.Builder builder) { + EntityType.Builder entityBuilder = (EntityType.Builder) builder; + return entityBuilder.sized(.25f, .25f); + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/lithium_blade/LithiumSparkRenderer.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/lithium_blade/LithiumSparkRenderer.java new file mode 100644 index 00000000..fdab4d0a --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/lithium_blade/LithiumSparkRenderer.java @@ -0,0 +1,61 @@ +package com.drmangotea.tfmg.content.items.weapons.lithium_blade; + + +import com.drmangotea.tfmg.TFMG; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.mojang.math.Axis; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.entity.EntityRenderer; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.core.BlockPos; +import net.minecraft.resources.ResourceLocation; + + +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import org.joml.Matrix3f; +import org.joml.Matrix4f; + +@OnlyIn(Dist.CLIENT) +public class LithiumSparkRenderer extends EntityRenderer { + private static final ResourceLocation TEXTURE_LOCATION = TFMG.asResource("textures/entity/lithium_spark.png"); + private static final RenderType RENDER_TYPE = RenderType.entityCutoutNoCull(TEXTURE_LOCATION); + + public LithiumSparkRenderer(EntityRendererProvider.Context p_173962_) { + super(p_173962_); + } + + + + protected int getBlockLightLevel(LithiumSpark p_114087_, BlockPos p_114088_) { + return 15; + } + + public void render(LithiumSpark p_114080_, float p_114081_, float p_114082_, PoseStack p_114083_, MultiBufferSource p_114084_, int p_114085_) { + p_114083_.pushPose(); + p_114083_.scale(0.5F, 0.5F, 0.5F); + p_114083_.mulPose(this.entityRenderDispatcher.cameraOrientation()); + p_114083_.mulPose(Axis.YP.rotationDegrees(180.0F)); + PoseStack.Pose posestack$pose = p_114083_.last(); + Matrix4f matrix4f = posestack$pose.pose(); + Matrix3f matrix3f = posestack$pose.normal(); + VertexConsumer vertexconsumer = p_114084_.getBuffer(RENDER_TYPE); + vertex(vertexconsumer, matrix4f, matrix3f, p_114085_, 0.0F, 0, 0, 1); + vertex(vertexconsumer, matrix4f, matrix3f, p_114085_, 1.0F, 0, 1, 1); + vertex(vertexconsumer, matrix4f, matrix3f, p_114085_, 1.0F, 1, 1, 0); + vertex(vertexconsumer, matrix4f, matrix3f, p_114085_, 0.0F, 1, 0, 0); + p_114083_.popPose(); + super.render(p_114080_, p_114081_, p_114082_, p_114083_, p_114084_, p_114085_); + } + + private static void vertex(VertexConsumer p_114090_, Matrix4f p_114091_, Matrix3f p_114092_, int p_114093_, float p_114094_, int p_114095_, int p_114096_, int p_114097_) { + p_114090_.addVertex(p_114091_, p_114094_ - 0.5F, (float)p_114095_ - 0.25F, 0.0F).setColor(255, 255, 255, 255).setUv((float)p_114096_, (float)p_114097_).setOverlay(OverlayTexture.NO_OVERLAY).setUv2(p_114093_,p_114093_).setNormal( 0.0F, 1.0F, 0.0F); + } + + public ResourceLocation getTextureLocation(LithiumSpark p_114078_) { + return TEXTURE_LOCATION; + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/quad_potato_cannon/QuadPotatoCannonItem.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/quad_potato_cannon/QuadPotatoCannonItem.java new file mode 100644 index 00000000..08519f1a --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/quad_potato_cannon/QuadPotatoCannonItem.java @@ -0,0 +1,309 @@ +package com.drmangotea.tfmg.content.items.weapons.quad_potato_cannon; + + + + + +import com.simibubi.create.AllEnchantments; +import com.simibubi.create.AllEntityTypes; +import com.simibubi.create.CreateClient; +import com.simibubi.create.api.equipment.potatoCannon.PotatoCannonProjectileType; +import com.simibubi.create.content.equipment.armor.BacktankUtil; +import com.simibubi.create.content.equipment.potatoCannon.PotatoCannonItem; +import com.simibubi.create.content.equipment.potatoCannon.PotatoCannonPacket; +import com.simibubi.create.content.equipment.potatoCannon.PotatoProjectileEntity; +import com.simibubi.create.content.equipment.zapper.ShootableGadgetItemMethods; +import com.simibubi.create.foundation.item.CustomArmPoseItem; +import com.simibubi.create.foundation.utility.CreateLang; +import com.simibubi.create.foundation.utility.GlobalRegistryAccess; +import com.simibubi.create.infrastructure.config.AllConfigs; +import net.createmod.catnip.math.VecHelper; +import net.minecraft.ChatFormatting; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.HumanoidModel; +import net.minecraft.client.player.AbstractClientPlayer; +import net.minecraft.client.player.LocalPlayer; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction.Axis; +import net.minecraft.core.Holder; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.registries.Registries; +import net.minecraft.network.chat.CommonComponents; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.MutableComponent; +import net.minecraft.util.Mth; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.entity.projectile.Projectile; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.ProjectileWeaponItem; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.item.UseAnim; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.item.enchantment.Enchantment; +import net.minecraft.world.item.enchantment.EnchantmentHelper; +import net.minecraft.world.item.enchantment.Enchantments; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec3; + + +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import org.jetbrains.annotations.Nullable; + +import java.util.List; +import java.util.Optional; +import java.util.function.Predicate; + +public class QuadPotatoCannonItem extends ProjectileWeaponItem implements CustomArmPoseItem { + + + public static final int MAX_DAMAGE = 100; + + public QuadPotatoCannonItem(Properties properties) { + super(properties.durability(MAX_DAMAGE)); + } + + @Nullable + public static PotatoCannonItem.Ammo getAmmo(Player player, ItemStack heldStack) { + ItemStack ammoStack = player.getProjectile(heldStack); + if (ammoStack.isEmpty()) { + return null; + } + + Optional> optionalType = PotatoCannonProjectileType.getTypeForItem(player.level().registryAccess(), ammoStack.getItem()); + if (optionalType.isEmpty()) { + return null; + } + + return new PotatoCannonItem.Ammo(ammoStack, optionalType.get().value()); + } + + @Override + public InteractionResult useOn(UseOnContext context) { + return use(context.getLevel(), context.getPlayer(), context.getHand()).getResult(); + } + + @Override + public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { + ItemStack heldStack = player.getItemInHand(hand); + if (ShootableGadgetItemMethods.shouldSwap(player, heldStack, hand, s -> s.getItem() instanceof PotatoCannonItem)) { + return InteractionResultHolder.fail(heldStack); + } + + PotatoCannonItem.Ammo ammo = getAmmo(player, heldStack); + if (ammo == null) { + return InteractionResultHolder.pass(heldStack); + } + ItemStack ammoStack = ammo.stack(); + PotatoCannonProjectileType projectileType = ammo.type(); + + if (level.isClientSide) { + CreateClient.POTATO_CANNON_RENDER_HANDLER.dontAnimateItem(hand); + return InteractionResultHolder.success(heldStack); + } + + Vec3 barrelPos = ShootableGadgetItemMethods.getGunBarrelVec(player, hand == InteractionHand.MAIN_HAND, + new Vec3(.75f, -0.15f, 1.5f)); + Vec3 correction = + ShootableGadgetItemMethods.getGunBarrelVec(player, hand == InteractionHand.MAIN_HAND, new Vec3(-.05f, 0, 0)) + .subtract(player.position() + .add(0, player.getEyeHeight(), 0)); + + Vec3 lookVec = player.getLookAngle(); + Vec3 motion = lookVec.add(correction) + .normalize() + .scale(2) + .scale(projectileType.velocityMultiplier()); + + float soundPitch = projectileType.soundPitch() + (level.getRandom().nextFloat() - .5f) / 4f; + + boolean spray = projectileType.split()*4 > 1; + Vec3 sprayBase = VecHelper.rotate(new Vec3(0, 0.1, 0), 360 * level.getRandom().nextFloat(), Axis.Z); + float sprayChange = 360f / projectileType.split()*4; + + ItemStack ammoStackCopy = ammoStack.copy(); + + for (int i = 0; i < projectileType.split()*4; i++) { + PotatoProjectileEntity projectile = AllEntityTypes.POTATO_PROJECTILE.create(level); + projectile.setItem(ammoStackCopy); + projectile.setEnchantmentEffectsFromCannon(heldStack); + + Vec3 splitMotion = motion; + if (spray) { + float imperfection = 40 * (level.getRandom().nextFloat() - 0.5f); + Vec3 sprayOffset = VecHelper.rotate(sprayBase, i * sprayChange + imperfection, Axis.Z); + splitMotion = splitMotion.add(VecHelper.lookAt(sprayOffset, motion)); + } + + + + projectile.setPos(barrelPos.x, barrelPos.y, barrelPos.z); + projectile.setDeltaMovement(splitMotion); + projectile.setOwner(player); + level.addFreshEntity(projectile); + } + + if (!player.isCreative()) { + ammoStack.shrink(1); + if (ammoStack.isEmpty()) + player.getInventory().removeItem(ammoStack); + } + + if (!BacktankUtil.canAbsorbDamage(player, maxUses())) + heldStack.hurtAndBreak(1, player, LivingEntity.getSlotForHand(hand)); + + ShootableGadgetItemMethods.applyCooldown(player, heldStack, hand, s -> s.getItem() instanceof PotatoCannonItem, projectileType.reloadTicks()); + ShootableGadgetItemMethods.sendPackets(player, + b -> new PotatoCannonPacket(barrelPos, lookVec.normalize(), ammoStack, hand, soundPitch, b)); + return InteractionResultHolder.success(heldStack); + } + + @Override + @OnlyIn(Dist.CLIENT) + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag flag) { + LocalPlayer player = Minecraft.getInstance().player; + if (player == null) { + super.appendHoverText(stack, context, tooltip, flag); + return; + } + + PotatoCannonItem.Ammo ammo = getAmmo(player, stack); + if (ammo == null) { + super.appendHoverText(stack, context, tooltip, flag); + return; + } + HolderLookup.Provider registries = context.registries(); + if (registries == null) + return; + ItemStack ammoStack = ammo.stack(); + PotatoCannonProjectileType type = ammo.type(); + HolderLookup lookup = registries.lookupOrThrow(Registries.ENCHANTMENT); + int power = stack.getEnchantmentLevel(lookup.getOrThrow(Enchantments.POWER)); + int punch = stack.getEnchantmentLevel(lookup.getOrThrow(Enchantments.PUNCH)); + final float additionalDamageMult = 1 + power * .2f; + final float additionalKnockback = punch * .5f; + + String _attack = "potato_cannon.ammo.attack_damage"; + String _reload = "potato_cannon.ammo.reload_ticks"; + String _knockback = "potato_cannon.ammo.knockback"; + + tooltip.add(CommonComponents.EMPTY); + tooltip.add(Component.translatable(ammoStack.getDescriptionId()).append(Component.literal(":")) + .withStyle(ChatFormatting.GRAY)); + MutableComponent spacing = CommonComponents.space(); + ChatFormatting green = ChatFormatting.GREEN; + ChatFormatting darkGreen = ChatFormatting.DARK_GREEN; + + float damageF = type.damage() * additionalDamageMult; + MutableComponent damage = Component.literal(damageF == Mth.floor(damageF) ? "" + Mth.floor(damageF) : "" + damageF); + MutableComponent reloadTicks = Component.literal("" + type.reloadTicks()); + MutableComponent knockback = + Component.literal("" + (type.knockback() + additionalKnockback)); + + damage = damage.withStyle(additionalDamageMult > 1 ? green : darkGreen); + knockback = knockback.withStyle(additionalKnockback > 0 ? green : darkGreen); + reloadTicks = reloadTicks.withStyle(darkGreen); + + tooltip.add(spacing.plainCopy() + .append(CreateLang.translateDirect(_attack, damage) + .withStyle(darkGreen))); + tooltip.add(spacing.plainCopy() + .append(CreateLang.translateDirect(_reload, reloadTicks) + .withStyle(darkGreen))); + tooltip.add(spacing.plainCopy() + .append(CreateLang.translateDirect(_knockback, knockback) + .withStyle(darkGreen))); + + super.appendHoverText(stack, context, tooltip, flag); + } + + @Override + public boolean canAttackBlock(BlockState state, Level world, BlockPos pos, Player player) { + return false; + } + + @Override + public boolean shouldCauseReequipAnimation(ItemStack oldStack, ItemStack newStack, boolean slotChanged) { + return slotChanged || newStack.getItem() != oldStack.getItem(); + } + + @Override + public Predicate getAllSupportedProjectiles() { + return stack -> PotatoCannonProjectileType.getTypeForItem(GlobalRegistryAccess.getOrThrow(), stack.getItem()) + .isPresent(); + } + + @Override + public int getDefaultProjectileRange() { + return 15; + } + + @Override + protected void shootProjectile(LivingEntity livingEntity, Projectile projectile, int i, float v, float v1, float v2, @Nullable LivingEntity livingEntity1) { + + } + + @Override + public boolean supportsEnchantment(ItemStack stack, Holder enchantment) { + if (enchantment.is(Enchantments.POWER)) + return true; + if (enchantment.is(Enchantments.PUNCH)) + return true; + if (enchantment.is(Enchantments.FLAME)) + return true; + if (enchantment.is(Enchantments.LOOTING)) + return true; + if (enchantment.is(AllEnchantments.POTATO_RECOVERY)) + return true; + return super.supportsEnchantment(stack, enchantment); + } + + @Override + public boolean isBarVisible(ItemStack stack) { + return BacktankUtil.isBarVisible(stack, maxUses()); + } + + @Override + public int getBarWidth(ItemStack stack) { + return BacktankUtil.getBarWidth(stack, maxUses()); + } + + @Override + public int getBarColor(ItemStack stack) { + return BacktankUtil.getBarColor(stack, maxUses()); + } + + private static int maxUses() { + return AllConfigs.server().equipment.maxPotatoCannonShots.get(); + } + + + @Override + public boolean onEntitySwing(ItemStack stack, LivingEntity entity, InteractionHand hand) { + return true; + } + + @Override + public UseAnim getUseAnimation(ItemStack stack) { + return UseAnim.NONE; + } + + @Override + @Nullable + public HumanoidModel.ArmPose getArmPose(ItemStack stack, AbstractClientPlayer player, InteractionHand hand) { + if (!player.swinging) { + return HumanoidModel.ArmPose.CROSSBOW_HOLD; + } + return null; + } + + + public record Ammo(ItemStack stack, PotatoCannonProjectileType type) { + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/quad_potato_cannon/QuadPotatoCannonItemRenderer.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/quad_potato_cannon/QuadPotatoCannonItemRenderer.java new file mode 100644 index 00000000..c361bcae --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/quad_potato_cannon/QuadPotatoCannonItemRenderer.java @@ -0,0 +1,55 @@ +package com.drmangotea.tfmg.content.items.weapons.quad_potato_cannon; + + +import com.drmangotea.tfmg.TFMGClient; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.math.Axis; +import com.simibubi.create.content.equipment.potatoCannon.PotatoCannonItem; +import com.simibubi.create.foundation.item.render.CustomRenderedItemModel; +import com.simibubi.create.foundation.item.render.CustomRenderedItemModelRenderer; +import com.simibubi.create.foundation.item.render.PartialItemModelRenderer; +import net.createmod.catnip.animation.AnimationTickHolder; +import net.minecraft.client.Minecraft; +import net.minecraft.client.player.LocalPlayer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.entity.ItemRenderer; +import net.minecraft.util.Mth; +import net.minecraft.world.entity.HumanoidArm; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; + +public class QuadPotatoCannonItemRenderer extends CustomRenderedItemModelRenderer { + @Override + protected void render(ItemStack stack, CustomRenderedItemModel model, PartialItemModelRenderer renderer, + ItemDisplayContext transformType, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { + ItemRenderer itemRenderer = Minecraft.getInstance() + .getItemRenderer(); + renderer.render(model.getOriginalModel(), light); + LocalPlayer player = Minecraft.getInstance().player; + boolean mainHand = player.getMainHandItem() == stack; + boolean offHand = player.getOffhandItem() == stack; + boolean leftHanded = player.getMainArm() == HumanoidArm.LEFT; + + float offset = .5f / 16; + float worldTime = AnimationTickHolder.getRenderTime() / 10; + float angle = worldTime * -25; + float speed = TFMGClient.QUAD_POTATO_CANNON_RENDER_HANDLER.getAnimation(mainHand ^ leftHanded, + AnimationTickHolder.getPartialTicks()); + + if (mainHand || offHand) + angle += 360 * Mth.clamp(speed * 5, 0, 1); + angle %= 360; + + ms.pushPose(); + ms.translate(0, offset, 0); + ms.mulPose(Axis.ZP.rotationDegrees(angle)); + ms.translate(0, -offset, 0); + // renderer.render(model.getPartial("cog"), light); + ms.popPose(); + + + } + + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/quad_potato_cannon/QuadPotatoCannonRenderHandler.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/quad_potato_cannon/QuadPotatoCannonRenderHandler.java new file mode 100644 index 00000000..67946b33 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/quad_potato_cannon/QuadPotatoCannonRenderHandler.java @@ -0,0 +1,58 @@ +package com.drmangotea.tfmg.content.items.weapons.quad_potato_cannon; + +import com.drmangotea.tfmg.registry.TFMGItems; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.content.equipment.potatoCannon.PotatoProjectileEntity; +import com.simibubi.create.content.equipment.zapper.ShootableGadgetRenderHandler; +import com.simibubi.create.foundation.particle.AirParticleData; +import net.createmod.catnip.math.VecHelper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.core.particles.ItemParticleOption; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.phys.Vec3; + +public class QuadPotatoCannonRenderHandler extends ShootableGadgetRenderHandler { + + private float nextPitch; + + @Override + protected void playSound(InteractionHand hand, Vec3 position) { + PotatoProjectileEntity.playLaunchSound(Minecraft.getInstance().level, position, nextPitch); + } + + @Override + protected boolean appliesTo(ItemStack stack) { + return false; + } + + public void beforeShoot(float nextPitch, Vec3 location, Vec3 motion, ItemStack stack) { + this.nextPitch = nextPitch; + if (stack.isEmpty()) + return; + ClientLevel world = Minecraft.getInstance().level; + for (int i = 0; i < 2; i++) { + Vec3 m = VecHelper.offsetRandomly(motion.scale(0.1f), world.random, .025f); + world.addParticle(new ItemParticleOption(ParticleTypes.ITEM, stack), location.x, location.y, location.z, m.x, + m.y, m.z); + + Vec3 m2 = VecHelper.offsetRandomly(motion.scale(2f), world.random, .5f); + world.addParticle(new AirParticleData(1, 1 / 4f), location.x, location.y, location.z, m2.x, m2.y, m2.z); + } + } + + + + @Override + protected void transformTool(PoseStack ms, float flip, float equipProgress, float recoil, float pt) { + + } + + @Override + protected void transformHand(PoseStack ms, float flip, float equipProgress, float recoil, float pt) { + + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/BlastFurnaceHatchBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/BlastFurnaceHatchBlock.java new file mode 100644 index 00000000..f1bc8222 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/BlastFurnaceHatchBlock.java @@ -0,0 +1,29 @@ +package com.drmangotea.tfmg.content.machinery.metallurgy.blast_furnace; + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.foundation.block.IBE; +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.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +public class BlastFurnaceHatchBlock extends Block implements IBE { + + public BlastFurnaceHatchBlock(Properties p_49795_) { + super(p_49795_); + } + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + @Override + public Class getBlockEntityClass() { + return BlastFurnaceHatchBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.BLAST_FURNACE_HATCH.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/BlastFurnaceHatchBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/BlastFurnaceHatchBlockEntity.java new file mode 100644 index 00000000..0f1afb53 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/BlastFurnaceHatchBlockEntity.java @@ -0,0 +1,124 @@ +package com.drmangotea.tfmg.content.machinery.metallurgy.blast_furnace; + +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.item.ItemHelper; +import com.simibubi.create.foundation.item.SmartInventory; +import net.createmod.catnip.math.VecHelper; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.world.entity.item.ItemEntity; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec3; + +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; +import net.neoforged.neoforge.fluids.capability.templates.FluidTank; +import net.neoforged.neoforge.items.IItemHandlerModifiable; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + + +public class BlastFurnaceHatchBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation { + + + public FluidTank tank; + + public SmartInventory inventory; + + public IFluidHandler fluidCapability; + + public IItemHandlerModifiable itemCapability; + + + public BlastFurnaceHatchBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + setLazyTickRate(10); + tank = TFMGUtils.createTank(4000, true, this::onFluidChanged); + inventory = new SmartInventory(1, this).withMaxStackSize(64); + fluidCapability = tank; + itemCapability = inventory; + } + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.FluidHandler.BLOCK, + TFMGBlockEntities.BLAST_FURNACE_HATCH.get(), + (be, context) -> be.fluidCapability + ); + } + @Override + public void addBehaviours(List behaviours) {} + + @Override + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + + return TFMGUtils.createFluidTooltip(this,tooltip); + } + + @Override + public void lazyTick() { + super.lazyTick(); + dropItems(); + } + + @Override + public void destroy() { + super.destroy(); + ItemHelper.dropContents(level, worldPosition, inventory); + } + + public void dropItems(){ + + if(level.getBlockState(getBlockPos().below()).isAir()){ + Vec3 dropVec = VecHelper.getCenterOf(worldPosition) + .add(0, -12 / 16f, 0); + ItemEntity dropped = new ItemEntity(level, dropVec.x, dropVec.y, dropVec.z, inventory.getItem(0).copy()); + dropped.setDefaultPickUpDelay(); + dropped.setDeltaMovement(0, -.25f, 0); + level.addFreshEntity(dropped); + inventory.setStackInSlot(0, ItemStack.EMPTY); + } + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + + tank.readFromNBT(registries,compound.getCompound("TankContent")); + } + + @Override + public void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + compound.put("TankContent", tank.writeToNBT(registries,new CompoundTag())); + + + } + + private void onFluidChanged(FluidStack stack) { + if (!hasLevel()) + return; + + if (!level.isClientSide) { + setChanged(); + sendData(); + } + } + + + + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/BlastFurnaceOutputBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/BlastFurnaceOutputBlock.java new file mode 100644 index 00000000..27d1fb00 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/BlastFurnaceOutputBlock.java @@ -0,0 +1,30 @@ +package com.drmangotea.tfmg.content.machinery.metallurgy.blast_furnace; + +import com.drmangotea.tfmg.base.blocks.TFMGHorizontalDirectionalBlock; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +public class BlastFurnaceOutputBlock extends TFMGHorizontalDirectionalBlock implements IBE { + public BlastFurnaceOutputBlock(Properties properties) { + super(properties); + } + + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + + @Override + public Class getBlockEntityClass() { + return BlastFurnaceOutputBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.BLAST_FURNACE_OUTPUT.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/BlastFurnaceOutputBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/BlastFurnaceOutputBlockEntity.java new file mode 100644 index 00000000..56167acf --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/BlastFurnaceOutputBlockEntity.java @@ -0,0 +1,476 @@ +package com.drmangotea.tfmg.content.machinery.metallurgy.blast_furnace; + +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.config.TFMGConfigs; +import com.drmangotea.tfmg.datagen.TFMGDamageSources; +import com.drmangotea.tfmg.recipes.IndustrialBlastingRecipe; +import com.drmangotea.tfmg.registry.*; +import com.simibubi.create.Create; +import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.fluid.CombinedTankWrapper; +import com.simibubi.create.foundation.fluid.SmartFluidTank; +import com.simibubi.create.foundation.item.ItemHelper; +import com.simibubi.create.foundation.item.SmartInventory; +import com.simibubi.create.foundation.utility.CreateLang; +import net.createmod.catnip.animation.LerpedFloat; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.item.ItemEntity; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.RecipeHolder; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.AABB; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; +import net.neoforged.neoforge.fluids.capability.templates.FluidTank; +import net.neoforged.neoforge.items.IItemHandlerModifiable; +import net.neoforged.neoforge.items.wrapper.CombinedInvWrapper; +import net.neoforged.neoforge.items.wrapper.RecipeWrapper; + +import javax.annotation.Nonnull; +import java.util.List; +import java.util.Optional; +import java.util.Random; + +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class BlastFurnaceOutputBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation { + + public SmartInventory inputInventory; + public SmartInventory fluxInventory; + public FluidTank primaryTank; + public FluidTank secondaryTank; + protected IFluidHandler fluidCapability; + public IItemHandlerModifiable itemCapability; + public int fuel = 0; + public int fuelConsumeTimer = 0; + public float duration; + public int timer = -1; + public BlockPos tuyerePos; + public BlastFurnaceHatchBlockEntity tuyereBE = null; + public static final int STORAGE_SPACE = 64; + public LerpedFloat coalCokeHeight = LerpedFloat.linear(); + boolean isReinforced = false; + + + public BlastFurnaceOutputBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + setLazyTickRate(10); + inputInventory = new SmartInventory(1, this) + .forbidInsertion() + .forbidExtraction() + .withMaxStackSize(64); + fluxInventory = new SmartInventory(1, this) + .forbidInsertion() + .forbidExtraction() + .withMaxStackSize(64).whenContentsChanged(i -> this.onContentsChanged()); + + primaryTank = new SmartFluidTank(4000, this::onFluidChanged); + + secondaryTank = new SmartFluidTank(4000, this::onFluidChanged); + + + itemCapability = new CombinedInvWrapper(inputInventory, fluxInventory); + fluidCapability = new CombinedTankWrapper(primaryTank, secondaryTank); + } + + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.FluidHandler.BLOCK, + TFMGBlockEntities.BLAST_FURNACE_OUTPUT.get(), + (be, context) -> be.fluidCapability + ); + event.registerBlockEntity( + Capabilities.ItemHandler.BLOCK, + TFMGBlockEntities.BLAST_FURNACE_OUTPUT.get(), + (be, context) -> be.itemCapability + ); + } + + @Override + public void addBehaviours(List behaviours) { + } + + private void onFluidChanged(FluidStack stack) { + if (!hasLevel()) + return; + if (!level.isClientSide) { + setChanged(); + sendData(); + } + } + + public void onContentsChanged() { + if (!inputInventory.isEmpty() && timer == -1) { + executeRecipe(); + } + } + + @Override + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + + CreateLang.translate("goggles.blast_furnace.stats", inputInventory.getStackInSlot(0).getCount()) + .style(ChatFormatting.GRAY) + .forGoggles(tooltip, 1); + + CreateLang.translate("goggles.blast_furnace.height", getSize()) + .forGoggles(tooltip, 1); + CreateLang.translate("goggles.blast_furnace.fuel_amount", fuel) + .forGoggles(tooltip, 1); + + if (timer != -1) + CreateLang.translate("goggles.blast_furnace.timer", timer) + .style(ChatFormatting.GOLD) + .forGoggles(tooltip, 1); + + + if (isReinforced) + CreateLang.translate("goggles.blast_furnace.reinforced") + .style(ChatFormatting.GREEN) + .forGoggles(tooltip); + + TFMGUtils.createFluidTooltip(this, tooltip); + TFMGUtils.createItemTooltip(this, tooltip); + + + return true; + } + + public void executeRecipe() { + + RecipeWrapper inventoryIn = new RecipeWrapper(inputInventory); + Optional> optional = TFMGRecipeTypes.INDUSTRIAL_BLASTING.find(inventoryIn, level); + + if (optional.isEmpty()) + return; + + IndustrialBlastingRecipe recipe = optional.get().value(); + if (recipe.getIngredients().size() > 1) + if (!(recipe.getIngredients().get(1).test(fluxInventory.getItem(0)))) + return; + + if (fluxInventory.getItem(0).getCount() < recipe.getIngredients().size() - 1) + return; + + int baseDuration = recipe.getProcessingDuration() * 20; + int heigth = getSize(); + int maxHeigth = TFMGConfigs.common().machines.blastFurnaceMaxHeight.get(); + double maxTimeModifier = TFMGConfigs.common().machines.blastFurnaceHeightSpeedModifier.get(); + double timeModifier = maxHeigth / ((baseDuration / 2) * maxTimeModifier); + + timer = (int) (baseDuration - (heigth / timeModifier)); + if (isReinforced) + timer /= 2; + } + + @Override + public void tick() { + super.tick(); + + if (level.isClientSide) { + coalCokeHeight.chase(Math.min(fuel + inputInventory.getStackInSlot(0).getCount(), 24), 0.1f, LerpedFloat.Chaser.EXP); + coalCokeHeight.tickChaser(); + } + + if (inputInventory.isEmpty()) + return; + if (getSize() < 3) + return; + + if (fuelConsumeTimer >= TFMGConfigs.common().machines.blastFurnaceFuelConsumption.get() && fuel > 0) { + fuelConsumeTimer = 0; + fuel--; + } + + if (timer > -1) { + RecipeWrapper inventoryIn = new RecipeWrapper(inputInventory); + Optional> optional = TFMGRecipeTypes.INDUSTRIAL_BLASTING.find(inventoryIn, level); + + if (optional.isEmpty()) { + timer = -1; + return; + } + + IndustrialBlastingRecipe recipe = optional.get().value(); + + if (timer == 0) { + if (canProcess(recipe)) { + int itemsUsed = 1; + int fluxUsed = 1; + + if (!(primaryTank.getSpace() >= recipe.getPrimaryResult().getAmount())) + return; + if (recipe.getFluidResults().size() > 1) + if (!(secondaryTank.getSpace() >= recipe.getSecondaryResult().getAmount())) + return; + + inputInventory.getItem(0).shrink(1); + if (recipe.getIngredients().size() > 1) + fluxInventory.getItem(0).shrink(recipe.getIngredients().size() - 1); + primaryTank.fill(recipe.getPrimaryResult(), IFluidHandler.FluidAction.EXECUTE); + if (recipe.getFluidResults().size() > 1) + secondaryTank.fill(recipe.getSecondaryResult(), IFluidHandler.FluidAction.EXECUTE); + + timer = -1; + + sendData(); + setChanged(); + } + } + if (timer > 0 && fuel > 0) { + if (recipe.hotAirUsage > 0 && (tuyerePos == null || !level.getBlockState(tuyerePos).is(TFMGBlocks.BLAST_FURNACE_HATCH.get()))) { + tuyereBE = null; + return; + } + if (tuyereBE == null) + tuyereBE = (BlastFurnaceHatchBlockEntity) level.getBlockEntity(tuyerePos); + + if (tuyereBE.tank.getFluidAmount() < recipe.hotAirUsage || !tuyereBE.tank.getFluid().getFluid().isSame(TFMGFluids.HOT_AIR.getSource())) + return; + + tuyereBE.tank.getFluidInTank(0).setAmount(Math.max(tuyereBE.tank.getFluidInTank(0).getAmount() - recipe.hotAirUsage, 0)); + + if (!recipe.getGasByproduct().isEmpty()) { + if (level.getBlockEntity(getBlockPos().relative(getBlockState().getValue(FACING).getOpposite()).above(getSize())) instanceof BlastFurnaceHatchBlockEntity be) { + be.tank.fill(recipe.getGasByproduct(), IFluidHandler.FluidAction.EXECUTE); + } + } + if (level.isClientSide()) + makeParticles(); + hurtEntities(); + timer--; + fuelConsumeTimer++; + + if (!level.isClientSide) { + setChanged(); + sendData(); + } + } + } + } + + public void makeParticles() { + Random random = Create.RANDOM; + Direction direction = getBlockState().getValue(FACING).getOpposite(); + BlockPos pos = getBlockPos().above().relative(direction); + int shouldSpawnSmoke = random.nextInt(7); + if (shouldSpawnSmoke == 0) { + level.addParticle(ParticleTypes.CAMPFIRE_SIGNAL_SMOKE, pos.getX() + random.nextFloat(0.6f) + 0.2, pos.getY() + 1, pos.getZ() + random.nextFloat(0.6f) + 0.2, 0.0D, 0.08D, 0.0D); + } + } + + private boolean canProcess(IndustrialBlastingRecipe recipe) { + if (fuel == 0) + return false; + + if (!primaryTank.getFluid().isEmpty() && !primaryTank.getFluid().getFluid().isSame(recipe.getPrimaryResult().getFluid())) + return false; + if (!secondaryTank.getFluid().isEmpty() && !secondaryTank.getFluid().getFluid().isSame(recipe.getSecondaryResult().getFluid())) + return false; + return true; + } + + @Override + public void lazyTick() { + super.lazyTick(); + onContentsChanged(); + collectItems(); + } + + @Override + public AABB getRenderBoundingBox() { + return new AABB(getBlockPos()).setMaxY(getBlockPos().getY() + 2); + } + + public void hurtEntities() { + + List entities = level.getEntitiesOfClass(LivingEntity.class, new AABB(this.getBlockPos().relative(getBlockState().getValue(FACING).getOpposite()).above())); + + for (LivingEntity entity : entities) { + if (!entity.fireImmune()) { + entity.setRemainingFireTicks(15); + if (entity.hurt(TFMGDamageSources.blastFurnace(level), 4.0F)) { + entity.playSound(SoundEvents.GENERIC_BURN, 0.4F, 2.0F + entity.getRandom().nextFloat() * 0.4F); + } + + } + } + } + + public void collectItems() { + + List items = level.getEntitiesOfClass(ItemEntity.class, new AABB(this.getBlockPos().relative(getBlockState().getValue(FACING).getOpposite()).above())); + + if (items.isEmpty()) + return; + + ItemStack itemStack = items.get(0).getItem(); + + for (int i = 0; i < 64; i++) { + + if (itemStack.isEmpty()) + return; + + if (itemStack.is(TFMGTags.TFMGItemTags.BLAST_FURNACE_FUEL.tag) && fuel < STORAGE_SPACE) { + + fuel++; + itemStack.shrink(1); + continue; + } + if (itemStack.is(TFMGTags.TFMGItemTags.FLUX.tag) && fluxInventory.getItem(0).getCount() < itemStack.getMaxStackSize()) { + if (fluxInventory.isEmpty() || fluxInventory.getItem(0).is(itemStack.getItem())) { + fluxInventory.setItem(0, new ItemStack(itemStack.getItem(), fluxInventory.getItem(0).getCount() + 1)); + itemStack.shrink(1); + continue; + } + } + if (inputInventory.getItem(0).getCount() < itemStack.getMaxStackSize()) { + if (inputInventory.isEmpty() || inputInventory.getItem(0).is(itemStack.getItem())) { + inputInventory.setItem(0, new ItemStack(itemStack.getItem(), inputInventory.getItem(0).getCount() + 1)); + itemStack.shrink(1); + continue; + } + } + } + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + isReinforced = compound.getBoolean("IsReinforce"); + inputInventory.deserializeNBT(registries,compound.getCompound("InputItems")); + fluxInventory.deserializeNBT(registries,compound.getCompound("Flux")); + timer = compound.getInt("Timer"); + fuel = compound.getInt("Fuel"); + fuelConsumeTimer = compound.getInt("FuelConsumeTimer"); + primaryTank.readFromNBT(registries,compound.getCompound("PrimaryTankContent")); + secondaryTank.readFromNBT(registries,compound.getCompound("SecondaryTankContent")); + } + + @Override + public void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + compound.putBoolean("IsReinforce", isReinforced); + compound.put("InputItems", inputInventory.serializeNBT(registries)); + compound.put("Flux", fluxInventory.serializeNBT(registries)); + compound.putInt("Timer", timer); + compound.putInt("Fuel", fuel); + compound.putInt("FuelConsumeTimer", fuelConsumeTimer); + compound.put("PrimaryTankContent", primaryTank.writeToNBT(registries,new CompoundTag())); + compound.put("SecondaryTankContent", secondaryTank.writeToNBT(registries,new CompoundTag())); + } + + @Override + public void destroy() { + super.destroy(); + ItemHelper.dropContents(level, worldPosition, inputInventory); + ItemHelper.dropContents(level, worldPosition, fluxInventory); + } + + public int getSize() { + + BlockPos middlePos = getBlockPos().relative(getBlockState().getValue(FACING).getOpposite()); + + tuyerePos = null; + + if ((isValidWall(middlePos) == FurnaceBlockType.NONE)) + return 0; + + int size = 0; + + int normalAmount = 0; + int reinforcedAmount = 0; + + for (int i = 0; i < TFMGConfigs.common().machines.blastFurnaceMaxHeight.get(); i++) { + + BlockPos checkedPos = middlePos.above(i).east().south(); + + for (int j = 0; j < 3; j++) { + for (int y = 0; y < 3; y++) { + FurnaceBlockType wall = isValidWall(checkedPos); + FurnaceBlockType support = isValidSupport(checkedPos); + if (checkedPos.getX() == middlePos.getX() ^ checkedPos.getZ() == middlePos.getZ()) { + if (!(i == 0 && level.getBlockState(checkedPos).is(TFMGBlocks.BLAST_FURNACE_OUTPUT.get()))) { + if (wall == FurnaceBlockType.NONE) { + isReinforced = normalAmount == 0 && reinforcedAmount > 0; + return size; + } else { + if (wall == FurnaceBlockType.REGULAR) { + normalAmount++; + } else reinforcedAmount++; + } + } + } else if (checkedPos.getX() == middlePos.getX() && checkedPos.getZ() == middlePos.getZ()) { + if (!level.getBlockState(checkedPos).isAir() && i != 0) { + isReinforced = normalAmount == 0 && reinforcedAmount > 0; + + return size; + } + } else if (support == FurnaceBlockType.NONE) { + isReinforced = normalAmount == 0 && reinforcedAmount > 0; + return size; + } else { + if (support == FurnaceBlockType.REGULAR) { + normalAmount++; + } else reinforcedAmount++; + } + + checkedPos = checkedPos.west(); + } + checkedPos = checkedPos.north(); + checkedPos = checkedPos.east(3); + } + size++; + } + return size; + } + + public FurnaceBlockType isValidWall(BlockPos pos) { + + BlockState state = level.getBlockState(pos); + + if (state.is(TFMGBlocks.BLAST_FURNACE_HATCH.get())) { + if (tuyerePos != null) + return FurnaceBlockType.NONE; + tuyerePos = pos; + } + + if (state.is(TFMGTags.TFMGBlockTags.REINFORCED_BLAST_FURNACE_WALL.tag)) + return FurnaceBlockType.REINFORCED; + if (state.is(TFMGTags.TFMGBlockTags.BLAST_FURNACE_WALL.tag)) + return FurnaceBlockType.REGULAR; + return FurnaceBlockType.NONE; + } + + public FurnaceBlockType isValidSupport(BlockPos pos) { + + BlockState state = level.getBlockState(pos); + + if (state.is(TFMGTags.TFMGBlockTags.REINFORCED_BLAST_FURNACE_SUPPORT.tag)) + return FurnaceBlockType.REINFORCED; + if (state.is(TFMGTags.TFMGBlockTags.BLAST_FURNACE_SUPPORT.tag)) + return FurnaceBlockType.REGULAR; + return FurnaceBlockType.NONE; + } + + + + enum FurnaceBlockType { + NONE, + REGULAR, + REINFORCED + + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/BlastFurnaceRenderer.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/BlastFurnaceRenderer.java new file mode 100644 index 00000000..c9e9e731 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/BlastFurnaceRenderer.java @@ -0,0 +1,47 @@ +package com.drmangotea.tfmg.content.machinery.metallurgy.blast_furnace; + +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; +import net.createmod.catnip.render.CachedBuffers; +import net.minecraft.client.renderer.LevelRenderer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.state.BlockState; + +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class BlastFurnaceRenderer extends SafeBlockEntityRenderer { + + public BlastFurnaceRenderer(BlockEntityRendererProvider.Context context) { + } + + @Override + protected void renderSafe(BlastFurnaceOutputBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, + int light, int overlay) { + + + BlockState blockState = be.getBlockState(); + + float coalCokeLevel = be.coalCokeHeight.getValue() / 64; + + VertexConsumer vb = buffer.getBuffer(RenderType.solid()); + Direction facing = blockState.getValue(FACING); + if (coalCokeLevel > 0) + if (be.getSize() >= 3) { + + CachedBuffers.partial(TFMGPartialModels.COAL_COKE_DUST_LAYER, blockState) + .light(LevelRenderer.getLightColor(be.getLevel(), be.getBlockPos().above().relative(facing.getOpposite()))) + .center() + .rotateYDegrees(facing.getAxis() == Direction.Axis.X ? facing.getCounterClockWise().toYRot() : facing.getClockWise().toYRot()) + .translateY(coalCokeLevel + 1.1f) + .translateX(1) + .uncenter() + .renderInto(ms, vb); + } + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/reinforcement/BlastFurnaceReinforcementBlockItem.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/reinforcement/BlastFurnaceReinforcementBlockItem.java new file mode 100644 index 00000000..d9a3a33a --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/reinforcement/BlastFurnaceReinforcementBlockItem.java @@ -0,0 +1,39 @@ +package com.drmangotea.tfmg.content.machinery.metallurgy.blast_furnace.reinforcement; + +import com.drmangotea.tfmg.base.blocks.TFMGHorizontalDirectionalBlock; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import net.minecraft.core.Direction; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.Nullable; + +public class BlastFurnaceReinforcementBlockItem extends BlockItem { + public BlastFurnaceReinforcementBlockItem(Block p_40565_, Properties p_40566_) { + super(p_40565_, p_40566_); + } + + @Nullable + @Override + protected BlockState getPlacementState(BlockPlaceContext context) { + Level level = context.getLevel(); + Direction face = context.getClickedFace(); + + BlockState originalState = super.getPlacementState(context); + if(originalState == null||originalState.isAir()) + return super.getPlacementState(context); + + BlockState state = originalState.is(TFMGBlocks.BLAST_FURNACE_REINFORCEMENT.get()) ? TFMGBlocks.BLAST_FURNACE_REINFORCEMENT_WALL.getDefaultState() : TFMGBlocks.RUSTED_BLAST_FURNACE_REINFORCEMENT_WALL.getDefaultState(); + + + + if(face.getAxis().isHorizontal()) + if(level.getBlockState(context.getClickedPos().relative(face.getOpposite())).is(TFMGBlocks.FIREPROOF_BRICKS.get())){ + return state.setValue(TFMGHorizontalDirectionalBlock.FACING, face); + } + + return super.getPlacementState(context); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/reinforcement/BlastFurnaceReinforcementWallBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/reinforcement/BlastFurnaceReinforcementWallBlock.java new file mode 100644 index 00000000..1f4dfbc5 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/reinforcement/BlastFurnaceReinforcementWallBlock.java @@ -0,0 +1,71 @@ +package com.drmangotea.tfmg.content.machinery.metallurgy.blast_furnace.reinforcement; + +import com.drmangotea.tfmg.base.blocks.TFMGHorizontalDirectionalBlock; +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class BlastFurnaceReinforcementWallBlock extends TFMGHorizontalDirectionalBlock { + public BlastFurnaceReinforcementWallBlock(Properties p_54120_) { + super(p_54120_); + } + + @Override + public void onPlace(BlockState blockState, Level level, BlockPos pos, BlockState blockState1, boolean b) { + changeFireproofBricks(level, pos, blockState.getValue(FACING).getOpposite(), true); + super.onPlace(blockState, level, pos, blockState1, b); + } + + @Override + public void onRemove(BlockState blockState, Level level, BlockPos pos, BlockState blockState1, boolean b) { + changeFireproofBricks(level, pos, blockState.getValue(FACING).getOpposite(), false); + super.onRemove(blockState, level, pos, blockState1, b); + } + + @Override + public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) { + return TFMGShapes.BLAST_FURNACE_REINFORCEMENT_WALL.get(p_60555_.getValue(FACING)); + } + + @Override + public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, BlockPos neighbor, boolean b) { + + BlockState stateBehind = level.getBlockState(pos.relative(state.getValue(FACING).getOpposite())); + + if(stateBehind.is(TFMGBlocks.FIREPROOF_BRICKS.get())) + changeFireproofBricks((Level) level, pos, state.getValue(FACING).getOpposite(), true); + + + super.neighborChanged(state, level, pos, block, neighbor, b); + } + + @Override + public void onNeighborChange(BlockState state, LevelReader level, BlockPos pos, BlockPos neighbor) { + BlockState stateBehind = level.getBlockState(pos.relative(state.getValue(FACING).getOpposite())); + + if(stateBehind.is(TFMGBlocks.FIREPROOF_BRICKS.get())) + changeFireproofBricks((Level) level, pos, state.getValue(FACING).getOpposite(), false); + + super.onNeighborChange(state, level, pos, neighbor); + } + + public static void changeFireproofBricks(Level level, BlockPos pos, Direction direction, boolean reinforce){ + BlockState state = level.getBlockState(pos.relative(direction)); + if(reinforce&&state.is(TFMGBlocks.FIREPROOF_BRICKS.get())){ + level.setBlock(pos.relative(direction), TFMGBlocks.REINFORCED_FIREPROOF_BRICKS.getDefaultState(), 2); + } + if(!reinforce&&state.is(TFMGBlocks.REINFORCED_FIREPROOF_BRICKS.get())){ + + level.setBlock(pos.relative(direction), TFMGBlocks.FIREPROOF_BRICKS.getDefaultState(), 2); + } + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_stove/BlastStoveBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_stove/BlastStoveBlock.java new file mode 100644 index 00000000..3b08f0bb --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_stove/BlastStoveBlock.java @@ -0,0 +1,79 @@ +package com.drmangotea.tfmg.content.machinery.metallurgy.blast_stove; + + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.api.connectivity.ConnectivityHandler; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.content.fluids.transfer.GenericItemEmptying; +import com.simibubi.create.content.fluids.transfer.GenericItemFilling; +import com.simibubi.create.foundation.block.IBE; +import com.simibubi.create.foundation.fluid.FluidHelper; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.particles.BlockParticleOption; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundSource; +import net.minecraft.util.Mth; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + + +public class BlastStoveBlock extends Block implements IWrenchable, IBE { + + public BlastStoveBlock(Properties p_i48440_1_) { + super(p_i48440_1_); + } + + public static boolean isBlastStove(BlockState state) { + return state.getBlock() instanceof BlastStoveBlock; + } + + @Override + public void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean moved) { + if (oldState.getBlock() == state.getBlock()) + return; + if (moved) + return; + withBlockEntityDo(world, pos, BlastStoveBlockEntity::updateConnectivity); + + } + + + @Override + public void onRemove(BlockState state, Level world, BlockPos pos, BlockState newState, boolean isMoving) { + if (state.hasBlockEntity() && (state.getBlock() != newState.getBlock() || !newState.hasBlockEntity())) { + BlockEntity te = world.getBlockEntity(pos); + if (!(te instanceof BlastStoveBlockEntity)) + return; + BlastStoveBlockEntity tankTE = (BlastStoveBlockEntity) te; + world.removeBlockEntity(pos); + ConnectivityHandler.splitMulti(tankTE); + } + } + + @Override + public Class getBlockEntityClass() { + return BlastStoveBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.BLAST_STOVE.get(); + } + + + + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_stove/BlastStoveBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_stove/BlastStoveBlockEntity.java new file mode 100644 index 00000000..d426318d --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_stove/BlastStoveBlockEntity.java @@ -0,0 +1,604 @@ +package com.drmangotea.tfmg.content.machinery.metallurgy.blast_stove; + + +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.recipes.HotBlastRecipe; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.simibubi.create.api.connectivity.ConnectivityHandler; +import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; +import com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer; +import com.simibubi.create.foundation.fluid.CombinedTankWrapper; +import com.simibubi.create.foundation.recipe.RecipeConditions; +import com.simibubi.create.foundation.recipe.RecipeFinder; +import com.simibubi.create.foundation.utility.CreateLang; +import com.simibubi.create.infrastructure.config.AllConfigs; +import net.createmod.catnip.lang.LangBuilder; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.NbtUtils; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.crafting.Recipe; +import net.minecraft.world.item.crafting.RecipeHolder; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.material.Fluids; +import net.minecraft.world.phys.AABB; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; +import net.neoforged.neoforge.fluids.capability.templates.FluidTank; + +import javax.annotation.Nullable; +import java.util.List; + + +public class BlastStoveBlockEntity extends FluidTankBlockEntity implements IHaveGoggleInformation, IMultiBlockEntityContainer.Fluid { + + private static final int MAX_SIZE = 2; + + protected IFluidHandler primaryCapability; + protected IFluidHandler secondaryCapability; + public FluidTank primaryOutputInventory; + public FluidTank secondaryOutputInventory; + public FluidTank primaryInputInventory; + public FluidTank secondaryInputInventory; + protected BlockPos controller; + protected BlockPos lastKnownPos; + public boolean updateConnectivity; + public int width; + public int height; + private static final Object HotBlastRecipesKey = new Object(); + private static final int SYNC_RATE = 8; + protected int syncCooldown; + protected boolean queuedSync; + public int timer = 0; + + public BlastStoveBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + setLazyTickRate(10); + primaryOutputInventory = TFMGUtils.createTank(8000, true, false, this::onFluidStackChanged); + secondaryOutputInventory = TFMGUtils.createTank(8000, true, false, this::onFluidStackChanged); + primaryInputInventory = TFMGUtils.createTank(8000, false, this::onFluidStackChanged); + secondaryInputInventory = TFMGUtils.createTank(8000, false, this::onFluidStackChanged); + primaryCapability = new CombinedTankWrapper(primaryOutputInventory, secondaryInputInventory); + secondaryCapability = new CombinedTankWrapper(primaryInputInventory, secondaryOutputInventory); + updateConnectivity = false; + height = 1; + width = 1; + refreshCapability(); + } + + public void updateBoilerState() { + } + + public void updateConnectivity() { + updateConnectivity = false; + if (!isController()) + return; + + for (int yOffset = 0; yOffset < height; yOffset++) + for (int xOffset = 0; xOffset < width; xOffset++) + for (int zOffset = 0; zOffset < width; zOffset++) + if (level.getBlockEntity( + worldPosition.offset(xOffset, yOffset, zOffset)) instanceof BlastStoveBlockEntity fbe) + fbe.refreshCapability(); + + + if (level.isClientSide) + return; + refreshCapability(); + + ConnectivityHandler.formMulti(this); + } + + + @Override + @SuppressWarnings("removal") + public void tick() { + super.tick(); + + + if (isController() && !primaryInputInventory.isEmpty() && !secondaryInputInventory.isEmpty() && primaryOutputInventory.getSpace() != 0 && secondaryOutputInventory.getSpace() != 0) { + HotBlastRecipe recipe = getMatchingRecipes(); + if (recipe != null) { + if (timer >= getSpeedModifier() / (getTotalTankSize() * 0.3f)) { + if ((primaryOutputInventory.isEmpty() || primaryOutputInventory.getFluid().isFluidEqual(recipe.getPrimaryResult())) && (secondaryOutputInventory.isEmpty() || secondaryOutputInventory.getFluid().isFluidEqual(recipe.getSecondaryResult()))) { + + + primaryInputInventory.setFluid(new FluidStack(primaryInputInventory.getFluid().copy().getFluidHolder(), primaryInputInventory.getFluidAmount() - recipe.getPrimaryIngredient().getRequiredAmount())); + secondaryInputInventory.setFluid(new FluidStack(secondaryInputInventory.getFluid().copy().getFluidHolder(), secondaryInputInventory.getFluidAmount() - recipe.getSecondaryIngredient().getRequiredAmount())); + + + primaryOutputInventory.setFluid(new FluidStack(recipe.getPrimaryResult().getFluidHolder(), primaryOutputInventory.getFluidAmount() + recipe.getPrimaryResult().getAmount())); + secondaryOutputInventory.setFluid(new FluidStack(recipe.getSecondaryResult().getFluidHolder(), secondaryOutputInventory.getFluidAmount() + recipe.getSecondaryResult().getAmount())); + } + } else { + timer++; + } + + } + } + + + if (syncCooldown > 0) { + syncCooldown--; + if (syncCooldown == 0 && queuedSync) + sendData(); + } + + if (lastKnownPos == null) + lastKnownPos = getBlockPos(); + else if (!lastKnownPos.equals(worldPosition) && worldPosition != null) { + onPositionChanged(); + return; + } + + if (updateConnectivity) + updateConnectivity(); + + } + + public int getSpeedModifier() { + return 100; + } + + + protected Object getRecipeCacheKey() { + return HotBlastRecipesKey; + } + + protected HotBlastRecipe getMatchingRecipes() { + + List>> list = RecipeFinder.get(getRecipeCacheKey(), level, RecipeConditions.isOfType(TFMGRecipeTypes.HOT_BLAST.getType())); + + for (int i = 0; i < list.toArray().length; i++) { + HotBlastRecipe recipe = (HotBlastRecipe) list.get(i).value(); + if (recipe.getPrimaryIngredient().test(primaryInputInventory.getFluid()) && recipe.getSecondaryIngredient().test(secondaryInputInventory.getFluid())) + return recipe; + } + + return null; + } + + @Override + public BlockPos getLastKnownPos() { + return lastKnownPos; + } + + @Override + public boolean isController() { + return controller == null || worldPosition.getX() == controller.getX() + && worldPosition.getY() == controller.getY() && worldPosition.getZ() == controller.getZ(); + } + + @Override + public void initialize() { + super.initialize(); + sendData(); + if (level.isClientSide) + invalidateRenderBoundingBox(); + } + + private void onPositionChanged() { + removeController(true); + lastKnownPos = worldPosition; + } + + protected void onFluidStackChanged(FluidStack newFluidStack) { + if (!hasLevel()) + return; + if (!level.isClientSide) { + setChanged(); + sendData(); + } + + } + + + @SuppressWarnings("unchecked") + @Override + public BlastStoveBlockEntity getControllerBE() { + if (isController()) + return this; + BlockEntity tileEntity = level.getBlockEntity(controller); + if (tileEntity instanceof BlastStoveBlockEntity) + return (BlastStoveBlockEntity) tileEntity; + return null; + } + + public void applyFluidTankSize(int blocks) { + + } + + public void removeController(boolean keepFluids) { + if (level.isClientSide) + return; + updateConnectivity = true; + if (!keepFluids) + applyFluidTankSize(1); + controller = null; + width = 1; + height = 1; + + onFluidStackChanged(primaryOutputInventory.getFluid()); + + refreshCapability(); + setChanged(); + sendData(); + } + + public void sendDataImmediately() { + syncCooldown = 0; + queuedSync = false; + sendData(); + } + + @Override + public void sendData() { + if (syncCooldown > 0) { + queuedSync = true; + return; + } + super.sendData(); + queuedSync = false; + syncCooldown = SYNC_RATE; + } + + + @Override + public void setController(BlockPos controller) { + + if (level.isClientSide && !isVirtual()) + return; + if (controller.equals(this.controller)) + return; + this.controller = controller; + refreshCapability(); + setChanged(); + sendData(); + } + + public void refreshCapability() { + IFluidHandler oldCap = primaryCapability; + IFluidHandler oldSecondaryCap = secondaryCapability; + primaryCapability = handlerForCapability(); + secondaryCapability = handlerForSecondaryCapability(); + invalidateCapabilities(); + + } + + + private IFluidHandler handlerForCapability() { + return isController() ? + new CombinedTankWrapper(primaryOutputInventory, secondaryInputInventory) + : getControllerBE() != null ? getControllerBE().handlerForCapability() : new CombinedTankWrapper(primaryOutputInventory, secondaryInputInventory); + } + + private IFluidHandler handlerForSecondaryCapability() { + return isController() ? + new CombinedTankWrapper(primaryInputInventory, secondaryOutputInventory) + : getControllerBE() != null ? getControllerBE().handlerForSecondaryCapability() : new CombinedTankWrapper(primaryInputInventory, secondaryOutputInventory); + } + + @Override + public BlockPos getController() { + return isController() ? worldPosition : controller; + } + + @Override + protected AABB createRenderBoundingBox() { + if (isController()) + return super.createRenderBoundingBox().expandTowards(width - 1, height - 1, width - 1); + else + return super.createRenderBoundingBox(); + } + + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound, registries, clientPacket); + + BlockPos controllerBefore = controller; + int prevSize = width; + int prevHeight = height; + + updateConnectivity = compound.contains("Uninitialized"); + controller = null; + lastKnownPos = null; + + + if (compound.contains("LastKnownPos")) + lastKnownPos = NbtUtils.readBlockPos(compound, "LastKnownPos").get(); + if (compound.contains("Controller")) + controller = NbtUtils.readBlockPos(compound, "Controller").get(); + + if (isController()) { + width = compound.getInt("Size"); + height = compound.getInt("Height"); + primaryOutputInventory.readFromNBT(registries, compound.getCompound("primaryOutputInventory")); + primaryInputInventory.readFromNBT(registries, compound.getCompound("primaryInputInventory")); + secondaryOutputInventory.readFromNBT(registries, compound.getCompound("secondaryOutputInventory")); + secondaryInputInventory.readFromNBT(registries, compound.getCompound("secondaryInputInventory")); + if (primaryOutputInventory.getSpace() < 0) + primaryOutputInventory.drain(-primaryOutputInventory.getSpace(), IFluidHandler.FluidAction.EXECUTE); + } + + + if (!clientPacket) + return; + + boolean changeOfController = + controllerBefore == null ? controller != null : !controllerBefore.equals(controller); + if (changeOfController || prevSize != width || prevHeight != height) { + if (hasLevel()) + level.sendBlockUpdated(getBlockPos(), getBlockState(), getBlockState(), 16); + invalidateRenderBoundingBox(); + } + + } + + public float getFillState() { + return (float) primaryOutputInventory.getFluidAmount() / primaryOutputInventory.getCapacity(); + } + + + @Override + @SuppressWarnings("removal") + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + + LangBuilder mb = CreateLang.translate("generic.unit.millibuckets"); + + CreateLang.translate("goggles.blast_stove.header") + .forGoggles(tooltip); + CreateLang.builder() + .add(CreateLang.translate("goggles.blast_stove.tank1")) + .add(CreateLang.number(getControllerBE().secondaryCapability.getFluidInTank(0).getAmount()) + .add(mb) + .add(getControllerBE().secondaryCapability.getFluidInTank(0).getFluid() == Fluids.EMPTY ? CreateLang.text("") : CreateLang.text(" "+getControllerBE().secondaryCapability.getFluidInTank(0).getDisplayName().getString())) + .style(ChatFormatting.DARK_GREEN)) + .text(ChatFormatting.GRAY, " / ") + .add(CreateLang.number(8000) + .add(mb) + .style(ChatFormatting.DARK_GRAY)) + .forGoggles(tooltip, 1); + CreateLang.builder() + .add(CreateLang.translate("goggles.blast_stove.tank2")) + .add(CreateLang.number(getControllerBE().primaryCapability.getFluidInTank(1).getAmount()) + .add(mb) + .add(getControllerBE().primaryCapability.getFluidInTank(1).getFluid() == Fluids.EMPTY ? CreateLang.text("") : CreateLang.text(" "+getControllerBE().primaryCapability.getFluidInTank(1).getDisplayName().getString())) + .style(ChatFormatting.DARK_GREEN)) + .text(ChatFormatting.GRAY, " / ") + .add(CreateLang.number(8000) + .add(mb) + .style(ChatFormatting.DARK_GRAY)) + .forGoggles(tooltip, 1); + CreateLang.builder() + .add(CreateLang.translate("goggles.blast_stove.tank3")) + .add(CreateLang.number(getControllerBE().primaryCapability.getFluidInTank(0).getAmount()) + .add(mb) + .add(getControllerBE().primaryCapability.getFluidInTank(0).getFluid() == Fluids.EMPTY ? CreateLang.text("") : CreateLang.text(" "+getControllerBE().primaryCapability.getFluidInTank(0).getDisplayName().getString())) + .style(ChatFormatting.YELLOW)) + .text(ChatFormatting.GRAY, " / ") + .add(CreateLang.number(8000) + .add(mb) + .style(ChatFormatting.DARK_GRAY)) + .forGoggles(tooltip, 1); + CreateLang.builder() + .add(CreateLang.translate("goggles.blast_stove.tank4")) + .add(CreateLang.number(getControllerBE().secondaryCapability.getFluidInTank(1).getAmount()) + .add(mb) + .add(getControllerBE().secondaryCapability.getFluidInTank(1).getFluid() == Fluids.EMPTY ? CreateLang.text("") : CreateLang.text(" "+getControllerBE().secondaryCapability.getFluidInTank(1).getDisplayName().getString())) + .style(ChatFormatting.YELLOW)) + .text(ChatFormatting.GRAY, " / ") + .add(CreateLang.number(8000) + .add(mb) + .style(ChatFormatting.DARK_GRAY)) + .forGoggles(tooltip, 1); + + + + + + + return true; + } + + + @Override + public void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + + if (updateConnectivity) + compound.putBoolean("Uninitialized", true); + + if (lastKnownPos != null) + compound.put("LastKnownPos", NbtUtils.writeBlockPos(lastKnownPos)); + if (!isController()) + compound.put("Controller", NbtUtils.writeBlockPos(controller)); + if (isController()) { + compound.put("primaryOutputInventory", primaryOutputInventory.writeToNBT(registries, new CompoundTag())); + compound.put("primaryInputInventory", primaryInputInventory.writeToNBT(registries, new CompoundTag())); + compound.put("secondaryOutputInventory", secondaryOutputInventory.writeToNBT(registries, new CompoundTag())); + compound.put("secondaryInputInventory", secondaryInputInventory.writeToNBT(registries, new CompoundTag())); + compound.putInt("Size", width); + compound.putInt("Height", height); + } + + forEachBehaviour(tb -> tb.write(compound, registries, clientPacket)); + + if (!clientPacket) + return; + if (queuedSync) + compound.putBoolean("LazySync", true); + + } + + //@Nonnull + //@Override + //public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { + // if (!primaryCapability.isPresent()) + // refreshCapability(); + // if (!secondaryCapability.isPresent()) + // refreshCapability(); + // if(side==null) + // return LazyOptional.empty(); +// +// +// + // if (cap == ForgeCapabilities.FLUID_HANDLER) { + // if(side.getAxis() == Direction.Axis.Y) { + // return primaryCapability.cast(); + // }else + // if(getController().getY()==getBlockPos().getY()){ + // return secondaryCapability.cast(); + // } + // }else + // return super.getCapability(cap, side); +// + // return LazyOptional.empty(); + //} + + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.FluidHandler.BLOCK, + TFMGBlockEntities.BLAST_STOVE.get(), + (be, context) -> { + if (be.fluidCapability == null) + be.refreshCapability(); + if (be.secondaryCapability == null) + be.refreshCapability(); + + + if (context.getAxis() == Direction.Axis.Y) { + return be.primaryCapability; + } else if (be.getController().getY() == be.getBlockPos().getY()) { + return be.secondaryCapability; + } + + return null; + } + ); + } + + + public FluidTank getTankInventory() { + return primaryOutputInventory; + } + + public int getTotalTankSize() { + return width * width * height; + } + + public static int getMaxSize() { + return MAX_SIZE; + } + + public static int getCapacityMultiplier() { + return AllConfigs.server().fluids.fluidTankCapacity.get() * 1000; + } + + public static int getMaxHeight() { + return AllConfigs.server().fluids.fluidTankMaxHeight.get(); + } + + + @Override + public void preventConnectivityUpdate() { + updateConnectivity = false; + } + + @Override + public void notifyMultiUpdated() { + onFluidStackChanged(primaryOutputInventory.getFluid()); + updateBoilerState(); + setChanged(); + + updateConnectivity = true; + //if(isController()) + // for (int yOffset = 0; yOffset < height; yOffset++) + // for (int xOffset = 0; xOffset < width; xOffset++) + // for (int zOffset = 0; zOffset < width; zOffset++) + // if (level.getBlockEntity( + // worldPosition.offset(xOffset, yOffset, zOffset)) instanceof BlastStoveBlockEntity fbe) + // fbe.refreshCapability(); + sendData(); + setChanged(); + } + + @Override + public void setExtraData(@Nullable Object data) { + if (data instanceof Boolean) + window = (boolean) data; + } + + @Override + @Nullable + public Object getExtraData() { + return window; + } + + @Override + public Object modifyExtraData(Object data) { + if (data instanceof Boolean windows) { + windows |= window; + return windows; + } + return data; + } + + @Override + public Direction.Axis getMainConnectionAxis() { + return Direction.Axis.Y; + } + + @Override + public int getMaxLength(Direction.Axis longAxis, int width) { + if (longAxis == Direction.Axis.Y) + return getMaxHeight(); + return getMaxWidth(); + } + + @Override + public int getMaxWidth() { + return MAX_SIZE; + } + + @Override + public int getHeight() { + return height; + } + + @Override + public void setHeight(int height) { + this.height = height; + } + + @Override + public int getWidth() { + return width; + } + + @Override + public void setWidth(int width) { + this.width = width; + } + + @Override + public boolean hasTank() { + return true; + } + + @Override + public void setTankSize(int tank, int blocks) { + applyFluidTankSize(blocks); + } + + +} + diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_stove/BlastStoveItem.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_stove/BlastStoveItem.java new file mode 100644 index 00000000..5e0b506e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_stove/BlastStoveItem.java @@ -0,0 +1,139 @@ +package com.drmangotea.tfmg.content.machinery.metallurgy.blast_stove; + + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.api.connectivity.ConnectivityHandler; +import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.component.DataComponents; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.server.MinecraftServer; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.component.CustomData; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.fluids.FluidStack; + +public class BlastStoveItem extends BlockItem { + + public BlastStoveItem(Block p_i48527_1_, Properties p_i48527_2_) { + super(p_i48527_1_, p_i48527_2_); + } + + @Override + public InteractionResult place(BlockPlaceContext ctx) { + InteractionResult initialResult = super.place(ctx); + if (!initialResult.consumesAction()) + return initialResult; + tryMultiPlace(ctx); + return initialResult; + } + + @Override + protected boolean updateCustomBlockEntityTag(BlockPos blockPos, Level level, Player player, + ItemStack itemStack, BlockState blockState) { + MinecraftServer minecraftserver = level.getServer(); + if (minecraftserver == null) + return false; + CustomData blockEntityData = itemStack.get(DataComponents.BLOCK_ENTITY_DATA); + if (blockEntityData != null) { + CompoundTag nbt = blockEntityData.copyTag(); + nbt.remove("Luminosity"); + nbt.remove("Size"); + nbt.remove("Height"); + nbt.remove("Controller"); + nbt.remove("LastKnownPos"); + if (nbt.contains("TankContent")) { + FluidStack fluid = FluidStack.parseOptional(minecraftserver.registryAccess(), nbt.getCompound("TankContent")); + if (!fluid.isEmpty()) { + fluid.setAmount(Math.min(FluidTankBlockEntity.getCapacityMultiplier(), fluid.getAmount())); + nbt.put("TankContent", fluid.saveOptional(minecraftserver.registryAccess())); + } + } + BlockEntity.addEntityType(nbt, ((IBE) this.getBlock()).getBlockEntityType()); + itemStack.set(DataComponents.BLOCK_ENTITY_DATA, CustomData.of(nbt)); + } + return super.updateCustomBlockEntityTag(blockPos, level, player, itemStack, blockState); + } + private void tryMultiPlace(BlockPlaceContext ctx) { + + Player player = ctx.getPlayer(); + if (player == null) + return; + if (player.isShiftKeyDown()) + return; + Direction face = ctx.getClickedFace(); + if (!face.getAxis() + .isVertical()) + return; + ItemStack stack = ctx.getItemInHand(); + Level world = ctx.getLevel(); + BlockPos pos = ctx.getClickedPos(); + BlockPos placedOnPos = pos.relative(face.getOpposite()); + BlockState placedOnState = world.getBlockState(placedOnPos); + + if (!BlastStoveBlock.isBlastStove(placedOnState)) + return; + + BlastStoveBlockEntity tankAt = ConnectivityHandler.partAt( + TFMGBlockEntities.BLAST_STOVE.get(), world, placedOnPos + ); + if (tankAt == null) + return; + BlastStoveBlockEntity controllerTE = tankAt.getControllerBE(); + if (controllerTE == null) + return; + + int width = controllerTE.width; + if (width == 1) + return; + + int tanksToPlace = 0; + BlockPos startPos = face == Direction.DOWN ? controllerTE.getBlockPos() + .below() + : controllerTE.getBlockPos() + .above(controllerTE.height); + + if (startPos.getY() != pos.getY()) + return; + + for (int xOffset = 0; xOffset < width; xOffset++) { + for (int zOffset = 0; zOffset < width; zOffset++) { + BlockPos offsetPos = startPos.offset(xOffset, 0, zOffset); + BlockState blockState = world.getBlockState(offsetPos); + if (BlastStoveBlock.isBlastStove(blockState)) + continue; + if (!blockState.canBeReplaced()) + return; + tanksToPlace++; + } + } + + if (!player.isCreative() && stack.getCount() < tanksToPlace) + return; + + for (int xOffset = 0; xOffset < width; xOffset++) { + for (int zOffset = 0; zOffset < width; zOffset++) { + BlockPos offsetPos = startPos.offset(xOffset, 0, zOffset); + BlockState blockState = world.getBlockState(offsetPos); + if (BlastStoveBlock.isBlastStove(blockState)) + continue; + BlockPlaceContext context = BlockPlaceContext.at(ctx, offsetPos, face); + player.getPersistentData() + .putBoolean("SilenceTankSound", true); + super.place(context); + player.getPersistentData() + .remove("SilenceTankSound"); + } + } + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_stove/MultiblockCTBehavior.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_stove/MultiblockCTBehavior.java new file mode 100644 index 00000000..73bbc864 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_stove/MultiblockCTBehavior.java @@ -0,0 +1,26 @@ +package com.drmangotea.tfmg.content.machinery.metallurgy.blast_stove; + +import com.simibubi.create.api.connectivity.ConnectivityHandler; +import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry; +import com.simibubi.create.foundation.block.connected.HorizontalCTBehaviour; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.block.state.BlockState; + +public class MultiblockCTBehavior extends HorizontalCTBehaviour { + + public MultiblockCTBehavior(CTSpriteShiftEntry layerShift, CTSpriteShiftEntry topShift) { + super(layerShift, topShift); + } + + public boolean buildContextForOccludedDirections() { + return true; + } + + @Override + public boolean connectsTo(BlockState state, BlockState other, BlockAndTintGetter reader, BlockPos pos, BlockPos otherPos, + Direction face) { + return state.getBlock() == other.getBlock() && ConnectivityHandler.isConnected(reader, pos, otherPos); + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/casting_basin/CastingBasinBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/casting_basin/CastingBasinBlock.java new file mode 100644 index 00000000..7a5cc613 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/casting_basin/CastingBasinBlock.java @@ -0,0 +1,37 @@ +package com.drmangotea.tfmg.content.machinery.metallurgy.casting_basin; + +import com.drmangotea.tfmg.base.blocks.TFMGHorizontalDirectionalBlock; +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class CastingBasinBlock extends TFMGHorizontalDirectionalBlock implements IBE { + public CastingBasinBlock(Properties p_54120_) { + super(p_54120_); + } + + @Override + public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) { + return TFMGShapes.CASTING_BASIN.get(p_60555_.getValue(FACING)); + } + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + @Override + public Class getBlockEntityClass() { + return CastingBasinBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.CASTING_BASIN.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/casting_basin/CastingBasinBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/casting_basin/CastingBasinBlockEntity.java new file mode 100644 index 00000000..800de96c --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/casting_basin/CastingBasinBlockEntity.java @@ -0,0 +1,155 @@ +package com.drmangotea.tfmg.content.machinery.metallurgy.casting_basin; + +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.recipes.CastingRecipe; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.fluid.SmartFluidTank; +import com.simibubi.create.foundation.item.ItemHelper; +import com.simibubi.create.foundation.item.SmartInventory; +import com.simibubi.create.foundation.recipe.RecipeConditions; +import com.simibubi.create.foundation.recipe.RecipeFinder; +import net.createmod.catnip.animation.LerpedFloat; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.crafting.Recipe; +import net.minecraft.world.item.crafting.RecipeHolder; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; +import net.neoforged.neoforge.fluids.capability.templates.FluidTank; +import net.neoforged.neoforge.items.IItemHandlerModifiable; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; +import java.util.function.Supplier; + +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class CastingBasinBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation { + + int flowTimer = 0; + public SmartInventory inventory = new SmartInventory(1, this, 1, false); + + public FluidTank tank = new SmartFluidTank(144, this::onFluidChanged); + public IFluidHandler fluidCapability; + public IItemHandlerModifiable itemCapability; + public CastingRecipe recipe = null; + public int timer = 0; + private static final Object castingRecipeKey = new Object(); + + LerpedFloat fluidLevel = LerpedFloat.linear(); + + public CastingBasinBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + fluidCapability = tank; + itemCapability = inventory; + } + + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.FluidHandler.BLOCK, + TFMGBlockEntities.CASTING_BASIN.get(), + (be, context) -> be.fluidCapability + ); + event.registerBlockEntity( + Capabilities.ItemHandler.BLOCK, + TFMGBlockEntities.CASTING_BASIN.get(), + (be, context) -> be.itemCapability + ); + } + + @Override + public void tick() { + super.tick(); + if (tank.getSpace() == 0) { + if (recipe == null) + findRecipe(); + if (recipe != null) { + if(recipe.getIngrenient().test(tank.getFluid())) { + if (timer >= recipe.getProcessingDuration()) { + tank.setFluid(FluidStack.EMPTY); + inventory.setStackInSlot(0, recipe.getRollableResults().get(0).rollOutput()); + recipe = null; + timer = 0; + } else timer++; + } else findRecipe(); + } else timer = 0; + } + + if(level.isClientSide){ + + if(flowTimer>0) + flowTimer--; + + fluidLevel.chase(tank.getFluidAmount(), 0.3f, LerpedFloat.Chaser.EXP); + fluidLevel.tickChaser(); + } + } + + public void findRecipe() { + recipe = null; + List>> list = RecipeFinder.get(getRecipeCacheKey(), level, RecipeConditions.isOfType(TFMGRecipeTypes.CASTING.getType())); + for (RecipeHolder> recipe1 : list) { + CastingRecipe testedRecipe = (CastingRecipe) recipe1.value(); + if (testedRecipe.getIngrenient().test(tank.getFluid()) && inventory.isEmpty()) { + recipe = testedRecipe; + return; + } + } + } + + protected Object getRecipeCacheKey() { + return castingRecipeKey; + } + + @Override + public void addBehaviours(List behaviours) {} + + private void onFluidChanged(FluidStack stack) { + flowTimer = 10; + sendData(); + setChanged(); + } + + @Override + public void destroy() { + super.destroy(); + ItemHelper.dropContents(level, worldPosition, inventory); + } + + + + @Override + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + TFMGUtils.createFluidTooltip(this, tooltip); + TFMGUtils.createItemTooltip(this, tooltip); + return true; + } + + @Override + protected void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + compound.put("Inventory", inventory.serializeNBT(registries)); + compound.put("Tank", tank.writeToNBT(registries,new CompoundTag())); + compound.putInt("Timer",timer); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + inventory.deserializeNBT(registries,compound.getCompound("Inventory")); + tank.readFromNBT(registries,compound.getCompound("Tank")); + timer = compound.getInt("Timer"); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/casting_basin/CastingBasinRenderer.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/casting_basin/CastingBasinRenderer.java new file mode 100644 index 00000000..f90d0bf5 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/casting_basin/CastingBasinRenderer.java @@ -0,0 +1,47 @@ +package com.drmangotea.tfmg.content.machinery.metallurgy.casting_basin; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; +import com.simibubi.create.foundation.fluid.FluidRenderer; +import net.createmod.catnip.platform.NeoForgeCatnipServices; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.state.BlockState; + +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class CastingBasinRenderer extends SafeBlockEntityRenderer { + public CastingBasinRenderer(BlockEntityRendererProvider.Context context) { + } + + @Override + protected void renderSafe(CastingBasinBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { + if (be.tank.isEmpty()) + return; + BlockState blockState = be.getBlockState(); + NeoForgeCatnipServices.FLUID_RENDERER.renderFluidBox(be.tank.getFluid(), 0.1f, 0.1f, 0.1f, 0.9f, be.fluidLevel.getValue(partialTicks) / 400, 0.9f, buffer, ms, light, false, false); + if (be.flowTimer > 0) { + + Direction facing = blockState.getValue(FACING); + if (facing == Direction.NORTH) { + NeoForgeCatnipServices.FLUID_RENDERER.renderFluidBox(be.tank.getFluid(), (7 / 16f), (8 / 16f), (8 / 16f), (9 / 16f), (9 / 16f), (14 / 16f), buffer, ms, light, false, false); + NeoForgeCatnipServices.FLUID_RENDERER.renderFluidBox(be.tank.getFluid(), (7 / 16f), (1 / 16f), (8 / 16f), (9 / 16f), (8 / 16f), (10 / 16f), buffer, ms, light, false, false); + } + if (facing == Direction.SOUTH) { + NeoForgeCatnipServices.FLUID_RENDERER.renderFluidBox(be.tank.getFluid(), (7 / 16f), (2 / 16f), (6 / 16f), (9 / 16f), (9 / 16f), (8 / 16f), buffer, ms, light, false, false); + NeoForgeCatnipServices.FLUID_RENDERER.renderFluidBox(be.tank.getFluid(), (7 / 16f), (8 / 16f), (2 / 16f), (9 / 16f), (9 / 16f), (6 / 16f), buffer, ms, light, false, false); + } + if (facing == Direction.WEST) { + NeoForgeCatnipServices.FLUID_RENDERER.renderFluidBox(be.tank.getFluid(), (8 / 16f), (2 / 16f), (7 / 16f), (10 / 16f), (9 / 16f), (9 / 16f), buffer, ms, light, false, false); + NeoForgeCatnipServices.FLUID_RENDERER.renderFluidBox(be.tank.getFluid(), (10 / 16f), (8 / 16f), (7 / 16f), (14 / 16f), (9 / 16f), (9 / 16f), buffer, ms, light, false, false); + } + if (facing == Direction.EAST) { + NeoForgeCatnipServices.FLUID_RENDERER.renderFluidBox(be.tank.getFluid(), (6 / 16f), (2 / 16f), (7 / 16f), (8 / 16f), (9 / 16f), (9 / 16f), buffer, ms, light, false, false); + NeoForgeCatnipServices.FLUID_RENDERER.renderFluidBox(be.tank.getFluid(), (2 / 16f), (8 / 16f), (7 / 16f), (6 / 16f), (9 / 16f), (9 / 16f), buffer, ms, light, false, false); + } + + } + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/coke_oven/CokeOvenBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/coke_oven/CokeOvenBlock.java new file mode 100644 index 00000000..51ae1922 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/coke_oven/CokeOvenBlock.java @@ -0,0 +1,71 @@ +package com.drmangotea.tfmg.content.machinery.metallurgy.coke_oven; + +import com.drmangotea.tfmg.base.blocks.TFMGHorizontalDirectionalBlock; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.util.StringRepresentable; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.EnumProperty; + +public class CokeOvenBlock extends TFMGHorizontalDirectionalBlock implements IBE, IWrenchable { + + public static final EnumProperty CONTROLLER_TYPE = EnumProperty.create("controller_type", ControllerType.class); + public CokeOvenBlock(Properties p_54120_) { + super(p_54120_); + registerDefaultState(defaultBlockState().setValue(CONTROLLER_TYPE, ControllerType.CASUAL)); + } + + + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + if(!pOldState.is(TFMGBlocks.COKE_OVEN.get())) + withBlockEntityDo(level,pos, CokeOvenBlockEntity::onPlaced); + } + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + + + @Override + public Class getBlockEntityClass() { + return CokeOvenBlockEntity.class; + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + super.createBlockStateDefinition(builder); + builder.add(CONTROLLER_TYPE); + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.COKE_OVEN.get(); + } + public enum ControllerType implements StringRepresentable { + + CASUAL("casual"), + TOP_ON("top_on"), + MIDDLE_ON("middle_on"), + BOTTOM_ON("bottom_on"); + + private final String name; + + ControllerType(String name) { + this.name = name; + } + + + @Override + public String getSerializedName() { + return this.name; + } + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/coke_oven/CokeOvenBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/coke_oven/CokeOvenBlockEntity.java new file mode 100644 index 00000000..e0a8b296 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/coke_oven/CokeOvenBlockEntity.java @@ -0,0 +1,406 @@ +package com.drmangotea.tfmg.content.machinery.metallurgy.coke_oven; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.config.TFMGConfigs; +import com.drmangotea.tfmg.content.electricity.base.ConnectNeightborsPacket; +import com.drmangotea.tfmg.recipes.CokingRecipe; +import com.drmangotea.tfmg.recipes.IndustrialBlastingRecipe; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.simibubi.create.Create; +import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.fluid.CombinedTankWrapper; +import com.simibubi.create.foundation.fluid.SmartFluidTank; +import com.simibubi.create.foundation.item.ItemHelper; +import com.simibubi.create.foundation.item.SmartInventory; + + +import com.simibubi.create.foundation.utility.CreateLang; +import net.createmod.catnip.lang.LangBuilder; +import net.createmod.catnip.math.VecHelper; +import net.createmod.catnip.animation.LerpedFloat; +import net.createmod.catnip.platform.CatnipServices; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.entity.item.ItemEntity; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.RecipeHolder; +import net.minecraft.world.level.ChunkPos; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec3; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; +import net.neoforged.neoforge.fluids.capability.templates.FluidTank; +import net.neoforged.neoforge.items.IItemHandlerModifiable; +import net.neoforged.neoforge.items.wrapper.RecipeWrapper; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; +import java.util.Optional; + +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class CokeOvenBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation { + + public SmartInventory inventory; + public FluidTank primaryTank; + public FluidTank secondaryTank; + protected IFluidHandler primaryFluidCapability; + protected IFluidHandler secondaryFluidCapability; + public IItemHandlerModifiable itemCapability; + int timer = -1; + public LerpedFloat doorAngle = LerpedFloat.angular(); + public boolean createNextTick; + public BlockPos controller = getBlockPos(); + public int size = 1; + public boolean forceOpen = false; + public CokeOvenBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + setLazyTickRate(10); + inventory = new SmartInventory(1, this) + .withMaxStackSize(64) + .whenContentsChanged(i->this.onContentsChanged()); + primaryTank = new SmartFluidTank(8000, this::onFluidChanged); + secondaryTank = new SmartFluidTank(8000, this::onFluidChanged); + itemCapability = inventory; + primaryFluidCapability = primaryTank; + secondaryFluidCapability = secondaryTank; + createNextTick = true; + } + + public void onContentsChanged(){ + if(!inventory.isEmpty()&& timer == -1){ + executeRecipe(); + } + if(inventory.isEmpty()) + timer = -1; + } + + public void executeRecipe(){ + + Optional> optional = TFMGRecipeTypes.COKING.find(new RecipeWrapper(inventory), level); + if(optional.isEmpty()) + return; + + CokingRecipe recipe = optional.get().value(); + + if(recipe.getIngredients().get(0).test(inventory.getItem(0))) + timer = recipe.getProcessingDuration()/(Math.max(size/2,1)); + } + + private void onFluidChanged(FluidStack stack) { + if (!hasLevel()) + return; + if (!level.isClientSide) { + setChanged(); + sendData(); + } + } + + + + @Override + public void tick() { + super.tick(); + + tickRecipe(); + + if(level.isClientSide){ + + doorAngle.chase((timer > 0 && timer < 50) || forceOpen ? 90 : 0, 0.1f, LerpedFloat.Chaser.EXP); + doorAngle.tickChaser(); + if(!forceOpen) + manageDoors(timer > 0 && timer < 50); + } + if(createNextTick){ + createMultiblock(); + createNextTick = false; + } + } + + public void tickRecipe(){ + if(inventory.isEmpty()||timer == -1) + return; + + Optional> optional = TFMGRecipeTypes.COKING.find(new RecipeWrapper(inventory), level); + + if(optional.isEmpty()) { + timer = -1; + return; + } + CokingRecipe recipe = optional.get().value(); + + if(timer ==0){ + timer = -1; + inventory.getItem(0).shrink(recipe.getIngredients().get(0).getItems()[0].getCount()); + + Direction direction = getBlockState().getValue(FACING); + + Vec3 dropVec = VecHelper.getCenterOf(worldPosition.relative(direction)) + .add(0,0.4,0); + ItemEntity dropped = new ItemEntity(level, dropVec.x, dropVec.y, dropVec.z, recipe.getResultItem(level.registryAccess()).copy()); + dropped.setDefaultPickUpDelay(); + dropped.setDeltaMovement(direction.getAxis() == Direction.Axis.X ? direction == Direction.WEST ? -.01f : .01f : 0, 0.05f, direction.getAxis() == Direction.Axis.Z ? direction == Direction.NORTH ? -.01f : .01f : 0); + level.addFreshEntity(dropped); + + if (!level.isClientSide) { + + setChanged(); + sendData(); + } + onContentsChanged(); + } + + if(timer >0&&primaryTank.getSpace() !=0&&secondaryTank.getSpace() !=0){ + primaryTank.fill(recipe.getPrimaryResult(), IFluidHandler.FluidAction.EXECUTE); + secondaryTank.fill(recipe.getSecondaryResult(), IFluidHandler.FluidAction.EXECUTE); + timer--; + } + } + + @Override + public void lazyTick() { + super.lazyTick(); + onContentsChanged(); + + + + } + + + + @Override + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + + CreateLang.translate("goggles.coke_oven.header") + .style(ChatFormatting.GRAY) + .forGoggles(tooltip); + + if(level.getBlockEntity(controller) instanceof CokeOvenBlockEntity controller) + if (controller.timer > 0) + CreateLang.translate("goggles.coke_oven.progress", controller.timer / 20) + .style(ChatFormatting.GOLD) + .forGoggles(tooltip); + + createFluidTooltip(this,tooltip); + TFMGUtils.createItemTooltip(this, tooltip); + return true; + } + public static boolean createFluidTooltip(CokeOvenBlockEntity be, List tooltip) { + LangBuilder mb = CreateLang.translate("generic.unit.millibuckets"); + + ///////// + + if(be.level.getBlockEntity(be.controller) instanceof CokeOvenBlockEntity controller) { + + + IFluidHandler tank = new CombinedTankWrapper(controller.primaryTank, controller.secondaryTank); + + + if (tank.getTanks() == 0) return false; + + CreateLang.translate("goggles.fluid_storage").style(ChatFormatting.GRAY).forGoggles(tooltip); + + + boolean isEmpty = true; + for (int i = 0; i < tank.getTanks(); i++) { + FluidStack fluidStack = tank.getFluidInTank(i); + if (fluidStack.isEmpty()) continue; + CreateLang.fluidName(fluidStack).style(ChatFormatting.GRAY).forGoggles(tooltip, 1); + CreateLang.builder().add(CreateLang.number(fluidStack.getAmount()).add(mb).style(ChatFormatting.DARK_GREEN)).text(ChatFormatting.GRAY, " / ").add(CreateLang.number(tank.getTankCapacity(i)).add(mb).style(ChatFormatting.DARK_GRAY)).forGoggles(tooltip, 1); + isEmpty = false; + } + if (tank.getTanks() > 1) { + if (isEmpty) tooltip.remove(tooltip.size() - 1); + return true; + } + if (!isEmpty) return true; + + CreateLang.translate("gui.goggles.fluid_container.capacity").add(CreateLang.number(tank.getTankCapacity(0)).add(mb).style(ChatFormatting.DARK_GREEN)).style(ChatFormatting.DARK_GRAY).forGoggles(tooltip, 1); + + } + return true; + } + public void manageDoors(boolean open){ + + for(int i =0; i< size;i++){ + BlockPos pos = getBlockPos().above(i); + + if(level.getBlockEntity(pos) instanceof CokeOvenBlockEntity be&&pos != getBlockPos()){ + be.forceOpen = open; + } + } + } + public boolean isController(){ + return controller == getBlockPos(); + } + public void createMultiblock(){ + + if(level == null) + return; + int maxSize = TFMGConfigs.common().machines.cokeOvenMaxSize.get(); + Direction facing = getBlockState().getValue(FACING); + if(level.getBlockState(getBlockPos().relative(facing)).is(TFMGBlocks.COKE_OVEN.get())||level.getBlockState(getBlockPos().below()).is(TFMGBlocks.COKE_OVEN.get())) + return; + + int size = 1; + for(int i = 1;i<=maxSize;i++){ + boolean cantBuildMultiblock = false; + for(BlockPos pos : BlockPos.betweenClosed(getBlockPos(),getBlockPos().above(i).relative(facing.getOpposite(),i))) { + if(!level.getBlockState(pos).is(TFMGBlocks.COKE_OVEN.get())){ + cantBuildMultiblock = true; + }else + if(level.getBlockState(pos).is(TFMGBlocks.COKE_OVEN.get()) &&level.getBlockState(pos).getValue(FACING) != facing){ + cantBuildMultiblock = true; + } + } + if(cantBuildMultiblock) + break; + size++; + } + for(BlockPos pos : BlockPos.betweenClosed(getBlockPos(),getBlockPos().above(size-1).relative(facing.getOpposite(),size-1))) { + if(level.getBlockEntity(pos) instanceof CokeOvenBlockEntity be&&(!level.getBlockState(getBlockPos().relative(facing)).is(TFMGBlocks.COKE_OVEN.get())&&!level.getBlockState(getBlockPos().below()).is(TFMGBlocks.COKE_OVEN.get()))){ + + be.controller = getBlockPos(); + be.refreshCapability(); + } + } + if(!level.getBlockState(getBlockPos().relative(facing)).is(TFMGBlocks.COKE_OVEN.get())&&!level.getBlockState(getBlockPos().below()).is(TFMGBlocks.COKE_OVEN.get())) + setBlockStates(size); + for(BlockPos pos : BlockPos.betweenClosed(getBlockPos(), getBlockPos().above(this.size-1).relative(facing.getOpposite(),this.size-1))){ + if(level.getBlockEntity(pos) instanceof CokeOvenBlockEntity be){ + if(Math.abs(getBlockPos().getX()-be.getBlockPos().getX())>=size || Math.abs(getBlockPos().getY()-be.getBlockPos().getY())>=size || Math.abs(getBlockPos().getZ()-be.getBlockPos().getZ())>=size) + if (be.controller == getBlockPos()||be.controller!=be.getBlockPos()) { + be.controller = be.getBlockPos(); + be.refreshCapability(); + be.forceOpen = false; + be.doorAngle.setValue(0); + level.setBlock(be.getBlockPos(), getBlockState().setValue(CokeOvenBlock.CONTROLLER_TYPE ,CokeOvenBlock.ControllerType.CASUAL), 2); + } + } + } + this.size = size; + } + public void setBlockStates(int size){ + + if(size>1){ + level.setBlock(getBlockPos(), getBlockState().setValue(CokeOvenBlock.CONTROLLER_TYPE ,CokeOvenBlock.ControllerType.BOTTOM_ON), 2); + level.setBlock(getBlockPos().above(size-1), getBlockState().setValue(CokeOvenBlock.CONTROLLER_TYPE ,CokeOvenBlock.ControllerType.TOP_ON), 2); + } else + level.setBlock(getBlockPos(), getBlockState().setValue(CokeOvenBlock.CONTROLLER_TYPE ,CokeOvenBlock.ControllerType.CASUAL), 2); + + for(int i = 0; i < size; i++) { + BlockPos pos = getBlockPos().above(i); + + if (i > 0&&i != size-1) { + level.setBlock(pos, getBlockState().setValue(CokeOvenBlock.CONTROLLER_TYPE, CokeOvenBlock.ControllerType.MIDDLE_ON), 2); + } + } + } + public void onPlaced(){ + createNextTick = true; + updateOvenBlocks(); + if (level instanceof ServerLevel serverLevel) + CatnipServices.NETWORK.sendToClientsTrackingChunk(serverLevel, new ChunkPos(getBlockPos()),new CokeOvenPacket(getBlockPos())); + } + @Override + public void remove() { + super.remove(); + updateOvenBlocks(); + } + + @Override + public void destroy() { + super.destroy(); + if(isController()) + ItemHelper.dropContents(level, worldPosition, inventory); + } + + public void updateOvenBlocks(){ + int maxSize = TFMGConfigs.common().machines.cokeOvenMaxSize.get(); + Direction facing = getBlockState().getValue(FACING); + + for(BlockPos pos : BlockPos.betweenClosed(getBlockPos(), getBlockPos().below(maxSize).relative(facing,maxSize))){ + // + if(level.getBlockEntity(pos) instanceof CokeOvenBlockEntity be){ + be.createMultiblock(); + + } + } + } + private void refreshCapability() { + IFluidHandler oldPrimaryFluidCap = primaryFluidCapability; + IFluidHandler oldSecondaryFluidCap = secondaryFluidCapability; + IItemHandlerModifiable oldItemCap = itemCapability; + + CokeOvenBlockEntity be; + if(level.getBlockEntity(controller) instanceof CokeOvenBlockEntity be1){ + be = be1; + } else { + controller = getBlockPos(); + be = (CokeOvenBlockEntity) level.getBlockEntity(getBlockPos()); + } + primaryFluidCapability = be.primaryTank; + secondaryFluidCapability = be.secondaryTank; + itemCapability = be.inventory; + invalidateCapabilities(); + } + @Override + public void addBehaviours(List behaviours) {} + //@Override + //public @NotNull LazyOptional getCapability(@NotNull Capability cap, @Nullable Direction side) { +// + // if(cap == ForgeCapabilities.FLUID_HANDLER){ + // return side == Direction.UP ? secondaryFluidCapability.cast() : primaryFluidCapability.cast(); + // } + // if(cap == ForgeCapabilities.ITEM_HANDLER) + // return itemCapability.cast(); +// + // return super.getCapability(cap, side); + //} + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.FluidHandler.BLOCK, + TFMGBlockEntities.COKE_OVEN.get(), + (be, context) -> context == Direction.UP ? be.secondaryFluidCapability : be.primaryFluidCapability + ); + event.registerBlockEntity( + Capabilities.ItemHandler.BLOCK, + TFMGBlockEntities.COKE_OVEN.get(), + (be, context) -> be.itemCapability + ); + } + @Override + protected void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + compound.putInt("Timer", timer); + compound.put("Inventory", inventory.serializeNBT(registries)); + compound.put("PrimaryTankContent", primaryTank.writeToNBT(registries,new CompoundTag())); + compound.put("SecondaryTankContent", secondaryTank.writeToNBT(registries,new CompoundTag())); + compound.putLong("Controller", controller.asLong()); + } + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + timer = compound.getInt("Timer"); + inventory.deserializeNBT(registries,compound.getCompound("Inventory")); + primaryTank.readFromNBT(registries,compound.getCompound("PrimaryTankContent")); + secondaryTank.readFromNBT(registries,compound.getCompound("SecondaryTankContent")); + controller = BlockPos.of(compound.getLong("Controller")); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/coke_oven/CokeOvenCTBehavior.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/coke_oven/CokeOvenCTBehavior.java new file mode 100644 index 00000000..2a4be86d --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/coke_oven/CokeOvenCTBehavior.java @@ -0,0 +1,81 @@ +package com.drmangotea.tfmg.content.machinery.metallurgy.coke_oven; + + +import com.drmangotea.tfmg.base.TFMGSpriteShifts; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry; +import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour; +import net.minecraft.client.renderer.texture.TextureAtlasSprite; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.Nullable; + +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class CokeOvenCTBehavior extends ConnectedTextureBehaviour.Base { + + @Override + public CTSpriteShiftEntry getShift(BlockState state, Direction direction, @Nullable TextureAtlasSprite sprite) { + Direction cokeOvenDirection = state.getValue(FACING); + + if (cokeOvenDirection == null) + return null; + + + if (direction == Direction.UP) + return TFMGSpriteShifts.COKE_OVEN_TOP; + if (direction == Direction.DOWN) + return TFMGSpriteShifts.COKE_OVEN_BOTTOM; + return TFMGSpriteShifts.COKE_OVEN_SIDE; + } + + @Override + protected Direction getUpDirection(BlockAndTintGetter reader, BlockPos pos, BlockState state, Direction face) { + + if(face.getAxis().isVertical()) + return state.getValue(FACING).getOpposite(); + + return Direction.UP; + } +// +// +// +@Override +protected Direction getRightDirection(BlockAndTintGetter reader, BlockPos pos, BlockState state, Direction face) { + //Axis vaultBlockAxis = ItemVaultBlock.getVaultBlockAxis(state); + //if (face.getAxis() + // .isVertical() && vaultBlockAxis == Axis.X) + // return super.getRightDirection(reader, pos, state, face).getClockWise(); + //if (face.getAxis() == vaultBlockAxis || face.getAxis() + // .isVertical()) + // return super.getRightDirection(reader, pos, state, face); + //return Direction.fromAxisAndDirection(Axis.Y, face.getAxisDirection()); + + + + return state.getValue(FACING).getClockWise(); +} + + public boolean buildContextForOccludedDirections() { + return super.buildContextForOccludedDirections(); + } + + @Override + public boolean connectsTo(BlockState state, BlockState other, BlockAndTintGetter reader, BlockPos pos, + BlockPos otherPos, Direction face) { + + + +//return true; + + if(other.is(TFMGBlocks.COKE_OVEN.get())){ + if(other.getValue(FACING)==state.getValue(FACING)) + return super.connectsTo(state,other,reader,pos,otherPos,face); + + } + return false; + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/coke_oven/CokeOvenGenerator.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/coke_oven/CokeOvenGenerator.java new file mode 100644 index 00000000..9dc3dc21 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/coke_oven/CokeOvenGenerator.java @@ -0,0 +1,45 @@ +package com.drmangotea.tfmg.content.machinery.metallurgy.coke_oven; + + + +import com.drmangotea.tfmg.TFMG; +import com.simibubi.create.foundation.data.SpecialBlockStateGen; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.model.generators.ModelFile; + +import static com.drmangotea.tfmg.content.machinery.metallurgy.coke_oven.CokeOvenBlock.CONTROLLER_TYPE; + + +public class CokeOvenGenerator extends SpecialBlockStateGen { + @Override + protected int getXRotation(BlockState state) { + return 0; + } + + @Override + protected int getYRotation(BlockState state) { + return horizontalAngle(state.getValue(CokeOvenBlock.FACING)); + } + + + + + + + + @Override + public ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, + BlockState state) { + + String path = "block/coke_oven/block_" + + state.getValue(CONTROLLER_TYPE).getSerializedName() + ; + + return prov.models() + .getExistingFile(TFMG.asResource(path)); + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/coke_oven/CokeOvenPacket.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/coke_oven/CokeOvenPacket.java new file mode 100644 index 00000000..b07fe9e7 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/coke_oven/CokeOvenPacket.java @@ -0,0 +1,40 @@ +package com.drmangotea.tfmg.content.machinery.metallurgy.coke_oven; + + +import com.drmangotea.tfmg.content.electricity.base.ConnectNeightborsPacket; +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.networking.BlockEntityDataPacket; +import io.netty.buffer.ByteBuf; +import net.minecraft.core.BlockPos; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; + +public class CokeOvenPacket extends BlockEntityDataPacket { + + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + BlockPos.STREAM_CODEC, packet -> packet.pos, + CokeOvenPacket::new + ); + + public CokeOvenPacket(BlockPos pos) { + super(pos); + } + + + @Override + protected void handlePacket(SmartBlockEntity blockEntity) { + + if(blockEntity instanceof CokeOvenBlockEntity be) { + be.onPlaced(); + } + + } + + + @Override + public PacketTypeProvider getTypeProvider() { + return TFMGPackets.COKE_OVEN_PACKET; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/coke_oven/CokeOvenRenderer.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/coke_oven/CokeOvenRenderer.java new file mode 100644 index 00000000..1ed0f4ca --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/coke_oven/CokeOvenRenderer.java @@ -0,0 +1,73 @@ +package com.drmangotea.tfmg.content.machinery.metallurgy.coke_oven; + +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; +import net.createmod.catnip.render.CachedBuffers; +import net.minecraft.client.renderer.LevelRenderer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.state.BlockState; + +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; +import static com.drmangotea.tfmg.content.machinery.metallurgy.coke_oven.CokeOvenBlock.CONTROLLER_TYPE; + +public class CokeOvenRenderer extends SafeBlockEntityRenderer { + public CokeOvenRenderer(BlockEntityRendererProvider.Context context) {} + @Override + protected void renderSafe(CokeOvenBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { + BlockState blockState = be.getBlockState(); + if(be.getLevel().getBlockState(be.getBlockPos().relative(blockState.getValue(FACING))).is(TFMGBlocks.COKE_OVEN.get())) + return; + int lightInFront = LevelRenderer.getLightColor(be.getLevel(), be.getBlockPos().relative(be.getBlockState().getValue(FACING))); + + PartialModel right_door = TFMGPartialModels.COKE_OVEN_DOOR_RIGHT; + PartialModel left_door = TFMGPartialModels.COKE_OVEN_DOOR_LEFT; + + switch (blockState.getValue(CONTROLLER_TYPE)){ + case TOP_ON -> { + right_door = TFMGPartialModels.COKE_OVEN_DOOR_RIGHT_TOP; + left_door = TFMGPartialModels.COKE_OVEN_DOOR_LEFT_TOP; + } + case BOTTOM_ON ->{ + right_door = TFMGPartialModels.COKE_OVEN_DOOR_RIGHT_BOTTOM; + left_door = TFMGPartialModels.COKE_OVEN_DOOR_LEFT_BOTTOM; + } + case MIDDLE_ON ->{ + right_door = TFMGPartialModels.COKE_OVEN_DOOR_RIGHT_MIDDLE; + left_door = TFMGPartialModels.COKE_OVEN_DOOR_LEFT_MIDDLE; + } + case CASUAL -> {} + } + + CachedBuffers.partial(right_door, blockState) + .light(lightInFront) + .center() + .rotateYDegrees(blockState.getValue(FACING).getAxis() == Direction.Axis.Z ? Math.abs(blockState.getValue(FACING).toYRot()-180) : blockState.getValue(FACING).toYRot()) + .translateZ(-0.5f) + .translateX(-0.5f) + .rotateYDegrees(be.doorAngle.getValue()) + .translateZ(0.5f) + .translateX(0.5f) + .uncenter() + .renderInto(ms, buffer.getBuffer(RenderType.cutoutMipped())); + CachedBuffers.partial(left_door, blockState) + .light(lightInFront) + .center() + .rotateYDegrees(blockState.getValue(FACING).getAxis() == Direction.Axis.Z ? Math.abs(blockState.getValue(FACING).toYRot()-180) : blockState.getValue(FACING).toYRot()) + .translateZ(-0.5f) + .translateX(0.5f) + .rotateYDegrees(-be.doorAngle.getValue()) + .translateZ(0.5f) + .translateX(-0.5f) + .uncenter() + .renderInto(ms, buffer.getBuffer(RenderType.cutoutMipped())); + + // ms.popPose(); + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/air_intake/AirIntakeBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/air_intake/AirIntakeBlock.java new file mode 100644 index 00000000..e489c95d --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/air_intake/AirIntakeBlock.java @@ -0,0 +1,98 @@ +package com.drmangotea.tfmg.content.machinery.misc.air_intake; + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.content.kinetics.base.DirectionalKineticBlock; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.RenderShape; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BooleanProperty; + +public class AirIntakeBlock extends DirectionalKineticBlock implements IBE, IWrenchable { + + + + public static final BooleanProperty INVISIBLE = BooleanProperty.create("invisible"); + + + + public AirIntakeBlock(Properties properties) { + super(properties); + this.registerDefaultState(this.stateDefinition.any().setValue(INVISIBLE, false)); + } + + @Override + public Direction.Axis getRotationAxis(BlockState state) { + return state.getValue(FACING).getAxis(); + } + + + @Override + public boolean hasShaftTowards(LevelReader world, BlockPos pos, BlockState state, Direction face) { + AirIntakeBlockEntity be = (AirIntakeBlockEntity) world.getBlockEntity(pos); + + if(be.hasShaft) { + return face == state.getValue(FACING).getOpposite(); + }else return false; + } + public InteractionResult onWrenched(BlockState state, UseOnContext context) { + + Direction direction = context.getClickedFace(); + Level level = context.getLevel(); + AirIntakeBlockEntity be = (AirIntakeBlockEntity) level.getBlockEntity(context.getClickedPos()); + + if(direction == state.getValue(FACING).getOpposite()) { + ((AirIntakeBlockEntity) level.getBlockEntity(context.getClickedPos())).hasShaft = !be.hasShaft; + ////////// + BlockPos pos = context.getClickedPos(); + + IWrenchable.playRotateSound(level,pos); + + AirIntakeBlockEntity kineticBlockEntity = (AirIntakeBlockEntity) level.getBlockEntity(pos); + if(!kineticBlockEntity.hasShaft) { + if (kineticBlockEntity.hasNetwork()) + kineticBlockEntity.getOrCreateNetwork() + .remove(kineticBlockEntity); + kineticBlockEntity.detachKinetics(); + kineticBlockEntity.removeSource(); + kineticBlockEntity.setSpeed(0); + kineticBlockEntity.remove(); + kineticBlockEntity.notifyUpdate(); + } else{ + kineticBlockEntity.attachKinetics(); + kineticBlockEntity.notifyUpdate(); + } + } + + + + return super.onWrenched(state,context); + } + + @Override + public Class getBlockEntityClass() { + return AirIntakeBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.AIR_INTAKE.get(); + } + @Override + public RenderShape getRenderShape(BlockState pState) { + return RenderShape.MODEL; + } + + protected void createBlockStateDefinition(StateDefinition.Builder p_55125_) { + p_55125_.add(FACING, INVISIBLE); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/air_intake/AirIntakeBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/air_intake/AirIntakeBlockEntity.java new file mode 100644 index 00000000..ac218277 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/air_intake/AirIntakeBlockEntity.java @@ -0,0 +1,517 @@ +package com.drmangotea.tfmg.content.machinery.misc.air_intake; + +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import com.simibubi.create.foundation.fluid.SmartFluidTank; + + +import com.simibubi.create.foundation.utility.CreateLang; +import net.createmod.catnip.animation.LerpedFloat; +import net.createmod.catnip.lang.LangBuilder; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.AABB; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; +import net.neoforged.neoforge.fluids.capability.templates.FluidTank; + + +import javax.annotation.Nonnull; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +import static com.drmangotea.tfmg.content.machinery.misc.air_intake.AirIntakeBlock.INVISIBLE; +import static com.simibubi.create.content.kinetics.base.DirectionalKineticBlock.FACING; + +public class AirIntakeBlockEntity extends KineticBlockEntity implements IWrenchable { + + int diameter = 1; + + boolean isController=false; + + public boolean hasShaft=true; + + boolean isUsedByController = false; + + public BlockPos controller; + + public List blockEntities = new ArrayList<>(); + + public float maxShaftSpeed =0; + + public float angle = 0; + public LerpedFloat visual_angle = LerpedFloat.angular(); + + protected FluidTank tankInventory; + protected IFluidHandler fluidCapability; + + + public AirIntakeBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + super(typeIn, pos, state); + tankInventory = createInventory(); + fluidCapability = tankInventory; + + + } + + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.FluidHandler.BLOCK, + TFMGBlockEntities.AIR_INTAKE.get(), + (be, context) -> be.fluidCapability + ); + } + + public void tick(){ + super.tick(); + + //if(!level.isClientSide) { + int production = ((int) maxShaftSpeed * ((diameter * diameter))) / 40; + if (tankInventory.getFluidAmount() + production <= tankInventory.getCapacity()) { + //tankInventory.fill(new FluidStack(TFMGFluids.AIR.getSource(), production), IFluidHandler.FluidAction.EXECUTE); + tankInventory.setFluid(new FluidStack(TFMGFluids.AIR.get(), production + tankInventory.getFluidAmount())); + // if(controller!=null) { + // ((AirIntakeBlockEntity) level.getBlockEntity(controller)).setChanged(); + // ((AirIntakeBlockEntity) level.getBlockEntity(controller)).sendData(); + // } + } + // } + //////////////// + + if(isUsedByController) { + refreshCapability(); + sendData(); + setChanged(); + } + + + if(diameter == 3){ + visual_angle.chase(angle, 0.1f, LerpedFloat.Chaser.EXP); + visual_angle.tickChaser(); + } + + angle+=maxShaftSpeed/2; + + + angle %= 360; + + + if(isUsedByController) + blockEntities.clear(); + + + + if(!this.getBlockState().getValue(INVISIBLE)){ + if(isController||isUsedByController){ + level.setBlock(this.getBlockPos(),this.getBlockState().setValue(INVISIBLE,true),2); + } + + + } + if(!isController&&!isUsedByController) + level.setBlock(this.getBlockPos(),this.getBlockState().setValue(INVISIBLE,false),2); + + if(controller == null) + controller = this.getBlockPos(); + + diameter =getPossibleDiameter(); + + if(controller == this.getBlockPos()) { + + isUsedByController = false; + } else { + isUsedByController = true; + isController = false; + } + + if(diameter ==1) { + isController = false; + + } + + if(!(level.getBlockEntity(controller) instanceof AirIntakeBlockEntity)) { + isUsedByController = false; + controller = this.getBlockPos(); + + } else { + + if(!(((AirIntakeBlockEntity) level.getBlockEntity(controller)).isController)) + isUsedByController = false; + } + //else + // if(!(((AirIntakeBlockEntity) level.getBlockEntity(controller)).isController)) + // controller = this.getBlockPos(); + + if(controller!=null) { + if(level.getBlockEntity(controller)!=null) + if(((AirIntakeBlockEntity)level.getBlockEntity(controller)).diameter==2) { + int x = Math.abs(this.getBlockPos().getX() - controller.getX()); + int y = Math.abs(this.getBlockPos().getY() - controller.getY()); + int z = Math.abs(this.getBlockPos().getZ() - controller.getZ()); + + int distanceFromController = x + y + z; + if (x > 1 || y > 1 || z > 1) { + isUsedByController = false; + controller = this.getBlockPos(); + } + } + if(level.getBlockEntity(controller)!=null) + if(((AirIntakeBlockEntity)level.getBlockEntity(controller)).diameter==1) { + isUsedByController = false; + controller = this.getBlockPos(); + } + + } + + + + //////////////////////// + + if(diameter == 1){ + maxShaftSpeed = Math.abs(getSpeed()); + + }else { + maxShaftSpeed = Math.abs(getSpeed()); + List speeds = new ArrayList<>(); +// + for (AirIntakeBlockEntity be : blockEntities) { + speeds.add(Math.abs(be.getSpeed())); +// + } +// + for(float testedSpeed : speeds){ + if(testedSpeed> maxShaftSpeed) + maxShaftSpeed = testedSpeed; + } + // maxShaftSpeed = getSpeed(); + } + + + + if(isUsedByController) + return; + + if(diameter ==2){ + + if(blockEntities.toArray().length!=4) + return; + } + if(diameter ==3){ + if(blockEntities.toArray().length!=9) + return; + } + + + + + } + @Override + public void invalidate() { + super.invalidate(); + + invalidateCapabilities(); + } + + public InteractionResult onWrenched(BlockState state, UseOnContext context){ + Direction direction = context.getClickedFace(); + + if(direction == getBlockState().getValue(FACING).getOpposite()) { + hasShaft = !hasShaft; + } + return InteractionResult.SUCCESS; + } + + public void setController(BlockPos controllerPos) { + // isUsedByController = true; + controller = controllerPos; + + } + + + // @Nonnull + // @Override + // @SuppressWarnings("removal") + // public LazyOptional getCapability(@Nonnull Capability cap, Direction side) { +// +// +// + // if (!fluidCapability.isPresent()) { + // refreshCapability(); + // sendData(); + // setChanged(); + // } +// +// +// + // if (cap == ForgeCapabilities.FLUID_HANDLER) + // return fluidCapability.cast(); + // return super.getCapability(cap, side); + // } + + private void refreshCapability() { + + IFluidHandler handlerForCapability; + + if (controller == null || controller == this.getBlockPos() + + ) { + handlerForCapability = tankInventory; + } else + if(((AirIntakeBlockEntity) level.getBlockEntity(controller))!=null) { + handlerForCapability = ((AirIntakeBlockEntity) level.getBlockEntity(controller)).tankInventory; + }else handlerForCapability = tankInventory; + + + + IFluidHandler finalHandlerForCapability = handlerForCapability; + fluidCapability = finalHandlerForCapability; + //oldCap.invalidate(); + } + + + + + + public int getPossibleDiameter(){ + + if(controller !=this.getBlockPos()) + return 1; + + + + BlockPos checkedPos = this.getBlockPos(); + Direction direction = this.getBlockState().getValue(FACING); + + + + List checkedPosses = new ArrayList<>(); + checkedPos = this.getBlockPos(); + + boolean canBeMedium = true; + for(int x = 0;x < 2; x++){ + for(int z = 0;z < 2; z++){ + checkedPosses.add(checkedPos); + if(direction.getAxis().isHorizontal()) { + checkedPos = checkedPos.above(); + }else checkedPos = checkedPos.east(); + } + if(direction.getAxis().isHorizontal()) { + checkedPos = checkedPos.below(2); + checkedPos = checkedPos.relative(direction.getClockWise()); + } else { + checkedPos = checkedPos.west(2); + checkedPos = checkedPos.south(); + + } + } + List checkedPossesLarge = new ArrayList<>(); + checkedPos = this.getBlockPos(); + + boolean canBeLarge = true; + for(int x = 0;x < 3; x++){ + for(int z = 0;z < 3; z++){ + checkedPossesLarge.add(checkedPos); + if(direction.getAxis().isHorizontal()) { + checkedPos = checkedPos.above(); + }else checkedPos = checkedPos.east(); + } + if(direction.getAxis().isHorizontal()) { + checkedPos = checkedPos.below(3); + checkedPos = checkedPos.relative(direction.getClockWise()); + } else { + checkedPos = checkedPos.west(3); + checkedPos = checkedPos.south(); + + } + } + //LARGE + for(BlockPos pos : checkedPossesLarge){ + if(!(level.getBlockEntity(pos) instanceof AirIntakeBlockEntity)) { + canBeLarge = false; + break; + } + + // ((AirIntakeBlockEntity) level.getBlockEntity(pos)).controller = this.getBlockPos(); + AirIntakeBlockEntity checkedBE = (AirIntakeBlockEntity) level.getBlockEntity(pos); + + //if(checkedBE.diameter<3) + // ((AirIntakeBlockEntity) level.getBlockEntity(pos)).isController = false; + + // if(pos!=this.getBlockPos()) + // if(checkedBE.isController) { +// +// + // canBeLarge = false; + // break; + // } + + + + if(checkedBE.getBlockState().getValue(FACING) != this.getBlockState().getValue(FACING)) { + canBeLarge = false; + break; + } + + //if(pos!=this.getBlockPos()) + // ((AirIntakeBlockEntity) level.getBlockEntity(pos)).isUsedByController = true; + + + } + //MEDIUM + for(BlockPos pos : checkedPosses){ + if(!(level.getBlockEntity(pos) instanceof AirIntakeBlockEntity)) { + canBeMedium = false; + break; + } + + // ((AirIntakeBlockEntity) level.getBlockEntity(pos)).controller = this.getBlockPos(); + AirIntakeBlockEntity checkedBE = (AirIntakeBlockEntity) level.getBlockEntity(pos); + + if(pos!=this.getBlockPos()) + if(checkedBE.isController) { + canBeMedium = false; + break; + } + + + if(checkedBE.getBlockState().getValue(FACING) != this.getBlockState().getValue(FACING)) { + canBeMedium = false; + break; + } + + //if(pos!=this.getBlockPos()) + // ((AirIntakeBlockEntity) level.getBlockEntity(pos)).isUsedByController = true; + + + } + + + if(canBeLarge) { + this.blockEntities.clear(); + for(BlockPos pos : checkedPossesLarge) { + //if(((AirIntakeBlockEntity) level.getBlockEntity(pos)).isUsedByController&&((AirIntakeBlockEntity) level.getBlockEntity(pos)).controller!=this.getBlockPos()&&pos!=this.getBlockPos()) { + // controller = this.getBlockPos(); + // isController = false; + // return 1; + //} + + if((((AirIntakeBlockEntity) level.getBlockEntity(pos)).isUsedByController&&((AirIntakeBlockEntity) level.getBlockEntity(pos)).controller!=this.getBlockPos()&&pos!=this.getBlockPos())||isController) { + + ((AirIntakeBlockEntity) level.getBlockEntity(pos)).isUsedByController = true; + ((AirIntakeBlockEntity) level.getBlockEntity(pos)).isController = false; + ((AirIntakeBlockEntity) level.getBlockEntity(pos)).controller =this.getBlockPos(); + + } + + ((AirIntakeBlockEntity) level.getBlockEntity(pos)).setController(this.getBlockPos()); + this.blockEntities.add((AirIntakeBlockEntity) level.getBlockEntity(pos)); + } + + controller = this.getBlockPos(); + isController = true; + return 3; + } + + + if(canBeMedium) { + this.blockEntities.clear(); + + + + for(BlockPos pos : checkedPosses) { + if(((AirIntakeBlockEntity) level.getBlockEntity(pos)).isUsedByController&&((AirIntakeBlockEntity) level.getBlockEntity(pos)).controller!=this.getBlockPos()&&pos!=this.getBlockPos()) { + controller = this.getBlockPos(); + isController = false; + return 1; + } + ((AirIntakeBlockEntity) level.getBlockEntity(pos)).setController(this.getBlockPos()); + this.blockEntities.add((AirIntakeBlockEntity) level.getBlockEntity(pos)); + } + + controller = this.getBlockPos(); + isController = true; + return 2; + } + + controller = this.getBlockPos(); + isController = false; + return 1; + } + @Override + protected AABB createRenderBoundingBox() { + + + return new AABB(this.getBlockPos()).inflate(3); + } + @Override + @SuppressWarnings("removal") + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + + + TFMGUtils.createFluidTooltip(this,tooltip); + + return true; + } + protected SmartFluidTank createInventory() { + return new SmartFluidTank(8000, this::onFluidStackChanged){ + @Override + public boolean isFluidValid(FluidStack stack) { + return stack.getFluid().isSame(TFMGFluids.AIR.getSource()); + } + // @Override + // public FluidStack drain(FluidStack resource, FluidAction action) { + // return FluidStack.EMPTY; + // } + }; + } + + protected void onFluidStackChanged(FluidStack newFluidStack) { + setChanged(); + sendData(); + //if(((AirIntakeBlockEntity) level.getBlockEntity(controller))!=null) { + // ((AirIntakeBlockEntity) level.getBlockEntity(controller)).setChanged(); + // ((AirIntakeBlockEntity) level.getBlockEntity(controller)).sendData(); + //} + + } + + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + + diameter = compound.getInt("Diameter"); + isController = compound.getBoolean("IsController"); + isUsedByController = compound.getBoolean("IsUsed"); + hasShaft = compound.getBoolean("HasShaft"); + tankInventory.readFromNBT(registries,compound.getCompound("TankContent")); + + } + + @Override + public void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + + + compound.putInt("Diameter", diameter); + compound.putBoolean("IsController", isController); + compound.putBoolean("IsUsed", isUsedByController); + compound.putBoolean("HasShaft", hasShaft); + compound.put("TankContent", tankInventory.writeToNBT(registries,new CompoundTag())); + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/air_intake/AirIntakeGenerator.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/air_intake/AirIntakeGenerator.java new file mode 100644 index 00000000..8dad13cc --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/air_intake/AirIntakeGenerator.java @@ -0,0 +1,35 @@ +package com.drmangotea.tfmg.content.machinery.misc.air_intake; + +import com.simibubi.create.content.contraptions.piston.MechanicalPistonBlock; +import com.simibubi.create.foundation.data.SpecialBlockStateGen; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.model.generators.ModelFile; + +import static com.simibubi.create.foundation.data.AssetLookup.partialBaseModel; + +public class AirIntakeGenerator extends SpecialBlockStateGen { + @Override + protected int getXRotation(BlockState state) { + Direction facing = state.getValue(MechanicalPistonBlock.FACING); + return facing.getAxis() + .isVertical() ? facing == Direction.DOWN ? 180 : 0 : 90; + } + + @Override + protected int getYRotation(BlockState state) { + Direction facing = state.getValue(MechanicalPistonBlock.FACING); + return facing.getAxis() + .isVertical() ? 0 : horizontalAngle(facing) + 180; + } + + @Override + public ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, BlockState state) { + return state.getValue(AirIntakeBlock.INVISIBLE) ? partialBaseModel(ctx, prov, "empty") + : partialBaseModel(ctx, prov); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/air_intake/AirIntakeRenderer.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/air_intake/AirIntakeRenderer.java new file mode 100644 index 00000000..ca79f216 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/air_intake/AirIntakeRenderer.java @@ -0,0 +1,161 @@ +package com.drmangotea.tfmg.content.machinery.misc.air_intake; + +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer; +import net.createmod.catnip.animation.AnimationTickHolder; +import net.createmod.catnip.render.CachedBuffers; +import net.createmod.catnip.render.SuperByteBuffer; +import net.minecraft.client.renderer.LevelRenderer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.core.Direction; +import net.minecraft.util.Mth; + +import static net.minecraft.world.level.block.state.properties.BlockStateProperties.FACING; + +public class AirIntakeRenderer extends KineticBlockEntityRenderer { + + + public AirIntakeRenderer(BlockEntityRendererProvider.Context context) { + super(context); + } + + + @Override + protected void renderSafe(AirIntakeBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, + int light, int overlay) { + + Direction direction = be.getBlockState() + .getValue(FACING); + VertexConsumer vb = buffer.getBuffer(RenderType.cutoutMipped()); + + SuperByteBuffer frame; + if (be.hasShaft) { + frame = CachedBuffers.partialFacing(TFMGPartialModels.AIR_INTAKE_FRAME, be.getBlockState(), direction).light(light); + } else + frame = CachedBuffers.partialFacing(TFMGPartialModels.AIR_INTAKE_FRAME_CLOSED, be.getBlockState(), direction).light(light); + /// + if (direction == Direction.NORTH) + frame.translateZ(0.001f); + if (direction == Direction.SOUTH) + frame.translateZ(-0.001f); + if (direction == Direction.WEST) + frame.translateX(0.001f); + if (direction == Direction.EAST) + frame.translateX(-0.001f); + if (direction == Direction.UP) + frame.translateY(-0.001f); + if (direction == Direction.DOWN) + frame.translateY(0.001f); + + frame.renderInto(ms, vb); + + /// + if (be.diameter == 2) { + SuperByteBuffer chassisMedium = CachedBuffers.partialFacing(TFMGPartialModels.AIR_INTAKE_MEDIUM, be.getBlockState(), direction).light(light); + if(direction == Direction.UP) + chassisMedium.translateZ(1); + if(direction.getAxis().isVertical()) + chassisMedium.translateX(1); + + + chassisMedium.renderInto(ms, vb); + } + + if (be.diameter == 3) { + SuperByteBuffer chassisLarge = CachedBuffers.partialFacing(TFMGPartialModels.AIR_INTAKE_LARGE, be.getBlockState(), direction).light(light); + + if (direction.getAxis().isHorizontal()) { + chassisLarge.translateY(1); + if (direction == Direction.NORTH) + chassisLarge.translateX(1); + if (direction == Direction.SOUTH) + chassisLarge.translateX(-1); + if (direction == Direction.EAST) + chassisLarge.translateZ(1); + if (direction == Direction.WEST) + chassisLarge.translateZ(-1); + } else { + chassisLarge.translateZ(1); + + chassisLarge.translateX(1); + + + } + + chassisLarge.renderInto(ms, vb); + + } + + + ///// + int lightBehind = LevelRenderer.getLightColor(be.getLevel(), be.getBlockPos().relative(direction.getOpposite())); + int lightInFront = LevelRenderer.getLightColor(be.getLevel(), be.getBlockPos().relative(direction)); + + SuperByteBuffer shaftHalf = + CachedBuffers.partialFacing(AllPartialModels.SHAFT_HALF, be.getBlockState(), direction.getOpposite()); + + + + + SuperByteBuffer fanInner = + CachedBuffers.partialFacing(AllPartialModels.ENCASED_FAN_INNER, be.getBlockState(), direction.getOpposite()); + + + + if (be.diameter == 2) { + fanInner = + CachedBuffers.partialFacing(TFMGPartialModels.AIR_INTAKE_FAN_MEDIUM, be.getBlockState(), direction.getOpposite()); + } + + if (be.diameter == 3) { + fanInner = + CachedBuffers.partialFacing(TFMGPartialModels.AIR_INTAKE_FAN_LARGE, be.getBlockState(), direction.getOpposite()); + + } + + + if(direction.getAxis().isHorizontal()) { + float x = 0; + float z = 0; + if(direction == Direction.NORTH) + x=1f; + if(direction == Direction.SOUTH) + x=-1f; + if(direction == Direction.WEST) + z=-1f; + if(direction == Direction.EAST) + z=1f; + + if(be.diameter==3) + fanInner.translate(x,1,z); + if(be.diameter==2) + fanInner.translate(x/2,0.5,z/2); + }else { + if(be.diameter==2) + fanInner.translate(0.5,0,0.5); + if(be.diameter==3) + fanInner.translate(1,0,1); + } + + + float time = AnimationTickHolder.getRenderTime(be.getLevel()); + float speed = be.maxShaftSpeed * 2; + if (speed > 0) + speed = Mth.clamp(speed, 80, 64 * 20); + if (speed < 0) + speed = Mth.clamp(speed, -64 * 20, -80); + float angle = (time * speed * 3 / 10f) % 360; + angle = angle / 180f * (float) Math.PI; + + standardKineticRotationTransform(shaftHalf, be, lightBehind).renderInto(ms, vb); + if(!be.isUsedByController) + kineticRotationTransform(fanInner, be, direction.getAxis(), angle, lightInFront).renderInto(ms, vb); + } + + + } \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/concrete_hose/ConcreteFillingBehavior.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/concrete_hose/ConcreteFillingBehavior.java new file mode 100644 index 00000000..6d782443 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/concrete_hose/ConcreteFillingBehavior.java @@ -0,0 +1,288 @@ +package com.drmangotea.tfmg.content.machinery.misc.concrete_hose; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.simibubi.create.content.fluids.transfer.FluidManipulationBehaviour; +import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BehaviourType; +import com.simibubi.create.foundation.fluid.FluidHelper; +import net.createmod.catnip.data.Iterate; +import com.simibubi.create.infrastructure.config.AllConfigs; +import it.unimi.dsi.fastutil.PriorityQueue; +import it.unimi.dsi.fastutil.objects.ObjectHeapPriorityQueue; +import net.createmod.catnip.math.BBHelper; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.tags.BlockTags; +import net.minecraft.tags.FluidTags; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.DoorBlock; +import net.minecraft.world.level.block.LiquidBlock; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.levelgen.structure.BoundingBox; +import net.minecraft.world.level.material.Fluid; +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.level.material.Fluids; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.ticks.LevelTickAccess; +import net.minecraft.world.ticks.LevelTicks; + +import java.util.*; + +import static com.drmangotea.tfmg.content.decoration.concrete.ConcreteloggedBlock.CONCRETELOGGED; + +public class ConcreteFillingBehavior extends TFMGFluidManipulationBehaviour { + + public static final BehaviourType TYPE = new BehaviourType<>(); + + PriorityQueue queue; + + List infinityCheckFrontier; + Set infinityCheckVisited; + + public ConcreteFillingBehavior(SmartBlockEntity be) { + super(be); + queue = new ObjectHeapPriorityQueue<>((p, p2) -> -comparePositions(p, p2)); + revalidateIn = 1; + infinityCheckFrontier = new ArrayList<>(); + infinityCheckVisited = new HashSet<>(); + } + + @Override + public void tick() { + super.tick(); + if (!infinityCheckFrontier.isEmpty() && rootPos != null) { + Fluid fluid = getWorld().getFluidState(rootPos) + .getType(); + if (fluid != Fluids.EMPTY) + continueValidation(fluid); + } + if (revalidateIn > 0) + revalidateIn--; + } + + protected void continueValidation(Fluid fluid) { + try { + search(fluid, infinityCheckFrontier, infinityCheckVisited, + (p, d) -> infinityCheckFrontier.add(new BlockPosEntry(p, d)), true); + } catch (ChunkNotLoadedException e) { + infinityCheckFrontier.clear(); + infinityCheckVisited.clear(); + setLongValidationTimer(); + return; + } + + int maxBlocks = maxBlocks(); + + if (infinityCheckVisited.size() > maxBlocks && maxBlocks != -1 && !fillInfinite()) { + if (!infinite) { + reset(); + infinite = true; + blockEntity.sendData(); + } + infinityCheckFrontier.clear(); + setLongValidationTimer(); + return; + } + + if (!infinityCheckFrontier.isEmpty()) + return; + if (infinite) { + reset(); + return; + } + + infinityCheckVisited.clear(); + } + + public boolean tryDeposit(Fluid fluid, BlockPos root, boolean simulate) { + if (!Objects.equals(root, rootPos)) { + reset(); + rootPos = root; + queue.enqueue(new BlockPosEntry(root, 0)); + affectedArea = BoundingBox.fromCorners(rootPos, rootPos); + return false; + } + + if (counterpartActed) { + counterpartActed = false; + softReset(root); + return false; + } + + if (affectedArea == null) + affectedArea = BoundingBox.fromCorners(root, root); + + //if (revalidateIn == 0) { + // visited.clear(); + // infinityCheckFrontier.clear(); + // infinityCheckVisited.clear(); + // infinityCheckFrontier.add(new BlockPosEntry(root, 0)); + // setValidationTimer(); + // softReset(root); + //} + + Level world = getWorld(); + int maxRange = maxRange(); + int maxRangeSq = maxRange * maxRange; + int maxBlocks = maxBlocks(); + boolean evaporate = world.dimensionType() + .ultraWarm() && FluidHelper.isTag(fluid, FluidTags.WATER); + boolean canPlaceSources = AllConfigs.server().fluids.fluidFillPlaceFluidSourceBlocks.get(); + + if ((!fillInfinite() && infinite) || evaporate || !canPlaceSources) { + FluidState fluidState = world.getFluidState(rootPos); + boolean equivalentTo = fluidState.getType() + .isSame(fluid); + if (!equivalentTo && !evaporate && canPlaceSources) + return false; + if (simulate) + return true; + playEffect(world, root, fluid, false); + if (evaporate) { + int i = root.getX(); + int j = root.getY(); + int k = root.getZ(); + world.playSound(null, i, j, k, SoundEvents.FIRE_EXTINGUISH, SoundSource.BLOCKS, 0.5F, + 2.6F + (world.random.nextFloat() - world.random.nextFloat()) * 0.8F); + } + return true; + } + + boolean success = false; + + for (int i = 0; !success && !queue.isEmpty() && i < searchedPerTick; i++) { + BlockPosEntry entry = queue.first(); + BlockPos currentPos = entry.pos(); + if (visited.contains(currentPos)) { + queue.dequeue(); + continue; + } + + if (!simulate) + visited.add(currentPos); + + if (visited.size() >= maxBlocks && maxBlocks != -1) { + infinite = true; + if (!fillInfinite()) { + visited.clear(); + queue.clear(); + return false; + } + } + + SpaceType spaceType = getAtPos(world, currentPos, fluid); + if (spaceType == SpaceType.BLOCKING) + continue; + if (spaceType == SpaceType.FILLABLE) { + success = true; + if (!simulate) { + playEffect(world, currentPos, fluid, false); + BlockState blockState = world.getBlockState(currentPos); + if (blockState.hasProperty(CONCRETELOGGED) && fluid.isSame(TFMGFluids.LIQUID_CONCRETE.getSource())) { + if (!blockEntity.isVirtual()) + world.setBlock(currentPos, + blockState.setValue(CONCRETELOGGED, true), + 2 | 16); + } else { + replaceBlock(world, currentPos, blockState); + if (!blockEntity.isVirtual()) + world.setBlock(currentPos, FluidHelper.convertToStill(fluid) + .defaultFluidState() + .createLegacyBlock(), 2 | 16); + } + + LevelTickAccess pendingFluidTicks = world.getFluidTicks(); + if (pendingFluidTicks instanceof LevelTicks) { + LevelTicks serverTickList = (LevelTicks) pendingFluidTicks; + serverTickList.clearArea(new BoundingBox(currentPos)); + } + + affectedArea = BBHelper.encapsulate(affectedArea, currentPos); + } + } + + if (simulate && success) + return true; + + visited.add(currentPos); + queue.dequeue(); + + for (Direction side : Iterate.directions) { + if (side == Direction.UP) + continue; + + BlockPos offsetPos = currentPos.relative(side); + if (visited.contains(offsetPos)) + continue; + if (offsetPos.distSqr(rootPos) > maxRangeSq) + continue; + + SpaceType nextSpaceType = getAtPos(world, offsetPos, fluid); + if (nextSpaceType != SpaceType.BLOCKING) + queue.enqueue(new BlockPosEntry(offsetPos, entry.distance() + 1)); + } + } + + if (!simulate && success) + blockEntity.award(AllAdvancements.HOSE_PULLEY); + return success; + } + + protected void softReset(BlockPos root) { + visited.clear(); + queue.clear(); + queue.enqueue(new BlockPosEntry(root, 0)); + infinite = false; + setValidationTimer(); + blockEntity.sendData(); + } + + enum SpaceType { + FILLABLE, FILLED, BLOCKING + } + + protected SpaceType getAtPos(Level world, BlockPos pos, Fluid toFill) { + BlockState blockState = world.getBlockState(pos); + + if(pos == rootPos) + return SpaceType.FILLED; + + if (blockState.hasProperty(CONCRETELOGGED)) + return toFill.isSame(TFMGFluids.LIQUID_CONCRETE.getSource()) + ? blockState.getValue(CONCRETELOGGED) ? SpaceType.FILLED : SpaceType.FILLABLE + : SpaceType.BLOCKING; + + + return SpaceType.BLOCKING; + } + + protected void replaceBlock(Level world, BlockPos pos, BlockState state) { + BlockEntity blockEntity = state.hasBlockEntity() ? world.getBlockEntity(pos) : null; + Block.dropResources(state, world, pos, blockEntity); + } + + + + @Override + public void reset() { + super.reset(); + queue.clear(); + infinityCheckFrontier.clear(); + infinityCheckVisited.clear(); + } + + @Override + public BehaviourType getType() { + return TYPE; + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/concrete_hose/ConcreteHoseBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/concrete_hose/ConcreteHoseBlock.java new file mode 100644 index 00000000..fbdc5587 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/concrete_hose/ConcreteHoseBlock.java @@ -0,0 +1,85 @@ +package com.drmangotea.tfmg.content.machinery.misc.concrete_hose; + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.AllBlockEntityTypes; +import com.simibubi.create.content.fluids.hosePulley.HosePulleyBlockEntity; +import com.simibubi.create.content.fluids.pipes.FluidPipeBlock; +import com.simibubi.create.content.kinetics.base.HorizontalKineticBlock; +import com.simibubi.create.foundation.block.IBE; +import net.createmod.catnip.data.Iterate; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.state.BlockState; + +public class ConcreteHoseBlock extends HorizontalKineticBlock implements IBE { + + + public ConcreteHoseBlock(Properties properties) { + super(properties); + } + + @Override + public Direction.Axis getRotationAxis(BlockState state) { + return state.getValue(HORIZONTAL_FACING) + .getClockWise() + .getAxis(); + } + + @Override + public BlockState getStateForPlacement(BlockPlaceContext context) { + Direction preferredHorizontalFacing = getPreferredHorizontalFacing(context); + return this.defaultBlockState() + .setValue(HORIZONTAL_FACING, + preferredHorizontalFacing != null ? preferredHorizontalFacing.getCounterClockWise() + : context.getHorizontalDirection() + .getOpposite()); + } + + @Override + public boolean hasShaftTowards(LevelReader world, BlockPos pos, BlockState state, Direction face) { + return state.getValue(HORIZONTAL_FACING) + .getClockWise() == face; + } + + public static boolean hasPipeTowards(LevelReader world, BlockPos pos, BlockState state, Direction face) { + return state.getValue(HORIZONTAL_FACING) + .getCounterClockWise() == face; + } + + @Override + public Direction getPreferredHorizontalFacing(BlockPlaceContext context) { + Direction fromParent = super.getPreferredHorizontalFacing(context); + if (fromParent != null) + return fromParent; + + Direction prefferedSide = null; + for (Direction facing : Iterate.horizontalDirections) { + BlockPos pos = context.getClickedPos() + .relative(facing); + BlockState blockState = context.getLevel() + .getBlockState(pos); + if (FluidPipeBlock.canConnectTo(context.getLevel(), pos, blockState, facing)) + if (prefferedSide != null && prefferedSide.getAxis() != facing.getAxis()) { + prefferedSide = null; + break; + } else + prefferedSide = facing; + } + return prefferedSide == null ? null : prefferedSide.getOpposite(); + } + + @Override + public Class getBlockEntityClass() { + return ConcreteHoseBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.CONCRETE_HOSE.get(); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/concrete_hose/ConcreteHoseBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/concrete_hose/ConcreteHoseBlockEntity.java new file mode 100644 index 00000000..c51eab83 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/concrete_hose/ConcreteHoseBlockEntity.java @@ -0,0 +1,196 @@ +package com.drmangotea.tfmg.content.machinery.misc.concrete_hose; + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.AllBlockEntityTypes; +import com.simibubi.create.content.fluids.hosePulley.HosePulleyBlock; +import com.simibubi.create.content.fluids.hosePulley.HosePulleyFluidHandler; +import com.simibubi.create.content.fluids.transfer.FluidDrainingBehaviour; +import com.simibubi.create.content.fluids.transfer.FluidFillingBehaviour; +import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.fluid.SmartFluidTank; +import com.simibubi.create.foundation.item.TooltipHelper; +import com.simibubi.create.foundation.utility.ServerSpeedProvider; +import net.createmod.catnip.animation.LerpedFloat; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.AABB; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; + +import java.util.List; + +public class ConcreteHoseBlockEntity extends KineticBlockEntity { + + LerpedFloat offset; + boolean isMoving; + + public SmartFluidTank internalTank; + public IFluidHandler capability; + public ConcreteFillingBehavior filler; + public ConcreteHoseFluidHandler handler; + public boolean infinite; + + public ConcreteHoseBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + super(typeIn, pos, state); + offset = LerpedFloat.linear() + .startWithValue(0); + isMoving = true; + internalTank = new SmartFluidTank(1500, this::onTankContentsChanged); + handler = new ConcreteHoseFluidHandler(internalTank, filler, + () -> worldPosition.below((int) Math.ceil(offset.getValue())), () -> !this.isMoving); + capability = handler; + } + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.FluidHandler.BLOCK, + TFMGBlockEntities.CONCRETE_HOSE.get(), + (be, context) -> { + if (context == null || HosePulleyBlock.hasPipeTowards(be.level, be.worldPosition, be.getBlockState(), context)) + return be.handler; + return null; + } + ); + } + @Override + public void sendData() { + infinite = filler.isInfinite(); + super.sendData(); + } + + @Override + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + boolean addToGoggleTooltip = super.addToGoggleTooltip(tooltip, isPlayerSneaking); + if (infinite) + TooltipHelper.addHint(tooltip, "hint.hose_pulley"); + return addToGoggleTooltip; + } + public float getInterpolatedOffset(float pt) { + return offset.getValue(pt); + } + @Override + public void addBehaviours(List behaviours) { + filler = new ConcreteFillingBehavior(this); + behaviours.add(filler); + super.addBehaviours(behaviours); + } + + protected void onTankContentsChanged(FluidStack contents) {} + + @Override + public void onSpeedChanged(float previousSpeed) { + isMoving = true; + if (getSpeed() == 0) { + offset.forceNextSync(); + offset.setValue(Math.round(offset.getValue())); + isMoving = false; + } + + if (isMoving) { + float newOffset = offset.getValue() + getMovementSpeed(); + if (newOffset < 0) + isMoving = false; + if (!level.getBlockState(worldPosition.below((int) Math.ceil(newOffset))) + .canBeReplaced()) { + isMoving = false; + } + if (isMoving) { + filler.reset(); + } + } + + super.onSpeedChanged(previousSpeed); + } + + @Override + protected AABB createRenderBoundingBox() { + return super.createRenderBoundingBox().expandTowards(0, -offset.getValue(), 0); + } + + @Override + public void tick() { + super.tick(); + float newOffset = offset.getValue() + getMovementSpeed(); + if (newOffset < 0) { + newOffset = 0; + isMoving = false; + } + if (!level.getBlockState(worldPosition.below((int) Math.ceil(newOffset))) + .canBeReplaced()) { + newOffset = (int) newOffset; + isMoving = false; + } + if (getSpeed() == 0) + isMoving = false; + + offset.setValue(newOffset); + invalidateRenderBoundingBox(); + } + + @Override + public void lazyTick() { + super.lazyTick(); + if (level.isClientSide) + return; + if (isMoving) + return; + + int ceil = (int) Math.ceil(offset.getValue() + getMovementSpeed()); + if (getMovementSpeed() > 0 && level.getBlockState(worldPosition.below(ceil)) + .canBeReplaced()) { + isMoving = true; + filler.reset(); + return; + } + + sendData(); + } + + @Override + protected void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + if (clientPacket) + offset.forceNextSync(); + compound.put("Offset", offset.writeNBT()); + compound.put("Tank", internalTank.writeToNBT(registries,new CompoundTag())); + super.write(compound,registries , clientPacket); + if (clientPacket) + compound.putBoolean("Infinite", infinite); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + offset.readNBT(compound.getCompound("Offset"), clientPacket); + internalTank.readFromNBT(registries,compound.getCompound("Tank")); + super.read(compound,registries , clientPacket); + if (clientPacket) + infinite = compound.getBoolean("Infinite"); + } + + @Override + public void invalidate() { + super.invalidate(); + invalidateCapabilities(); + } + + public float getMovementSpeed() { + float movementSpeed = convertToLinear(getSpeed()); + if (level.isClientSide) + movementSpeed *= ServerSpeedProvider.get(); + return movementSpeed; + } + //@Override + //public LazyOptional getCapability(Capability cap, Direction side) { + // if (isFluidHandlerCap(cap) + // && (side == null || HosePulleyBlock.hasPipeTowards(level, worldPosition, getBlockState(), side))) + // return this.capability.cast(); + // return super.getCapability(cap, side); + //} +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/concrete_hose/ConcreteHoseFluidHandler.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/concrete_hose/ConcreteHoseFluidHandler.java new file mode 100644 index 00000000..83d25d04 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/concrete_hose/ConcreteHoseFluidHandler.java @@ -0,0 +1,98 @@ +package com.drmangotea.tfmg.content.machinery.misc.concrete_hose; + +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.simibubi.create.content.fluids.transfer.FluidDrainingBehaviour; +import com.simibubi.create.content.fluids.transfer.FluidFillingBehaviour; +import com.simibubi.create.foundation.fluid.FluidHelper; +import com.simibubi.create.foundation.fluid.SmartFluidTank; +import net.minecraft.core.BlockPos; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; + + +import javax.annotation.Nullable; +import java.util.function.Supplier; + +public class ConcreteHoseFluidHandler implements IFluidHandler { + + + @Override + @SuppressWarnings("removal") + public int fill(FluidStack resource, FluidAction action) { + if(!resource.getFluid().isSame(TFMGFluids.LIQUID_CONCRETE.getSource())) + return 0; + if (!internalTank.isEmpty() && !resource.isFluidEqual(internalTank.getFluid())) + return 0; + if (resource.isEmpty() || !FluidHelper.hasBlockState(resource.getFluid())) + return 0; + + int diff = resource.getAmount(); + int totalAmountAfterFill = diff + internalTank.getFluidAmount(); + FluidStack remaining = resource.copy(); + boolean deposited = false; + + if (predicate.get() && totalAmountAfterFill >= 1000) { + if (filler.tryDeposit(resource.getFluid(), rootPosGetter.get(), action.simulate())) { + remaining.shrink(1000); + diff -= 1000; + deposited = true; + } + } + + if (action.simulate()) + return diff <= 0 ? resource.getAmount() : internalTank.fill(remaining, action); + if (diff <= 0) { + internalTank.drain(-diff, FluidAction.EXECUTE); + return resource.getAmount(); + } + + return internalTank.fill(remaining, action) + (deposited ? 1000 : 0); + } + + @Override + public FluidStack getFluidInTank(int tank) { + return internalTank.getFluidInTank(tank); + } + + @Override + public FluidStack drain(FluidStack resource, FluidAction action) { + return FluidStack.EMPTY; + } + + @Override + public FluidStack drain(int maxDrain, FluidAction action) { + return FluidStack.EMPTY; + } + + + + // + + private SmartFluidTank internalTank; + private ConcreteFillingBehavior filler; + private Supplier rootPosGetter; + private Supplier predicate; + + public ConcreteHoseFluidHandler(SmartFluidTank internalTank, ConcreteFillingBehavior filler, Supplier rootPosGetter, Supplier predicate) { + this.internalTank = internalTank; + this.filler = filler; + this.rootPosGetter = rootPosGetter; + this.predicate = predicate; + } + + @Override + public int getTanks() { + return internalTank.getTanks(); + } + + @Override + public int getTankCapacity(int tank) { + return internalTank.getTankCapacity(tank); + } + + @Override + public boolean isFluidValid(int tank, FluidStack stack) { + return internalTank.isFluidValid(tank, stack); + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/concrete_hose/ConcreteHoseRenderer.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/concrete_hose/ConcreteHoseRenderer.java new file mode 100644 index 00000000..d2cea4f1 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/concrete_hose/ConcreteHoseRenderer.java @@ -0,0 +1,58 @@ +package com.drmangotea.tfmg.content.machinery.misc.concrete_hose; + +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.AllSpriteShifts; +import com.simibubi.create.content.contraptions.pulley.AbstractPulleyRenderer; + +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import net.createmod.catnip.render.CachedBuffers; +import net.createmod.catnip.render.SpriteShiftEntry; +import net.createmod.catnip.render.SuperByteBuffer; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.core.Direction.Axis; + +public class ConcreteHoseRenderer extends AbstractPulleyRenderer { + + public ConcreteHoseRenderer(BlockEntityRendererProvider.Context context) { + super(context, AllPartialModels.HOSE_HALF, AllPartialModels.HOSE_HALF_MAGNET); + } + + @Override + protected Axis getShaftAxis(ConcreteHoseBlockEntity be) { + return be.getBlockState() + .getValue(ConcreteHoseBlock.HORIZONTAL_FACING) + .getClockWise() + .getAxis(); + } + + @Override + protected PartialModel getCoil() { + return AllPartialModels.HOSE_COIL; + } + + @Override + protected SuperByteBuffer renderRope(ConcreteHoseBlockEntity be) { + return CachedBuffers.partial(AllPartialModels.HOSE, be.getBlockState()); + } + + @Override + protected SuperByteBuffer renderMagnet(ConcreteHoseBlockEntity be) { + return CachedBuffers.partial(AllPartialModels.HOSE_MAGNET, be.getBlockState()); + } + + @Override + protected float getOffset(ConcreteHoseBlockEntity be, float partialTicks) { + return be.getInterpolatedOffset(partialTicks); + } + + @Override + protected SpriteShiftEntry getCoilShift() { + return AllSpriteShifts.HOSE_PULLEY_COIL; + } + + @Override + protected boolean isRunning(ConcreteHoseBlockEntity be) { + return true; + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/concrete_hose/TFMGFluidManipulationBehaviour.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/concrete_hose/TFMGFluidManipulationBehaviour.java new file mode 100644 index 00000000..12610fce --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/concrete_hose/TFMGFluidManipulationBehaviour.java @@ -0,0 +1,270 @@ +package com.drmangotea.tfmg.content.machinery.misc.concrete_hose; + +import com.simibubi.create.AllPackets; +import com.simibubi.create.AllTags; +import com.simibubi.create.content.fluids.transfer.FluidSplashPacket; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.fluid.FluidHelper; +import net.createmod.catnip.data.Iterate; + +import net.createmod.catnip.math.VecHelper; +import com.simibubi.create.infrastructure.config.AllConfigs; +import net.createmod.catnip.nbt.NBTHelper; +import net.createmod.catnip.platform.CatnipServices; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.NbtUtils; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.levelgen.structure.BoundingBox; +import net.minecraft.world.level.material.Fluid; +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.phys.Vec3; +import net.neoforged.neoforge.fluids.FluidStack; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.function.BiConsumer; +import java.util.function.Predicate; + +public abstract class TFMGFluidManipulationBehaviour extends BlockEntityBehaviour { + + public static record BlockPosEntry(BlockPos pos, int distance) { + }; + + public static class ChunkNotLoadedException extends Exception { + private static final long serialVersionUID = 1L; + } + + BoundingBox affectedArea; + BlockPos rootPos; + boolean infinite; + protected boolean counterpartActed; + + // Search + static final int searchedPerTick = 1024; + static final int validationTimerMin = 160; + List frontier; + Set visited; + + int revalidateIn; + + public TFMGFluidManipulationBehaviour(SmartBlockEntity be) { + super(be); + setValidationTimer(); + infinite = false; + visited = new HashSet<>(); + frontier = new ArrayList<>(); + } + + public boolean isInfinite() { + return infinite; + } + + public void counterpartActed() { + counterpartActed = true; + } + + protected int validationTimer() { + int maxBlocks = maxBlocks(); + // Allow enough time for the server's infinite block threshold to be reached + return maxBlocks < 0 ? validationTimerMin : Math.max(validationTimerMin, maxBlocks / searchedPerTick + 1); + } + + protected int setValidationTimer() { + return revalidateIn = validationTimer(); + } + + protected int setLongValidationTimer() { + return revalidateIn = validationTimer() * 2; + } + + protected int maxRange() { + return AllConfigs.server().fluids.hosePulleyRange.get(); + } + + protected int maxBlocks() { + return AllConfigs.server().fluids.hosePulleyBlockThreshold.get(); + } + + protected boolean fillInfinite() { + return AllConfigs.server().fluids.fillInfinite.get(); + } + + public void reset() { + if (affectedArea != null) + scheduleUpdatesInAffectedArea(); + affectedArea = null; + setValidationTimer(); + frontier.clear(); + visited.clear(); + infinite = false; + } + + @Override + public void destroy() { + reset(); + super.destroy(); + } + + protected void scheduleUpdatesInAffectedArea() { + Level world = getWorld(); + BlockPos + .betweenClosedStream( + new BlockPos(affectedArea.minX() - 1, affectedArea.minY() - 1, affectedArea.minZ() - 1), + new BlockPos(affectedArea.maxX() + 1, affectedArea.maxY() + 1, affectedArea.maxZ() + 1)) + .forEach(pos -> { + FluidState nextFluidState = world.getFluidState(pos); + if (nextFluidState.isEmpty()) + return; + world.scheduleTick(pos, nextFluidState.getType(), world.getRandom() + .nextInt(5)); + }); + } + + protected int comparePositions(BlockPosEntry e1, BlockPosEntry e2) { + Vec3 centerOfRoot = VecHelper.getCenterOf(rootPos); + BlockPos pos2 = e2.pos; + BlockPos pos1 = e1.pos; + if (pos1.getY() != pos2.getY()) + return Integer.compare(pos2.getY(), pos1.getY()); + int compareDistance = Integer.compare(e2.distance, e1.distance); + if (compareDistance != 0) + return compareDistance; + return Double.compare(VecHelper.getCenterOf(pos2) + .distanceToSqr(centerOfRoot), + VecHelper.getCenterOf(pos1) + .distanceToSqr(centerOfRoot)); + } + + protected Fluid search(Fluid fluid, List frontier, Set visited, + BiConsumer add, boolean searchDownward) throws ChunkNotLoadedException { + Level world = getWorld(); + int maxBlocks = maxBlocks(); + int maxRange = maxRange(); + int maxRangeSq = maxRange * maxRange; + int i; + + for (i = 0; i < searchedPerTick && !frontier.isEmpty() + && (visited.size() <= maxBlocks || !canDrainInfinitely(fluid)); i++) { + BlockPosEntry entry = frontier.remove(0); + BlockPos currentPos = entry.pos; + if (visited.contains(currentPos)) + continue; + visited.add(currentPos); + + if (!world.isLoaded(currentPos)) + throw new ChunkNotLoadedException(); + + FluidState fluidState = world.getFluidState(currentPos); + if (fluidState.isEmpty()) + continue; + + Fluid currentFluid = FluidHelper.convertToStill(fluidState.getType()); + if (fluid == null) + fluid = currentFluid; + if (!currentFluid.isSame(fluid)) + continue; + + add.accept(currentPos, entry.distance); + + for (Direction side : Iterate.directions) { + if (!searchDownward && side == Direction.DOWN) + continue; + + BlockPos offsetPos = currentPos.relative(side); + if (!world.isLoaded(offsetPos)) + throw new ChunkNotLoadedException(); + if (visited.contains(offsetPos)) + continue; + if (offsetPos.distSqr(rootPos) > maxRangeSq) + continue; + + FluidState nextFluidState = world.getFluidState(offsetPos); + if (nextFluidState.isEmpty()) + continue; + Fluid nextFluid = nextFluidState.getType(); + if (nextFluid == FluidHelper.convertToFlowing(nextFluid) && side == Direction.UP + && !VecHelper.onSameAxis(rootPos, offsetPos, Direction.Axis.Y)) + continue; + + frontier.add(new BlockPosEntry(offsetPos, entry.distance + 1)); + } + } + + return fluid; + } + + protected void playEffect(Level world, BlockPos pos, Fluid fluid, boolean fillSound) { + if (fluid == null) + return; + + BlockPos splooshPos = pos == null ? blockEntity.getBlockPos() : pos; + FluidStack stack = new FluidStack(fluid, 1); + + SoundEvent soundevent = fillSound ? FluidHelper.getFillSound(stack) : FluidHelper.getEmptySound(stack); + world.playSound(null, splooshPos, soundevent, SoundSource.BLOCKS, 0.3F, 1.0F); + if (world instanceof ServerLevel serverLevel) + CatnipServices.NETWORK.sendToClientsAround(serverLevel, splooshPos, 10, new FluidSplashPacket(splooshPos, stack)); + } + + protected boolean canDrainInfinitely(Fluid fluid) { + if (fluid == null) + return false; + return maxBlocks() != -1 && AllConfigs.server().fluids.bottomlessFluidMode.get() + .test(fluid); + } + + @Override + public void write(CompoundTag nbt, HolderLookup.Provider registries, boolean clientPacket) { + if (infinite) + NBTHelper.putMarker(nbt, "Infinite"); + if (rootPos != null) + nbt.put("LastPos", NbtUtils.writeBlockPos(rootPos)); + if (affectedArea != null) { + nbt.put("AffectedAreaFrom", + NbtUtils.writeBlockPos(new BlockPos(affectedArea.minX(), affectedArea.minY(), affectedArea.minZ()))); + nbt.put("AffectedAreaTo", + NbtUtils.writeBlockPos(new BlockPos(affectedArea.maxX(), affectedArea.maxY(), affectedArea.maxZ()))); + } + super.write(nbt, registries, clientPacket); + } + + @Override + public void read(CompoundTag nbt, HolderLookup.Provider registries, boolean clientPacket) { + infinite = nbt.contains("Infinite"); + if (nbt.contains("LastPos")) + rootPos = NBTHelper.readBlockPos(nbt, "LastPos"); + if (nbt.contains("AffectedAreaFrom") && nbt.contains("AffectedAreaTo")) + affectedArea = BoundingBox.fromCorners(NBTHelper.readBlockPos(nbt, "AffectedAreaFrom"), + NBTHelper.readBlockPos(nbt, "AffectedAreaTo")); + super.read(nbt, registries, clientPacket); + } + + + public enum BottomlessFluidMode implements Predicate { + ALLOW_ALL(fluid -> true), + DENY_ALL(fluid -> false), + ALLOW_BY_TAG(fluid -> AllTags.AllFluidTags.BOTTOMLESS_ALLOW.matches(fluid)), + DENY_BY_TAG(fluid -> !AllTags.AllFluidTags.BOTTOMLESS_DENY.matches(fluid)); + + private final Predicate predicate; + + BottomlessFluidMode(Predicate predicate) { + this.predicate = predicate; + } + + @Override + public boolean test(Fluid fluid) { + return predicate.test(fluid); + } + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/exhaust/ExhaustBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/exhaust/ExhaustBlock.java new file mode 100644 index 00000000..ae06ae10 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/exhaust/ExhaustBlock.java @@ -0,0 +1,67 @@ +package com.drmangotea.tfmg.content.machinery.misc.exhaust; + + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.base.blocks.WallMountBlock; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.foundation.block.IBE; +import com.simibubi.create.foundation.block.ProperWaterloggedBlock; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class ExhaustBlock extends WallMountBlock implements IBE, IWrenchable, ProperWaterloggedBlock { + + public ExhaustBlock(Properties p_55926_) { + super(p_55926_); + this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.UP).setValue(WATERLOGGED, false)); + } + + + @Override + public BlockState getStateForPlacement(BlockPlaceContext pContext) { + return withWater(super.getStateForPlacement(pContext), pContext); + } + @Override + public BlockState updateShape(BlockState pState, Direction pDirection, BlockState pNeighborState, + LevelAccessor pLevel, BlockPos pCurrentPos, BlockPos pNeighborPos) { + updateWater(pLevel, pState, pCurrentPos); + return pState; + } + + @Override + public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) { + return TFMGShapes.CABLE_TUBE.get(p_60555_.getValue(FACING)); + } + + @Override + public FluidState getFluidState(BlockState pState) { + return fluidState(pState); + } + + + + + protected void createBlockStateDefinition(StateDefinition.Builder p_153746_) { + p_153746_.add(FACING, WATERLOGGED); + } + @Override + public Class getBlockEntityClass() { + return ExhaustBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.EXHAUST.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/exhaust/ExhaustBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/exhaust/ExhaustBlockEntity.java new file mode 100644 index 00000000..bcf772a4 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/exhaust/ExhaustBlockEntity.java @@ -0,0 +1,195 @@ +package com.drmangotea.tfmg.content.machinery.misc.exhaust; + + + +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.simibubi.create.Create; +import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.fluid.SmartFluidTank; + + +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; +import net.neoforged.neoforge.fluids.capability.templates.FluidTank; + + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.util.List; +import java.util.Optional; +import java.util.Random; + +@SuppressWarnings("removal") +public class ExhaustBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation { + + protected IFluidHandler fluidCapability; + public FluidTank tankInventory; + + public boolean spawnsSmoke=false; + public int smokeTimer=0; + + + + public ExhaustBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + tankInventory = createInventory(); + fluidCapability = tankInventory; + + } + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.FluidHandler.BLOCK, + TFMGBlockEntities.EXHAUST.get(), + (be, context) -> be.fluidCapability + ); + } + + @Override + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + + return TFMGUtils.createFluidTooltip(this, tooltip); + + } + + + protected SmartFluidTank createInventory() { + return new SmartFluidTank(1000, this::onFluidStackChanged) { + @Override + public boolean isFluidValid(FluidStack stack) { + return stack.getFluid().isSame(TFMGFluids.CARBON_DIOXIDE.getSource()); + } + }; + } + + + protected void onFluidStackChanged(FluidStack newFluidStack) { + sendData(); + setChanged(); + } + + @Override + public void tick() { + super.tick(); + Direction direction = this.getBlockState().getValue(ExhaustBlock.FACING); + + if(smokeTimer!=0) { + spawnsSmoke = true; + smokeTimer--; + }else spawnsSmoke = false; + if (direction == Direction.UP) + if(spawnsSmoke) + makeParticles(level, this.getBlockPos(), 0); + if (direction == Direction.DOWN) + if(spawnsSmoke) + makeParticles(level, this.getBlockPos(), 1); + if (direction == Direction.NORTH) + if(spawnsSmoke) + makeParticles(level, this.getBlockPos(), 2); + if (direction == Direction.SOUTH) + if(spawnsSmoke) + makeParticles(level, this.getBlockPos(), 3); + if (direction == Direction.EAST) + if(spawnsSmoke) + makeParticles(level, this.getBlockPos(), 4); + if (direction == Direction.WEST) + if(spawnsSmoke) + makeParticles(level, this.getBlockPos(), 5); + if(tankInventory.getFluidAmount()>0) { + + smokeTimer = 100; + spawnsSmoke = true; + } + if(tankInventory.getSpace()>700) { + tankInventory.drain(100, IFluidHandler.FluidAction.EXECUTE); + }else tankInventory.drain(10, IFluidHandler.FluidAction.EXECUTE); + + + + + + + } + + + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + + tankInventory.readFromNBT(registries,compound.getCompound("TankContent")); + } + + + + + + @Override + public void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + + super.write(compound,registries , clientPacket); + + compound.put("TankContent", tankInventory.writeToNBT(registries,new CompoundTag())); + + compound.putBoolean("Active", smokeTimer>0); + } + + public static void makeParticles(Level level, BlockPos pos, int particleRotation) { + Random random = Create.RANDOM; + int shouldSpawnSmoke = random.nextInt(7); + if(shouldSpawnSmoke==0) { + + + if(particleRotation==0) + level.addParticle(ParticleTypes.CAMPFIRE_SIGNAL_SMOKE, pos.getX() +random.nextFloat(1), pos.getY() + 1, pos.getZ() +random.nextFloat(1), 0.0D, 0.08D, 0.0D); + if(particleRotation==1) + level.addParticle(ParticleTypes.CAMPFIRE_SIGNAL_SMOKE, pos.getX() +random.nextFloat(1), pos.getY(), pos.getZ() +random.nextFloat(1), 0.0D, 0.08D, 0.0D); + + if(particleRotation==2) + level.addParticle(ParticleTypes.CAMPFIRE_SIGNAL_SMOKE, pos.getX() +random.nextFloat(1), pos.getY() +random.nextFloat(1), pos.getZ(), 0.0D, 0.08D, 0.0D); + if(particleRotation==3) + level.addParticle(ParticleTypes.CAMPFIRE_SIGNAL_SMOKE, pos.getX() +random.nextFloat(1), pos.getY() +random.nextFloat(1), pos.getZ() + 1, 0.0D, 0.08D, 0.0D); + if(particleRotation==4) + level.addParticle(ParticleTypes.CAMPFIRE_SIGNAL_SMOKE, pos.getX() + 1, pos.getY() +random.nextFloat(1), pos.getZ() +random.nextFloat(1), 0.0D, 0.08D, 0.0D); + if(particleRotation==5) + level.addParticle(ParticleTypes.CAMPFIRE_SIGNAL_SMOKE, pos.getX(), pos.getY() +random.nextFloat(1), pos.getZ() +random.nextFloat(1), 0.0D, 0.08D, 0.0D); + + + + } + + } + + //@Nonnull + //@Override + //public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { +// + // if (cap == ForgeCapabilities.FLUID_HANDLER) + // return fluidCapability.cast(); + // return super.getCapability(cap, side); + //} + + + + @Override + public void addBehaviours(List behaviours) {} + + + +} + diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/firebox/FireboxBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/firebox/FireboxBlock.java new file mode 100644 index 00000000..dc99efdc --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/firebox/FireboxBlock.java @@ -0,0 +1,68 @@ +package com.drmangotea.tfmg.content.machinery.misc.firebox; + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.api.connectivity.ConnectivityHandler; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.content.processing.burner.BlazeBurnerBlock; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.EnumProperty; + +public class FireboxBlock extends Block implements IWrenchable, IBE { + + public static final EnumProperty HEAT_LEVEL = BlazeBurnerBlock.HEAT_LEVEL; + public FireboxBlock(Properties p_49795_) { + super(p_49795_); + registerDefaultState(defaultBlockState().setValue(HEAT_LEVEL, BlazeBurnerBlock.HeatLevel.NONE)); + } + public static boolean isFirebox(BlockState state) { + return state.getBlock() instanceof FireboxBlock; + } + @Override + public void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean moved) { + if (oldState.getBlock() == state.getBlock()) + return; + if (moved) + return; + withBlockEntityDo(world, pos, FireboxBlockEntity::updateConnectivity); + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + super.createBlockStateDefinition(builder); + builder.add(HEAT_LEVEL); + } + + @Override + public int getLightEmission(BlockState state, BlockGetter world, BlockPos pos) { + return 0; + } + @Override + public void onRemove(BlockState state, Level world, BlockPos pos, BlockState newState, boolean isMoving) { + if (state.hasBlockEntity() && (state.getBlock() != newState.getBlock() || !newState.hasBlockEntity())) { + BlockEntity be = world.getBlockEntity(pos); + if (!(be instanceof FireboxBlockEntity)) + return; + FireboxBlockEntity tankBE = (FireboxBlockEntity) be; + world.removeBlockEntity(pos); + ConnectivityHandler.splitMulti(tankBE); + } + } + @Override + public Class getBlockEntityClass() { + return FireboxBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.FIREBOX.get(); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/firebox/FireboxBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/firebox/FireboxBlockEntity.java new file mode 100644 index 00000000..a7ef2633 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/firebox/FireboxBlockEntity.java @@ -0,0 +1,484 @@ +package com.drmangotea.tfmg.content.machinery.misc.firebox; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.config.TFMGConfigs; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.drmangotea.tfmg.registry.TFMGTags; +import com.simibubi.create.api.connectivity.ConnectivityHandler; +import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.content.fluids.tank.FluidTankBlock; +import com.simibubi.create.content.processing.burner.BlazeBurnerBlock; +import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.fluid.CombinedTankWrapper; +import com.simibubi.create.foundation.fluid.SmartFluidTank; +import com.simibubi.create.infrastructure.config.AllConfigs; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.NbtUtils; +import net.minecraft.network.chat.Component; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.AABB; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.IFluidTank; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; +import net.neoforged.neoforge.fluids.capability.templates.FluidTank; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.util.List; +import java.util.Objects; + +public class FireboxBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation, IMultiBlockEntityContainer.Fluid { + + private static final int MAX_SIZE = 3; + + protected IFluidHandler fluidCapability; + protected FluidTank tankInventory; + protected FluidTank exhuastTank; + protected BlockPos controller; + protected BlockPos lastKnownPos; + protected boolean updateConnectivity; + protected boolean updateCapability; + protected int width; + protected int height; + + private static final int SYNC_RATE = 8; + protected int syncCooldown; + protected boolean queuedSync; + + boolean running = false; + + + public FireboxBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + setLazyTickRate(60); + tankInventory = TFMGUtils.createTank(getCapacityMultiplier(), false, true, this::onFluidStackChanged); + exhuastTank = TFMGUtils.createTank(getCapacityMultiplier(), true, false, this::onFluidStackChanged); + fluidCapability = new CombinedTankWrapper(tankInventory, exhuastTank); + updateConnectivity = false; + updateCapability = false; + height = 1; + width = 1; + refreshCapability(); + } + + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.FluidHandler.BLOCK, + TFMGBlockEntities.FIREBOX.get(), + (be, context) -> be.fluidCapability + ); + } + + protected void updateConnectivity() { + updateConnectivity = false; + if (level.isClientSide) + return; + if (!isController()) + return; + ConnectivityHandler.formMulti(this); + } + + @Override + public void lazyTick() { + super.lazyTick(); + + boolean wasRunning = running; + + + FireboxBlockEntity controller = isController() ? this : getControllerBE(); + + if (!canBurn(controller)) { + if (wasRunning) + level.setBlock(getBlockPos(), getBlockState().setValue(FireboxBlock.HEAT_LEVEL, BlazeBurnerBlock.HeatLevel.NONE), 2); + running = false; + + } else { + if (!wasRunning) + level.setBlock(getBlockPos(), getBlockState().setValue(FireboxBlock.HEAT_LEVEL, BlazeBurnerBlock.HeatLevel.FADING), 2); + running = true; + TFMGUtils.drainFilteredTank((SmartFluidTank) controller.tankInventory, 50); + if (TFMGConfigs.common().machines.fireboxExhaustRequirement.get()) { + TFMGUtils.fillFilteredTank((SmartFluidTank) controller.exhuastTank, new FluidStack(TFMGFluids.CARBON_DIOXIDE.get(), 500)); + } + + } + } + + public boolean canBurn(FireboxBlockEntity controller) { + if(exhuastTank == null) + return false; + + return controller.exhuastTank.getSpace() > 0 && controller.tankInventory.getFluidAmount() >= TFMGConfigs.common().machines.fireboxFuelConsumption.get() && controller.tankInventory.getFluid().getFluid().is(TFMGTags.TFMGFluidTags.FIREBOX_FUEL.tag); + } + + @Override + public void tick() { + super.tick(); + if (syncCooldown > 0) { + syncCooldown--; + if (syncCooldown == 0 && queuedSync) + sendData(); + } + + + if (lastKnownPos == null) + lastKnownPos = getBlockPos(); + else if (!lastKnownPos.equals(worldPosition) && worldPosition != null) { + onPositionChanged(); + return; + } + + if (updateCapability) { + updateCapability = false; + refreshCapability(); + } + if (updateConnectivity) + updateConnectivity(); + + } + + + @Override + public BlockPos getLastKnownPos() { + return lastKnownPos; + } + + @Override + public boolean isController() { + return controller == null || worldPosition.getX() == controller.getX() + && worldPosition.getY() == controller.getY() && worldPosition.getZ() == controller.getZ(); + } + + @Override + public void initialize() { + super.initialize(); + sendData(); + if (level.isClientSide) + invalidateRenderBoundingBox(); + } + + private void onPositionChanged() { + removeController(true); + lastKnownPos = worldPosition; + } + + protected void onFluidStackChanged(FluidStack newFluidStack) { + if (!hasLevel()) + return; + setChanged(); + sendData(); + + } + + + @SuppressWarnings("unchecked") + @Override + public FireboxBlockEntity getControllerBE() { + if (isController()) + return this; + BlockEntity blockEntity = level.getBlockEntity(controller); + if (blockEntity instanceof FireboxBlockEntity) + return (FireboxBlockEntity) blockEntity; + return null; + } + + public void applyFluidTankSize(int blocks) { + tankInventory.setCapacity(blocks * getCapacityMultiplier()); + int overflow = tankInventory.getFluidAmount() - tankInventory.getCapacity(); + if (overflow > 0) + tankInventory.drain(overflow, IFluidHandler.FluidAction.EXECUTE); + + } + + public void removeController(boolean keepFluids) { + if (level.isClientSide) + return; + updateConnectivity = true; + if (!keepFluids) + applyFluidTankSize(1); + controller = null; + width = 1; + height = 1; + onFluidStackChanged(tankInventory.getFluid()); + + refreshCapability(); + setChanged(); + sendData(); + } + + + public void sendDataImmediately() { + syncCooldown = 0; + queuedSync = false; + sendData(); + } + + @Override + public void sendData() { + if (syncCooldown > 0) { + queuedSync = true; + return; + } + super.sendData(); + queuedSync = false; + syncCooldown = SYNC_RATE; + } + + @Override + public void setController(BlockPos controller) { + if (level.isClientSide && !isVirtual()) + return; + if (controller.equals(this.controller)) + return; + this.controller = controller; + refreshCapability(); + setChanged(); + sendData(); + } + + private void refreshCapability() { + //LazyOptional oldCap = fluidCapability; + fluidCapability = handlerForCapability(); + invalidateCapabilities(); + } + + private IFluidHandler handlerForCapability() { + return isController() ? new CombinedTankWrapper(tankInventory, exhuastTank) + : getControllerBE() != null ? getControllerBE().handlerForCapability() : new FluidTank(0); + } + + @Override + public BlockPos getController() { + return isController() ? worldPosition : controller; + } + + @Override + protected AABB createRenderBoundingBox() { + if (isController()) + return super.createRenderBoundingBox().expandTowards(width - 1, height - 1, width - 1); + else + return super.createRenderBoundingBox(); + } + + @Nullable + public FireboxBlockEntity getOtherFireboxBlockEntity(Direction direction) { + BlockEntity otherBE = level.getBlockEntity(worldPosition.relative(direction)); + if (otherBE instanceof FireboxBlockEntity) + return (FireboxBlockEntity) otherBE; + return null; + } + + @Override + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + FireboxBlockEntity controllerBE = getControllerBE(); + if (controllerBE == null) + return false; + return containedFluidTooltip(tooltip, isPlayerSneaking, + fluidCapability); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + + BlockPos controllerBefore = controller; + int prevSize = width; + int prevHeight = height; + + updateConnectivity = compound.contains("Uninitialized"); + controller = null; + lastKnownPos = null; + + compound.getBoolean("IsRunning"); + + if (compound.contains("LastKnownPos")) + lastKnownPos = NbtUtils.readBlockPos(compound,"LastKnownPos").get(); + if (compound.contains("Controller")) + controller = NbtUtils.readBlockPos(compound,"Controller").get(); + + if (isController()) { + width = compound.getInt("Size"); + height = compound.getInt("Height"); + tankInventory.setCapacity(getTotalTankSize() * getCapacityMultiplier()); + tankInventory.readFromNBT(registries,compound.getCompound("TankContent")); + exhuastTank.setCapacity(getTotalTankSize() * getCapacityMultiplier()); + exhuastTank.readFromNBT(registries,compound.getCompound("Exhaust")); + if (tankInventory.getSpace() < 0) + tankInventory.drain(-tankInventory.getSpace(), IFluidHandler.FluidAction.EXECUTE); + if (exhuastTank.getSpace() < 0) + exhuastTank.drain(-exhuastTank.getSpace(), IFluidHandler.FluidAction.EXECUTE); + } + + updateCapability = true; + + if (!clientPacket) + return; + + boolean changeOfController = !Objects.equals(controllerBefore, controller); + if (changeOfController || prevSize != width || prevHeight != height) { + if (hasLevel()) + level.sendBlockUpdated(getBlockPos(), getBlockState(), getBlockState(), 16); + if (isController()) + tankInventory.setCapacity(getCapacityMultiplier() * getTotalTankSize()); + invalidateRenderBoundingBox(); + } + + + } + + public float getFillState() { + return (float) tankInventory.getFluidAmount() / tankInventory.getCapacity(); + } + + @Override + public void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + compound.putBoolean("IsRunning", running); + if (updateConnectivity) + compound.putBoolean("Uninitialized", true); + if (lastKnownPos != null) + compound.put("LastKnownPos", NbtUtils.writeBlockPos(lastKnownPos)); + if (!isController()) + compound.put("Controller", NbtUtils.writeBlockPos(controller)); + if (isController()) { + compound.put("TankContent", tankInventory.writeToNBT(registries,new CompoundTag())); + compound.put("Exhaust", exhuastTank.writeToNBT(registries,new CompoundTag())); + compound.putInt("Size", width); + compound.putInt("Height", height); + } + super.write(compound,registries , clientPacket); + + + } + + // @Nonnull + // @Override + // public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { + // if (!fluidCapability.isPresent()) + // refreshCapability(); + // if (cap == ForgeCapabilities.FLUID_HANDLER) + // return fluidCapability.cast(); + // return super.getCapability(cap, side); + // } + + @Override + public void invalidate() { + super.invalidate(); + } + + @Override + public void addBehaviours(List behaviours) { + registerAwardables(behaviours, AllAdvancements.STEAM_ENGINE_MAXED, AllAdvancements.PIPE_ORGAN); + } + + public IFluidTank getTankInventory() { + return tankInventory; + } + + public int getTotalTankSize() { + return width * width * height; + } + + public static int getMaxSize() { + return MAX_SIZE; + } + + public static int getCapacityMultiplier() { + return AllConfigs.server().fluids.fluidTankCapacity.get() * 1000; + } + + public static int getMaxHeight() { + return 1; + } + + @Override + public void preventConnectivityUpdate() { + updateConnectivity = false; + } + + @Override + public void notifyMultiUpdated() { + BlockState state = this.getBlockState(); + if (FluidTankBlock.isTank(state)) { // safety + state = state.setValue(FluidTankBlock.BOTTOM, getController().getY() == getBlockPos().getY()); + state = state.setValue(FluidTankBlock.TOP, getController().getY() + height - 1 == getBlockPos().getY()); + level.setBlock(getBlockPos(), state, 6); + } + onFluidStackChanged(tankInventory.getFluid()); + setChanged(); + } + + @Override + public Direction.Axis getMainConnectionAxis() { + return Direction.Axis.Y; + } + + @Override + public int getMaxLength(Direction.Axis longAxis, int width) { + if (longAxis == Direction.Axis.Y) + return getMaxHeight(); + return getMaxWidth(); + } + + @Override + public int getMaxWidth() { + return MAX_SIZE; + } + + @Override + public int getHeight() { + return height; + } + + @Override + public void setHeight(int height) { + this.height = height; + } + + @Override + public int getWidth() { + return width; + } + + @Override + public void setWidth(int width) { + this.width = width; + } + + @Override + public boolean hasTank() { + return true; + } + + @Override + public int getTankSize(int tank) { + return getCapacityMultiplier(); + } + + @Override + public void setTankSize(int tank, int blocks) { + applyFluidTankSize(blocks); + } + + @Override + public IFluidTank getTank(int tank) { + return tankInventory; + } + + @Override + public FluidStack getFluid(int tank) { + return tankInventory.getFluid() + .copy(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/flarestack/FlarestackBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/flarestack/FlarestackBlock.java new file mode 100644 index 00000000..f9de586a --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/flarestack/FlarestackBlock.java @@ -0,0 +1,59 @@ +package com.drmangotea.tfmg.content.machinery.misc.flarestack; + + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.Create; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +import javax.annotation.Nullable; + +public class FlarestackBlock extends Block implements IBE, IWrenchable { + public static final BooleanProperty LIT = BlockStateProperties.LIT; + public FlarestackBlock(Properties p_55926_) { + super(p_55926_); + this.registerDefaultState(this.stateDefinition.any().setValue(LIT, false)); + + } + + + @Override + public VoxelShape getShape(BlockState pState, BlockGetter worldIn, BlockPos pos, CollisionContext context) { + + return TFMGShapes.FLARESTACK; + } + @Nullable + public BlockState getStateForPlacement(BlockPlaceContext p_51240_) { + + return this.defaultBlockState().setValue(LIT, Boolean.valueOf(false)); + } + + + protected void createBlockStateDefinition(StateDefinition.Builder p_51305_) { + p_51305_.add(LIT); + } + + @Override + public Class getBlockEntityClass() { + return FlarestackBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.FLARESTACK.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/flarestack/FlarestackBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/flarestack/FlarestackBlockEntity.java new file mode 100644 index 00000000..7b13b86e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/flarestack/FlarestackBlockEntity.java @@ -0,0 +1,170 @@ +package com.drmangotea.tfmg.content.machinery.misc.flarestack; + + +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.drmangotea.tfmg.registry.TFMGTags; +import com.simibubi.create.Create; +import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.fluid.SmartFluidTank; + + +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; +import net.neoforged.neoforge.fluids.capability.templates.FluidTank; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.util.List; +import java.util.Optional; +import java.util.Random; + +public class FlarestackBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation { + + + + protected IFluidHandler fluidCapability; + public FluidTank tankInventory; + public boolean spawnsSmoke=false; + public int smokeTimer=0; + + + public FlarestackBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + tankInventory = createInventory(); + fluidCapability = tankInventory; + + + } + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.FluidHandler.BLOCK, + TFMGBlockEntities.FLARESTACK.get(), + (be, context) -> be.fluidCapability + ); + } + @Override + @SuppressWarnings("removal") + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + + return TFMGUtils.createFluidTooltip(this, tooltip); + + + } + + protected SmartFluidTank createInventory() { + return new SmartFluidTank(2500, this::onFluidStackChanged) { + @Override + public boolean isFluidValid(FluidStack stack) { + return stack.getFluid().is(TFMGTags.TFMGFluidTags.FLAMMABLE.tag)|| + stack.getFluid().is(TFMGTags.TFMGFluidTags.FUEL.tag); + } + }; + } + + protected void onFluidStackChanged(FluidStack newFluidStack) { + sendData(); + setChanged(); + } + + @Override + public void tick() { + super.tick(); + + + if(smokeTimer!=0) { + spawnsSmoke = true; + smokeTimer--; + }else { + spawnsSmoke = false; + + } + + if(spawnsSmoke) { + level.setBlock(getBlockPos(), this.getBlockState() + .setValue(FlarestackBlock.LIT, true), 2); + makeParticles(level, this.getBlockPos()); + + } else + { + level.setBlock(getBlockPos(), this.getBlockState() + .setValue(FlarestackBlock.LIT, false), 2); + } + if(tankInventory.getFluidAmount()>0) { + + smokeTimer = 100; + spawnsSmoke = true; + + if(tankInventory.getFluidAmount()>1000) { + tankInventory.drain(100, IFluidHandler.FluidAction.EXECUTE); + }else tankInventory.drain(30, IFluidHandler.FluidAction.EXECUTE); + + } + + } + + public static void makeParticles(Level level, BlockPos pos) { + Random random = Create.RANDOM; + int shouldSpawnSmoke = random.nextInt(7); + if(shouldSpawnSmoke==0) { + + + level.addParticle(ParticleTypes.CAMPFIRE_SIGNAL_SMOKE, pos.getX() +random.nextFloat(1), pos.getY() + 1, pos.getZ() +random.nextFloat(1), 0.0D, 0.08D, 0.0D); + level.addParticle(ParticleTypes.FLAME, pos.getX() +random.nextFloat(1), pos.getY() + 1, pos.getZ() +random.nextFloat(1), Create.RANDOM.nextDouble(0.28)-0.14D, 0.14D, Create.RANDOM.nextDouble(0.28)-0.14D); + level.addParticle(ParticleTypes.FLAME, pos.getX() +random.nextFloat(1), pos.getY() + 1, pos.getZ() +random.nextFloat(1), Create.RANDOM.nextDouble(0.28)-0.14D, 0.14D, Create.RANDOM.nextDouble(0.28)-0.14D); + level.addParticle(ParticleTypes.FLAME, pos.getX() +random.nextFloat(1), pos.getY() + 1, pos.getZ() +random.nextFloat(1), Create.RANDOM.nextDouble(0.28)-0.14D, 0.14D, Create.RANDOM.nextDouble(0.28)-0.14D); + + } + + } + + + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + + tankInventory.readFromNBT(registries,compound.getCompound("TankContent")); + } + + @Override + public void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + compound.put("TankContent", tankInventory.writeToNBT(registries,new CompoundTag())); + + + + } + + //@Nonnull + //@Override + //public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { +// + // if (cap == ForgeCapabilities.FLUID_HANDLER) + // return fluidCapability.cast(); + // return super.getCapability(cap, side); + //} + + + + @Override + public void addBehaviours(List behaviours) { + } + +} + diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/flarestack/FlarestackGenerator.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/flarestack/FlarestackGenerator.java new file mode 100644 index 00000000..7329a1d9 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/flarestack/FlarestackGenerator.java @@ -0,0 +1,34 @@ +package com.drmangotea.tfmg.content.machinery.misc.flarestack; + +import com.simibubi.create.foundation.data.SpecialBlockStateGen; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.model.generators.ModelFile; + +import static com.simibubi.create.foundation.data.AssetLookup.partialBaseModel; + +public class FlarestackGenerator extends SpecialBlockStateGen { + + @Override + protected int getXRotation(BlockState state) { + return 0; + } + + @Override + protected int getYRotation(BlockState state) { + return 0; + } + + @Override + public ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, + BlockState state) { + // return AssetLookup.forPowered(ctx, prov) + // .apply(state); + + return state.getValue(FlarestackBlock.LIT) ? partialBaseModel(ctx, prov, "lit") + : partialBaseModel(ctx, prov); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/machine_input/MachineInputBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/machine_input/MachineInputBlock.java new file mode 100644 index 00000000..92d4dfb7 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/machine_input/MachineInputBlock.java @@ -0,0 +1,48 @@ +package com.drmangotea.tfmg.content.machinery.misc.machine_input; + + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.content.kinetics.base.DirectionalKineticBlock; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.pathfinder.PathComputationType; + +public class MachineInputBlock extends DirectionalKineticBlock implements IBE { + + + + public MachineInputBlock(Properties properties) { + super(properties); + } + + @Override + public boolean hasShaftTowards(LevelReader world, BlockPos pos, BlockState state, Direction face) { + return face == state.getValue(FACING); + } + + @Override + public Direction.Axis getRotationAxis(BlockState state) { + return state.getValue(FACING).getAxis(); + } + + + @Override + protected boolean isPathfindable(BlockState state, PathComputationType pathComputationType) { + return false; + } + + @Override + public Class getBlockEntityClass() { + return MachineInputBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.MACHINE_INPUT.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/machine_input/MachineInputBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/machine_input/MachineInputBlockEntity.java new file mode 100644 index 00000000..ecb6589e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/machine_input/MachineInputBlockEntity.java @@ -0,0 +1,20 @@ +package com.drmangotea.tfmg.content.machinery.misc.machine_input; + + +import com.simibubi.create.content.kinetics.base.KineticBlockEntity; + +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +import java.util.List; + +public class MachineInputBlockEntity extends KineticBlockEntity { + public MachineInputBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + super(typeIn, pos, state); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/smokestack/SmokestackBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/smokestack/SmokestackBlock.java new file mode 100644 index 00000000..610f2136 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/smokestack/SmokestackBlock.java @@ -0,0 +1,62 @@ +package com.drmangotea.tfmg.content.machinery.misc.smokestack; + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BooleanProperty; + +public class SmokestackBlock extends Block implements IBE { + + public static final BooleanProperty TOP = BooleanProperty.create("top"); + + + public SmokestackBlock(Properties p_49795_) { + super(p_49795_); + + } + + @Override + public void onPlace(BlockState state, Level level, BlockPos pos, BlockState state1, boolean p_60570_) { + super.onPlace(state, level, pos, state1, p_60570_); + + if(level.getBlockState(pos.above()).getBlock() == state.getBlock()) + level.setBlock(pos,defaultBlockState().setValue(TOP,false),2); + + if(level.getBlockState(pos.below()).getBlock() == state.getBlock()) + level.setBlock(pos.below(),defaultBlockState().setValue(TOP,false),2); + + + + + } + + @Override + public void destroy(LevelAccessor level, BlockPos pos, BlockState state) { + super.destroy(level, pos, state); + + if(level.getBlockState(pos.below()).getBlock() == state.getBlock()) + level.setBlock(pos.below(),defaultBlockState().setValue(TOP,true),2); + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder p_49915_) { + super.createBlockStateDefinition(p_49915_); + p_49915_.add(TOP); + } + + @Override + public Class getBlockEntityClass() { + return SmokestackBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.SMOKESTACK.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/smokestack/SmokestackBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/smokestack/SmokestackBlockEntity.java new file mode 100644 index 00000000..7aeeeb2f --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/smokestack/SmokestackBlockEntity.java @@ -0,0 +1,162 @@ +package com.drmangotea.tfmg.content.machinery.misc.smokestack; + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.simibubi.create.Create; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.fluid.SmartFluidTank; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.Holder; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.material.Fluid; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; +import net.neoforged.neoforge.fluids.capability.templates.FluidTank; + + +import javax.annotation.Nonnull; +import java.util.List; +import java.util.Random; + +import static com.drmangotea.tfmg.content.machinery.misc.smokestack.SmokestackBlock.TOP; + + +public class SmokestackBlockEntity extends SmartBlockEntity { + + + int smokeTimer = 0; + + + public FluidTank tankInventory; + + protected IFluidHandler fluidCapability; + + public SmokestackBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + + tankInventory = new SmartFluidTank(8000, this::onFluidStackChanged) { + @Override + public boolean isFluidValid(FluidStack stack) { + return stack.getFluid().isSame(TFMGFluids.CARBON_DIOXIDE.getSource()); + } + }; + + fluidCapability = tankInventory; + } + + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.FluidHandler.BLOCK, + TFMGBlockEntities.SMOKESTACK.get(), + (be, context) -> be.fluidCapability + ); + } + + //@Nonnull + //@Override + //@SuppressWarnings("removal") + //public LazyOptional getCapability(@Nonnull Capability cap, Direction side) { +// + // if (cap == ForgeCapabilities.FLUID_HANDLER) + // return fluidCapability.cast(); + // return super.getCapability(cap, side); + //} + + @Override + public void invalidate() { + super.invalidate(); + + invalidateCapabilities(); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + + tankInventory.readFromNBT(registries,compound.getCompound("TankContent")); + + + } + + protected void onFluidStackChanged(FluidStack newFluidStack) { + if (!hasLevel()) + return; + + setChanged(); + sendData(); + + + } + + public static void makeParticles(Level level, BlockPos pos) { + Random random = Create.RANDOM; + int shouldSpawnSmoke = random.nextInt(7); + if (shouldSpawnSmoke == 0) { + + level.addParticle(ParticleTypes.CAMPFIRE_SIGNAL_SMOKE, pos.getX() + random.nextFloat(1), pos.getY() + 1, pos.getZ() + random.nextFloat(1), 0.0D, 0.08D, 0.0D); + + } + + } + + @Override + public void tick() { + super.tick(); + + if (smokeTimer > 0) { + + makeParticles(level, getBlockPos()); + + smokeTimer--; + } + + + if (tankInventory.isEmpty()) + return; + + + if (getBlockState().getValue(TOP)) { + tankInventory.drain(tankInventory.getSpace() < 1000 ? 50 : 10, IFluidHandler.FluidAction.EXECUTE); + + smokeTimer = 40; + + } + + + if (level.getBlockEntity(getBlockPos().above()) instanceof SmokestackBlockEntity be) { + + int transferAmount = Math.min(tankInventory.getFluidAmount(), be.tankInventory.getCapacity() - be.tankInventory.getFluidAmount()); + + tankInventory.drain(transferAmount, IFluidHandler.FluidAction.EXECUTE); + be.tankInventory.fill(new FluidStack(TFMGFluids.CARBON_DIOXIDE.get(), transferAmount), IFluidHandler.FluidAction.EXECUTE); + + } + } + + @Override + public void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + + + compound.put("TankContent", tankInventory.writeToNBT(registries,new CompoundTag())); + + + compound.putBoolean("Active", smokeTimer > 0); + + + } + + + @Override + public void addBehaviours(List behaviours) { + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/smokestack/SmokestackGenerator.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/smokestack/SmokestackGenerator.java new file mode 100644 index 00000000..31a0607b --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/smokestack/SmokestackGenerator.java @@ -0,0 +1,27 @@ +package com.drmangotea.tfmg.content.machinery.misc.smokestack; + +import com.simibubi.create.foundation.data.AssetLookup; +import com.simibubi.create.foundation.data.SpecialBlockStateGen; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.model.generators.ModelFile; + +public class SmokestackGenerator extends SpecialBlockStateGen { + + @Override + protected int getXRotation(BlockState state) { + return 0; + } + + @Override + protected int getYRotation(BlockState state) { + return 0; + } + + public ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, BlockState state) { + return (Boolean)state.getValue(SmokestackBlock.TOP) ? AssetLookup.partialBaseModel(ctx, prov, new String[]{"top"}) : AssetLookup.partialBaseModel(ctx, prov, new String[0]); + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/SpoolItem.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/SpoolItem.java new file mode 100644 index 00000000..70f2f7d2 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/SpoolItem.java @@ -0,0 +1,244 @@ +package com.drmangotea.tfmg.content.machinery.misc.winding_machine; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.content.electricity.connection.cables.CableConnection; +import com.drmangotea.tfmg.content.electricity.connection.cables.CableConnectorBlockEntity; +import com.drmangotea.tfmg.content.electricity.connection.cables.CablePos; +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.foundation.utility.CreateLang; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; + +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.Level; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; + + +import java.util.List; + +import static com.simibubi.create.foundation.utility.Debug.debugMessage; + +public class SpoolItem extends Item { + + public final PartialModel model; + public final int barColor; + public final CableConnection.CableType type; + + public SpoolItem(Properties properties, PartialModel model, int barColor, CableConnection.CableType type) { + super(properties); + this.model = model; + this.barColor = barColor; + this.type = type; + } + + + @Override + public void onCraftedBy(ItemStack stack, Level p_41448_, Player p_41449_) { + stack.set(TFMGDataComponents.SPOOL_AMOUNT,1000); + super.onCraftedBy(stack, p_41448_, p_41449_); + + } + + @Override + public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { + ItemStack stack = player.getItemInHand(hand); + if (player.isCrouching() && stack.get(TFMGDataComponents.POSITION) != 0) { + if (level.getBlockEntity(BlockPos.of(stack.get(TFMGDataComponents.POSITION))) instanceof CableConnectorBlockEntity be) + be.player = null; + stack.set(TFMGDataComponents.POSITION, 0l); + stack.remove(TFMGDataComponents.POSITION); + stack.remove(TFMGDataComponents.X_POS); + stack.remove(TFMGDataComponents.Y_POS); + stack.remove(TFMGDataComponents.Z_POS); + if (level.isClientSide) + player.displayClientMessage(CreateLang.translateDirect("wires.removed_data") + .withStyle(ChatFormatting.YELLOW), true); + return InteractionResultHolder.success(stack); + + } + + return super.use(level, player, hand); + } + + @Override + @OnlyIn(Dist.CLIENT) + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag flag) { + + + + tooltip.add(CreateLang.translateDirect("tooltip.coils", stack.get(TFMGDataComponents.SPOOL_AMOUNT)==null?0:stack.get(TFMGDataComponents.SPOOL_AMOUNT)) + .withStyle(ChatFormatting.GREEN) + ); + if(stack.get(TFMGDataComponents.POSITION)==null) + return; + BlockPos pos = BlockPos.of(stack.get(TFMGDataComponents.POSITION)); + if(pos.asLong()!=0) + tooltip.add(CreateLang.text("" + pos.getX() + " " + pos.getY() + " " + pos.getZ()).component() + .withStyle(ChatFormatting.AQUA) + ); + super.appendHoverText(stack, context, tooltip, flag); + } + + @Override + public InteractionResult useOn(UseOnContext context) { + + Level level = context.getLevel(); + BlockPos pos = context.getClickedPos(); + Player player = context.getPlayer(); + ItemStack stack = context.getItemInHand(); + + if(stack.get(TFMGDataComponents.SPOOL_AMOUNT)==null) + return InteractionResult.PASS; + if(level.isClientSide) + return InteractionResult.SUCCESS; + + if(type == CableConnection.CableType.NONE) + return InteractionResult.PASS; + + if(level.getBlockEntity(pos) instanceof CableConnectorBlockEntity be){ + if(stack.get(TFMGDataComponents.POSITION)!=null){ + BlockPos posToConnect = BlockPos.of(stack.get(TFMGDataComponents.POSITION)); + if(posToConnect == pos){ + stack.set(TFMGDataComponents.POSITION,0l); + if (level.isClientSide) + player.displayClientMessage(CreateLang.translateDirect("wires.cant_connect_itself") + .withStyle(ChatFormatting.YELLOW), true); + be.player = null; + be.sendData(); + be.setChanged(); + return InteractionResult.SUCCESS; + } + + if(level.getBlockEntity(posToConnect) instanceof CableConnectorBlockEntity otherBE) { + //CableConnectorBlockEntity connectedBe1 = pos.asLong()>posToConnect.asLong() ? otherBE : be; + //CableConnectorBlockEntity connectedBe2= pos.asLong()>posToConnect.asLong() ? be : otherBE; +// + CableConnection connection1 = new CableConnection(be.getCablePosition(), otherBE.getCablePosition(), otherBE.getBlockPos(),type,true); + CableConnection connection2 = new CableConnection(otherBE.getCablePosition(), be.getCablePosition(), be.getBlockPos(),type,false); + + float wireCost = (connection1.getLength()/8); + + + if(stack.get(TFMGDataComponents.SPOOL_AMOUNT) { + + public static final BooleanProperty POWERED = BooleanProperty.create("powered"); + public WindingMachineBlock(Properties p_54120_) { + super(p_54120_); + this.registerDefaultState(this.stateDefinition.any().setValue(POWERED,false)); + } + + @Override + public Direction.Axis getRotationAxis(BlockState state) { + return state.getValue(HORIZONTAL_FACING).getCounterClockWise().getAxis(); + } + + @Override + public boolean isSignalSource(BlockState p_60571_) { + return true; + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + super.createBlockStateDefinition(builder); + builder.add(POWERED); + } + + @Override + public int getSignal(BlockState p_60483_, BlockGetter p_60484_, BlockPos p_60485_, Direction p_60486_) { + return p_60483_.getValue(POWERED) ? 15 : 0; + + } + + @Override + public void onRemove(BlockState pState, Level pLevel, BlockPos pPos, BlockState pNewState, boolean pIsMoving) { + super.onRemove(pState, pLevel, pPos, pNewState, pIsMoving); + IBE.onRemove(pState,pLevel,pPos,pNewState); + } + + @Override + public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) { + return TFMGShapes.WINDING_MACHINE.get(p_60555_.getValue(HORIZONTAL_FACING)); + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + + + if(level.getBlockEntity(pos) instanceof WindingMachineBlockEntity be){ + if(player.getItemInHand(hand).isEmpty()){ + if(!be.inventory.isEmpty()&&!(be.inventory.getItem(0).getItem() instanceof SpoolItem)&&player.isShiftKeyDown()) { + player.setItemInHand(hand, be.inventory.getStackInSlot(0)); + be.inventory.setItem(0, ItemStack.EMPTY); + return ItemInteractionResult.SUCCESS; + } + if(!be.spool.isEmpty()){ + player.setItemInHand(hand, be.spool); + be.spool = ItemStack.EMPTY; + return ItemInteractionResult.SUCCESS; + } + }else { + if(be.inventory.isEmpty()&&!(player.getItemInHand(hand).getItem() instanceof SpoolItem)){ + ItemStack stack1 = player.getItemInHand(hand).copy(); + stack1.setCount(1); + be.inventory.setItem(0, stack1); + player.getItemInHand(hand).shrink(1); + return ItemInteractionResult.SUCCESS; + } + } + + } + + return super.useItemOn(stack, state, level, pos, player, hand, hitResult); + } + + + @Override + public boolean hasShaftTowards(LevelReader world, BlockPos pos, BlockState state, Direction face) { + return face == state.getValue(HORIZONTAL_FACING).getCounterClockWise(); + } + + @Override + public Class getBlockEntityClass() { + return WindingMachineBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.WINDING_MACHINE.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/WindingMachineBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/WindingMachineBlockEntity.java new file mode 100644 index 00000000..e6770ece --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/WindingMachineBlockEntity.java @@ -0,0 +1,285 @@ +package com.drmangotea.tfmg.content.machinery.misc.winding_machine; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity; +import com.drmangotea.tfmg.recipes.PolarizingRecipe; +import com.drmangotea.tfmg.recipes.WindingRecipe; +import com.drmangotea.tfmg.registry.*; +import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import com.simibubi.create.content.processing.sequenced.SequencedAssemblyRecipe; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollValue.ScrollValueBehaviour; +import com.simibubi.create.foundation.item.ItemHelper; +import com.simibubi.create.foundation.item.SmartInventory; + +import com.simibubi.create.foundation.utility.CreateLang; +import net.createmod.catnip.math.VecHelper; +import net.createmod.catnip.animation.LerpedFloat; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.world.Containers; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.RecipeHolder; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec3; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.items.IItemHandlerModifiable; +import net.neoforged.neoforge.items.wrapper.RecipeWrapper; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; +import java.util.Optional; + +import static com.drmangotea.tfmg.content.machinery.misc.winding_machine.WindingMachineBlock.POWERED; +import static com.simibubi.create.content.kinetics.base.HorizontalKineticBlock.HORIZONTAL_FACING; + +public class WindingMachineBlockEntity extends KineticBlockEntity implements IHaveGoggleInformation { + + LerpedFloat spoolSpeed = LerpedFloat.linear(); + float angle; + public SmartInventory inventory; + public IItemHandlerModifiable itemCapability; + public ItemStack spool = ItemStack.EMPTY; + public WindingRecipe recipe; + public int amountWinded = 0; + public boolean update = false; + + protected ScrollValueBehaviour turnPercentage; + + public WindingMachineBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + super(typeIn, pos, state); + setLazyTickRate(10); + inventory = new SmartInventory(1, this) + .withMaxStackSize(1) + .whenContentsChanged(i -> this.onContentsChanged()); + + itemCapability = inventory; + } + + + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.ItemHandler.BLOCK, + TFMGBlockEntities.WINDING_MACHINE.get(), + (be, context) -> be.itemCapability + ); + } + + + @Override + public void addBehaviours(List behaviours) { + super.addBehaviours(behaviours); + int max = 100; + turnPercentage = new ScrollValueBehaviour(CreateLang.translateDirect("winding_machine.turn_percentage"), + this, new WindingMachineValueBox()); + turnPercentage.between(1, max); + turnPercentage.value = 20; + behaviours.add(turnPercentage); + + } + + public void onContentsChanged() { + + findRecipe(); + if (inventory.isEmpty()) + amountWinded = 0; + } + + public void findRecipe() { + + Optional> optional = TFMGRecipeTypes.WINDING.find(new RecipeWrapper(inventory), level); + Optional> assemblyRecipe = SequencedAssemblyRecipe.getRecipe(this.level, new RecipeWrapper(inventory), TFMGRecipeTypes.WINDING.getType(), WindingRecipe.class); + + if (assemblyRecipe.isPresent()) { + recipe = assemblyRecipe.get().value(); + return; + } + if (optional.isEmpty()) { + recipe = null; + return; + } + WindingRecipe windingRecipe = optional.get().value(); + + if (windingRecipe.getIngredient().test(inventory.getItem(0))) { + recipe = windingRecipe; + } + } + + @Override + public void lazyTick() { + super.lazyTick(); + onContentsChanged(); + + if (spool.is(TFMGItems.EMPTY_SPOOL.get()) && !getBlockState().getValue(POWERED)) { + level.setBlock(getBlockPos(), getBlockState().setValue(POWERED, true), 2); + update = true; + } + if (!spool.is(TFMGItems.EMPTY_SPOOL.get()) && getBlockState().getValue(POWERED)) { + level.setBlock(getBlockPos(), getBlockState().setValue(POWERED, false), 2); + update = true; + } + } + + @Override + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + CreateLang.translate("goggles.winding_machine.header") + .style(ChatFormatting.GRAY) + .forGoggles(tooltip, 1); + if (!spool.isEmpty()) { + CreateLang.text(spool.getDisplayName().getString().replace("[","").replace("]","")) + .color(spool.getBarColor()) + .forGoggles(tooltip); + if(spool.get(TFMGDataComponents.SPOOL_AMOUNT)!=null) + CreateLang.translate("goggles.winding_machine.turns") + .add(CreateLang.number(spool.get(TFMGDataComponents.SPOOL_AMOUNT))) + .color(spool.getBarColor()) + .forGoggles(tooltip); + + if (recipe != null) + CreateLang.text("") + .add(CreateLang.translate("goggles.winding_machine.progress")) + .add(CreateLang.number(amountWinded)) + .add(Component.literal("/" + recipe.getProcessingDuration())) + .color(spool.getBarColor()) + .forGoggles(tooltip); + } + return true; + } + + public void destroy() { + super.destroy(); + ItemHelper.dropContents(level, worldPosition, inventory); + Containers.dropItemStack(getLevel(), getBlockPos().getX(), getBlockPos().getY(), getBlockPos().getZ(), spool); + } + + @Override + public void tick() { + super.tick(); + performRecipe(); + if (update) { + level.updateNeighborsAt(getBlockPos(), getBlockState().getBlock()); + update = false; + } + + if (level.isClientSide) + manageRotation(); + } + + public void performRecipe() { + + if (getSpeed() == 0) + return; + if (inventory.getItem(0).is(TFMGItems.ELECTROMAGNETIC_COIL.get()) && spool.is(TFMGItems.COPPER_SPOOL.get()) && spool.get(TFMGDataComponents.SPOOL_AMOUNT) > 0 && inventory.getItem(0).get(TFMGDataComponents.COIL_TURNS) < turnPercentage.getValue() * 10) { + if(inventory.getItem(0).get(TFMGDataComponents.COIL_TURNS)< turnPercentage.getValue()*10){ + spool.set(TFMGDataComponents.SPOOL_AMOUNT, spool.get(TFMGDataComponents.SPOOL_AMOUNT) - 1); + inventory.getItem(0).set(TFMGDataComponents.COIL_TURNS, inventory.getItem(0).get(TFMGDataComponents.COIL_TURNS) + 1); + return; + } + } + if(spool.get(TFMGDataComponents.SPOOL_AMOUNT)!=null) + if (inventory.getItem(0).is(TFMGBlocks.RESISTOR.asItem()) && spool.is(TFMGItems.CONSTANTAN_SPOOL.get()) && spool.get(TFMGDataComponents.SPOOL_AMOUNT) > 0 && inventory.getItem(0).get(TFMGDataComponents.RESISTANCE) < turnPercentage.getValue() * 10) { + if(inventory.getItem(0).get(TFMGDataComponents.RESISTANCE)< turnPercentage.getValue()*10) { + spool.set(TFMGDataComponents.SPOOL_AMOUNT, spool.get(TFMGDataComponents.SPOOL_AMOUNT) - 1); + inventory.getItem(0).set(TFMGDataComponents.RESISTANCE, inventory.getItem(0).get(TFMGDataComponents.RESISTANCE) + 1); + return; + } + } + + if(spool.get(TFMGDataComponents.SPOOL_AMOUNT)!=null) + if (spool.get(TFMGDataComponents.SPOOL_AMOUNT) == 0 && !spool.is(TFMGItems.EMPTY_SPOOL.get()) && spool.getItem() instanceof SpoolItem) + spool = TFMGItems.EMPTY_SPOOL.asStack(); + + if (recipe == null) { + return; + } + + + + if (amountWinded >= recipe.getProcessingDuration()) { + inventory.setStackInSlot(0, recipe.rollResults().get(0)); + recipe = null; + amountWinded = 0; + + sendData(); + setChanged(); + + } else { + if (spool.isEmpty() || spool.is(TFMGItems.EMPTY_SPOOL.get())) { + return; + } + if (spool.get(TFMGDataComponents.SPOOL_AMOUNT) > 0) { + if (recipe.getSpool().test(spool)) { + spool.set(TFMGDataComponents.SPOOL_AMOUNT, spool.get(TFMGDataComponents.SPOOL_AMOUNT) - 1); + amountWinded++; + } + } else { + inventory.setStackInSlot(0, recipe.rollResults().get(0)); + sendData(); + setChanged(); + } + + } + } + + //@Override + //public @NotNull LazyOptional getCapability(@NotNull Capability cap, @Nullable Direction side) { + + // if (cap == ForgeCapabilities.ITEM_HANDLER) + // return itemCapability.cast(); + + // return super.getCapability(cap, side); + //} + + public void manageRotation() { + float targetSpeed = (float) Math.min(Math.abs(getSpeed() * 1.5), 30); + spoolSpeed.updateChaseTarget(targetSpeed); + spoolSpeed.tickChaser(); + + } + + @Override + protected void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries , clientPacket); + compound.put("Inventory", inventory.serializeNBT(registries)); + + compound.put("Spool", spool.saveOptional(registries)); + compound.putInt("AmountWinded", amountWinded); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + inventory.deserializeNBT(registries,compound.getCompound("Inventory")); + + + if (compound.contains("Spool")) { + ItemStack.parse(registries, compound.getCompound("Spool")).ifPresent(i -> spool = i); + } + amountWinded = compound.getInt("AmountWinded"); + if (clientPacket) + spoolSpeed.chase(getGeneratedSpeed(), 1 / 16f, LerpedFloat.Chaser.EXP); + } + + public static class WindingMachineValueBox extends ValueBoxTransform.Sided { + @Override + protected Vec3 getSouthLocation() { + return VecHelper.voxelSpace(8, 4, 16.05); + } + + @Override + protected boolean isSideActive(BlockState state, Direction direction) { + return direction == state.getValue(HORIZONTAL_FACING); + } + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/WindingMachineRenderer.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/WindingMachineRenderer.java new file mode 100644 index 00000000..e7341be3 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/WindingMachineRenderer.java @@ -0,0 +1,109 @@ +package com.drmangotea.tfmg.content.machinery.misc.winding_machine; + +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.drmangotea.tfmg.registry.TFMGTags; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer; +import dev.engine_room.flywheel.lib.transform.TransformStack; +import net.createmod.catnip.render.CachedBuffers; +import net.createmod.catnip.render.SuperByteBuffer; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.client.renderer.entity.ItemRenderer; +import net.minecraft.client.resources.model.BakedModel; +import net.minecraft.core.Direction; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.state.BlockState; + +import static com.simibubi.create.content.kinetics.base.HorizontalKineticBlock.HORIZONTAL_FACING; +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class WindingMachineRenderer extends KineticBlockEntityRenderer { + public WindingMachineRenderer(BlockEntityRendererProvider.Context context) { + super(context); + } + + @Override + protected void renderSafe(WindingMachineBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource bufferSource, int light, int overlay) { + + BlockState blockState = be.getBlockState(); + ItemRenderer itemRenderer = Minecraft.getInstance() + .getItemRenderer(); + + VertexConsumer vb = bufferSource.getBuffer(RenderType.solid()); + if (!Minecraft.getInstance().isPaused()) { + be.angle += be.spoolSpeed.getValue(partialTicks) * 3 / 10f; + be.angle %= 360; + } + if (!be.spool.isEmpty()) { + CachedBuffers.partial(TFMGPartialModels.SPOOL, blockState) + .light(light) + .center() + .rotateYDegrees(blockState.getValue(HORIZONTAL_FACING).getAxis() == Direction.Axis.Z ? Math.abs(blockState.getValue(FACING).toYRot() - 180) : blockState.getValue(FACING).toYRot()) + .translateZ(-0.4f) + .translateY(0.4f) + .rotateXDegrees(be.angle) + .uncenter() + .renderInto(ms, vb); + + if (((SpoolItem) be.spool.getItem()).model != null) { + CachedBuffers.partial(((SpoolItem) be.spool.getItem()).model, blockState) + .light(light) + .center() + .rotateYDegrees(blockState.getValue(HORIZONTAL_FACING).getAxis() == Direction.Axis.Z ? Math.abs(blockState.getValue(FACING).toYRot() - 180) : blockState.getValue(FACING).toYRot()) + .translateZ(-0.4f) + .translateY(0.4f) + .rotateXDegrees(be.angle) + .uncenter() + .renderInto(ms, vb); + if (!be.inventory.isEmpty()) { + + CachedBuffers.partial(be.getSpeed() != 0 ? TFMGPartialModels.CONNNECTING_WIRE_ANIMATED : TFMGPartialModels.CONNNECTING_WIRE, blockState) + .light(light) + .center() + .rotateYDegrees(blockState.getValue(HORIZONTAL_FACING).getAxis() == Direction.Axis.Z ? Math.abs(blockState.getValue(FACING).toYRot() - 180) : blockState.getValue(FACING).toYRot()) + .translateY(0.4f) + .translateZ(0.1f) + .color(be.spool.getBarColor()) + .rotateXDegrees(12) + .uncenter() + .renderInto(ms, vb); + } + } + } + if (!be.inventory.isEmpty()) { + ItemStack item = be.inventory.getItem(0); + BakedModel bakedModel = itemRenderer.getModel(item, null, null, 0); + boolean blockItem = bakedModel.isGui3d(); + + ms.pushPose(); + TransformStack.of(ms) + .center() + .rotateYDegrees(blockState.getValue(HORIZONTAL_FACING).getAxis() == Direction.Axis.Z ? Math.abs(blockState.getValue(FACING).toYRot() - 180) : blockState.getValue(FACING).toYRot()) + .translateZ(0.4f) + .translateY(0.33f) + .rotateXDegrees(be.angle) + .rotateZDegrees(item.is(TFMGTags.TFMGItemTags.RODS.tag) ? 45 : 0) + .rotateZDegrees(blockItem ? 90 : 0) + .scale(blockItem ? .5f : .375f); + itemRenderer.render(item, ItemDisplayContext.FIXED, false, ms, bufferSource, light, overlay, bakedModel); + ms.popPose(); + } + + super.renderSafe(be, partialTicks, ms, bufferSource, light, overlay); + } + + @Override + protected SuperByteBuffer getRotatedModel(WindingMachineBlockEntity be, BlockState state) { + return CachedBuffers.partialFacing(AllPartialModels.SHAFT_HALF, state, state + .getValue(FACING).getCounterClockWise()); + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/WindingMachineVisual.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/WindingMachineVisual.java new file mode 100644 index 00000000..9f12fd9d --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/WindingMachineVisual.java @@ -0,0 +1,63 @@ +package com.drmangotea.tfmg.content.machinery.misc.winding_machine; + +import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity; +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.content.kinetics.base.IRotate; +import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual; +import com.simibubi.create.content.kinetics.base.RotatingInstance; +import com.simibubi.create.foundation.render.AllInstanceTypes; +import dev.engine_room.flywheel.api.instance.Instance; +import dev.engine_room.flywheel.api.visualization.VisualizationContext; +import dev.engine_room.flywheel.lib.model.Models; +import net.createmod.catnip.data.Iterate; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.Block; +import org.jetbrains.annotations.Nullable; + +import java.util.function.Consumer; + +import static com.simibubi.create.content.kinetics.base.HorizontalKineticBlock.HORIZONTAL_FACING; + +public class WindingMachineVisual extends KineticBlockEntityVisual { + protected final RotatingInstance shaft; + + public WindingMachineVisual(VisualizationContext context, WindingMachineBlockEntity blockEntity, float partialTick) { + super(context, blockEntity, partialTick); + + Direction facing = blockEntity.getBlockState().getValue(HORIZONTAL_FACING).getCounterClockWise(); + + shaft = instancerProvider().instancer(AllInstanceTypes.ROTATING, Models.partial(AllPartialModels.SHAFT_HALF)) + .createInstance(); + + shaft.setup(blockEntity) + .setPosition(getVisualPosition()) + .rotateToFace(Direction.SOUTH, facing) + .setChanged(); + } + + @Override + public void update(float pt) { + shaft.setup(blockEntity) + .setChanged(); + + } + + @Override + public void updateLight(float partialTick) { + Direction facing = blockEntity.getBlockState().getValue(HORIZONTAL_FACING).getCounterClockWise(); + BlockPos behind = pos.relative(facing); + relight(behind, shaft); + + } + + @Override + protected void _delete() { + shaft.delete(); + } + + @Override + public void collectCrumblingInstances(Consumer consumer) { + consumer.accept(shaft); + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/OilHammerItem.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/OilHammerItem.java new file mode 100644 index 00000000..a1d46b14 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/OilHammerItem.java @@ -0,0 +1,45 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.simibubi.create.foundation.utility.CreateLang; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.Level; + +public class OilHammerItem extends Item { + public OilHammerItem(Properties p_41383_) { + super(p_41383_); + } + + + @Override + public InteractionResult useOn(UseOnContext context) { + Level level = context.getLevel(); + BlockPos pos = context.getClickedPos(); + Player player = context.getPlayer(); + + for(int i = 0;i<300;i++){ + BlockPos posToCheck = pos.below(i); + if(level.getBlockState(posToCheck).is(TFMGBlocks.OIL_DEPOSIT.get())){ + if(TFMG.DEPOSITS.getReservoirFor(posToCheck.asLong())==null) + return InteractionResult.SUCCESS; + int oilReserves = TFMG.DEPOSITS.getReservoirFor(posToCheck.asLong()).oilReserves; + + if (level.isClientSide&&player!=null) + player.displayClientMessage(CreateLang.translateDirect("oil_hammer.reserves", oilReserves) + .withStyle(ChatFormatting.YELLOW), true); + + return InteractionResult.SUCCESS; + } + } + + + + return InteractionResult.SUCCESS; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/IndustrialPipeBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/IndustrialPipeBlock.java new file mode 100644 index 00000000..32469a95 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/IndustrialPipeBlock.java @@ -0,0 +1,34 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower; + + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.content.decoration.concrete.SimpleConcreteloggedBlock; +import com.drmangotea.tfmg.registry.TFMGBlocks; + +import net.minecraft.core.BlockPos; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + + +public class IndustrialPipeBlock extends SimpleConcreteloggedBlock { + + + public IndustrialPipeBlock(Properties pProperties) { + super(pProperties); + } + + @Override + public void randomTick(BlockState state, ServerLevel level, BlockPos pos, RandomSource randomSource) { + tickDrying(level,state,TFMGBlocks.CONCRETE_ENCASED_INDUSTRIAL_PIPE.getDefaultState(),pos, randomSource); + } + @Override + public VoxelShape getShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, CollisionContext pContext) { + return TFMGShapes.INDUSTRIAL_PIPE; + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/VerticalPlacementHelper.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/VerticalPlacementHelper.java new file mode 100644 index 00000000..49550e57 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/VerticalPlacementHelper.java @@ -0,0 +1,76 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower; + +import com.drmangotea.tfmg.registry.TFMGBlocks; +import net.createmod.catnip.placement.IPlacementHelper; +import net.createmod.catnip.placement.PlacementOffset; +import net.minecraft.MethodsReturnNonnullByDefault; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.BlockHitResult; + +import java.util.function.Predicate; + +@MethodsReturnNonnullByDefault +public abstract class VerticalPlacementHelper implements IPlacementHelper { + + protected final Predicate statePredicate; + + + + public VerticalPlacementHelper(Predicate statePredicate) { + this.statePredicate = statePredicate; + + + } + + public boolean matchesAxis(BlockState state, Direction.Axis axis) { + + return axis == Direction.Axis.Y; + } + + public int attachedPoles(Level world, BlockPos pos, Direction direction) { + BlockPos checkPos = pos.relative(direction); + BlockState state = world.getBlockState(checkPos); + int count = 0; + while (matchesAxis(state, direction.getAxis())) { + count++; + checkPos = checkPos.relative(direction); + state = world.getBlockState(checkPos); + } + return count; + } + + @Override + public Predicate getStatePredicate() { + return this.statePredicate; + } + + @Override + public PlacementOffset getOffset(Player player, Level world, BlockState state, BlockPos pos, BlockHitResult ray) { + + + + + BlockPos posToPlace = pos; + for(int i = 0;i<15;i++){ + posToPlace = posToPlace.below(); + + if(world.getBlockState(posToPlace).is(TFMGBlocks.INDUSTRIAL_PIPE.get())) + continue; + + if(!world.getBlockState(posToPlace).isAir()) { + return PlacementOffset.fail(); + + }else break; + + } + if(posToPlace!=pos) + return PlacementOffset.success(posToPlace, bState -> bState); + + + return PlacementOffset.fail(); + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/controller/DistillationControllerBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/controller/DistillationControllerBlock.java new file mode 100644 index 00000000..a4e0c274 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/controller/DistillationControllerBlock.java @@ -0,0 +1,58 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.controller; + +import com.drmangotea.tfmg.base.blocks.TFMGHorizontalDirectionalBlock; +import com.drmangotea.tfmg.content.decoration.tanks.steel.SteelTankBlock; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +public class DistillationControllerBlock extends TFMGHorizontalDirectionalBlock implements IBE, IWrenchable { + public DistillationControllerBlock(Properties pProperties) { + super(pProperties); + } + + @Override + public void onPlace(BlockState pState, Level pLevel, BlockPos pPos, BlockState pOldState, boolean pIsMoving) { + SteelTankBlock.updateTowerState(pLevel, pPos.relative(getFacing(pState).getOpposite()),true,false); + + } + + @Override + public void onRemove(BlockState state, Level world, BlockPos pos, BlockState newState, boolean pIsMoving) { + if (state.hasBlockEntity() && (!state.is(newState.getBlock()) || !newState.hasBlockEntity())) + world.removeBlockEntity(pos); + SteelTankBlock.updateTowerState(world, pos.relative(getFacing(state).getOpposite()),false,false); + + } + + @Override + public boolean canSurvive(BlockState pState, LevelReader pLevel, BlockPos pPos) { + if(!SteelTankBlock.updateTowerState((Level) pLevel, pPos.relative(getFacing(pState).getOpposite()),true,true)) + return false; + + + return super.canSurvive(pState, pLevel, pPos); + } + + + + public static Direction getFacing(BlockState state){ + return state.getValue(FACING); + } + + @Override + public Class getBlockEntityClass() { + return DistillationControllerBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.DISTILLATION_CONTROLLER.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/controller/DistillationControllerBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/controller/DistillationControllerBlockEntity.java new file mode 100644 index 00000000..42e9c076 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/controller/DistillationControllerBlockEntity.java @@ -0,0 +1,235 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.controller; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.content.decoration.tanks.steel.SteelTankBlockEntity; +import com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.output.DistillationOutputBlockEntity; +import com.drmangotea.tfmg.mixin.accessor.FluidTankBlockEntityAccessor; +import com.drmangotea.tfmg.recipes.DistillationRecipe; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.drmangotea.tfmg.registry.TFMGTags; +import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.fluid.SmartFluidTank; +import com.simibubi.create.foundation.recipe.RecipeConditions; +import com.simibubi.create.foundation.recipe.RecipeFinder; + +import com.simibubi.create.foundation.utility.CreateLang; +import net.createmod.catnip.animation.LerpedFloat; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.crafting.Recipe; +import net.minecraft.world.item.crafting.RecipeHolder; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; +import net.neoforged.neoforge.fluids.capability.templates.FluidTank; + + +import java.util.ArrayList; +import java.util.List; + +public class DistillationControllerBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation { + + private static final Object DistillationRecipesKey = new Object(); + + public DistillationRecipe recipe; + + LerpedFloat angle = LerpedFloat.angular(); + protected IFluidHandler fluidCapability; + + public final FluidTank tank = new SmartFluidTank(8000, this::onFluidStackChanged); + + public DistillationControllerBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + fluidCapability = tank; + } + + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.FluidHandler.BLOCK, + TFMGBlockEntities.DISTILLATION_CONTROLLER.get(), + (be, context) -> be.fluidCapability + ); + } + + @Override + public void addBehaviours(List behaviours) { + } + + + @Override + public void tick() { + super.tick(); + + if (level.isClientSide) { + angle.chase(180 * ((float) tank.getFluidAmount() / tank.getCapacity()), 0.2f, LerpedFloat.Chaser.EXP); + angle.tickChaser(); + } + + // + ArrayList outputs = getOutputs(); + BlockEntity beBehind = level.getBlockEntity(getBlockPos().relative(DistillationControllerBlock.getFacing(getBlockState()).getOpposite())); + if (!(beBehind instanceof SteelTankBlockEntity be)) + return; + + + + if (outputs.isEmpty() || be.activeHeat == 0) + return; + /// + + if (recipe == null || !recipe.matches(tank, outputs.toArray().length)) { + DistillationRecipe recipe = getMatchingRecipes(); + + + if (recipe != null) { + this.recipe = recipe; + sendData(); + } + } + if (recipe == null) + return; + + /// + float speedModifier = (float) be.activeHeat / 2; + if (recipe.getInputFluid().getRequiredAmount() * speedModifier > tank.getFluidAmount()) + return; + + if (recipe.getFluidResults().toArray().length != getOutputs().toArray().length) + return; + if (be.isController()) { + if (be.getHeight() < outputs.toArray().length * 2 || (((FluidTankBlockEntityAccessor)be).tfmg$getWidth() < 2 && outputs.toArray().length > 3)) + return; + } else if (be.getControllerBE().getHeight() < outputs.toArray().length * 2 || ((FluidTankBlockEntityAccessor)be.getControllerBE()).tfmg$getWidth() < 2) + return; + + for (DistillationOutputBlockEntity be1 : outputs) { + if (be1.tank.getSpace() == 0&&be1.mode.get() == DistillationOutputBlockEntity.DistillationOutputMode.KEEP_FLUID) + return; + } + int numero = 0; + for (DistillationOutputBlockEntity output : outputs) { + FluidStack fluidStack = recipe.getFluidResults().get(numero); + if (fluidStack.isEmpty()) + break; + if (output.tank.fill(new FluidStack(fluidStack.getFluidHolder(), (int) (fluidStack.getAmount() * speedModifier)), IFluidHandler.FluidAction.SIMULATE) > output.tank.getCapacity()&&output.mode.get() == DistillationOutputBlockEntity.DistillationOutputMode.KEEP_FLUID) + break; + + output.tank.fill(new FluidStack(fluidStack.getFluidHolder(), (int) (fluidStack.getAmount() * speedModifier)), IFluidHandler.FluidAction.EXECUTE); + int consumption = (recipe.getInputFluid().getRequiredAmount() / 6); + + tank.drain((int) (consumption * speedModifier), IFluidHandler.FluidAction.EXECUTE); + numero++; + } + } + + protected void onFluidStackChanged(FluidStack newFluidStack) { + if (!hasLevel()) + return; + + if (!level.isClientSide) { + setChanged(); + sendData(); + } + } + + @Override + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + + BlockEntity beBehind = level.getBlockEntity(getBlockPos().relative(DistillationControllerBlock.getFacing(getBlockState()).getOpposite())); + if (beBehind instanceof SteelTankBlockEntity be) { + + CreateLang.translate("goggles.distillation_tower.status") + .style(ChatFormatting.GRAY) + .forGoggles(tooltip, 1); + + if (be.getControllerBE().activeHeat > 0) { + CreateLang.translate("goggles.distillation_tower.level", be.getControllerBE().activeHeat) + .style(ChatFormatting.GOLD) + .forGoggles(tooltip, 1); + } else + CreateLang.translate("goggles.distillation_tower.level", be.getControllerBE().activeHeat) + .style(ChatFormatting.RED) + .forGoggles(tooltip, 1); + if (getOutputs().toArray().length > 0) { + CreateLang.translate("goggles.distillation_tower.found_outputs", getOutputs().toArray().length) + .style(ChatFormatting.GOLD) + .forGoggles(tooltip, 1); + } else + CreateLang.translate("goggles.distillation_tower.found_outputs", getOutputs().toArray().length) + .style(ChatFormatting.RED) + .forGoggles(tooltip, 1); + + + } else + CreateLang.translate("goggles.distillation_tower.tank_not_found") + .style(ChatFormatting.RED) + .forGoggles(tooltip, 1); + TFMGUtils.createFluidTooltip(this,tooltip); + + return true; + } + + protected DistillationRecipe getMatchingRecipes() { + List>> list = RecipeFinder.get(getRecipeCacheKey(), level, RecipeConditions.isOfType(TFMGRecipeTypes.DISTILLATION.getType())); + for (int i = 0; i < list.toArray().length; i++) { + DistillationRecipe recipe = (DistillationRecipe) list.get(i).value(); + if (recipe.getFluidResults().toArray().length == getOutputs().toArray().length) + for (int y = 0; y < recipe.getFluidIngredients().get(0).getMatchingFluidStacks().toArray().length; y++) + if (tank.getFluid().getFluid() == recipe.getFluidIngredients().get(0).getMatchingFluidStacks().get(y).getFluid()) + if (tank.getFluidAmount() >= recipe.getFluidIngredients().get(0).getRequiredAmount()) + return recipe; + } + return null; + } + + protected Object getRecipeCacheKey() { + return DistillationRecipesKey; + } + + //@Nonnull + //@Override + //public LazyOptional getCapability(@Nonnull Capability cap, Direction side) { + // if (cap == ForgeCapabilities.FLUID_HANDLER) + // return fluidCapability.cast(); + // return super.getCapability(cap, side); + //} + + public ArrayList getOutputs() { + ArrayList outputs = new ArrayList<>(); + BlockPos checkedPos = this.getBlockPos().above(); + for (int i = 0; i < 11; i++) { + if (i == 0 || i == 2 || i == 4 || i == 6 || i == 8 || i == 10) { + if (level.getBlockEntity(checkedPos) instanceof DistillationOutputBlockEntity be) { + outputs.add(be); + } else break; + } else { + if (!(level.getBlockState(checkedPos).is(TFMGTags.TFMGBlockTags.INDUSTRIAL_PIPE.tag))) + break; + } + checkedPos = checkedPos.above(); + } + return outputs; + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + tank.readFromNBT(registries,compound.getCompound("TankContent")); + } + + @Override + public void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + compound.put("TankContent", tank.writeToNBT(registries,new CompoundTag())); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/controller/DistillationControllerRenderer.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/controller/DistillationControllerRenderer.java new file mode 100644 index 00000000..a8fdc1ef --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/controller/DistillationControllerRenderer.java @@ -0,0 +1,44 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.controller; + +import com.drmangotea.tfmg.content.electricity.utilities.polarizer.PolarizerBlockEntity; +import com.drmangotea.tfmg.registry.TFMGPartialModels; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; +import net.createmod.catnip.render.CachedBuffers; +import net.createmod.catnip.animation.LerpedFloat; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.client.renderer.entity.ItemRenderer; +import net.minecraft.core.Direction; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.state.BlockState; + +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class DistillationControllerRenderer extends SafeBlockEntityRenderer { + + public DistillationControllerRenderer(BlockEntityRendererProvider.Context context) {} + + @Override + protected void renderSafe(DistillationControllerBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, + int light, int overlay) { + BlockState blockState = be.getBlockState(); + VertexConsumer vb = buffer.getBuffer(RenderType.solid()); + ms.pushPose(); + CachedBuffers.partial(TFMGPartialModels.DISTILLATION_CONTROLLER_DIAL,blockState) + .center() + .rotateYDegrees(blockState.getValue(FACING).getAxis() == Direction.Axis.Z ? Math.abs(blockState.getValue(FACING).toYRot() - 180) : blockState.getValue(FACING).toYRot()) + .translateY(0.01f) + .rotateZDegrees(be.angle.getValue(partialTicks)) + .translateX(0.09f) + .uncenter() + .renderInto(ms, vb); + ms.popPose(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/output/DistillationOutputBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/output/DistillationOutputBlock.java new file mode 100644 index 00000000..35e847cd --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/output/DistillationOutputBlock.java @@ -0,0 +1,23 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.output; + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntityType; + +public class DistillationOutputBlock extends Block implements IBE, IWrenchable { + public DistillationOutputBlock(Properties pProperties) { + super(pProperties); + } + + @Override + public Class getBlockEntityClass() { + return DistillationOutputBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.DISTILLATION_OUTPUT.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/output/DistillationOutputBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/output/DistillationOutputBlockEntity.java new file mode 100644 index 00000000..d2d8ee3d --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/output/DistillationOutputBlockEntity.java @@ -0,0 +1,132 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.output; + +import com.drmangotea.tfmg.base.TFMGIcons; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollValue.INamedIconOptions; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollValue.ScrollOptionBehaviour; +import com.simibubi.create.foundation.fluid.SmartFluidTank; +import com.simibubi.create.foundation.gui.AllIcons; + +import com.simibubi.create.foundation.utility.CreateLang; +import net.createmod.catnip.math.VecHelper; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec3; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; +import net.neoforged.neoforge.fluids.capability.templates.FluidTank; + +import java.util.List; + +public class DistillationOutputBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation { + + + protected IFluidHandler fluidCapability; + + public ScrollOptionBehaviour mode; + + public final FluidTank tank = new SmartFluidTank(8000,this::onFluidStackChanged); + public DistillationOutputBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + fluidCapability = tank; + } + + @Override + public void addBehaviours(List behaviours) { + mode = new ScrollOptionBehaviour(DistillationOutputMode.class, + CreateLang.translateDirect("distillation_output.when_tank_is_full"), this, new DistillationOutputValueBox()); + behaviours.add(mode); + } + + protected void onFluidStackChanged(FluidStack newFluidStack) { + if (!hasLevel()) + return; + if (!level.isClientSide) { + setChanged(); + sendData(); + } + } + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.FluidHandler.BLOCK, + TFMGBlockEntities.DISTILLATION_OUTPUT.get(), + (be, context) -> be.fluidCapability + ); + } + //@Nonnull + //@Override + //public LazyOptional getCapability(@Nonnull Capability cap, Direction side) { + // if (cap == ForgeCapabilities.FLUID_HANDLER) + // return fluidCapability.cast(); + // return super.getCapability(cap, side); + //} + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + + tank.readFromNBT(registries,compound.getCompound("TankContent")); + + } + + + @Override + public void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.write(compound,registries,clientPacket); + + compound.put("TankContent", tank.writeToNBT(registries,new CompoundTag())); + + } + @Override + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + + + return containedFluidTooltip(tooltip, isPlayerSneaking, + fluidCapability); + + + } + + public static class DistillationOutputValueBox extends ValueBoxTransform.Sided { + @Override + protected Vec3 getSouthLocation() { + return VecHelper.voxelSpace(8, 8, 16.05); + } + + @Override + protected boolean isSideActive(BlockState state, Direction direction) { + return direction.getAxis().isHorizontal(); + } + } + + public enum DistillationOutputMode implements INamedIconOptions { + KEEP_FLUID(TFMGIcons.DISTILLATION_OUTPUT_ICON_DO_NOT_VOID), + VOID_WHEN_FULL(TFMGIcons.DISTILLATION_OUTPUT_ICON_VOID); + + final AllIcons icon; + + DistillationOutputMode(AllIcons icon){ + this.icon = icon; + } + + @Override + public AllIcons getIcon() { + return icon; + } + + @Override + public String getTranslationKey() { + return "distillation_output.mode."+ CreateLang.asId(name()); + } + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/base/DepositItem.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/base/DepositItem.java new file mode 100644 index 00000000..ec38ac45 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/base/DepositItem.java @@ -0,0 +1,37 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.base; + +import com.drmangotea.tfmg.config.TFMGConfigs; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import net.minecraft.core.BlockPos; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.Level; + +public class DepositItem extends Item { + public DepositItem(Properties p_41383_) { + super(p_41383_); + } + + @Override + public boolean isFoil(ItemStack p_41453_) { + return true; + } + + @Override + public InteractionResult useOn(UseOnContext context) { + Level level = context.getLevel(); + BlockPos pos = context.getClickedPos(); + if(level.getServer()==null) + return InteractionResult.PASS; + if(level.getBlockState(pos).is(TFMGBlocks.OIL_DEPOSIT.get())) { + //DepositSavedData data = DepositSavedData.load(level.getServer()); + // if(data.getReservoirFor(pos.asLong())!=null) { + // data.getReservoirFor(pos.asLong()).oilReserves = level.getRandom().nextInt(1000, TFMGConfigs.common().deposits.depositMaxReserves.get()); + // return InteractionResult.SUCCESS; + // } + } + return InteractionResult.PASS; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/base/DepositSavedData.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/base/DepositSavedData.java new file mode 100644 index 00000000..1fd0beea --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/base/DepositSavedData.java @@ -0,0 +1 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.base; \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/base/FluidReservoir.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/base/FluidReservoir.java new file mode 100644 index 00000000..70539879 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/base/FluidReservoir.java @@ -0,0 +1,21 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.base; + +import java.util.ArrayList; +import java.util.List; + +public class FluidReservoir { + + public final long id; + + public int oilReserves; + + public List deposits = new ArrayList<>(); + + public FluidReservoir(long id){ + this.id = id; + deposits.add(id); + } + + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/base/PumpjackBaseBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/base/PumpjackBaseBlock.java new file mode 100644 index 00000000..1afd8d4e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/base/PumpjackBaseBlock.java @@ -0,0 +1,37 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.base; + + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class PumpjackBaseBlock extends Block implements IBE { + public PumpjackBaseBlock(Properties pProperties) { + super(pProperties); + } + + + @Override + public VoxelShape getShape(BlockState pState, BlockGetter worldIn, BlockPos pos, CollisionContext context) { + return TFMGShapes.PUMPJACK_BASE; + } + + @Override + public Class getBlockEntityClass() { + return PumpjackBaseBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.PUMPJACK_BASE.get(); + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/base/PumpjackBaseBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/base/PumpjackBaseBlockEntity.java new file mode 100644 index 00000000..5b51c211 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/base/PumpjackBaseBlockEntity.java @@ -0,0 +1,230 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.base; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.config.TFMGConfigs; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.crank.PumpjackCrankBlockEntity; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.PumpjackBlockEntity; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.drmangotea.tfmg.registry.TFMGTags; +import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.fluid.SmartFluidTank; + +import com.simibubi.create.foundation.utility.CreateLang; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; +import net.neoforged.neoforge.fluids.capability.templates.FluidTank; + +import javax.annotation.Nonnull; +import java.util.List; + +public class PumpjackBaseBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation { + public PumpjackBlockEntity controllerHammer; + public boolean isRunning = false; + int depositCheckTimer = 0; + public int miningRate = 0; + protected IFluidHandler fluidCapability; + public FluidTank tank; + public BlockPos deposit; + + + public PumpjackBaseBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + tank = createInventory(); + fluidCapability = tank; + } + + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.FluidHandler.BLOCK, + TFMGBlockEntities.PUMPJACK_BASE.get(), + (be, context) -> be.fluidCapability + ); + } + + + @Override + public void tick() { + super.tick(); + + + if (controllerHammer != null) + if (!(level.getBlockEntity(controllerHammer.getBlockPos()) instanceof PumpjackBlockEntity)) + controllerHammer = null; + if (controllerHammer != null) + if (controllerHammer.base == null) + controllerHammer = null; + + if (controllerHammer != null) + if (!controllerHammer.isRunning()) + controllerHammer = null; + + if (controllerHammer == null) + return; + isRunning = controllerHammer.isRunning(); + + if (!isRunning) { + deposit = null; + controllerHammer = null; + miningRate = 0; + return; + } + depositCheckTimer++; + if (depositCheckTimer > 50) { + depositCheckTimer = 0; + findDeposit(); + + } + PumpjackCrankBlockEntity crank = null; + if (controllerHammer.crank != null) + crank = controllerHammer.crank; + + if (crank == null) + return; + miningRate = (int) Math.abs(crank.getMachineInputSpeed() * (crank.heightModifier)); + process(); + + + } + + @Override + public void lazyTick() { + super.lazyTick(); + // TFMG.DEPOSITS.removeEmptyDeposits(); + } + + public void findDeposit() { + for (int i = 0; i < this.getBlockPos().getY() + 64; i++) { + BlockPos checkedPos = new BlockPos(this.getBlockPos().getX(), (this.getBlockPos().getY() - 1) - i, this.getBlockPos().getZ()); + if (level.getBlockState(new BlockPos(checkedPos)).is(TFMGBlocks.OIL_DEPOSIT.get())) { + deposit = checkedPos; + return; + } + if (!(level.getBlockState(new BlockPos(checkedPos)).is(TFMGTags.TFMGBlockTags.INDUSTRIAL_PIPE.tag))) { + deposit = null; + return; + } + } + deposit = null; + } + + public void process() { + if (deposit == null) + return; + + + //if (TFMG.DEPOSITS.depositData == null) { + // return; + //} + if (!level.isClientSide) + if (!TFMG.DEPOSITS.containsDeposit(deposit.asLong())) { + TFMG.DEPOSITS.addDeposit(level, deposit.asLong()); + TFMG.DEPOSITS.markDirty(); + sendData(); + } + + + if (tank.getFluidAmount() + miningRate > tank.getCapacity()) + return; + int amountPumped = tank.fill(new FluidStack(TFMGFluids.CRUDE_OIL.get().getSource(), miningRate), IFluidHandler.FluidAction.EXECUTE); + sendData(); + + if (amountPumped == 0) + return; + + if (TFMGConfigs.common().worldgen.infiniteDeposits.get()) + return; + + RandomSource randomSource = level.getRandom(); + //fix + //if (randomSource.nextInt(((900000) / amountPumped) + 1) == 0) { +// + // TFMG.DEPOSITS.getReservoirFor(deposit.asLong()).oilReserves--; + // // TFMG.DEPOSITS.depositData.setDirty(); + // if (TFMG.DEPOSITS.getReservoirFor(deposit.asLong()).oilReserves <= 0) { + // TFMG.LOGGER.debug("EPIC REMOVAL"); + // TFMG.DEPOSITS.removeDeposit(deposit.asLong()); + // level.setBlock(deposit, Blocks.BEDROCK.defaultBlockState(), 3); + // deposit = null; + // findDeposit(); + // } + //} + + + } + + public void setControllerHammer(PumpjackBlockEntity controllerHammer) { + this.controllerHammer = controllerHammer; + } + + @Override + public void addBehaviours(List behaviours) { + } + + protected SmartFluidTank createInventory() { + return new SmartFluidTank(8000, this::onFluidStackChanged) { + @Override + public boolean isFluidValid(FluidStack stack) { + return stack.getFluid().isSame(TFMGFluids.CRUDE_OIL.getSource()); + } + }; + } + + protected void onFluidStackChanged(FluidStack newFluidStack) { + sendData(); + setChanged(); + } + + @Override + @SuppressWarnings("removal") + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + CreateLang.translate("goggles.pumpjack_info") + .forGoggles(tooltip); + if (deposit == null) { + CreateLang.translate("goggles.zero") + .style(ChatFormatting.DARK_RED) + .forGoggles(tooltip, 1); + } + + TFMGUtils.createFluidTooltip(this, tooltip); + return true; + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + tank.readFromNBT(registries,compound.getCompound("TankContent")); + } + + @Override + public void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + + compound.put("TankContent", tank.writeToNBT(registries,new CompoundTag())); + super.write(compound,registries , clientPacket); + } + + + //@Nonnull + //@Override + //@SuppressWarnings("removal") + //public LazyOptional getCapability(@Nonnull Capability cap, Direction side) { + // if (cap == ForgeCapabilities.FLUID_HANDLER) + // return fluidCapability.cast(); + // return super.getCapability(cap, side); + //} +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/base/TestSavedData.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/base/TestSavedData.java new file mode 100644 index 00000000..5945a74d --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/base/TestSavedData.java @@ -0,0 +1,76 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.base; + +import com.drmangotea.tfmg.TFMG; +import com.simibubi.create.content.trains.RailwaySavedData; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.server.MinecraftServer; +import net.minecraft.world.level.saveddata.SavedData; + +import java.util.*; + +public class TestSavedData extends SavedData { + + private List list = new ArrayList<>(); + + + @Override + public CompoundTag save(CompoundTag compound, HolderLookup.Provider provider) { + TestSavedDataManager manager = TFMG.DEPOSITS; + compound.putInt("reservoirCount", manager.list.size()); + for (int i = 0; i < manager.list.size(); i++) { + FluidReservoir reservoir = manager.list.get(i); + CompoundTag reservoirNBT = new CompoundTag(); + reservoirNBT.putLong("Id", reservoir.id); + reservoirNBT.putInt("Reserves", reservoir.oilReserves); + //reservoirNBT.putLongArray("Deposits", reservoir.deposits); + reservoirNBT.putInt("DepositCount", reservoir.deposits.size()); + for (int j = 0; j < reservoir.deposits.size(); j++) { + reservoirNBT.putLong("Deposit"+j,reservoir.deposits.get(j)); + } + + // + compound.put("FluidReservoir" + i, reservoirNBT); + + } + return compound; + } + + public List getLogisticsNetworks() { + return list; + } + + + public static TestSavedData load(CompoundTag compound, HolderLookup.Provider registries) { + TestSavedData sd = new TestSavedData(); + sd.list = new ArrayList<>(); + for (int i = 0; i < compound.getInt("reservoirCount"); i++) { + CompoundTag reservoirNBT = compound.getCompound("FluidReservoir" + i); + + FluidReservoir reservoir = new FluidReservoir(reservoirNBT.getLong("Id")); + // long[] depositArray = compound.getLongArray("Deposits"); + + + //reservoir.deposits = Arrays.stream(depositArray).boxed().toList(); + for (int j = 0; j < compound.getInt("DepositCount"); j++) { + reservoir.deposits.add(reservoirNBT.getLong("Deposit"+j)); + } + + reservoir.oilReserves = reservoirNBT.getInt("Reserves"); + sd.list.add(reservoir); + } + + return sd; + } + public static SavedData.Factory factory() { + return new SavedData.Factory<>(TestSavedData::new, TestSavedData::load); + } + + public static TestSavedData load(MinecraftServer server) { + return server.overworld() + .getDataStorage() + .computeIfAbsent(factory(), "tfmg_deposits"); + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/base/TestSavedDataManager.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/base/TestSavedDataManager.java new file mode 100644 index 00000000..af0918e9 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/base/TestSavedDataManager.java @@ -0,0 +1,138 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.base; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.config.TFMGConfigs; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import net.minecraft.core.BlockPos; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; + +import java.util.ArrayList; +import java.util.List; + +public class TestSavedDataManager { + + public List list; + + private TestSavedData savedData; + + public TestSavedDataManager() { + list = new ArrayList<>(); + } + + public FluidReservoir getReservoirFor(long pos) { + + for (FluidReservoir reservoir : TFMG.DEPOSITS.list) { + if (reservoir.deposits.contains(pos)) + return reservoir; + } + return null; + } + public void removeDeposit(long pos) { + for (FluidReservoir reservoir : TFMG.DEPOSITS.list) { + if (reservoir.deposits.contains(pos)) { + reservoir.deposits.remove(pos); + if (reservoir.deposits.isEmpty()) + TFMG.DEPOSITS.list.remove(reservoir); + return; + } + } + } + + public void removeEmptyDeposits() { + TFMG.DEPOSITS.list.removeIf(reservoir -> reservoir.oilReserves == 0); + } + public boolean isReservoirNearby(BlockPos pos) { + + for (int x = -32; x < 32; x++) { + for (int z = -32; z < 32; z++) { + BlockPos checkedPos = pos.offset(x, 0, z); + for (int i = 0; i < TFMG.DEPOSITS.list.size(); i++) { + FluidReservoir reservoir = TFMG.DEPOSITS.list.get(i); + if (reservoir.id == checkedPos.asLong()) { + TFMG.DEPOSITS.list.get(i).deposits.add(pos.asLong()); + return true; + } + } + + } + } + + return false; + } + public void addDeposit(Level level, long pos) { + + + + if (!level.getBlockState(BlockPos.of(pos)).is(TFMGBlocks.OIL_DEPOSIT.get())) + return; + + if (containsDeposit(pos)) + return; + + for (FluidReservoir reservoir : TFMG.DEPOSITS.list) { + if (reservoir.id != pos) { + if (isReservoirNearby(BlockPos.of(pos))) { + return; + } + } + } + + RandomSource randomSource = level.random; + FluidReservoir reservoir = new FluidReservoir(pos); + reservoir.oilReserves = randomSource.nextInt(1000, TFMGConfigs.common().worldgen.depositMaxReserves.get()); + if (!reservoir.deposits.isEmpty()) { + TFMG.DEPOSITS.list.add(reservoir); + TFMG.DEPOSITS.markDirty(); + } + } + + public void removeData() { + + //reservoirs = new ArrayList<>(); + TFMG.DEPOSITS.markDirty(); + } + public static boolean containsDeposit(long pos) { + BlockPos findPos = BlockPos.of(pos); + + //if (TFMG.DEPOSITS.depositData.reservoirs.size() == 0) + + for (FluidReservoir reservoir : TFMG.DEPOSITS.list) { + + + + for(long deposit : reservoir.deposits){ + + if(deposit == pos) + return true; + } + if (reservoir.deposits.contains(pos)) { + + return true; + } + } + return false; + } + + public void levelLoaded(LevelAccessor level) { + MinecraftServer server = level.getServer(); + if (server == null || server.overworld() != level) + return; + list = new ArrayList<>(); + savedData = null; + loadLogisticsData(server); + } + private void loadLogisticsData(MinecraftServer server) { + if (savedData != null) + return; + savedData = TestSavedData.load(server); + list = savedData.getLogisticsNetworks(); + } + public void markDirty() { + if (savedData != null) + savedData.setDirty(); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/crank/PumpjackCrankBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/crank/PumpjackCrankBlock.java new file mode 100644 index 00000000..614b10dd --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/crank/PumpjackCrankBlock.java @@ -0,0 +1,53 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.crank; + + +import com.drmangotea.tfmg.content.engines.types.large_engine.LargeEngineBlock; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.mojang.serialization.MapCodec; +import com.simibubi.create.AllShapes; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class PumpjackCrankBlock extends HorizontalDirectionalBlock implements IBE { + public PumpjackCrankBlock(Properties p_54120_) { + super(p_54120_); + } + public static final MapCodec CODEC = simpleCodec(PumpjackCrankBlock::new); + @Override + protected MapCodec codec() { + return CODEC; + } + + public BlockState getStateForPlacement(BlockPlaceContext p_54779_) { + return this.defaultBlockState().setValue(FACING, p_54779_.getHorizontalDirection()); + } + @Override + public VoxelShape getShape(BlockState pState, BlockGetter worldIn, BlockPos pos, CollisionContext context) { + + return AllShapes.CASING_14PX.get(Direction.UP); + } + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + super.createBlockStateDefinition(builder); + builder.add(FACING); + } + @Override + public Class getBlockEntityClass() { + return PumpjackCrankBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.PUMPJACK_CRANK.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/crank/PumpjackCrankBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/crank/PumpjackCrankBlockEntity.java new file mode 100644 index 00000000..e4f2be2e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/crank/PumpjackCrankBlockEntity.java @@ -0,0 +1,59 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.crank; + +import com.drmangotea.tfmg.content.machinery.misc.machine_input.MachineInputBlockEntity; +import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import net.createmod.catnip.animation.AnimationTickHolder; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +import java.util.List; + +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class PumpjackCrankBlockEntity extends KineticBlockEntity { + + public float angle = 0; + + public Direction direction; + public float heightModifier = 0; + public float crankRadius = 0.7f; + + public PumpjackCrankBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + public void tick() { + super.tick(); + direction = this.getBlockState().getValue(FACING); + setAngle(); + heightModifier = (float) (crankRadius * Math.sin(Math.toRadians(angle))); + } + + public float getMachineInputSpeed() { + + if (level.getBlockEntity(getBlockPos().below()) instanceof MachineInputBlockEntity) + return ((MachineInputBlockEntity) level.getBlockEntity(getBlockPos().below())).getSpeed(); + return 0; + } + + private void setAngle() { + if (level.getBlockEntity(getBlockPos().below()) instanceof MachineInputBlockEntity) { + float time; + if (level.isClientSide) { + time = AnimationTickHolder.getRenderTime(getLevel()); + } else time = level.getBlockTicks().hashCode(); + float speed_amogus = Math.min(getMachineInputSpeed() / 6, (float) 10); + if (speed_amogus != 0) { + angle = (time * speed_amogus * 3 / 10f) % 360; + angle = angle / 180f * (float) Math.PI; + angle = (float) Math.toDegrees(angle); + } else angle = 180; + } + } + + @Override + public void addBehaviours(List behaviours) {} +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/crank/PumpjackCrankRenderer.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/crank/PumpjackCrankRenderer.java new file mode 100644 index 00000000..abd5ff44 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/crank/PumpjackCrankRenderer.java @@ -0,0 +1,52 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.crank; + + + + + +import com.drmangotea.tfmg.registry.TFMGPartialModels; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer; +import dev.engine_room.flywheel.lib.transform.TransformStack; +import net.createmod.catnip.render.CachedBuffers; +import net.createmod.catnip.render.SuperByteBuffer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.world.level.block.state.BlockState; + +import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING; + +public class PumpjackCrankRenderer extends KineticBlockEntityRenderer { + + public PumpjackCrankRenderer(BlockEntityRendererProvider.Context context) { + super(context); + } + + @Override + protected void renderSafe(PumpjackCrankBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, + int light, int overlay) { + BlockState blockState = be.getBlockState(); + VertexConsumer vb = buffer.getBuffer(RenderType.solid()); + ms.pushPose(); + var msr = TransformStack.of(ms); + msr.translate(1 / 2f, 0.5, 1 / 2f); + CachedBuffers.partialFacing(TFMGPartialModels.PUMPJACK_CRANK, blockState,blockState.getValue(FACING)) + .translate(-0.5, -0.5, -0.5) + .center() + .rotateDegrees(be.angle-90,be.getBlockState().getValue(FACING).getCounterClockWise().getAxis()) + .uncenter() + .light(light) + .renderInto(ms,vb); + ms.popPose(); + } + + @Override + protected BlockState getRenderedBlockState(PumpjackCrankBlockEntity te) { + return shaft(getRotationAxisOf(te)); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/PumpjackBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/PumpjackBlock.java new file mode 100644 index 00000000..e7c11ad5 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/PumpjackBlock.java @@ -0,0 +1,96 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer; + + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.simibubi.create.content.contraptions.bearing.BearingBlock; +import com.simibubi.create.content.kinetics.base.IRotate; +import com.simibubi.create.foundation.block.IBE; +import net.createmod.catnip.data.Iterate; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.phys.BlockHitResult; + +public class PumpjackBlock extends BearingBlock implements IBE { + + + public static final BooleanProperty WIDE = BooleanProperty.create("wide"); + + public PumpjackBlock(Properties properties) { + super(properties); + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + builder.add(WIDE); + super.createBlockStateDefinition(builder); + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + if (!player.mayBuild()) + return ItemInteractionResult.FAIL; + + if (player.isShiftKeyDown()) + return ItemInteractionResult.FAIL; + + if (player.getItemInHand(hand) + .isEmpty()) { + if (level.isClientSide) + return ItemInteractionResult.SUCCESS; + return ItemInteractionResult.SUCCESS; + } + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + } + @Override + public BlockState getStateForPlacement(BlockPlaceContext context) { + + boolean wide = context.getLevel().getBlockState(context.getClickedPos().above()).is(TFMGBlocks.LARGE_PUMPJACK_HAMMER_PART.get()); + + Direction preferredDirection = getPreferredHorizontalFacing(context); + if (preferredDirection != null) + return this.defaultBlockState().setValue(FACING, preferredDirection).setValue(WIDE,wide); + return this.defaultBlockState().setValue(FACING, context.getHorizontalDirection()).setValue(WIDE,wide); + } + + public static Direction getPreferredHorizontalFacing(BlockPlaceContext context) { + Direction prefferedSide = null; + for (Direction side : Iterate.horizontalDirections) { + BlockState blockState = context.getLevel().getBlockState(context.getClickedPos().relative(side)); + if (blockState.getBlock() instanceof IRotate) { + if (((IRotate) blockState.getBlock()).hasShaftTowards(context.getLevel(), context.getClickedPos().relative(side), + blockState, side.getOpposite())) + if (prefferedSide != null && prefferedSide.getAxis() != side.getAxis()) { + prefferedSide = null; + break; + } else { + prefferedSide = side; + } + } + } + return prefferedSide == null ? null : prefferedSide; + } + + @Override + public Class getBlockEntityClass() { + return PumpjackBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.PUMPJACK_HAMMER.get(); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/PumpjackBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/PumpjackBlockEntity.java new file mode 100644 index 00000000..329825a1 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/PumpjackBlockEntity.java @@ -0,0 +1,550 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer; + + +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.base.PumpjackBaseBlockEntity; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.crank.PumpjackCrankBlockEntity; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.parts.PumpjackHammerConnectorBlock; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.parts.large.LargePumpjackHammerConnectorBlock; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGTags; +import com.simibubi.create.AllSoundEvents; +import com.simibubi.create.content.contraptions.AbstractContraptionEntity; +import com.simibubi.create.content.contraptions.AssemblyException; +import com.simibubi.create.content.contraptions.ControlledContraptionEntity; +import com.simibubi.create.content.contraptions.IDisplayAssemblyExceptions; +import com.simibubi.create.content.contraptions.bearing.BearingBlock; +import com.simibubi.create.content.contraptions.bearing.IBearingBlockEntity; +import com.simibubi.create.content.kinetics.base.GeneratingKineticBlockEntity; +import com.simibubi.create.content.kinetics.transmission.sequencer.SequencerInstructions; +import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.utility.ServerSpeedProvider; +import net.createmod.catnip.math.AngleHelper; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.util.Mth; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate; +import net.minecraft.world.phys.AABB; + +import java.util.List; + +import static com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.PumpjackBlock.WIDE; +import static net.minecraft.world.level.block.DirectionalBlock.FACING; + +public class PumpjackBlockEntity extends GeneratingKineticBlockEntity + implements IBearingBlockEntity, IDisplayAssemblyExceptions { + protected ControlledContraptionEntity movedContraption; + protected float angle; + protected boolean running; + protected boolean assembleNextTick; + protected float clientAngleDiff; + protected AssemblyException lastException; + protected double sequencedAngleLimit; + private float prevAngle; + public BlockPos headPosition = null; + public BlockPos connectorPosition = null; + public PumpjackCrankBlockEntity crank = null; + public PumpjackBaseBlockEntity base = null; + public int connectorDistance = 0; + public int headDistance = 0; + public boolean connectorAtFront = false; + public boolean headAtFront = false; + public int crankConnectorDistance = 0; + public int headBaseDistance = 0; + + public PumpjackBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + setLazyTickRate(3); + sequencedAngleLimit = -1; + } + + @Override + public boolean isWoodenTop() { + return false; + } + + @Override + protected boolean syncSequenceContext() { + return true; + } + + @Override + protected AABB createRenderBoundingBox() { + return super.createRenderBoundingBox().inflate(7); + } + + @Override + public void addBehaviours(List behaviours) { + super.addBehaviours(behaviours); + + registerAwardables(behaviours, AllAdvancements.CONTRAPTION_ACTORS); + } + + @Override + public void remove() { + if (!level.isClientSide) + disassemble(); + super.remove(); + } + + @Override + public void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + if (connectorPosition != null) { + compound.putInt("connectorX", connectorPosition.getX()); + compound.putInt("connectorY", connectorPosition.getY()); + compound.putInt("connectorZ", connectorPosition.getZ()); + } + if (headPosition != null) { + compound.putInt("headX", headPosition.getX()); + compound.putInt("headY", headPosition.getY()); + compound.putInt("headZ", headPosition.getZ()); + } + compound.putBoolean("connectorAtFront", connectorAtFront); + compound.putBoolean("headAtFront", headAtFront); + compound.putBoolean("Running", running); + compound.putFloat("Angle", angle); + if (sequencedAngleLimit >= 0) + compound.putDouble("SequencedAngleLimit", sequencedAngleLimit); + AssemblyException.write(compound,registries, lastException); + super.write(compound,registries , clientPacket); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + if (wasMoved) { + super.read(compound,registries , clientPacket); + return; + } + connectorPosition = new BlockPos( + compound.getInt("connectorX"), + compound.getInt("connectorY"), + compound.getInt("connectorZ") + ); + headPosition = new BlockPos( + compound.getInt("headX"), + compound.getInt("headY"), + compound.getInt("headZ") + ); + connectorAtFront = compound.getBoolean("connectorAtFront"); + headAtFront = compound.getBoolean("headAtFront"); + float angleBefore = angle; + running = compound.getBoolean("Running"); + angle = compound.getFloat("Angle"); + sequencedAngleLimit = compound.contains("SequencedAngleLimit") ? compound.getDouble("SequencedAngleLimit") : -1; + lastException = AssemblyException.read(compound,registries); + super.read(compound,registries , clientPacket); + if (!clientPacket) + return; + if (running) { + if (movedContraption == null || !movedContraption.isStalled()) { + clientAngleDiff = AngleHelper.getShortestAngleDiff(angleBefore, angle); + angle = angleBefore; + } + } else + movedContraption = null; + } + + @Override + public float getInterpolatedAngle(float partialTicks) { + if (isVirtual()) + return Mth.lerp(partialTicks + .5f, prevAngle, angle); + if (movedContraption == null || movedContraption.isStalled() || !running) + partialTicks = 0; + float angularSpeed = getAngularSpeed(); + if (sequencedAngleLimit >= 0) + angularSpeed = (float) Mth.clamp(angularSpeed, -sequencedAngleLimit, sequencedAngleLimit); + return Mth.lerp(partialTicks, angle, angle + angularSpeed); + } + + @Override + public void onSpeedChanged(float prevSpeed) { + super.onSpeedChanged(prevSpeed); + assembleNextTick = true; + sequencedAngleLimit = -1; + if (movedContraption != null && Math.signum(prevSpeed) != Math.signum(getSpeed()) && prevSpeed != 0) { + if (!movedContraption.isStalled()) { + angle = Math.round(angle); + applyRotation(); + } + movedContraption.getContraption() + .stop(level); + } + if (sequenceContext != null + && sequenceContext.instruction() == SequencerInstructions.TURN_ANGLE) + sequencedAngleLimit = sequenceContext.getEffectiveValue(getTheoreticalSpeed()); + } + + public float getAngularSpeed() { + float speed = convertToAngular(getSpeed()); + if (getSpeed() == 0) + speed = 0; + if (level.isClientSide) { + speed *= ServerSpeedProvider.get(); + speed += clientAngleDiff / 3f; + } + return speed; + } + + @Override + public AssemblyException getLastAssemblyException() { + return lastException; + } + + @Override + public BlockPos getBlockPosition() { + return worldPosition; + } + + public void assemble() { + if (!(level.getBlockState(worldPosition) + .getBlock() instanceof BearingBlock)) + return; + Direction direction = getBlockState().getValue(BearingBlock.FACING); + PumpjackContraption contraption = new PumpjackContraption(direction); + try { + if (!contraption.assemble(level, worldPosition)) + return; + if (connectorPosition == null || headPosition == null) + return; + lastException = null; + } catch (AssemblyException e) { + lastException = e; + sendData(); + return; + } + int q = 1; + if (direction.getAxis() == Direction.Axis.X) + q = -1; + boolean canAssemble = true; + boolean foundHead = false; + boolean foundConnector = false; + BlockPos headLocalPos = headPosition.subtract(getBlockPos().above()); + for (StructureTemplate.StructureBlockInfo block : contraption.getBlocks().values()) { + if (block.state().is(TFMGTags.TFMGBlockTags.PUMPJACK_HEAD.tag)) { + foundHead = true; + if (block.pos().getX() != headLocalPos.getX() || + block.pos().getY() != q * headLocalPos.getY() || + block.pos().getZ() != q * headLocalPos.getZ()) + canAssemble = false; + + } + } + BlockPos connectorLocalPos = connectorPosition.subtract(getBlockPos().above()); + for (StructureTemplate.StructureBlockInfo block : contraption.getBlocks().values()) { + if (block.state().is(TFMGTags.TFMGBlockTags.PUMPJACK_CONNECTOR.tag)) { + foundConnector = true; + if (block.pos().getX() != connectorLocalPos.getX() || + block.pos().getY() != q * connectorLocalPos.getY() || + block.pos().getZ() != q * connectorLocalPos.getZ()) + canAssemble = false; + } + } + if (!canAssemble || !foundHead || !foundConnector) + return; + if (base.controllerHammer != this && base.controllerHammer != null) + return; + contraption.removeBlocksFromWorld(level, BlockPos.ZERO); + movedContraption = ControlledContraptionEntity.create(level, this, contraption); + BlockPos anchor = worldPosition.above(); + movedContraption.setPos(anchor.getX(), anchor.getY(), anchor.getZ()); + movedContraption.setRotationAxis(direction.getClockWise().getAxis()); + level.addFreshEntity(movedContraption); + AllSoundEvents.MECHANICAL_PRESS_ACTIVATION.playOnServer(level, worldPosition); + if (contraption.containsBlockBreakers()) + award(AllAdvancements.CONTRAPTION_ACTORS); + running = true; + angle = 0; + sendData(); + updateGeneratedRotation(); + } + + public boolean isHead(BlockPos pos) { + return level.getBlockState(pos).is(TFMGTags.TFMGBlockTags.PUMPJACK_HEAD.tag); + } + + public boolean isPart(BlockPos pos) { + return level.getBlockState(pos).is(TFMGTags.TFMGBlockTags.PUMPJACK_PART.tag); + } + + public boolean isConnector(BlockPos pos) { + return level.getBlockState(pos).is(TFMGTags.TFMGBlockTags.PUMPJACK_CONNECTOR.tag); + } + + private boolean findHeadAndConnector() { + Direction direction = getBlockState().getValue(FACING); + BlockPos checkedPos = this.getBlockPos().above(); + connectorPosition = null; + headPosition = null; + for (int i = 0; i < 7; i++) { + if (connectorPosition != null && headPosition != null + ) { + sendData(); + return true; + } + if (i != 0) + if (isHead(checkedPos)) { + headPosition = checkedPos; + headAtFront = true; + checkedPos = checkedPos.relative(direction); + sendData(); + continue; + } + if (i != 0) + if (isConnector(checkedPos)) { + if (level.getBlockState(checkedPos).getValue(HorizontalDirectionalBlock.FACING).getAxis() == this.getBlockState().getValue(FACING).getAxis()) { + connectorPosition = checkedPos; + connectorAtFront = true; + checkedPos = checkedPos.relative(direction); + sendData(); + continue; + } + } + if (!isPart(checkedPos)) { + break; + } else { + if (level.getBlockState(checkedPos).getValue(HorizontalDirectionalBlock.FACING).getAxis() != this.getBlockState().getValue(FACING).getAxis()) { + break; + } + } + checkedPos = checkedPos.relative(direction); + } + checkedPos = this.getBlockPos().above(); + for (int i = 0; i < 7; i++) { + if (connectorPosition != null && headPosition != null) { + sendData(); + return true; + } + if (i != 0) + if (isHead(checkedPos)) { + headPosition = checkedPos; + headAtFront = false; + checkedPos = checkedPos.relative(direction.getOpposite()); + sendData(); + continue; + } + if (i != 0) + if (isConnector(checkedPos)) { + if (level.getBlockState(checkedPos).getValue(HorizontalDirectionalBlock.FACING).getAxis() == this.getBlockState().getValue(FACING).getAxis()) { + connectorPosition = checkedPos; + connectorAtFront = false; + checkedPos = checkedPos.relative(direction.getOpposite()); + sendData(); + continue; + } + } + if (!isPart(checkedPos)) { + break; + } else { + if (level.getBlockState(checkedPos).getValue(HorizontalDirectionalBlock.FACING).getAxis() != this.getBlockState().getValue(FACING).getAxis()) { + break; + } + } + checkedPos = checkedPos.relative(direction.getOpposite()); + } + sendData(); + return false; + } + + public void disassemble() { + if (!running && movedContraption == null) + return; + connectorDistance = 0; + headDistance = 0; + angle = 0; + sequencedAngleLimit = -1; + if (movedContraption != null) { + movedContraption.disassemble(); + AllSoundEvents.MECHANICAL_PRESS_ACTIVATION.playOnServer(level, worldPosition); + } + movedContraption = null; + running = false; + updateGeneratedRotation(); + assembleNextTick = false; + sendData(); + } + + @Override + public void tick() { + super.tick(); + if (!isRunning()) + findHeadAndConnector(); + if (!isRunning() && isComplete() + && !level.isClientSide + ) { + assemble(); + } + if (base != null) + if (base.controllerHammer == null) { + if (isRunning()) + base.setControllerHammer(this); + } + if (!isComplete()) + if (!level.isClientSide) + disassemble(); + + setHolderSize(); + Direction direction = getBlockState().getValue(BearingBlock.FACING); + if (connectorPosition != null) { + if (direction.getAxis() == Direction.Axis.Z) + connectorDistance = Math.abs(getBlockPos().getZ() - connectorPosition.getZ()); + + if (direction.getAxis() == Direction.Axis.X) + connectorDistance = Math.abs(getBlockPos().getX() - connectorPosition.getX()); + + if (crank != null) { + crankConnectorDistance = Math.abs(crank.getBlockPos().getY() - connectorPosition.getY()); + crank.crankRadius = (float) connectorDistance / 5; + } + } + if (headPosition != null) { + if (direction.getAxis() == Direction.Axis.Z) + headDistance = Math.abs(getBlockPos().getZ() - headPosition.getZ()); + if (direction.getAxis() == Direction.Axis.X) + headDistance = Math.abs(getBlockPos().getX() - headPosition.getX()); + if (base != null) { + headBaseDistance = Math.abs(base.getBlockPos().getY() - headPosition.getY()); + } + } + if (connectorPosition != null) + crank = findCrank(); + if (crank != null) + if (!(level.getBlockEntity(crank.getBlockPos()) instanceof PumpjackCrankBlockEntity)) + crank = null; + if (headPosition != null) { + base = findBase(); + } + if (base != null) + if (!(level.getBlockEntity(base.getBlockPos()) instanceof PumpjackBaseBlockEntity)) + base = null; + prevAngle = angle; + if (level.isClientSide) + clientAngleDiff /= 2; + if ( + !level.isClientSide && + assembleNextTick) { + assembleNextTick = false; + if (running) { + } else { + assemble(); + } + } + if (!running) + return; + if (!(movedContraption != null && movedContraption.isStalled())) { + if (crank != null) { + int x = 1; + if (connectorAtFront) + x = -1; + if (direction == Direction.SOUTH || direction == Direction.WEST) { + angle = (float) Math.toDegrees(Math.atan(crank.heightModifier * x / connectorDistance)); + + } else angle = (float) Math.toDegrees(Math.atan(-crank.heightModifier * x / connectorDistance)); + } + } + applyRotation(); + } + + public void setHolderSize() { + if (isRunning()) + return; + + + if (!level.getBlockState(getBlockPos().above()).is(TFMGTags.TFMGBlockTags.PUMPJACK_SMALL_PART.tag) && !getBlockState().getValue(WIDE)) + level.setBlock(getBlockPos(), getBlockState().setValue(WIDE, true), 2); + + if (level.getBlockState(getBlockPos().above()).is(TFMGTags.TFMGBlockTags.PUMPJACK_SMALL_PART.tag) && getBlockState().getValue(WIDE)) + level.setBlock(getBlockPos(), getBlockState().setValue(WIDE, false), 2); + } + + public boolean isComplete() { + return base != null && crank != null; + } + + private PumpjackCrankBlockEntity findCrank() { + BlockPos checkedPos = connectorPosition.below(); + for (int i = 0; i < 7; i++) { + + if (level.getBlockEntity(checkedPos) instanceof PumpjackCrankBlockEntity) + if (level.getBlockState(checkedPos).getValue(HorizontalDirectionalBlock.FACING).getAxis() == this.getBlockState().getValue(FACING).getAxis()) + return (PumpjackCrankBlockEntity) level.getBlockEntity(checkedPos); + checkedPos = checkedPos.below(); + } + return null; + } + + private PumpjackBaseBlockEntity findBase() { + BlockPos checkedPos = headPosition.below(); + for (int i = 0; i < 8; i++) { + + if (level.getBlockEntity(checkedPos) instanceof PumpjackBaseBlockEntity) + return (PumpjackBaseBlockEntity) level.getBlockEntity(checkedPos); + + checkedPos = checkedPos.below(); + } + return null; + } + + @Override + public void lazyTick() { + super.lazyTick(); + if (movedContraption != null && !level.isClientSide) + sendData(); + } + + protected void applyRotation() { + if (movedContraption == null) + return; + movedContraption.setAngle(angle); + BlockState blockState = getBlockState(); + if (blockState.hasProperty(BlockStateProperties.FACING)) + movedContraption.setRotationAxis(blockState.getValue(BlockStateProperties.FACING).getClockWise() + .getAxis()); + } + + @Override + public void attach(ControlledContraptionEntity contraption) { + BlockState blockState = getBlockState(); + if (!(contraption.getContraption() instanceof PumpjackContraption)) + return; + if (!blockState.hasProperty(BearingBlock.FACING)) + return; + this.movedContraption = contraption; + setChanged(); + BlockPos anchor = worldPosition.above(); + movedContraption.setPos(anchor.getX(), anchor.getY(), anchor.getZ()); + if (!level.isClientSide) { + this.running = true; + sendData(); + } + } + + @Override + public void onStall() { + if (!level.isClientSide) + sendData(); + } + + @Override + public boolean isValid() { + return !isRemoved(); + } + + @Override + public boolean isAttachedTo(AbstractContraptionEntity contraption) { + return movedContraption == contraption; + } + + public boolean isRunning() { + return running; + } + + public void setAngle(float forcedAngle) { + angle = forcedAngle; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/PumpjackContraption.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/PumpjackContraption.java new file mode 100644 index 00000000..685dc2b6 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/PumpjackContraption.java @@ -0,0 +1,46 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer; + + + +import com.drmangotea.tfmg.base.TFMGContraptions; +import com.simibubi.create.api.contraption.ContraptionType; +import com.simibubi.create.content.contraptions.AssemblyException; +import com.simibubi.create.content.contraptions.bearing.BearingContraption; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.StructureBlockInfo; + + +import org.apache.commons.lang3.tuple.Pair; + +public class PumpjackContraption extends BearingContraption { + + public PumpjackContraption() {} + public PumpjackContraption(Direction facing) { + this.facing = facing; + } + + @Override + public boolean assemble(Level world, BlockPos pos) throws AssemblyException { + BlockPos offset = pos.above(); + if (!searchMovedStructure(world, offset, null)) + return false; + startMoving(world); + expandBoundsAroundAxis(facing.getAxis()); + return !blocks.isEmpty(); + } + + @Override + public ContraptionType getType() { + return TFMGContraptions.PUMPJACK_CONTRAPTION.value(); + } + + @Override + protected boolean isAnchoringBlockAt(BlockPos pos) { + return pos.equals(anchor.below()); + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/PumpjackGenerator.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/PumpjackGenerator.java new file mode 100644 index 00000000..3ef6bec2 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/PumpjackGenerator.java @@ -0,0 +1,38 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer; + +import com.simibubi.create.content.contraptions.bearing.BearingBlock; +import com.simibubi.create.foundation.data.SpecialBlockStateGen; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.model.generators.ModelFile; + + +import static com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.PumpjackBlock.WIDE; +import static com.simibubi.create.foundation.data.AssetLookup.partialBaseModel; + +public class PumpjackGenerator extends SpecialBlockStateGen { + @Override + protected int getXRotation(BlockState state) { + return 0; + } + + @Override + protected int getYRotation(BlockState state) { + + if(state.getValue(BearingBlock.FACING).getAxis() == Direction.Axis.Y) + return horizontalAngle(Direction.NORTH); + + return horizontalAngle(state.getValue(BearingBlock.FACING).getClockWise()); + } + + @Override + public ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, + BlockState state) { + return state.getValue(WIDE) ? partialBaseModel(ctx, prov, "wide") + : partialBaseModel(ctx, prov); + + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/PumpjackRenderer.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/PumpjackRenderer.java new file mode 100644 index 00000000..f9ee5b64 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/PumpjackRenderer.java @@ -0,0 +1,237 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer; + +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.crank.PumpjackCrankBlockEntity; +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer; +import net.createmod.catnip.render.CachedBuffers; +import net.minecraft.client.renderer.LightTexture; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.core.Direction; +import net.minecraft.util.Mth; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec3; +import org.joml.Matrix4f; + +import static com.simibubi.create.content.kinetics.base.DirectionalKineticBlock.FACING; + + +public class PumpjackRenderer extends KineticBlockEntityRenderer { + public PumpjackRenderer(BlockEntityRendererProvider.Context context) { + super(context); + } + + @Override + protected void renderSafe(PumpjackBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, + int light, int overlay) { + + if(be.crank == null) + return; + if(be.base == null) + return; + if(!be.running) + return; + + renderPumpjackLink( + false, + ms, + buffer, + be + ); + renderPumpjackLink( + true, + ms, + buffer, + be + ); + renderFrontPumpjackLink( + ms, + buffer, + be + ); + ///////////// + } + private void renderPumpjackLink(boolean second, PoseStack pMatrixStack, MultiBufferSource pBuffer, PumpjackBlockEntity be) { + pMatrixStack.pushPose(); + Direction direction = be.getBlockState().getValue(FACING); + Vec3 vec3 = new Vec3(0,0,0); + int q = 1; + if(be.connectorAtFront) + q = -1; + + float hModifier = 0; + float x=0; + float y=0; + if(be.crank!=null) { + hModifier = be.crank.heightModifier - be.crankConnectorDistance; + float linkLenght = be.crankConnectorDistance; + if(direction == Direction.WEST) { + if ((be.crank.angle>0&&be.crank.angle < 90||be.crank.angle > 270)||(be.crank.angle<0&&be.crank.angle > -90||be.crank.angle < -270)) { + x = (float) Math.sqrt(Math.pow(be.crank.crankRadius, 2) - Math.pow(be.crank.heightModifier, 2)); + } else + x = (float) -Math.sqrt(Math.pow(be.crank.crankRadius, 2) - Math.pow(be.crank.heightModifier, 2)); + y = (float) (be.connectorDistance - Math.sqrt(Math.pow(be.connectorDistance, 2) - Math.pow(be.crank.heightModifier, 2))); + } + if(direction == Direction.EAST) { + + if ((be.crank.angle>0&&be.crank.angle < 90||be.crank.angle > 270)||(be.crank.angle<0&&be.crank.angle > -90||be.crank.angle < -270)) { + x = (float) Math.sqrt(Math.pow(be.crank.crankRadius, 2) - Math.pow(be.crank.heightModifier, 2)); + } else + x = (float) -Math.sqrt(Math.pow(be.crank.crankRadius, 2) - Math.pow(be.crank.heightModifier, 2)); + y = (float) (be.connectorDistance - Math.sqrt(Math.pow(be.connectorDistance, 2) - Math.pow(be.crank.heightModifier, 2))); + } + if(direction == Direction.NORTH) { + if ((be.crank.angle > 90&&be.crank.angle < 270)||(be.crank.angle < -90&&be.crank.angle > -270)) { + x = (float) Math.sqrt(Math.pow(be.crank.crankRadius, 2) - Math.pow(be.crank.heightModifier, 2)); + } else + x = (float) -Math.sqrt(Math.pow(be.crank.crankRadius, 2) - Math.pow(be.crank.heightModifier, 2)); + y = (float) (be.connectorDistance - Math.sqrt(Math.pow(be.connectorDistance, 2) - Math.pow(be.crank.heightModifier, 2))); + } + if(direction == Direction.SOUTH) { + if ((be.crank.angle > 90&&be.crank.angle < 270)||(be.crank.angle < -90&&be.crank.angle > -270)) { + x = (float) Math.sqrt(Math.pow(be.crank.crankRadius, 2) - Math.pow(be.crank.heightModifier, 2)); + } else + x = (float) -Math.sqrt(Math.pow(be.crank.crankRadius, 2) - Math.pow(be.crank.heightModifier, 2)); + y = (float) (be.connectorDistance - Math.sqrt(Math.pow(be.connectorDistance, 2) - Math.pow(be.crank.heightModifier, 2))); + } + vec3 = vec3.add(0,linkLenght,0); + } + x = x * q; + y = y * q; + if(direction==Direction.NORTH) { + pMatrixStack.translate(0, hModifier +1.5, (be.connectorDistance + (.5*q) + x)*q); + x = x * q; + vec3 = vec3.add(0,0,-x+y); + if(second) { + pMatrixStack.translate(-1,0,0); + } + pMatrixStack.translate(1,0,0); + } + if(direction==Direction.SOUTH){ + pMatrixStack.translate(0, hModifier+1.5, (-be.connectorDistance+(.5*q)+x)*q); + x = x * q; + vec3 = vec3.add(0,0,-x-y); + + if(second) { + pMatrixStack.translate(1,0,0); + } + } + if(direction==Direction.WEST){ + pMatrixStack.translate((be.connectorDistance+(.5*q)+x)*q, hModifier+1.5, 0); + x = x * q; + vec3 = vec3.add(-x-y,0,0); + if(second) { + pMatrixStack.translate(0,0,1); + } + } + if(direction==Direction.EAST){ + pMatrixStack.translate((-be.connectorDistance+(.5*q)+x)*q, hModifier+1.5, 0); + x = x * q; + vec3 = vec3.add(-x+y,0,0); + + if(second) { + pMatrixStack.translate(0,0,-1); + } + + pMatrixStack.translate(0,0,1); + } + float f = (float)(vec3.x); + float f1 = (float)(vec3.y ); + float f2 = (float)(vec3.z); + VertexConsumer vertexconsumer = pBuffer.getBuffer(RenderType.leash()); + Matrix4f matrix4f = pMatrixStack.last().pose(); + float f4 = (float) (Mth.fastInvSqrt(f * f + f2 * f2) * 0.025F / 2.0F); + float f5 = f2 * f4; + float f6 = f * f4; + int i =15; + int j = 15; + int k = 15; + int l = 15; + for(int i1 = 0; i1 <= 24; ++i1) { + addVertexPair(vertexconsumer, matrix4f, f, f1, f2, i, j, k, l, 0.025F, 0.025F, f5, f6, i1, false); + } + for(int j1 = 24; j1 >= 0; --j1) { + addVertexPair(vertexconsumer, matrix4f, f, f1, f2, i, j, k, l, 0.025F, 0.0F, f5, f6, j1, true); + } + pMatrixStack.popPose(); + } + private void renderFrontPumpjackLink(PoseStack pMatrixStack, MultiBufferSource pBuffer, PumpjackBlockEntity be) { + pMatrixStack.pushPose(); + Direction direction = be.getBlockState().getValue(FACING); + Vec3 vec3 = new Vec3(0,0,0); + int q = -1; + int g = 0; + float hModifier= 0; + if(be.headAtFront) { + q = 1; + }else g = 1; + float y=0; + if(be.crank!=null) { + float linkLenght = be.headBaseDistance; + hModifier = (float) (be.headDistance*Math.sin(Math.toRadians(be.angle))); + y = -0.01f; + vec3 = vec3.add(0,linkLenght,0); + } + hModifier = hModifier*q; + if(direction==Direction.NORTH) { + pMatrixStack.translate(0.5, -be.headBaseDistance+2, (-be.headDistance*q)+(.5*q)+g); + vec3 = vec3.add(0,hModifier-0.3,+y); + } + if(direction==Direction.SOUTH){ + pMatrixStack.translate(0.5, -be.headBaseDistance+2, (be.headDistance*q)+(.5*q)+g); + vec3 = vec3.add(0,-hModifier-0.3,-y); + } + if(direction==Direction.WEST){ + pMatrixStack.translate((-be.headDistance*q)+(.5*q)+g, -be.headBaseDistance+2, 0.5); + vec3 = vec3.add(-y,-hModifier-0.3,0); + } + if(direction==Direction.EAST){ + pMatrixStack.translate((be.headDistance*q)+(.5*q)+g, -be.headBaseDistance+2, 0.5); + vec3 = vec3.add(+y,hModifier-0.3,0); + } + float f = (float)(vec3.x); + float f1 = (float)(vec3.y ); + float f2 = (float)(vec3.z); + VertexConsumer vertexconsumer = pBuffer.getBuffer(RenderType.leash()); + Matrix4f matrix4f = pMatrixStack.last().pose(); + float f4 = (float) (Mth.fastInvSqrt(f * f + f2 * f2) * 0.025F / 2.0F); + float f5 = f2 * f4; + float f6 = f * f4; + int i =15; + int j = 15; + int k = 15; + int l = 15; + for(int i1 = 0; i1 <= 24; ++i1) { + addVertexPair(vertexconsumer, matrix4f, f, f1, f2, i, j, k, l, 0.025F, 0.025F, f5, f6, i1, false); + } + for(int j1 = 24; j1 >= 0; --j1) { + addVertexPair(vertexconsumer, matrix4f, f, f1, f2, i, j, k, l, 0.025F, 0.0F, f5, f6, j1, true); + } + pMatrixStack.popPose(); + } + private static void addVertexPair(VertexConsumer vertexConsumer, Matrix4f p_174309_, float p_174310_, float p_174311_, float p_174312_, int p_174313_, int p_174314_, int p_174315_, int p_174316_, float p_174317_, float p_174318_, float p_174319_, float p_174320_, int p_174321_, boolean p_174322_) { + float f = (float)p_174321_ / 24.0F; + int i = (int)Mth.lerp(f, (float)p_174313_, (float)p_174314_); + int j = (int)Mth.lerp(f, (float)p_174315_, (float)p_174316_); + int k = LightTexture.pack(i, j); + float f1 = p_174321_ % 2 == (p_174322_ ? 1 : 0) ? 0.7F : 1.0F; + float f2 = 0.1F * f1; + float f3 = 0.1F * f1; + float f4 = 0.1F * f1; + float f5 = p_174310_ * f; + float f6 = p_174311_ > 0.0F ? p_174311_ * f * f : p_174311_ - p_174311_ * (1.0F - f) * (1.0F - f); + float f7 = p_174312_ * f; + vertexConsumer.addVertex(p_174309_, f5 - p_174319_, f6 + p_174318_, f7 + p_174320_).setColor(f2, f3, f4, 1.0F).setLight(k); + vertexConsumer.addVertex(p_174309_, f5 + p_174319_, f6 + p_174317_ - p_174318_, f7 - p_174320_).setColor(f2, f3, f4, 1.0F).setLight(k); + } + + @Override + protected BlockState getRenderedBlockState(PumpjackBlockEntity te) { + return shaft(getRotationAxisOf(te)); + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/parts/PumpjackHammerConnectorBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/parts/PumpjackHammerConnectorBlock.java new file mode 100644 index 00000000..868ec3a2 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/parts/PumpjackHammerConnectorBlock.java @@ -0,0 +1,41 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.parts; + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.mojang.serialization.MapCodec; +import net.minecraft.core.BlockPos; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class PumpjackHammerConnectorBlock extends HorizontalDirectionalBlock { + + public PumpjackHammerConnectorBlock(Properties pProperties) { + super(pProperties); + } + public static final MapCodec CODEC = simpleCodec(PumpjackHammerConnectorBlock::new); + @Override + protected MapCodec codec() { + return CODEC; + } + + @Override + public VoxelShape getShape(BlockState pState, BlockGetter worldIn, BlockPos pos, CollisionContext context) { + + return TFMGShapes.PUMPJACK_HAMMER_PART.get(pState.getValue(FACING).getClockWise()); + } + @Override + protected void createBlockStateDefinition(StateDefinition.Builder pBuilder) { + super.createBlockStateDefinition(pBuilder.add(FACING)); + } + + public BlockState getStateForPlacement(BlockPlaceContext pContext) { + return this.defaultBlockState().setValue(FACING, pContext.getHorizontalDirection().getOpposite()); + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/parts/PumpjackHammerHeadBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/parts/PumpjackHammerHeadBlock.java new file mode 100644 index 00000000..80813412 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/parts/PumpjackHammerHeadBlock.java @@ -0,0 +1,44 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.parts; + + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.mojang.serialization.MapCodec; +import net.minecraft.core.BlockPos; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class PumpjackHammerHeadBlock extends HorizontalDirectionalBlock { + + public PumpjackHammerHeadBlock(Properties pProperties) { + super(pProperties); + } + public static final MapCodec CODEC = simpleCodec(PumpjackHammerHeadBlock::new); + @Override + protected MapCodec codec() { + return CODEC; + } + + + @Override + public VoxelShape getShape(BlockState pState, BlockGetter worldIn, BlockPos pos, CollisionContext context) { + + return TFMGShapes.PUMPJACK_HEAD.get(pState.getValue(FACING)); + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder pBuilder) { + super.createBlockStateDefinition(pBuilder.add(FACING)); + } + + public BlockState getStateForPlacement(BlockPlaceContext pContext) { + return this.defaultBlockState().setValue(FACING, pContext.getHorizontalDirection().getOpposite()); + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/parts/PumpjackHammerPartBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/parts/PumpjackHammerPartBlock.java new file mode 100644 index 00000000..b065eb44 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/parts/PumpjackHammerPartBlock.java @@ -0,0 +1,109 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.parts; + + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.mojang.serialization.MapCodec; +import com.simibubi.create.foundation.placement.PoleHelper; +import net.createmod.catnip.placement.IPlacementHelper; +import net.createmod.catnip.placement.PlacementHelpers; +import net.createmod.catnip.placement.PlacementOffset; +import net.minecraft.MethodsReturnNonnullByDefault; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +import java.util.function.Predicate; + +public class PumpjackHammerPartBlock extends HorizontalDirectionalBlock { + public static final int placementHelperId = PlacementHelpers.register(new PlacementHelper()); + // public static final Property HORIZONTAL_AXIS = BlockStateProperties.HORIZONTAL_AXIS; + public PumpjackHammerPartBlock(Properties pProperties) { + super(pProperties); + } + public static final MapCodec CODEC = simpleCodec(PumpjackHammerPartBlock::new); + @Override + protected MapCodec codec() { + return null; + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + builder.add(FACING); + super.createBlockStateDefinition(builder); + } + + public BlockState getStateForPlacement(BlockPlaceContext pContext) { + return this.defaultBlockState().setValue(FACING, pContext.getHorizontalDirection().getOpposite()); + } + + @Override + public VoxelShape getShape(BlockState pState, BlockGetter worldIn, BlockPos pos, CollisionContext context) { + + return TFMGShapes.PUMPJACK_HAMMER_PART.get(pState.getValue(FACING).getClockWise()); + } + @MethodsReturnNonnullByDefault + private static class PlacementHelper extends PoleHelper { + + + private PlacementHelper() { + super(state -> state.getBlock() instanceof PumpjackHammerPartBlock, state -> state.getValue(FACING).getAxis(), FACING); + } + + @Override + public Predicate getItemPredicate() { + return i -> i.getItem() instanceof BlockItem + && ((BlockItem) i.getItem()).getBlock() instanceof PumpjackHammerPartBlock; + } + + @Override + public Predicate getStatePredicate() { + return s -> s.getBlock() instanceof PumpjackHammerPartBlock; + } + + @Override + public PlacementOffset getOffset(Player player, Level world, BlockState state, BlockPos pos, + BlockHitResult ray) { + PlacementOffset offset = super.getOffset(player, world, state, pos, ray); + if (offset.isSuccessful()) + offset.withTransform(offset.getTransform() + .andThen(s -> s)); + return offset; + } + + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState pState, Level pLevel, BlockPos pPos, Player pPlayer, InteractionHand pHand, BlockHitResult pHit) { + if (pPlayer == null) + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + + ItemStack itemInHand = pPlayer.getItemInHand(pHand); + + IPlacementHelper helper = PlacementHelpers.get(placementHelperId); + if (helper.matchesItem(itemInHand)) + return helper.getOffset(pPlayer, pLevel, pState, pPos, pHit) + .placeInWorld(pLevel, (BlockItem) itemInHand.getItem(), pPlayer, pHand, pHit); + + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + } + public static BlockState pickCorrectBlock(BlockState stateForPlacement) { + //if (PoweredShaftBlock.stillValid(stateForPlacement, level, pos)) + // return PoweredShaftBlock.getEquivalent(stateForPlacement); + return stateForPlacement; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/parts/large/LargePumpjackHammerConnectorBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/parts/large/LargePumpjackHammerConnectorBlock.java new file mode 100644 index 00000000..b62cea64 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/parts/large/LargePumpjackHammerConnectorBlock.java @@ -0,0 +1,24 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.parts.large; + + + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.parts.PumpjackHammerConnectorBlock; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class LargePumpjackHammerConnectorBlock extends PumpjackHammerConnectorBlock { + + public LargePumpjackHammerConnectorBlock(Properties pProperties) { + super(pProperties); + } + @Override + public VoxelShape getShape(BlockState pState, BlockGetter worldIn, BlockPos pos, CollisionContext context) { + + return TFMGShapes.FULL; + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/parts/large/LargePumpjackHammerHeadBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/parts/large/LargePumpjackHammerHeadBlock.java new file mode 100644 index 00000000..75bf99ab --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/parts/large/LargePumpjackHammerHeadBlock.java @@ -0,0 +1,23 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.parts.large; + + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.parts.PumpjackHammerHeadBlock; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class LargePumpjackHammerHeadBlock extends PumpjackHammerHeadBlock { + + public LargePumpjackHammerHeadBlock(Properties pProperties) { + super(pProperties); + } + @Override + public VoxelShape getShape(BlockState pState, BlockGetter worldIn, BlockPos pos, CollisionContext context) { + + return TFMGShapes.FULL; + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/parts/large/LargePumpjackHammerPartBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/parts/large/LargePumpjackHammerPartBlock.java new file mode 100644 index 00000000..fde78060 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/pumpjack/hammer/parts/large/LargePumpjackHammerPartBlock.java @@ -0,0 +1,25 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.parts.large; + + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.parts.PumpjackHammerPartBlock; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class LargePumpjackHammerPartBlock extends PumpjackHammerPartBlock { + + public LargePumpjackHammerPartBlock(Properties pProperties) { + super(pProperties); + } + + + @Override + public VoxelShape getShape(BlockState pState, BlockGetter worldIn, BlockPos pos, CollisionContext context) { + + return TFMGShapes.FULL; + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/surface_scanner/SurfaceScannerBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/surface_scanner/SurfaceScannerBlock.java new file mode 100644 index 00000000..169eacac --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/surface_scanner/SurfaceScannerBlock.java @@ -0,0 +1,33 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.surface_scanner; + +import com.drmangotea.tfmg.base.TFMGShapes; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class SurfaceScannerBlock extends Block implements IBE { + public SurfaceScannerBlock(Properties p_49795_) { + super(p_49795_); + } + + @Override + public Class getBlockEntityClass() { + return SurfaceScannerBlockEntity.class; + } + + @Override + public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) { + return TFMGShapes.SLAB; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.SURFACE_SCANNER.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/surface_scanner/SurfaceScannerBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/surface_scanner/SurfaceScannerBlockEntity.java new file mode 100644 index 00000000..dd0d0edb --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/surface_scanner/SurfaceScannerBlockEntity.java @@ -0,0 +1,115 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.surface_scanner; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.config.TFMGConfigs; +import com.drmangotea.tfmg.content.machinery.misc.machine_input.MachineInputBlockEntity; +import com.drmangotea.tfmg.registry.TFMGTags; +import com.simibubi.create.Create; +import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.blockEntity.behaviour.scrollValue.ScrollValueBehaviour; + +import com.simibubi.create.foundation.utility.CreateLang; +import net.createmod.catnip.math.VecHelper; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.network.chat.Component; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.chunk.ChunkAccess; +import net.minecraft.world.phys.AABB; +import net.minecraft.world.phys.Vec3; + +import java.util.List; +import java.util.Random; + +public class SurfaceScannerBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation { + + + public Boolean[][] grid = new Boolean[5][5]; + + public SurfaceScannerBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + setLazyTickRate(20); + + } + + @Override + public void addBehaviours(List behaviours) {} + + public void findDeposits(){ + + if(!level.isClientSide) + return; + + for(int x = 0;x<5;x++){ + for(int z = 0;z<5;z++){ + grid[x][z] = hasOil(new BlockPos(getBlockPos().getX() + (x-2)*16, TFMGConfigs.common().machines.surfaceScannerScanDepth.get(),getBlockPos().getZ() + (z-2)*16)); + } + } + } + + @Override + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + CreateLang.translate("goggles.surface_scanner.header") + .style(ChatFormatting.GRAY) + .forGoggles(tooltip); + if(level.getBlockEntity(getBlockPos().below()) instanceof MachineInputBlockEntity be&&Math.abs(be.getSpeed())>=64) { + int depositsFound = 0; + for(Boolean[] row : grid){ + for(Boolean light : row){ + if(light!=null&&light) + depositsFound++; + } + } + + if(depositsFound>0){ + CreateLang.number(depositsFound) + .add(CreateLang.translate("goggles.surface_scanner.deposits_found")) + .style(ChatFormatting.GREEN) + .forGoggles(tooltip); + }else + CreateLang.translate("goggles.surface_scanner.no_deposit") + .style(ChatFormatting.RED) + .forGoggles(tooltip); + + }else + CreateLang.translate("goggles.surface_scanner.no_rotation") + .style(ChatFormatting.DARK_RED) + .forGoggles(tooltip); + + return true; + } + + @Override + public void lazyTick() { + super.lazyTick(); + + if(level.getBlockEntity(getBlockPos().below()) instanceof MachineInputBlockEntity be&&Math.abs(be.getSpeed())>=64) { + findDeposits(); + }else { + grid = new Boolean[5][5]; + } + } + + public boolean hasOil(BlockPos pos){ + ChunkAccess chunk = level.getChunk(pos); + AABB checkedArea = new AABB(chunk.getPos().getMiddleBlockPosition(TFMGConfigs.common().machines.surfaceScannerScanDepth.get()).north().west()); + checkedArea = checkedArea.inflate(7,0,7); + for(BlockState state : chunk.getBlockStates(checkedArea).toList()){ + if(state.is(TFMGTags.TFMGBlockTags.SURFACE_SCANNER_FINDABLE.tag)) + return true; + } + + return false; + } + + + + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/surface_scanner/SurfaceScannerRenderer.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/surface_scanner/SurfaceScannerRenderer.java new file mode 100644 index 00000000..cc0fc86f --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/surface_scanner/SurfaceScannerRenderer.java @@ -0,0 +1,37 @@ +package com.drmangotea.tfmg.content.machinery.oil_processing.surface_scanner; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; +import net.createmod.catnip.render.CachedBuffers; +import com.simibubi.create.foundation.render.RenderTypes; +import net.minecraft.client.renderer.LightTexture; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.world.level.block.state.BlockState; + +public class SurfaceScannerRenderer extends SafeBlockEntityRenderer { + public SurfaceScannerRenderer(BlockEntityRendererProvider.Context context) { + + } + @Override + protected void renderSafe(SurfaceScannerBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource bufferSource, int light, int overlay) { + BlockState blockState = be.getBlockState(); + ms.pushPose(); + for(int x = 0;x<5;x++) { + for (int z = 0; z < 5; z++) { + + if(be.grid[x][z]!=null && be.grid[x][z]) + CachedBuffers.partial(TFMGPartialModels.SURFACE_SCANNER_LIGHT, blockState) + .translate((x - 2)*0.19, 0, (z - 2)*0.19) + .light(LightTexture.FULL_BRIGHT) + .color(255, 69, 96, 255) + .renderInto(ms, bufferSource.getBuffer(RenderTypes.additive())); + + } + } + ms.popPose(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/IVatMachine.java b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/IVatMachine.java new file mode 100644 index 00000000..ac49eea7 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/IVatMachine.java @@ -0,0 +1,45 @@ +package com.drmangotea.tfmg.content.machinery.vat.base; + +public interface IVatMachine { + + + /** + * id of an operation this machine provides + */ + String getOperationId(); + + /** + * operations that cant mix with this machine + */ + default String[] doesntWorkWith() { + return new String[0]; + } + + /** + * speed modifier of this machine + */ + default int getWorkPercentage(){ + return 100; + } + /** + * determines the position this machine can be in relative to the chemical vat + */ + default PositionRequirement getPositionRequirement(){ + return PositionRequirement.ANY; + } + + default void vatUpdated(VatBlockEntity be){} + + enum PositionRequirement{ + ANY, + BOTTOM, + TOP, + ANY_CENTER, + BOTTOM_CENTER, + TOP_CENTER + ; + + + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatBlock.java new file mode 100644 index 00000000..e5a36ade --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatBlock.java @@ -0,0 +1,216 @@ +package com.drmangotea.tfmg.content.machinery.vat.base; + +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.api.connectivity.ConnectivityHandler; +import com.simibubi.create.content.equipment.wrench.IWrenchable; +import com.simibubi.create.foundation.block.IBE; + +import com.simibubi.create.foundation.utility.CreateLang; +import net.minecraft.core.BlockPos; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.util.StringRepresentable; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Mirror; +import net.minecraft.world.level.block.Rotation; +import net.minecraft.world.level.block.SoundType; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.block.state.properties.EnumProperty; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.Shapes; +import net.minecraft.world.phys.shapes.VoxelShape; +import net.neoforged.neoforge.common.util.DeferredSoundType; + +public class VatBlock extends Block implements IWrenchable, IBE { + + public final String vatType; + + public static final BooleanProperty TOP = BooleanProperty.create("top"); + public static final BooleanProperty BOTTOM = BooleanProperty.create("bottom"); + public static final EnumProperty SHAPE = EnumProperty.create("shape", Shape.class); + + + + public static VatBlock steel(Properties properties){ + return new VatBlock(properties,"tfmg:steel_vat"); + } + public static VatBlock cast_iron(Properties properties){ + return new VatBlock(properties,"tfmg:cast_iron_vat"); + } + public static VatBlock fireproof(Properties properties){ + return new VatBlock(properties,"tfmg:firebrick_lined_vat"); + } + + public VatBlock(Properties properties, String vatType) { + super(properties); + registerDefaultState(defaultBlockState().setValue(TOP, true) + .setValue(BOTTOM, true) + .setValue(SHAPE, Shape.PLAIN)); + this.vatType = vatType; + } + public static boolean isVat(BlockState state) { + return state.getBlock() instanceof VatBlock; + } + public static void updateVatState(BlockState pState, Level pLevel, BlockPos tankPos) { + BlockState tankState = pLevel.getBlockState(tankPos); + + if (!(tankState.getBlock()instanceof VatBlock tank)) + return; + VatBlockEntity vatBE = tank.getBlockEntity(pLevel, tankPos); + if (vatBE == null) + return; + + vatBE.evaluateNextTick=true; + } + @Override + public void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean moved) { + if (oldState.getBlock() == state.getBlock()) + return; + if (moved) + return; + + withBlockEntityDo(world, pos, VatBlockEntity::updateConnectivity); + } + @Override + protected void createBlockStateDefinition(StateDefinition.Builder p_206840_1_) { + p_206840_1_.add(TOP, BOTTOM, SHAPE); + } + + @Override + public int getLightEmission(BlockState state, BlockGetter world, BlockPos pos) { + VatBlockEntity vatAt = ConnectivityHandler.partAt(getBlockEntityType(), world, pos); + if (vatAt == null) + return 0; + VatBlockEntity controllerTE = (VatBlockEntity) vatAt.getControllerBE(); + if (controllerTE == null || !controllerTE.window) + return 0; + return vatAt.luminosity; + } + @Override + public InteractionResult onWrenched(BlockState state, UseOnContext context) { + withBlockEntityDo(context.getLevel(), context.getClickedPos(), VatBlockEntity::toggleWindows); + return InteractionResult.SUCCESS; + } + + static final VoxelShape CAMPFIRE_SMOKE_CLIP = Block.box(0, 4, 0, 16, 16, 16); + + @Override + public VoxelShape getCollisionShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, + CollisionContext pContext) { + if (pContext == CollisionContext.empty()) + return CAMPFIRE_SMOKE_CLIP; + return pState.getShape(pLevel, pPos); + } + @Override + public VoxelShape getBlockSupportShape(BlockState pState, BlockGetter pReader, BlockPos pPos) { + return Shapes.block(); + } + + @Override + public void onRemove(BlockState state, Level world, BlockPos pos, BlockState newState, boolean isMoving) { + if (state.hasBlockEntity() && (state.getBlock() != newState.getBlock() || !newState.hasBlockEntity())) { + BlockEntity be = world.getBlockEntity(pos); + if (!(be instanceof VatBlockEntity)) + return; + VatBlockEntity tankBE = (VatBlockEntity) be; + world.removeBlockEntity(pos); + ConnectivityHandler.splitMulti(tankBE); + } + } + @Override + public Class getBlockEntityClass() { + return VatBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.CHEMICAL_VAT.get(); + } + + @Override + public BlockState mirror(BlockState state, Mirror mirror) { + if (mirror == Mirror.NONE) + return state; + boolean x = mirror == Mirror.FRONT_BACK; + switch (state.getValue(SHAPE)) { + case WINDOW_NE: + return state.setValue(SHAPE, x ? Shape.WINDOW_NW : Shape.WINDOW_SE); + case WINDOW_NW: + return state.setValue(SHAPE, x ? Shape.WINDOW_NE : Shape.WINDOW_SW); + case WINDOW_SE: + return state.setValue(SHAPE, x ? Shape.WINDOW_SW : Shape.WINDOW_NE); + case WINDOW_SW: + return state.setValue(SHAPE, x ? Shape.WINDOW_SE : Shape.WINDOW_NW); + default: + return state; + } + } + + @Override + public BlockState rotate(BlockState state, Rotation rotation) { + for (int i = 0; i < rotation.ordinal(); i++) + state = rotateOnce(state); + return state; + } + + private BlockState rotateOnce(BlockState state) { + switch (state.getValue(SHAPE)) { + case WINDOW_NE: + return state.setValue(SHAPE, Shape.WINDOW_SE); + case WINDOW_NW: + return state.setValue(SHAPE, Shape.WINDOW_NE); + case WINDOW_SE: + return state.setValue(SHAPE, Shape.WINDOW_SW); + case WINDOW_SW: + return state.setValue(SHAPE, Shape.WINDOW_NW); + default: + return state; + } + } + + public enum Shape implements StringRepresentable { + PLAIN, WINDOW, WINDOW_NW, WINDOW_SW, WINDOW_NE, WINDOW_SE; + + @Override + public String getSerializedName() { + return CreateLang.asId(name()); + } + } + + // Tanks are less noisy when placed in batch + public static final SoundType SILENCED_METAL = + new DeferredSoundType(0.1F, 1.5F, () -> SoundEvents.METAL_BREAK, () -> SoundEvents.METAL_STEP, + () -> SoundEvents.METAL_PLACE, () -> SoundEvents.METAL_HIT, () -> SoundEvents.METAL_FALL); + + @Override + public SoundType getSoundType(BlockState state, LevelReader world, BlockPos pos, Entity entity) { + SoundType soundType = super.getSoundType(state, world, pos, entity); + if (entity != null && entity.getPersistentData() + .contains("SilenceTankSound")) + return SILENCED_METAL; + return soundType; + } + + //@Override + //public boolean hasAnalogOutputSignal(BlockState state) { + // return true; + //} +// + //@Override + //public int getAnalogOutputSignal(BlockState blockState, Level worldIn, BlockPos pos) { + // return getBlockEntityOptional(worldIn, pos).map(SteelTankBlockEntity::getControllerBE) + // .map(te -> ComparatorUtil.fractionToRedstoneLevel(te.getFillState())) + // .orElse(0); + //} + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatBlockEntity.java new file mode 100644 index 00000000..48e1a90c --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatBlockEntity.java @@ -0,0 +1,1217 @@ +package com.drmangotea.tfmg.content.machinery.vat.base; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.mixin.accessor.TankSegmentAccessor; +import com.drmangotea.tfmg.recipes.VatMachineRecipe; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.simibubi.create.api.boiler.BoilerHeater; +import com.simibubi.create.api.connectivity.ConnectivityHandler; +import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; +import com.simibubi.create.content.processing.recipe.HeatCondition; +import com.simibubi.create.content.processing.recipe.ProcessingOutput; +import com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour; +import com.simibubi.create.foundation.fluid.CombinedTankWrapper; +import com.simibubi.create.foundation.fluid.FluidIngredient; +import com.simibubi.create.foundation.fluid.SmartFluidTank; +import com.simibubi.create.foundation.item.SmartInventory; +import com.simibubi.create.foundation.recipe.RecipeConditions; +import com.simibubi.create.foundation.recipe.RecipeFinder; +import com.simibubi.create.foundation.utility.CreateLang; +import com.simibubi.create.infrastructure.config.AllConfigs; +import net.createmod.catnip.animation.LerpedFloat; +import net.createmod.catnip.lang.LangBuilder; +import net.createmod.catnip.platform.CatnipServices; +import net.createmod.catnip.theme.Color; +import net.createmod.ponder.api.level.PonderLevel; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.NbtUtils; +import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.crafting.Recipe; +import net.minecraft.world.item.crafting.RecipeHolder; +import net.minecraft.world.level.ChunkPos; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.AABB; + +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.FluidType; +import net.neoforged.neoforge.fluids.IFluidTank; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; +import net.neoforged.neoforge.fluids.capability.templates.FluidTank; +import net.neoforged.neoforge.items.IItemHandler; +import net.neoforged.neoforge.items.IItemHandlerModifiable; +import net.neoforged.neoforge.items.wrapper.CombinedInvWrapper; + + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.util.*; +import java.util.concurrent.atomic.AtomicBoolean; + +import static java.lang.Math.abs; + +public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation, IMultiBlockEntityContainer.Fluid { + + private static final int MAX_SIZE = 3; + public VatInventory inputInventory; + public VatInventory outputInventory; + public SmartFluidTankBehaviour inputTank; + public SmartFluidTankBehaviour outputTank; + protected IFluidHandler fluidCapability; + protected IItemHandlerModifiable itemCapability; + protected boolean forceFluidLevelUpdate; + protected BlockPos controller; + protected BlockPos lastKnownPos; + protected boolean updateConnectivity; + protected boolean updateCapability; + protected boolean window = false; + protected int luminosity; + protected int width; + protected int height; + private static final int SYNC_RATE = 8; + protected int syncCooldown; + protected boolean queuedSync; + // + public LerpedFloat[] fluidLevel = new LerpedFloat[8]; + /// / + public List machines = new ArrayList<>(); + boolean evaluateNextTick = true; + float efficiency = 1; + int timer = 0; + public VatMachineRecipe recipe; + int heatLevel = 0; + HeatCondition heatCondition = HeatCondition.NONE; + private static final Object vatRecipeKey = new Object(); + + public VatBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + setLazyTickRate(10); + for (int i = 0; i < 8; i++) { + fluidLevel[i] = LerpedFloat.linear(); + } + window = false; + // if(Objects.equals(((VatBlock) getBlockState().getBlock()).vatType, "tfmg:firebrick_lined_vat")) + // window = false; + inputInventory = new VatInventory(4, this); + outputInventory = new VatInventory(4, this); + itemCapability = new CombinedInvWrapper(inputInventory, outputInventory); + forceFluidLevelUpdate = true; + updateConnectivity = false; + updateCapability = false; + //window = ((VatBlock)getBlockState().getBlock()).vatType != "tfmg:firebrick_lined_vat"; + height = 1; + width = 1; + refreshCapability(); + + + } + + public static void registerCapabilities(RegisterCapabilitiesEvent event) { + event.registerBlockEntity( + Capabilities.FluidHandler.BLOCK, + TFMGBlockEntities.CHEMICAL_VAT.get(), + (be, context) -> { + if (be.fluidCapability == null) + be.refreshCapability(); + return be.fluidCapability; + } + ); + event.registerBlockEntity( + Capabilities.ItemHandler.BLOCK, + TFMGBlockEntities.CHEMICAL_VAT.get(), + (be, context) -> { + if (be.itemCapability == null) + be.refreshCapability(); + return be.itemCapability; + } + ); + } + + @Override + public void addBehaviours(List behaviours) { + inputTank = new SmartFluidTankBehaviour(SmartFluidTankBehaviour.INPUT, this, 4, 4000, true) + .whenFluidUpdates(this::onInventoryChanged); + outputTank = new SmartFluidTankBehaviour(SmartFluidTankBehaviour.OUTPUT, this, 4, 4000, true) + .whenFluidUpdates(this::onInventoryChanged) + .forbidInsertion(); + behaviours.add(inputTank); + behaviours.add(outputTank); + + fluidCapability = new CombinedTankWrapper(inputTank.getCapability(), outputTank.getCapability()); + } + + protected Object getRecipeCacheKey() { + return vatRecipeKey; + } + + protected void updateConnectivity() { + updateConnectivity = false; + if (level.isClientSide) + return; + if (!isController()) + return; + ConnectivityHandler.formMulti(this); + + + } + + @Override + public void lazyTick() { + super.lazyTick(); + + if (recipe == null && isController()) { + recipe = getMatchingRecipe(); + } + + updateTemperature(); + if (level.isClientSide && !(level instanceof PonderLevel)) { + int tankNumber = 0; + for (int i = 0; i < 8; i++) { + IFluidHandler fluidHandler = fluidCapability; + + if(fluidHandler != null) { + + fluidLevel[i].chase((double) (fluidHandler.getFluidInTank(tankNumber).getAmount()) / inputTank.getPrimaryHandler().getCapacity(), .5f, LerpedFloat.Chaser.EXP); + getFillState(); + tankNumber++; + } + } + } + } + + public void updateTemperature() { + + if (!isController()) + return; + + int prevHeat = heatLevel; + heatLevel = 0; + heatCondition = HeatCondition.NONE; + BlockPos pos1 = controller == null ? getBlockPos() : controller; + VatBlockEntity be = getControllerBE() == null ? this : getControllerBE(); + + for (int xOffset = 0; xOffset < be.width; xOffset++) { + for (int zOffset = 0; zOffset < be.width; zOffset++) { + BlockPos pos = pos1.offset(xOffset, -1, zOffset); + BlockState blockState = level.getBlockState(pos); + float heat = BoilerHeater.findHeat(level, pos, blockState); + if (heat > 0) { + heatLevel += (int) heat; + } + } + } + if (heatLevel >= 2) { + heatCondition = HeatCondition.HEATED; + } + if (heatLevel >= 4) { + heatCondition = HeatCondition.SUPERHEATED; + } + if (heatLevel != prevHeat) + notifyUpdate(); + } + + /** + * finds a recipe with matching inputs and machines connected + */ + public VatMachineRecipe getMatchingRecipe() { + List>> list = RecipeFinder.get(getRecipeCacheKey(), level, RecipeConditions.isOfType(TFMGRecipeTypes.VAT_MACHINE_RECIPE.getType())); + + for (RecipeHolder> recipe1 : list) { + VatMachineRecipe testedRecipe = (VatMachineRecipe) recipe1.value(); + if (getTotalTankSize() < testedRecipe.minSize) + continue; + boolean doesntMatch = false; + + if (!Objects.equals(testedRecipe.machines, machines)) { + continue; + } + + + if (!testedRecipe.allowedVatTypes.contains(((VatBlock) getBlockState().getBlock()).vatType)) { + continue; + } + + //for(int i =0;i isFluidFound = new HashMap<>(); + for (int i = 0; i < testedRecipe.getFluidIngredients().size(); i++) { + FluidIngredient ingredient = testedRecipe.getFluidIngredients().get(i); + Integer foundAt = null; + if (ingredient.getMatchingFluidStacks().isEmpty()) + break; + + for (int y = 0; y < fluidHandler.getTanks(); y++) { + if (isFluidFound.containsValue(y)) + continue; + FluidStack stack = fluidHandler.getFluidInTank(y); + if (ingredient.test(stack)) { + foundAt = y; + break; + } + } + if (foundAt != null) { + isFluidFound.put(i, foundAt); + } else doesntMatch = true; + } + + //same but with items + SmartInventory testInventory = new SmartInventory(8, this); + + for (int i = 0; i < 4; i++) { + testInventory.setStackInSlot(i, inputInventory.getStackInSlot(i).copy()); + } + for (int i = 0; i < 4; i++) { + testInventory.setStackInSlot(i + 4, outputInventory.getStackInSlot(i).copy()); + } + + for (int i = 0; i < testedRecipe.getIngredients().size(); i++) { + Ingredient ingredient = testedRecipe.getIngredients().get(i); + boolean found = false; + for (int y = 0; y < 8; y++) { + ItemStack stack = testInventory.getStackInSlot(y).copy(); + if (ingredient.test(stack)) { + found = true; + testInventory.getItem(y).shrink(1); + break; + } + } + if (!found) { + doesntMatch = true; + break; + } + } + + if (false) { + Map isFound = new HashMap<>(); + for (int i = 0; i < testedRecipe.getIngredients().size(); i++) { + Integer foundAt = null; + if (testedRecipe.getIngredients().get(i).isEmpty()) + break; + + for (int y = 0; y < itemHandler.getSlots(); y++) { + if (isFound.containsValue(y)) + continue; + ItemStack stack = itemHandler.getStackInSlot(y); + if (testedRecipe.getIngredients().get(i).test(stack)) { + foundAt = y; + break; + } + } + if (foundAt != null) { + isFound.put(i, foundAt); + } else doesntMatch = true; + } + } + + ////////////////////////////////////////// + if (doesntMatch) + continue; + //checks if there's enough space for a recipe to happen + Map fluids = new HashMap<>(); + + List totalFluidStacks = new ArrayList<>(); + + for (int i = 0; i < outputTank.getPrimaryHandler().getTanks(); i++) { + totalFluidStacks.add(outputTank.getPrimaryHandler().getFluidInTank(i)); + } + totalFluidStacks.addAll(testedRecipe.getFluidResults()); + + for (FluidStack stack : totalFluidStacks) { + if (stack.isEmpty()) + continue; + if (fluids.containsKey(stack.getFluid())) { + fluids.replace(stack.getFluid(), fluids.get(stack.getFluid()) + stack.getAmount()); + } else fluids.put(stack.getFluid(), stack.getAmount()); + + } + AtomicBoolean cantOutput = new AtomicBoolean(false); + fluids.forEach((f, a) -> { + if (a > 4000) + cantOutput.set(true); + }); + // + Map items = new HashMap<>(); + + List totalItemStacks = new ArrayList<>(); + + for (int i = 0; i < outputInventory.getSlots(); i++) { + totalItemStacks.add(outputInventory.getStackInSlot(i)); + } + totalItemStacks.addAll(testedRecipe.getRollableResultsAsItemStacks()); + + for (ItemStack stack : totalItemStacks) { + if (stack.isEmpty()) + continue; + if (items.containsKey(stack.getItem())) { + items.replace(stack.getItem(), items.get(stack.getItem()) + stack.getCount()); + } else items.put(stack.getItem(), stack.getCount()); +// + } + items.forEach((f, a) -> { + if (a > 64) + cantOutput.set(true); + }); + if (cantOutput.get()) + continue; + /////////////////////////////////////// + + return testedRecipe; + } + + return null; + } + + @Override + public void tick() { + super.tick(); + + + handleRecipe(); + + if (syncCooldown > 0) { + syncCooldown--; + if (syncCooldown == 0 && queuedSync) + sendData(); + } + if (evaluateNextTick) { + // if (level instanceof ServerLevel serverLevel) + // CatnipServices.NETWORK.sendToClientsTrackingChunk(serverLevel, new ChunkPos(worldPosition),new VatEvaluationPacket(this.getBlockPos())); + evaluate(); + sendData(); + evaluateNextTick = false; + } + + if (lastKnownPos == null) + lastKnownPos = getBlockPos(); + else if (!lastKnownPos.equals(worldPosition) && worldPosition != null) { + onPositionChanged(); + return; + } + + if (updateCapability) { + updateCapability = false; + refreshCapability(); + } + if (updateConnectivity) + updateConnectivity(); + for (int i = 0; i < 8; i++) { + fluidLevel[i].tickChaser(); + } + + } + + /** + * performs recipe, + * ticks the processing timer + */ + public void handleRecipe() { + if (recipe == null) + return; + if (!isController()) + return; + if (heatLevel < recipe.heatLevel) + return; + if (recipe.getRequiredHeat() == HeatCondition.HEATED && heatCondition == HeatCondition.NONE) + return; + if (recipe.getRequiredHeat() == HeatCondition.SUPERHEATED && heatCondition != HeatCondition.SUPERHEATED) + return; + + if (timer >= recipe.getProcessingDuration()) { + + + SmartFluidTank outputFluidHandler = outputTank.getPrimaryHandler(); + IFluidHandler fluidHandler = fluidCapability; + IItemHandler itemHandler = itemCapability; + + + //fluid input + for (FluidIngredient ingredient : recipe.getFluidIngredients()) { + for (int i = 0; i < fluidHandler.getTanks(); i++) { + FluidStack fluidInTank = fluidHandler.getFluidInTank(i); + if (ingredient.test(new FluidStack(fluidInTank.getFluidHolder(), 4000))) { + fluidHandler.getFluidInTank(i).setAmount(fluidInTank.getAmount() - ingredient.getRequiredAmount()); + break; + } + } + } + //item output + + for (ProcessingOutput output : recipe.getRollableResults()) { + + ItemStack itemStack = output.rollOutput(); + + + boolean handled = false; + for (int i = 0; i < outputInventory.getSlots(); i++) { + ItemStack stackInSlot = outputInventory.getStackInSlot(i); + if (stackInSlot.isEmpty()) + continue; + + if (stackInSlot.is(itemStack.getItem())) { + outputInventory.getStackInSlot(i).setCount(stackInSlot.getCount() + (itemStack.getCount())); + + handled = true; + break; + } + } + if (handled) + break; + for (int i = 0; i < outputInventory.getSlots(); i++) { + ItemStack itemInSlot = outputInventory.getStackInSlot(i); + if (itemInSlot.isEmpty()) { + outputInventory.setStackInSlot(i, itemStack); + break; + } + } + } + //item input + if (recipe != null) + for (Ingredient ingredient : recipe.getIngredients()) { + for (int i = 0; i < fluidHandler.getTanks(); i++) { + ItemStack stackInInv = itemHandler.getStackInSlot(i); + if (ingredient.test(new ItemStack(stackInInv.getItem(), 64))) { + stackInInv.setCount(stackInInv.getCount() - ingredient.getItems()[0].getCount()); + break; + } + } + } + //fluid output + List handledFluidResults = new ArrayList<>(); + + for (FluidStack fluidStack : recipe.getFluidResults()) { + for (int i = 0; i < outputFluidHandler.getTanks(); i++) { + FluidStack fluidInTank = outputFluidHandler.getFluidInTank(i); + if (fluidInTank.getFluid().isSame(fluidStack.getFluid())) { + outputFluidHandler.fill(new FluidStack(fluidStack.copy().getFluidHolder(), fluidStack.getAmount()), IFluidHandler.FluidAction.EXECUTE); + handledFluidResults.add(i); + break; + } + } + for (int i = 0; i < outputFluidHandler.getTanks(); i++) { + FluidStack fluidInTank = outputFluidHandler.getFluidInTank(i); + if (!handledFluidResults.contains(i) && fluidInTank.isEmpty()) { + outputFluidHandler.fill(new FluidStack(fluidStack.copy().getFluidHolder(), fluidStack.getAmount()), IFluidHandler.FluidAction.EXECUTE); + break; + } + } + } + recipe = null; + timer = 0; + } else { + timer++; + } + } + + + + + + @Override + public BlockPos getLastKnownPos() { + return lastKnownPos; + } + + @Override + public boolean isController() { + return controller == null || worldPosition.getX() == controller.getX() + && worldPosition.getY() == controller.getY() && worldPosition.getZ() == controller.getZ(); + } + + @Override + public void initialize() { + super.initialize(); + sendData(); + if (level.isClientSide) + invalidateRenderBoundingBox(); + } + + private void onPositionChanged() { + removeController(true); + lastKnownPos = worldPosition; + } + + protected void onInventoryChanged() { + + + if (!hasLevel()) + return; + + recipe = getMatchingRecipe(); + FluidStack newFluidStack = inputTank.getPrimaryHandler().getFluid(); + FluidType attributes = newFluidStack.getFluid() + .getFluidType(); + int luminosity = (int) (attributes.getLightLevel(newFluidStack) / 1.2f); + boolean reversed = attributes.isLighterThanAir(); + int maxY = (int) ((getFillState() * height) + 1); + + for (int yOffset = 0; yOffset < height; yOffset++) { + boolean isBright = reversed ? (height - yOffset <= maxY) : (yOffset < maxY); + int actualLuminosity = isBright ? luminosity : luminosity > 0 ? 1 : 0; + + for (int xOffset = 0; xOffset < width; xOffset++) { + for (int zOffset = 0; zOffset < width; zOffset++) { + BlockPos pos = this.worldPosition.offset(xOffset, yOffset, zOffset); + VatBlockEntity vatAt = ConnectivityHandler.partAt(getType(), level, pos); + if (vatAt == null) + continue; + level.updateNeighbourForOutputSignal(pos, vatAt.getBlockState() + .getBlock()); + if (vatAt.luminosity == actualLuminosity) + continue; + vatAt.setLuminosity(actualLuminosity); + } + } + } + + if (!level.isClientSide) { + setChanged(); + sendData(); + } + + } + + protected void setLuminosity(int luminosity) { + if (level.isClientSide) + return; + if (this.luminosity == luminosity) + return; + this.luminosity = luminosity; + sendData(); + } + + @SuppressWarnings("unchecked") + @Override + public VatBlockEntity getControllerBE() { + if (isController()) + return this; + BlockEntity blockEntity = level.getBlockEntity(controller); + if (blockEntity instanceof VatBlockEntity) + return (VatBlockEntity) blockEntity; + return null; + } + + public void evaluate() { + + if (!isController()) { + if (getControllerBE() == null) { + return; + } + getControllerBE().evaluate(); + return; + } + + List oldMachines = machines; + machines = new ArrayList<>(); + heatLevel = 0; + heatCondition = HeatCondition.NONE; + + int superheatedCount = 0; + + float speed = 1; + + for (int xOffset = 0; xOffset < width; xOffset++) { + for (int zOffset = 0; zOffset < width; zOffset++) { + for (int yOffset = 0; yOffset < getHeight() + 2; yOffset++) { + BlockPos pos = getBlockPos().below().offset(xOffset, yOffset, zOffset); + BlockState blockState = level.getBlockState(pos); + + if (VatBlock.isVat(blockState)) + continue; + + BlockEntity blockEntity = level.getBlockEntity(pos); + + if (blockEntity instanceof IVatMachine be) { + if (be.getOperationId().isEmpty()) + continue; + + if (!isAtValidLocation(be.getPositionRequirement(), pos)) + continue; + + be.vatUpdated(this); + machines.add(be.getOperationId()); + efficiency *= (be.getWorkPercentage() / 100); + } + + + } + } + } + efficiency = speed; + if (oldMachines != machines) + recipe = null; + + notifyUpdate(); + } + + + public boolean isAtValidLocation(IVatMachine.PositionRequirement requirement, BlockPos pos) { + return switch (requirement) { + case ANY -> true; + case BOTTOM -> pos.getY() == getController().getY() - 1; + case TOP -> pos.getY() == getController().getY() + height; + case ANY_CENTER -> isAtCenter(pos); + case BOTTOM_CENTER -> isAtCenter(pos) && pos.getY() == getController().getY() - 1; + case TOP_CENTER -> isAtCenter(pos) && pos.getY() == getController().getY() + height; + }; + } + + + public boolean isAtCenter(BlockPos pos) { + return width < 3 || (pos.getX() == getController().getX() + 1 && pos.getZ() == getController().getZ() + 1); + } + + public void applyVatSize(int blocks) { + + + //inputTank.getPrimaryHandler().setCapacity(blocks * getCapacityMultiplier()); + //outputTank.getPrimaryHandler().setCapacity(blocks * getCapacityMultiplier()); + + inputTank.forEach(s -> { + ((TankSegmentAccessor) s).tfmg$tank().setCapacity(blocks * getCapacityMultiplier()); + }); + outputTank.forEach(s -> { + ((TankSegmentAccessor) s).tfmg$tank().setCapacity(blocks * getCapacityMultiplier()); + }); + int overflow = inputTank.getPrimaryHandler().getFluidAmount() - inputTank.getPrimaryHandler().getCapacity(); + if (overflow > 0) + inputTank.getPrimaryHandler().drain(overflow, IFluidHandler.FluidAction.EXECUTE); + + + int overflow2 = outputTank.getPrimaryHandler().getFluidAmount() - outputTank.getPrimaryHandler().getCapacity(); + if (overflow2 > 0) + outputTank.getPrimaryHandler().drain(overflow2, IFluidHandler.FluidAction.EXECUTE); + + forceFluidLevelUpdate = true; + + evaluateNextTick = true; + } + + public void removeController(boolean keepFluids) { + if (level.isClientSide) + return; + updateConnectivity = true; + if (!keepFluids) + applyVatSize(1); + controller = null; + width = 1; + height = 1; + onInventoryChanged(); + + BlockState state = getBlockState(); + if (VatBlock.isVat(state)) { + state = state.setValue(VatBlock.BOTTOM, true); + state = state.setValue(VatBlock.TOP, true); + state = state.setValue(VatBlock.SHAPE, window ? VatBlock.Shape.WINDOW : VatBlock.Shape.PLAIN); + getLevel().setBlock(worldPosition, state, 22); + } + + evaluateNextTick = true; + + refreshCapability(); + setChanged(); + sendData(); + } + + public void toggleWindows() { + VatBlockEntity be = getControllerBE(); + if (be == null) + return; + + if (((VatBlock) getBlockState().getBlock()).vatType == "tfmg:firebrick_lined_vat") + return; + + be.setWindows(!be.window); + } + + public void sendDataImmediately() { + syncCooldown = 0; + queuedSync = false; + sendData(); + } + + @Override + public void sendData() { + if (syncCooldown > 0) { + queuedSync = true; + return; + } + super.sendData(); + queuedSync = false; + syncCooldown = SYNC_RATE; + } + + public void setWindows(boolean window) { + this.window = window; + for (int yOffset = 0; yOffset < height; yOffset++) { + for (int xOffset = 0; xOffset < width; xOffset++) { + for (int zOffset = 0; zOffset < width; zOffset++) { + + BlockPos pos = this.worldPosition.offset(xOffset, yOffset, zOffset); + BlockState blockState = level.getBlockState(pos); + if (!VatBlock.isVat(blockState)) + continue; + + VatBlock.Shape shape = VatBlock.Shape.PLAIN; + if (window) { + // SIZE 1: Every tank has a window + if (width == 1) + shape = VatBlock.Shape.WINDOW; + // SIZE 2: Every tank has a corner window + if (width == 2) + shape = xOffset == 0 ? zOffset == 0 ? VatBlock.Shape.WINDOW_NW : VatBlock.Shape.WINDOW_SW + : zOffset == 0 ? VatBlock.Shape.WINDOW_NE : VatBlock.Shape.WINDOW_SE; + // SIZE 3: Tanks in the center have a window + if (width == 3 && abs(abs(xOffset) - abs(zOffset)) == 1) + shape = VatBlock.Shape.WINDOW; + } + + level.setBlock(pos, blockState.setValue(VatBlock.SHAPE, shape), 22); + level.getChunkSource() + .getLightEngine() + .checkBlock(pos); + } + } + } + } + + public void updateState() { + if (!isController()) + return; + for (int yOffset = 0; yOffset < height; yOffset++) + for (int xOffset = 0; xOffset < width; xOffset++) + for (int zOffset = 0; zOffset < width; zOffset++) + if (level.getBlockEntity( + worldPosition.offset(xOffset, yOffset, zOffset)) instanceof VatBlockEntity fbe) + fbe.refreshCapability(); + } + + @Override + public void setController(BlockPos controller) { + if (level.isClientSide && !isVirtual()) + return; + if (controller.equals(this.controller)) + return; + this.controller = controller; + refreshCapability(); + setChanged(); + sendData(); + } + + private void refreshCapability() { + //LazyOptional oldFluidCap = fluidCapability; + //LazyOptional oldItemCap = itemCapability; + fluidCapability = getNewFluidCapability(); + itemCapability = getNewItemCapability(); + invalidateCapabilities(); + } + + private IFluidHandler getNewFluidCapability() { + IFluidHandler inputHandler = inputTank.getCapability(); + IFluidHandler outputHandler = outputTank.getCapability(); + + + if (inputHandler == null || outputHandler == null) + return fluidCapability; + + return isController() ? new CombinedTankWrapper(inputHandler, outputHandler) + : getControllerBE() != null ? getControllerBE().getNewFluidCapability() : fluidCapability; + } + + private IItemHandlerModifiable getNewItemCapability() { + return isController() ? new CombinedInvWrapper(inputInventory, outputInventory) + : getControllerBE() != null ? getControllerBE().getNewItemCapability() : itemCapability; + } + + @Override + public BlockPos getController() { + return isController() ? worldPosition : controller; + } + + @Override + protected AABB createRenderBoundingBox() { + if (isController()) + return super.createRenderBoundingBox().expandTowards(width - 1, height - 1, width - 1); + else + return super.createRenderBoundingBox(); + } + + @Nullable + public VatBlockEntity getOtherVatBE(Direction direction) { + BlockEntity otherBE = level.getBlockEntity(worldPosition.relative(direction)); + if (otherBE instanceof VatBlockEntity) + return (VatBlockEntity) otherBE; + return null; + } + + @Override + public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + + if(getControllerBE() == null) + return false; + + if(!isController()) + return getControllerBE().addToGoggleTooltip(tooltip,isPlayerSneaking); + CreateLang.translate("goggles.vat.header") + .style(ChatFormatting.GRAY) + .forGoggles(tooltip); + + CreateLang.translate("goggles.vat.contents") + .forGoggles(tooltip); + + CreateLang.translate("goggles.vat.attachments") + .style(ChatFormatting.GRAY) + .forGoggles(tooltip); + for (String operation : machines) + CreateLang.translate("goggles.vat."+operation.replace(":",".")) + .forGoggles(tooltip); + + + CreateLang.translate("goggles.vat.heat_status") + .add(CreateLang.translate(heatCondition == HeatCondition.NONE ? "goggles.vat.no_heat" : heatCondition == HeatCondition.HEATED ? "goggles.vat.heated" : "goggles.vat.superheated")) + .color(heatCondition == HeatCondition.NONE ? 0x7a7a77 : heatCondition == HeatCondition.HEATED ? 0xdea216 : 0x16c7de) + .forGoggles(tooltip); + + CreateLang.translate("goggles.vat.contents") + .forGoggles(tooltip); + + /// + + IItemHandlerModifiable items = itemCapability; + IFluidHandler fluids = fluidCapability; + boolean isEmpty = true; + + for (int i = 0; i < items.getSlots(); i++) { + ItemStack stackInSlot = items.getStackInSlot(i); + if (stackInSlot.isEmpty()) + continue; + CreateLang.text("") + .add(Component.translatable(stackInSlot.getDescriptionId()) + .withStyle(ChatFormatting.GRAY)) + .add(CreateLang.text(" x" + stackInSlot.getCount()) + .style(ChatFormatting.GREEN)) + .forGoggles(tooltip, 1); + isEmpty = false; + } + + LangBuilder mb = CreateLang.translate("generic.unit.millibuckets"); + for (int i = 0; i < fluids.getTanks(); i++) { + FluidStack fluidStack = fluids.getFluidInTank(i); + if (fluidStack.isEmpty()) + continue; + CreateLang.text("") + .add(CreateLang.fluidName(fluidStack) + .add(CreateLang.text(" ")) + .style(ChatFormatting.GRAY) + .add(CreateLang.number(fluidStack.getAmount()) + .add(mb) + .style(ChatFormatting.BLUE))) + .forGoggles(tooltip, 1); + isEmpty = false; + } + + if (isEmpty) + tooltip.remove(0); + + return true; + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + + BlockPos controllerBefore = controller; + int prevSize = width; + int prevHeight = height; + int prevLum = luminosity; + + updateConnectivity = compound.contains("Uninitialized"); + luminosity = compound.getInt("Luminosity"); + controller = null; + lastKnownPos = null; + + if (NbtUtils.readBlockPos(compound,"LastKnownPos").isPresent()) + lastKnownPos = NbtUtils.readBlockPos(compound,"LastKnownPos").get(); + if (NbtUtils.readBlockPos(compound,"Controller").isPresent()) + controller = NbtUtils.readBlockPos(compound,"Controller").get(); + + if (isController()) { + window = compound.getBoolean("Window"); + width = compound.getInt("Size"); + height = compound.getInt("Height"); + inputTank.getPrimaryHandler().setCapacity(getTotalTankSize() * getCapacityMultiplier()); + outputTank.getPrimaryHandler().setCapacity(getTotalTankSize() * getCapacityMultiplier()); + if (inputTank.getPrimaryHandler().getSpace() < 0) + inputTank.getPrimaryHandler().drain(-inputTank.getPrimaryHandler().getSpace(), IFluidHandler.FluidAction.EXECUTE); + if (outputTank.getPrimaryHandler().getSpace() < 0) + outputTank.getPrimaryHandler().drain(-outputTank.getPrimaryHandler().getSpace(), IFluidHandler.FluidAction.EXECUTE); + inputInventory.deserializeNBT(registries,compound.getCompound("InputItems")); + outputInventory.deserializeNBT(registries,compound.getCompound("OutputItems")); + // + //machines = new ArrayList<>(); + //for(int i = 0; i LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { + // if (!fluidCapability.isPresent() || !itemCapability.isPresent()) + // refreshCapability(); + // if (cap == ForgeCapabilities.FLUID_HANDLER) + // return fluidCapability.cast(); + // if (cap == ForgeCapabilities.ITEM_HANDLER) + // return itemCapability.cast(); +// +// + // return super.getCapability(cap, side); + //} + + @Override + public void invalidate() { + super.invalidate(); + } + + + public static int getCapacityMultiplier() { + return AllConfigs.server().fluids.fluidTankCapacity.get() * 1000; + } + + public static int getMaxHeight() { + return 3; + } + + public LerpedFloat[] getFluidLevel() { + return fluidLevel; + } + + // public void setFluidLevel(LerpedFloat fluidLevel) { + // this.fluidLevel = fluidLevel; + // } + + @Override + public void preventConnectivityUpdate() { + updateConnectivity = false; + } + + @Override + public void notifyMultiUpdated() { + BlockState state = this.getBlockState(); + if (VatBlock.isVat(state)) { // safety + state = state.setValue(VatBlock.BOTTOM, getController().getY() == getBlockPos().getY()); + state = state.setValue(VatBlock.TOP, getController().getY() + height - 1 == getBlockPos().getY()); + level.setBlock(getBlockPos(), state, 6); + } + if (isController()) { + setWindows(window); + + } + evaluateNextTick = true; + onInventoryChanged(); + setChanged(); + } + + @Override + public void setExtraData(@Nullable Object data) { + if (data instanceof Boolean) + window = (boolean) data; + } + + @Override + @Nullable + public Object getExtraData() { + return window; + } + + @Override + public Object modifyExtraData(Object data) { + if (data instanceof Boolean windows) { + windows |= window; + return windows; + } + return data; + } + + @Override + public Direction.Axis getMainConnectionAxis() { + return Direction.Axis.Y; + } + + @Override + public int getMaxLength(Direction.Axis longAxis, int width) { + if (longAxis == Direction.Axis.Y) + return getMaxHeight(); + return getMaxWidth(); + } + + @Override + public int getMaxWidth() { + return MAX_SIZE; + } + + @Override + public int getHeight() { + return height; + } + + @Override + public void setHeight(int height) { + this.height = height; + } + + @Override + public int getWidth() { + return width; + } + + @Override + public void setWidth(int width) { + this.width = width; + } + + @Override + public boolean hasTank() { + return true; + } + + @Override + public int getTankSize(int tank) { + return getCapacityMultiplier(); + } + + @Override + public void setTankSize(int tank, int blocks) { + applyVatSize(blocks); + } + + @Override + public IFluidTank getTank(int tank) { + + return new FluidTank(1); + } + + @Override + public FluidStack getFluid(int tank) { + return inputTank.getPrimaryHandler().getFluid(); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatEvaluationPacket.java b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatEvaluationPacket.java new file mode 100644 index 00000000..9f97b806 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatEvaluationPacket.java @@ -0,0 +1,39 @@ +package com.drmangotea.tfmg.content.machinery.vat.base; + + +import com.drmangotea.tfmg.content.electricity.base.ConnectNeightborsPacket; +import com.drmangotea.tfmg.registry.TFMGPackets; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.networking.BlockEntityConfigurationPacket; +import com.simibubi.create.foundation.networking.BlockEntityDataPacket; +import io.netty.buffer.ByteBuf; +import net.minecraft.core.BlockPos; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.server.level.ServerPlayer; + +public class VatEvaluationPacket extends BlockEntityConfigurationPacket { + + + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + BlockPos.STREAM_CODEC, packet -> packet.pos, + VatEvaluationPacket::new + ); + + public VatEvaluationPacket(BlockPos pos) { + super(pos); + } + + @Override + protected void applySettings(ServerPlayer player, SmartBlockEntity blockEntity) { + if(blockEntity instanceof VatBlockEntity be) { + be.evaluateNextTick =true; + + } + } + + @Override + public PacketTypeProvider getTypeProvider() { + return TFMGPackets.VAT_EVALUATION; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatGenerator.java b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatGenerator.java new file mode 100644 index 00000000..8434f962 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatGenerator.java @@ -0,0 +1,63 @@ +package com.drmangotea.tfmg.content.machinery.vat.base; + +import com.simibubi.create.foundation.data.AssetLookup; +import com.simibubi.create.foundation.data.SpecialBlockStateGen; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.model.generators.ModelFile; + +public class VatGenerator extends SpecialBlockStateGen { + + private String prefix; + + public VatGenerator() { + this(""); + } + + public VatGenerator(String prefix) { + this.prefix = prefix; + } + + @Override + protected int getXRotation(BlockState state) { + return 0; + } + + @Override + protected int getYRotation(BlockState state) { + return 0; + } + + @Override + public ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, + BlockState state) { + Boolean top = state.getValue(VatBlock.TOP); + Boolean bottom = state.getValue(VatBlock.BOTTOM); + VatBlock.Shape shape = state.getValue(VatBlock.SHAPE); + + String shapeName = "middle"; + if (top && bottom) + shapeName = "single"; + else if (top) + shapeName = "top"; + else if (bottom) + shapeName = "bottom"; + + String modelName = shapeName + (shape == VatBlock.Shape.PLAIN ? "" : "_" + shape.getSerializedName()); + + if (!prefix.isEmpty()) + return prov.models() + .withExistingParent(prefix + modelName, prov.modLoc("block/fluid_tank/block_" + modelName)) + .texture("0", prov.modLoc("block/" + prefix + "casing")) + .texture("1", prov.modLoc("block/" + prefix + "fluid_tank")) + .texture("3", prov.modLoc("block/" + prefix + "fluid_tank_window")) + .texture("4", prov.modLoc("block/" + prefix + "casing")) + .texture("5", prov.modLoc("block/" + prefix + "fluid_tank_window_single")) + .texture("particle", prov.modLoc("block/" + prefix + "steel_fluid_tank")); + + return AssetLookup.partialBaseModel(ctx, prov, modelName); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatInventory.java b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatInventory.java new file mode 100644 index 00000000..050317ec --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatInventory.java @@ -0,0 +1,40 @@ +package com.drmangotea.tfmg.content.machinery.vat.base; + +import com.simibubi.create.foundation.item.SmartInventory; +import net.minecraft.world.item.ItemStack; +import net.neoforged.neoforge.items.ItemHandlerHelper; + + +public class VatInventory extends SmartInventory { + + + public VatInventory(int slots, VatBlockEntity be) { + super(slots, be, 64, true); + + } + + + @Override + public ItemStack insertItem(int slot, ItemStack stack, boolean simulate) { + int firstFreeSlot = -1; + + for (int i = 0; i < getSlots(); i++) { + // Only insert if no other slot already has a stack of this item + if (i != slot && ItemStack.isSameItemSameComponents(stack, inv.getStackInSlot(i))) + return stack; + if (inv.getStackInSlot(i) + .isEmpty() && firstFreeSlot == -1) + firstFreeSlot = i; + } + + // Only insert if this is the first empty slot, prevents overfilling in the + // simulation pass + if (inv.getStackInSlot(slot) + .isEmpty() && firstFreeSlot != slot) + return stack; + + return super.insertItem(slot, stack, simulate); + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatRenderer.java b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatRenderer.java new file mode 100644 index 00000000..d950957a --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatRenderer.java @@ -0,0 +1,101 @@ +package com.drmangotea.tfmg.content.machinery.vat.base; + + +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; +import com.simibubi.create.foundation.fluid.FluidRenderer; +import com.simibubi.create.foundation.fluid.SmartFluidTank; +import net.createmod.catnip.animation.LerpedFloat; +import net.createmod.catnip.platform.NeoForgeCatnipServices; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.util.Mth; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; + + +public class VatRenderer extends SafeBlockEntityRenderer { + + public VatRenderer(BlockEntityRendererProvider.Context context) { + } + + + @Override + protected void renderSafe(VatBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource bufferSource, int light, int overlay) { + if (!be.isController()) + return; + + LerpedFloat[] fluidLevel = be.getFluidLevel(); + if (fluidLevel == null) + return; + if (!be.window) + return; + float capHeight = 1 / 4f; + float tankHullWidth = 1 / 16f + 1 / 128f; + float minPuddleHeight = 1 / 16f; + + + ms.pushPose(); + + float totalFluidHeight = 0; + float xMin = tankHullWidth; + float xMax = xMin + be.width - 2 * tankHullWidth; + float zMin = tankHullWidth; + float zMax = zMin + be.width - 2 * tankHullWidth; + + int tankNumber = 0; + for (int i = 0; i < 8; i++) { + + IFluidHandler fluidHandler = be.fluidCapability; + + if (fluidHandler.getFluidInTank(tankNumber).isEmpty()) + continue; + + float level = fluidLevel[i].getValue(partialTicks); + float yMin = capHeight + totalFluidHeight; + float yMax = yMin + (level * (be.height - (2 * capHeight))) / 8; + + + NeoForgeCatnipServices.FLUID_RENDERER.renderFluidBox(fluidHandler.getFluidInTank(tankNumber), xMin, yMin, zMin, xMax, yMax, zMax, bufferSource, ms, light, false, false); + tankNumber++; + totalFluidHeight += yMax-yMin; + } + ms.popPose(); + + // float level = fluidLevel.getValue(partialTicks); + // if (level < 1 / (512f * totalHeight)) + // return; +// + // float clampedLevel = Mth.clamp(level * totalHeight, 0, totalHeight); +// +// + // IFluidHandler fluidHandler = be.getCapability(ForgeCapabilities.FLUID_HANDLER).orElse(null); +// +// + // float xMin = tankHullWidth; + // float xMax = xMin + be.width - 2 * tankHullWidth; + // float yMin = totalHeight + capHeight + minPuddleHeight - clampedLevel; + // float yMax = yMin + clampedLevel; +// +// + // float zMin = tankHullWidth; + // float zMax = zMin + be.width - 2 * tankHullWidth; +// + // ms.pushPose(); + // ms.translate(0, clampedLevel - totalHeight, 0); +// + // for (int i = 0; i < fluidHandler.getTanks(); i++) { + // if (!fluidHandler.getFluidInTank(i).isEmpty()) { + // //FluidStack stack = fluidHandler.getFluidInTank() + // //FluidRenderer.renderFluidBox(fluidHandler.getFluidInTank(i), xMin, yMin, zMin, xMax, yMax, zMax, bufferSource, ms, light, false); + // //break; + // } + // } + // ms.popPose(); + } + + @Override + public boolean shouldRenderOffScreen(VatBlockEntity te) { + return te.isController(); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/vat/electrode_holder/ElectrodeHolderBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/electrode_holder/ElectrodeHolderBlock.java new file mode 100644 index 00000000..28f99275 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/electrode_holder/ElectrodeHolderBlock.java @@ -0,0 +1,57 @@ +package com.drmangotea.tfmg.content.machinery.vat.electrode_holder; + +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.BlockHitResult; + +public class ElectrodeHolderBlock extends Block implements IBE { + public ElectrodeHolderBlock(Properties p_49795_) { + super(p_49795_); + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + if(hand == InteractionHand.OFF_HAND) + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + if(level.getBlockEntity(pos) instanceof ElectrodeHolderBlockEntity be){ + ElectrodeHolderBlockEntity.ElectrodeType electrodeType = be.electrodeType; + ItemStack stackInside = electrodeType.item; + if(stack.is(stackInside.getItem())) + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + if(be.setElectrode(stack, true)) { + player.setItemInHand(hand, electrodeType.item); + be.setElectrode(stack, false); + return ItemInteractionResult.SUCCESS; + } + } + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + } + @Override + public void onPlace(BlockState pState, Level level, BlockPos pos, BlockState pOldState, boolean pIsMoving) { + withBlockEntityDo(level,pos, IElectric::onPlaced); + } + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) { + IBE.onRemove(state, level, pos, newState); + } + @Override + public Class getBlockEntityClass() { + return ElectrodeHolderBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.ELECTRODE_HOLDER.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/vat/electrode_holder/ElectrodeHolderBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/electrode_holder/ElectrodeHolderBlockEntity.java new file mode 100644 index 00000000..3e40f672 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/electrode_holder/ElectrodeHolderBlockEntity.java @@ -0,0 +1,175 @@ +package com.drmangotea.tfmg.content.machinery.vat.electrode_holder; + +import com.drmangotea.tfmg.config.TFMGConfigs; +import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; +import com.drmangotea.tfmg.content.machinery.vat.base.IVatMachine; +import com.drmangotea.tfmg.content.machinery.vat.base.VatBlock; +import com.drmangotea.tfmg.content.machinery.vat.base.VatBlockEntity; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.simibubi.create.foundation.utility.CreateLang; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import net.minecraft.ChatFormatting; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.AABB; + +import java.util.List; +import java.util.Objects; + +public class ElectrodeHolderBlockEntity extends ElectricBlockEntity implements IVatMachine { + + ElectrodeType electrodeType = ElectrodeType.NONE; + boolean isTallEnough = true; + + public ElectrodeHolderBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + + + @Override + public boolean hasElectricitySlot(Direction direction) { + return direction == Direction.UP; + } + + + public boolean setElectrode(ItemStack modeItem, boolean simulate) { + for (ElectrodeType type : ElectrodeType.values()) { + if (type.item.is(modeItem.getItem())) { + if (!simulate) { + electrodeType = type; + } else return true; + } + } + if (!simulate && hasLevel()) + VatBlock.updateVatState(getBlockState(), getLevel(), getBlockPos().relative(Direction.DOWN)); + sendData(); + return false; + } + + @Override + public boolean makeMultimeterTooltip(List tooltip, boolean isPlayerSneaking) { + + super.makeMultimeterTooltip(tooltip, isPlayerSneaking); + if (getCurrent() < TFMGConfigs.common().machines.electrolysisMinimumCurrent.get()) + CreateLang.translate("goggles.electrode_holder.min_amps") + .style(ChatFormatting.RED) + .add(CreateLang.text(TFMGConfigs.common().machines.electrolysisMinimumCurrent.get() + "A)")) + .forGoggles(tooltip); + + return true; + } + + @Override + public float resistance() { + + if (electrodeType != ElectrodeType.NONE) { + if (electrodeType == ElectrodeType.GRAPHITE) { + return 300; + } else return 100; + } + + return 0; + } + + @Override + public boolean canBeInGroups() { + return true; + } + + public boolean setElectrode(String name, boolean simulate) { + for (ElectrodeType type : ElectrodeType.values()) { + if (Objects.equals(type.name, name)) { + if (!simulate) { + electrodeType = type; + } else return true; + } + } + if (!simulate && hasLevel()) + VatBlock.updateVatState(getBlockState(), getLevel(), getBlockPos().relative(Direction.DOWN)); + sendData(); + return false; + } + + @Override + public void onNetworkChanged(int oldVoltage, int oldPower) { + super.onNetworkChanged(oldVoltage, oldPower); + VatBlock.updateVatState(getBlockState(), level, getBlockPos().relative(Direction.DOWN)); + } + + + boolean isOperational() { + return getCurrent() >= TFMGConfigs.common().machines.electrolysisMinimumCurrent.get() && canWork(); + } + + @Override + public AABB getRenderBoundingBox() { + return new AABB(getBlockPos()).setMinY(getBlockPos().getY() - 2); + } + + @Override + public void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + for (ElectrodeType electrode : ElectrodeType.values()) { + if (electrode == electrodeType) { + compound.putString("Electrode", electrode.name); + } + } + super.write(compound,registries , clientPacket); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + super.read(compound,registries , clientPacket); + + setElectrode(compound.getString("Electrode"), false); + + } + + @Override + public String getOperationId() { + + + return switch (electrodeType) { + + case NONE -> ""; + case COPPER, ZINC -> isOperational() ? "tfmg:electrode" : ""; + case GRAPHITE -> isOperational() ? "tfmg:graphite_electrode" : ""; + }; + } + + @Override + public int getWorkPercentage() { + return (getPowerUsage() / 5000) * 100; + } + + @Override + public void vatUpdated(VatBlockEntity be) { + IVatMachine.super.vatUpdated(be); + } + + + enum ElectrodeType { + + NONE("none", ItemStack.EMPTY, null), + COPPER("copper", TFMGItems.COPPER_ELECTRODE.asStack(), TFMGPartialModels.COPPER_ELECTRODE), + ZINC("zinc", TFMGItems.ZINC_ELECTRODE.asStack(), TFMGPartialModels.ZINC_ELECTRODE), + GRAPHITE("graphite", TFMGItems.GRAPHITE_ELECTRODE.asStack(), TFMGPartialModels.GRAPHITE_ELECTRODE); + + public final String name; + public final ItemStack item; + public final PartialModel model; + + ElectrodeType(String name, ItemStack stack, PartialModel model) { + this.name = name; + this.item = stack; + this.model = model; + } + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/vat/electrode_holder/ElectrodeHolderRenderer.java b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/electrode_holder/ElectrodeHolderRenderer.java new file mode 100644 index 00000000..d4da65ba --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/electrode_holder/ElectrodeHolderRenderer.java @@ -0,0 +1,42 @@ +package com.drmangotea.tfmg.content.machinery.vat.electrode_holder; + +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer; +import net.createmod.catnip.render.CachedBuffers; +import net.minecraft.client.renderer.LevelRenderer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.world.level.block.state.BlockState; + +public class ElectrodeHolderRenderer extends SafeBlockEntityRenderer { + + + public ElectrodeHolderRenderer(BlockEntityRendererProvider.Context context) { + } + + @Override + protected void renderSafe(ElectrodeHolderBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, + int light, int overlay) { + + + BlockState blockState = be.getBlockState(); + + + if (be.electrodeType == ElectrodeHolderBlockEntity.ElectrodeType.NONE) + return; + if (be.electrodeType.model == null) + return; + + + CachedBuffers.partial(be.electrodeType.model, blockState) + .light(LevelRenderer.getLightColor(be.getLevel(), be.getBlockPos().below())) + .translateY(-1) + .renderInto(ms, buffer.getBuffer(RenderType.cutoutMipped())); + } + +} + + + diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/vat/industrial_mixer/IndustrialMixerBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/industrial_mixer/IndustrialMixerBlock.java new file mode 100644 index 00000000..81165e7b --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/industrial_mixer/IndustrialMixerBlock.java @@ -0,0 +1,83 @@ +package com.drmangotea.tfmg.content.machinery.vat.industrial_mixer; + +import com.drmangotea.tfmg.content.machinery.vat.base.VatBlock; +import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.content.kinetics.base.KineticBlock; +import com.simibubi.create.foundation.block.IBE; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.BlockHitResult; + +import static com.drmangotea.tfmg.content.machinery.vat.industrial_mixer.IndustrialMixerBlockEntity.MixerMode; + +public class IndustrialMixerBlock extends KineticBlock implements IBE { + + + + public IndustrialMixerBlock(Properties properties) { + super(properties); + } + + @Override + public Direction.Axis getRotationAxis(BlockState state) { + return Direction.Axis.Y; + } + + @Override + public boolean hasShaftTowards(LevelReader world, BlockPos pos, BlockState state, Direction face) { + return face == Direction.UP; + } + + @Override + public void onRemove(BlockState state, Level pLevel, BlockPos pPos, BlockState pNewState, boolean pIsMoving) { + VatBlock.updateVatState(state, pLevel, pPos.relative(Direction.DOWN)); + super.onRemove(state, pLevel, pPos, pNewState, pIsMoving); + + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { + if(hand == InteractionHand.OFF_HAND) + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + if(level.getBlockEntity(pos) instanceof IndustrialMixerBlockEntity be){ + MixerMode mixerMode = be.mixerMode; + ItemStack stackInside = mixerMode.item; + if(stack.is(stackInside.getItem())) + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + + if(be.setMixerMode(stack, true)) { + + player.setItemInHand(hand, mixerMode.item); + be.setMixerMode(stack, false); + return ItemInteractionResult.SUCCESS; + } + } + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + } + + @Override + public void onPlace(BlockState state, Level pLevel, BlockPos pPos, BlockState pOldState, boolean pIsMoving) { + VatBlock.updateVatState(state, pLevel, pPos.relative(Direction.DOWN)); + super.onPlace(state, pLevel, pPos, pOldState, pIsMoving); + + } + + @Override + public Class getBlockEntityClass() { + return IndustrialMixerBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return TFMGBlockEntities.INDUSTRIAL_MIXER.get(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/vat/industrial_mixer/IndustrialMixerBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/industrial_mixer/IndustrialMixerBlockEntity.java new file mode 100644 index 00000000..1cf5a7d5 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/industrial_mixer/IndustrialMixerBlockEntity.java @@ -0,0 +1,165 @@ +package com.drmangotea.tfmg.content.machinery.vat.industrial_mixer; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.machinery.vat.base.IVatMachine; +import com.drmangotea.tfmg.content.machinery.vat.base.VatBlock; +import com.drmangotea.tfmg.content.machinery.vat.base.VatBlockEntity; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import com.simibubi.create.content.kinetics.base.OrientedRotatingVisual; +import com.simibubi.create.content.kinetics.gantry.GantryShaftBlock; +import com.simibubi.create.content.kinetics.gantry.GantryShaftBlockEntity; +import dev.engine_room.flywheel.api.visual.BlockEntityVisual; +import dev.engine_room.flywheel.api.visualization.VisualizationContext; +import dev.engine_room.flywheel.lib.model.Models; +import net.createmod.catnip.animation.LerpedFloat; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.AABB; + +import java.util.Objects; + + +public class IndustrialMixerBlockEntity extends KineticBlockEntity implements IVatMachine { + + + public MixerMode mixerMode = MixerMode.NONE; + public int vatSize = 1; + public int vatHeight = 1; + public BlockPos vatPos = null; + + LerpedFloat visualSpeed = LerpedFloat.linear(); + float angle; + + public IndustrialMixerBlockEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { + super(typeIn, pos, state); + } + + @Override + public void vatUpdated(VatBlockEntity be) { + + + vatSize = be.getWidth(); + vatHeight = be.getHeight(); + vatPos = be.getBlockPos(); + + + } + + @Override + public void tick() { + super.tick(); + + if (!level.isClientSide) + return; + + float targetSpeed = getSpeed(); + visualSpeed.updateChaseTarget(targetSpeed); + visualSpeed.tickChaser(); + + + } + + + + + + @Override + public void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + for (MixerMode mode : MixerMode.values()) { + if (mode == mixerMode) { + compound.putString("MixerMode", mode.name); + } + } + super.write(compound,registries , clientPacket); + } + + @Override + protected void read(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) { + + setMixerMode(compound.getString("MixerMode"), false); + + if (clientPacket) + visualSpeed.chase(getGeneratedSpeed(), (double) 1 / 32, LerpedFloat.Chaser.EXP); + super.read(compound,registries , clientPacket); + } + + @Override + protected AABB createRenderBoundingBox() { + return new AABB(getBlockPos()).inflate(3); + } + + @Override + public String getOperationId() { + return switch (mixerMode) { + + case NONE -> ""; + case MIXING -> "tfmg:mixing"; + case CENTRIFUGE -> "tfmg:centrifuge"; + }; + } + + public boolean setMixerMode(ItemStack modeItem, boolean simulate) { + for (MixerMode mode : MixerMode.values()) { + if (mode.item.is(modeItem.getItem())) { + if (!simulate) { + mixerMode = mode; + } else return true; + } + } + if (!simulate && hasLevel()) + VatBlock.updateVatState(getBlockState(), getLevel(), getBlockPos().relative(Direction.DOWN)); + sendData(); + return false; + } + + public boolean setMixerMode(String name, boolean simulate) { + for (MixerMode mode : MixerMode.values()) { + if (Objects.equals(mode.name, name)) { + if (!simulate) { + mixerMode = mode; + + } else return true; + } + } + if (!simulate && hasLevel()) + VatBlock.updateVatState(getBlockState(), getLevel(), getBlockPos().relative(Direction.DOWN)); + sendData(); + return false; + } + + @Override + public int getWorkPercentage() { + return (int) ((getSpeed()/255f)*100); + } + + @Override + public PositionRequirement getPositionRequirement() { + return PositionRequirement.TOP_CENTER; + } + + @Override + public String[] doesntWorkWith() { + return new String[]{"electrodes"}; + } + + enum MixerMode { + NONE("none", ItemStack.EMPTY), + MIXING("mixing", TFMGItems.MIXER_BLADE.asStack()), + CENTRIFUGE("centrifuge", TFMGItems.CENTRIFUGE.asStack()); + public final String name; + public final ItemStack item; + + MixerMode(String name, ItemStack stack) { + this.name = name; + this.item = stack; + } + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/vat/industrial_mixer/IndustrialMixerRenderer.java b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/industrial_mixer/IndustrialMixerRenderer.java new file mode 100644 index 00000000..75e73440 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/industrial_mixer/IndustrialMixerRenderer.java @@ -0,0 +1,92 @@ +package com.drmangotea.tfmg.content.machinery.vat.industrial_mixer; + +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer; +import net.createmod.catnip.render.CachedBuffers; +import net.createmod.catnip.render.SuperByteBuffer; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.LevelRenderer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.state.BlockState; + +public class IndustrialMixerRenderer extends KineticBlockEntityRenderer { + + + public IndustrialMixerRenderer(BlockEntityRendererProvider.Context context) { + super(context); + } + + @Override + protected void renderSafe(IndustrialMixerBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer, + int light, int overlay) { + + super.renderSafe(be, partialTicks, ms, buffer, light, overlay); + BlockState blockState = be.getBlockState(); + int height = be.vatHeight; + + if (be.mixerMode == IndustrialMixerBlockEntity.MixerMode.NONE) + return; + if (!Minecraft.getInstance().isPaused()) { + be.angle += be.visualSpeed.getValue(partialTicks) * 3 / 10f; + be.angle %= 360; + } + + for (int i = 0; i < height; i++) { + PartialModel model = i == height - 1 ? be.vatSize > 1 ? TFMGPartialModels.MIXER : TFMGPartialModels.SMALL_MIXER : TFMGPartialModels.MIXER_SHAFT; + if (be.mixerMode == IndustrialMixerBlockEntity.MixerMode.CENTRIFUGE) { + + if(be.vatPos==null) + return; + + model = getCentrifugeModel(i + 1, height, be); + } + + float posX = be.vatSize == 2 ? (be.vatPos.getX() - be.getBlockPos().getX() + 0.5f) : 0f; + float posZ = be.vatSize == 2 ? (be.vatPos.getZ() - be.getBlockPos().getZ() + 0.5f) : 0f; + CachedBuffers.partial(model, blockState) + .light(LevelRenderer.getLightColor(be.getLevel(), be.getBlockPos().below())) + .center() + .translate(posX, -i - 1, posZ) + .rotateYDegrees(be.angle) + .uncenter() + .renderInto(ms, buffer.getBuffer(RenderType.cutoutMipped())); + } + } + + public PartialModel getCentrifugeModel(int i, int height, IndustrialMixerBlockEntity be) { + if (be.vatSize == 1) { + if (height == 1) + return TFMGPartialModels.SMALL_CENTRIFUGE_ALONE; + + if (i == 1) + return TFMGPartialModels.SMALL_CENTRIFUGE_TOP; + if (i == height) + return TFMGPartialModels.SMALL_CENTRIFUGE_BOTTOM; + return TFMGPartialModels.SMALL_CENTRIFUGE_MIDDLE; + + } else { + if (height == 1) + return TFMGPartialModels.LARGE_CENTRIFUGE_ALONE; + + if (i == 1) + return TFMGPartialModels.LARGE_CENTRIFUGE_TOP; + if (i == height) + return TFMGPartialModels.LARGE_CENTRIFUGE_BOTTOM; + return TFMGPartialModels.LARGE_CENTRIFUGE_MIDDLE; + + } + + } + + @Override + protected SuperByteBuffer getRotatedModel(IndustrialMixerBlockEntity be, BlockState state) { + return CachedBuffers.partialFacing(AllPartialModels.SHAFT_HALF, state, Direction.UP); + } +} + diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/vat/industrial_mixer/IndustrialMixerVisual.java b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/industrial_mixer/IndustrialMixerVisual.java new file mode 100644 index 00000000..62fe5a17 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/industrial_mixer/IndustrialMixerVisual.java @@ -0,0 +1,57 @@ +package com.drmangotea.tfmg.content.machinery.vat.industrial_mixer; + +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual; +import com.simibubi.create.content.kinetics.base.RotatingInstance; +import com.simibubi.create.content.kinetics.fan.EncasedFanBlockEntity; +import com.simibubi.create.foundation.render.AllInstanceTypes; +import dev.engine_room.flywheel.api.instance.Instance; +import dev.engine_room.flywheel.api.visualization.VisualizationContext; +import dev.engine_room.flywheel.lib.model.Models; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.util.Mth; + +import java.util.function.Consumer; + +import static net.minecraft.world.level.block.state.properties.BlockStateProperties.FACING; + +public class IndustrialMixerVisual extends KineticBlockEntityVisual { + + protected final RotatingInstance shaft; + + public IndustrialMixerVisual(VisualizationContext context, IndustrialMixerBlockEntity blockEntity, float partialTick) { + super(context, blockEntity, partialTick); + + shaft = instancerProvider().instancer(AllInstanceTypes.ROTATING, Models.partial(AllPartialModels.SHAFT_HALF)) + .createInstance(); + + shaft.setup(blockEntity) + .setPosition(getVisualPosition()) + .rotateToFace(Direction.SOUTH, Direction.UP) + .setChanged(); + } + + @Override + public void update(float pt) { + shaft.setup(blockEntity) + .setChanged(); + } + + @Override + public void updateLight(float partialTick) { + BlockPos behind = pos.relative(Direction.UP); + relight(behind, shaft); + + } + + @Override + protected void _delete() { + shaft.delete(); + } + + @Override + public void collectCrumblingInstances(Consumer consumer) { + consumer.accept(shaft); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/datagen/TFMGDamageSources.java b/src/main/java/com/drmangotea/tfmg/datagen/TFMGDamageSources.java new file mode 100644 index 00000000..c5846374 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/TFMGDamageSources.java @@ -0,0 +1,33 @@ +package com.drmangotea.tfmg.datagen; + +import net.minecraft.core.Registry; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceKey; +import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.damagesource.DamageType; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; + +public class TFMGDamageSources { + + public static DamageSource concrete(Level level) { + return source(TFMGDamageTypes.CONCRETE, level); + } + + public static DamageSource acid(Level level) { + return source(TFMGDamageTypes.ACID, level); + } + + public static DamageSource blastFurnace(Level level) { + return source(TFMGDamageTypes.BLAST_FURNACE, level); + } + + + + private static DamageSource source(ResourceKey key, LevelReader level) { + Registry registry = level.registryAccess().registryOrThrow(Registries.DAMAGE_TYPE); + return new DamageSource(registry.getHolderOrThrow(key)); + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/datagen/TFMGDamageTypes.java b/src/main/java/com/drmangotea/tfmg/datagen/TFMGDamageTypes.java new file mode 100644 index 00000000..6d47b953 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/TFMGDamageTypes.java @@ -0,0 +1,26 @@ +package com.drmangotea.tfmg.datagen; + + +import com.drmangotea.tfmg.TFMG; +import com.simibubi.create.foundation.damageTypes.DamageTypeBuilder; +import net.minecraft.core.registries.Registries; +import net.minecraft.data.worldgen.BootstrapContext; +import net.minecraft.resources.ResourceKey; +import net.minecraft.world.damagesource.DamageType; + +public class TFMGDamageTypes { + public static final ResourceKey + CONCRETE = key("concrete"), + ACID = key("acid"), + BLAST_FURNACE = key("blast_furnace"); + + private static ResourceKey key(String name) { + return ResourceKey.create(Registries.DAMAGE_TYPE, TFMG.asResource(name)); + } + + public static void bootstrap(BootstrapContext ctx) { + new DamageTypeBuilder(CONCRETE).register(ctx); + new DamageTypeBuilder(ACID).register(ctx); + new DamageTypeBuilder(BLAST_FURNACE).register(ctx); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/datagen/TFMGDatagen.java b/src/main/java/com/drmangotea/tfmg/datagen/TFMGDatagen.java new file mode 100644 index 00000000..fbe6e874 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/TFMGDatagen.java @@ -0,0 +1,92 @@ +package com.drmangotea.tfmg.datagen; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.TFMGRegistrateTags; +import com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider; +import com.drmangotea.tfmg.datagen.recipes.values.TFMGStandardRecipeGen; +import com.drmangotea.tfmg.datagen.recipes.values.create.TFMGMechanicalCraftingRecipeGen; +import com.drmangotea.tfmg.datagen.recipes.values.create.TFMGSequencedAssemblyRecipeGen; +import com.drmangotea.tfmg.ponder.TFMGPonderPlugin; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.simibubi.create.Create; +import com.simibubi.create.foundation.utility.FilesHelper; +import com.tterrag.registrate.providers.ProviderType; +import net.createmod.ponder.foundation.PonderIndex; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.DataGenerator; +import net.minecraft.data.PackOutput; +import net.neoforged.neoforge.data.event.GatherDataEvent; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.concurrent.CompletableFuture; +import java.util.function.BiConsumer; + +import static com.drmangotea.tfmg.TFMG.REGISTRATE; + +public class TFMGDatagen { + public static void gatherDataHighPriority(GatherDataEvent event) { + if (event.getMods().contains(TFMG.MOD_ID)) + addExtraRegistrateData(); + } + public static void gatherData(GatherDataEvent event) { + DataGenerator generator = event.getGenerator(); + PackOutput output = generator.getPackOutput(); + CompletableFuture lookupProvider = event.getLookupProvider(); +// +// + TFMGGeneratedEntriesProvider generatedEntriesProvider = new TFMGGeneratedEntriesProvider(output, lookupProvider); + lookupProvider = generatedEntriesProvider.getRegistryProvider(); + generator.addProvider(event.includeServer(), generatedEntriesProvider); +// + // + + + generator.addProvider(event.includeServer(),new TFMGStandardRecipeGen(output,lookupProvider)); + generator.addProvider(event.includeServer(), new TFMGMechanicalCraftingRecipeGen(output,lookupProvider)); + generator.addProvider(event.includeServer(), new TFMGSequencedAssemblyRecipeGen(output, lookupProvider)); +// + if (event.includeServer()) { + TFMGRecipeProvider.registerAllProcessing(generator, output, lookupProvider); + } + + + } + + private static void addExtraRegistrateData() { + TFMGRegistrateTags.addGenerators(); + + REGISTRATE.addDataGenerator(ProviderType.LANG, provider -> { + BiConsumer langConsumer = provider::add; + + provideDefaultLang("interface", langConsumer); + provideDefaultLang("tooltips", langConsumer); + + providePonderLang(langConsumer); + }); + } + + + private static void providePonderLang(BiConsumer consumer) { + PonderIndex.addPlugin(new TFMGPonderPlugin()); + + PonderIndex.getLangAccess().provideLang(TFMG.MOD_ID, consumer); + } + + private static void provideDefaultLang(String fileName, BiConsumer consumer) { + String path = "assets/tfmg/lang/default/" + fileName + ".json"; + JsonElement jsonElement = FilesHelper.loadJsonResource(path); + if (jsonElement == null) { + throw new IllegalStateException(String.format("Could not find default lang file: %s", path)); + } + JsonObject jsonObject = jsonElement.getAsJsonObject(); + for (Map.Entry entry : jsonObject.entrySet()) { + String key = entry.getKey(); + String value = entry.getValue().getAsString(); + consumer.accept(key, value); + } + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/datagen/TFMGGeneratedEntriesProvider.java b/src/main/java/com/drmangotea/tfmg/datagen/TFMGGeneratedEntriesProvider.java new file mode 100644 index 00000000..a6bc4b3f --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/TFMGGeneratedEntriesProvider.java @@ -0,0 +1,35 @@ +package com.drmangotea.tfmg.datagen; + + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.worldgen.TFMGBiomeModifiers; +import com.drmangotea.tfmg.worldgen.TFMGConfiguredFeatures; +import com.drmangotea.tfmg.worldgen.TFMGPlacedFeatures; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.RegistrySetBuilder; +import net.minecraft.core.registries.Registries; +import net.minecraft.data.PackOutput; +import net.neoforged.neoforge.common.data.DatapackBuiltinEntriesProvider; +import net.neoforged.neoforge.registries.NeoForgeRegistries; + +import java.util.Set; +import java.util.concurrent.CompletableFuture; + +public class TFMGGeneratedEntriesProvider extends DatapackBuiltinEntriesProvider { + private static final RegistrySetBuilder BUILDER = new RegistrySetBuilder() + .add(Registries.CONFIGURED_FEATURE, (RegistrySetBuilder.RegistryBootstrap) TFMGConfiguredFeatures::bootstrap) + .add(Registries.PLACED_FEATURE, TFMGPlacedFeatures::bootstrap) + .add(NeoForgeRegistries.Keys.BIOME_MODIFIERS, TFMGBiomeModifiers::bootstrap) + .add(Registries.DAMAGE_TYPE, TFMGDamageTypes::bootstrap); + + + public TFMGGeneratedEntriesProvider(PackOutput output, CompletableFuture registries) { + super(output, registries, BUILDER, Set.of(TFMG.MOD_ID)); + + } + + @Override + public String getName() { + return "TFMG's Generated Registry Entries"; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/TFMGRecipeProvider.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/TFMGRecipeProvider.java new file mode 100644 index 00000000..52660de1 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/TFMGRecipeProvider.java @@ -0,0 +1,842 @@ +package com.drmangotea.tfmg.datagen.recipes; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.TFMGRegistrate; +import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipes; +import com.drmangotea.tfmg.datagen.recipes.values.create.*; +import com.drmangotea.tfmg.datagen.recipes.values.tfmg.*; +import com.drmangotea.tfmg.registry.*; +import com.simibubi.create.*; +import com.simibubi.create.api.data.recipe.ProcessingRecipeGen; +import com.simibubi.create.content.decoration.palettes.AllPaletteBlocks; +import com.simibubi.create.content.decoration.palettes.AllPaletteStoneTypes; +import com.simibubi.create.foundation.data.recipe.*; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.CachedOutput; +import net.minecraft.data.DataGenerator; +import net.minecraft.data.DataProvider; +import net.minecraft.data.PackOutput; +import net.minecraft.data.recipes.RecipeOutput; +import net.minecraft.data.recipes.RecipeProvider; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.tags.ItemTags; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.level.ItemLike; +import net.minecraft.world.level.material.Fluid; +import net.minecraft.world.level.material.Fluids; +import net.neoforged.neoforge.common.Tags; +import org.jetbrains.annotations.NotNull; + +import javax.annotation.ParametersAreNonnullByDefault; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.CompletableFuture; + +@ParametersAreNonnullByDefault +public class TFMGRecipeProvider extends RecipeProvider { + + static final List> GENERATORS = new ArrayList<>(); + + protected final List all = new ArrayList<>(); + + public TFMGRecipeProvider(PackOutput output, CompletableFuture registries) { + super(output, registries); + } + + @Override + protected void buildRecipes(@NotNull RecipeOutput pRecipeOutput) { + all.forEach(c -> c.register(pRecipeOutput)); + TFMG.LOGGER.info("{} registered {} recipe{}", getName(), all.size(), all.size() == 1 ? "" : "s"); + } + + + public static void registerAllProcessing(DataGenerator gen, PackOutput output, CompletableFuture registries) { + GENERATORS.add(new TFMGCokingRecipeGen(output,registries)); + GENERATORS.add(new TFMGDistillationRecipeGen(output,registries)); + GENERATORS.add(new TFMGWindingRecipeGen(output,registries)); + GENERATORS.add(new TFMGPolarizingRecipeGen(output,registries)); + GENERATORS.add(new TFMGHotBlastRecipeGen(output,registries)); + GENERATORS.add(new TFMGCastingRecipeGen(output,registries)); + GENERATORS.add(new TFMGIndustrialBlastingRecipeGen(output,registries)); + GENERATORS.add(new TFMGVatRecipeGen(output,registries)); + + GENERATORS.add(new TFMGPressingRecipeGen(output,registries)); + GENERATORS.add(new TFMGItemApplicationRecipeGen(output,registries)); + GENERATORS.add(new TFMGFillingRecipeGen(output,registries)); + GENERATORS.add(new TFMGMixingRecipeGen(output,registries)); + GENERATORS.add(new TFMGCompactingRecipeGen(output,registries)); + GENERATORS.add(new TFMGCrushingRecipeGen(output,registries)); + + gen.addProvider(true, new DataProvider() { + + @Override + public String getName() { + return "TFMG's Processing Recipes"; + } + + @Override + public CompletableFuture run(CachedOutput dc) { + return CompletableFuture.allOf(GENERATORS.stream() + .map(gen -> gen.run(dc)) + .toArray(CompletableFuture[]::new)); + } + }); + } + + protected TFMGRecipeProvider.GeneratedRecipe register(TFMGRecipeProvider.GeneratedRecipe recipe) { + all.add(recipe); + return recipe; + } + + @FunctionalInterface + public interface GeneratedRecipe { + void register(RecipeOutput output); + } + + public static class Marker { + } + + + public static class I { + + public static ItemLike tfmgSteelIngot() { + return TFMGItems.STEEL_INGOT; + } + public static ItemLike coal() { + return Items.COAL; + } + public static ItemLike charcoal() { + return Items.CHARCOAL; + } + public static ItemLike coalCoke() { + return TFMGItems.COAL_COKE.get(); + } + public static ItemLike coalCokeDust() { + return TFMGItems.COAL_COKE_DUST.get(); + } + public static TagKey steelIngot() { + return AllTags.commonItemTag("ingots/steel"); + } + public static TagKey steelNugget() { + return AllTags.commonItemTag("nuggets/steel"); + } + public static TagKey steelSheet() { + return AllTags.commonItemTag("plates/steel"); + } + public static TagKey steelBlock() { + return AllTags.commonItemTag("storage_blocks/steel"); + } + public static TagKey aluminumIngot() { + return AllTags.commonItemTag("ingots/aluminum"); + } + public static TagKey aluminumNugget() { + return AllTags.commonItemTag("nuggets/aluminum"); + } + public static TagKey aluminumBlock() { + return AllTags.commonItemTag("storage_blocks/aluminum"); + } + public static TagKey aluminumSheet() { + return AllTags.commonItemTag("plates/aluminum"); + } + public static TagKey castIronIngot() { + return AllTags.commonItemTag("ingots/cast_iron"); + } + public static TagKey castIronNugget() { + return AllTags.commonItemTag("nuggets/cast_iron"); + } + public static TagKey castIronBlock() { + return AllTags.commonItemTag("storage_blocks/cast_iron"); + } + public static TagKey castIronSheet() { + return AllTags.commonItemTag("plates/cast_iron"); + } + public static TagKey leadIngot() { + return AllTags.commonItemTag("ingots/lead"); + } + public static TagKey leadNugget() { + return AllTags.commonItemTag("nuggets/lead"); + } + public static TagKey leadSheet() { + return AllTags.commonItemTag("plates/lead"); + } + public static TagKey leadBlock() { + return AllTags.commonItemTag("storage_blocks/lead"); + } + public static TagKey nickelIngot() { + return AllTags.commonItemTag("ingots/nickel"); + } + public static TagKey nickelNugget() { + return AllTags.commonItemTag("nuggets/nickel"); + } + public static TagKey nickelBlock() { + return AllTags.commonItemTag("storage_blocks/nickel"); + } + public static TagKey nickelSheet() { + return AllTags.commonItemTag("plates/nickel"); + } + public static TagKey lithiumIngot() { + return AllTags.commonItemTag("ingots/lithium"); + } + public static TagKey lithiumNugget() { + return AllTags.commonItemTag("nuggets/lithium"); + } + public static TagKey lithiumBlock() { + return AllTags.commonItemTag("storage_blocks/lithium"); + } + public static TagKey constantanIngot() { + return AllTags.commonItemTag("ingots/constantan"); + } + public static TagKey constantanNugget() { + return AllTags.commonItemTag("nuggets/constantan"); + } + public static TagKey constantanBlock() { + return AllTags.commonItemTag("storage_blocks/constantan"); + } + public static TagKey copperWire() { + return AllTags.commonItemTag("wires/copper"); + } + public static TagKey constantanWire() { + return AllTags.commonItemTag("wires/constantan"); + } + public static TagKey aluminumWire() { + return AllTags.commonItemTag("wires/aluminum"); + } + + // + + + + // + + public static ItemLike bitumen() { + return TFMGItems.BITUMEN.get(); + } + public static ItemLike cinderFlour() { + return AllItems.CINDER_FLOUR.get(); + } + public static ItemLike plasticSheet() { + return TFMGItems.PLASTIC_SHEET.get(); + } + + + public static ItemLike crimsite() { + return AllPaletteStoneTypes.CRIMSITE.getBaseBlock().get(); + } + public static ItemLike thermitePowder() { + return TFMGItems.THERMITE_POWDER.get(); + } + public static ItemLike crushedRawAluminum() { + return AllItems.CRUSHED_BAUXITE.get(); + } + public static ItemLike experienceNugget() { + return AllItems.EXP_NUGGET.get(); + } + public static ItemLike capacitor() { + return TFMGItems.CAPACITOR; + } + public static ItemLike copperSulfate() { + return TFMGItems.COPPER_SULFATE.get(); + } + public static ItemLike boneMeal() { + return Items.BONE_MEAL; + } + public static ItemLike blueDye() { + return Items.BLUE_DYE; + } + public static ItemLike greenDye() { + return Items.GREEN_DYE; + } + public static ItemLike cyanDye() { + return Items.CYAN_DYE; + } + public static ItemLike crushedRawLead() { + return AllItems.CRUSHED_LEAD.get(); + } + public static ItemLike limestone() { + return AllPaletteStoneTypes.LIMESTONE.getBaseBlock().get(); + } + public static ItemLike limesand() { + return TFMGItems.LIMESAND.get(); + } + public static ItemLike dirt() { + return Items.DIRT; + } + public static ItemLike rebar() { + return TFMGItems.REBAR.get(); + } + public static ItemLike nitrateDust() { + return TFMGItems.NITRATE_DUST.get(); + } + public static ItemLike sulfurDust() { + return TFMGItems.SULFUR_DUST.get(); + } + public static ItemLike bucket() { + return Items.BUCKET; + } + public static ItemLike bottle() { + return Items.GLASS_BOTTLE; + } + public static ItemLike potato() { + return Items.POTATO; + } + public static ItemLike napalmPotato() { + return TFMGItems.NAPALM_POTATO.get(); + } + public static ItemLike heavyMachineryCasing() { + return TFMGBlocks.HEAVY_MACHINERY_CASING.get(); + } + public static ItemLike steelCasing() { + return TFMGBlocks.STEEL_CASING.get(); + } + public static ItemLike aluminumCasing() { + return TFMGBlocks.ALUMINUM_CASING.get(); + } + public static ItemLike lightBulb() { + return TFMGBlocks.LIGHT_BULB.get(); + } + + + public static ItemLike heavyPlate() { + return TFMGItems.HEAVY_PLATE.get(); + } + public static ItemLike castIronSheetTFMG() { + return TFMGItems.CAST_IRON_SHEET.get(); + } + public static ItemLike nickelSheetTFMG() { + return TFMGItems.NICKEL_SHEET.get(); + } + public static ItemLike leadSheetTFMG() { + return TFMGItems.LEAD_SHEET.get(); + } + public static ItemLike aluminumSheetTFMG() { + return TFMGItems.ALUMINUM_SHEET.get(); + } + public static ItemLike crushedRawIron() { + return AllItems.CRUSHED_IRON.get(); + } + public static ItemLike ironIngot() { + return Items.IRON_INGOT; + } + public static ItemLike clayBall() { + return Items.CLAY_BALL; + } + public static ItemLike sand() { + return Items.SAND; + } + public static ItemLike gravel() { + return Items.GRAVEL; + } + public static ItemLike concreteMixture() { + return TFMGItems.CONCRETE_MIXTURE.get(); + } + public static ItemLike asphaltMixture() { + return TFMGItems.ASPHALT_MIXTURE.get(); + } + public static ItemLike slag() { + return TFMGItems.SLAG.get(); + } + public static ItemLike gunpowder() { + return Items.GUNPOWDER; + } + public static ItemLike steelTank() { + return TFMGBlocks.STEEL_FLUID_TANK; + } + public static ItemLike castIronTank() { + return TFMGBlocks.CAST_IRON_FLUID_TANK; + } + public static ItemLike circuitBoard() { + return TFMGItems.CIRCUIT_BOARD; + } + public static ItemLike cement() { + return TFMGBlocks.CEMENT; + } + public static ItemLike aluminumTank() { + return TFMGBlocks.ALUMINUM_FLUID_TANK; + } + public static ItemLike syntheticLeather() { + return TFMGItems.SYNTHETIC_LEATHER.get(); + } + public static ItemLike engineChamber() { + return TFMGItems.ENGINE_CYLINDER.get(); + } + public static ItemLike screw() { + return TFMGItems.SCREW.get(); + } + public static ItemLike steelMechanism() { + return TFMGItems.STEEL_MECHANISM.get(); + } + public static ItemLike industrialPipe() { + return TFMGBlocks.INDUSTRIAL_PIPE.get(); + } + public static ItemLike steelPipe() { + return TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(0); + } + public static ItemLike brassPipe() { + return TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(0); + } + public static ItemLike castIronPipe() { + return TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(0); + } + public static ItemLike aluminumPipe() { + return TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(0); + } + public static ItemLike plasticPipe() { + return TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(0); + } + public static ItemLike magneticIngot() { + return TFMGItems.MAGNETIC_ALLOY_INGOT.get(); + } + public static ItemLike magnet() { + return TFMGItems.MAGNET.get(); + } + // + public static TagKey redstone() { + return Tags.Items.DUSTS_REDSTONE; + } + + public static TagKey planks() { + return ItemTags.PLANKS; + } + + public static TagKey woodSlab() { + return ItemTags.WOODEN_SLABS; + } + public static TagKey log() { + return ItemTags.LOGS_THAT_BURN; + } + public static TagKey gold() { + return AllTags.commonItemTag("ingots/gold"); + } + public static TagKey string() { + return AllTags.commonItemTag("string"); + } + + public static ItemLike propeller() { + return AllItems.PROPELLER.get(); + } + public static ItemLike framedGlass() { + return AllPaletteBlocks.FRAMED_GLASS; + } + //"steel", "aluminum", "cast_iron", "lead", "nickel","constantan" , "copper", "zinc", "brass" + public static ItemLike steelTruss() { + return TFMGBlocks.TRUSSES.get(0).get(); + } + public static ItemLike steelFrame() { + return TFMGBlocks.FRAMES.get(0).get(); + } + + public static ItemLike aluminumTruss() { + return TFMGBlocks.TRUSSES.get(1).get(); + } + public static ItemLike aluminumFrame() { + return TFMGBlocks.FRAMES.get(1).get(); + } + + + public static ItemLike castIronTruss() { + return TFMGBlocks.TRUSSES.get(2).get(); + } + public static ItemLike castIronFrame() { + return TFMGBlocks.FRAMES.get(2).get(); + } + + + public static ItemLike leadTruss() { + return TFMGBlocks.TRUSSES.get(3).get(); + } + public static ItemLike leadFrame() { + return TFMGBlocks.FRAMES.get(3).get(); + } + + public static ItemLike nickelTruss() { + return TFMGBlocks.TRUSSES.get(4).get(); + } + public static ItemLike nickelFrame() { + return TFMGBlocks.FRAMES.get(4).get(); + } + + public static ItemLike constantanTruss() { + return TFMGBlocks.TRUSSES.get(5).get(); + } + public static ItemLike constantanFrame() { + return TFMGBlocks.FRAMES.get(5).get(); + } + + public static ItemLike copperTruss() { + return TFMGBlocks.TRUSSES.get(6).get(); + } + public static ItemLike copperFrame() { + return TFMGBlocks.FRAMES.get(6).get(); + } + + public static ItemLike zincTruss() { + return TFMGBlocks.TRUSSES.get(7).get(); + } + public static ItemLike zincFrame() { + return TFMGBlocks.FRAMES.get(7).get(); + } + + public static ItemLike brassTruss() { + return TFMGBlocks.TRUSSES.get(8).get(); + } + public static ItemLike brassFrame() { + return TFMGBlocks.FRAMES.get(8).get(); + } + + + + public static TagKey goldSheet() { + return AllTags.commonItemTag("plates/gold"); + } + + //public static TagKey stone() { + // return Tags.Items.STONE; + //} + + public static ItemLike andesite() { + return AllItems.ANDESITE_ALLOY.get(); + } + + public static ItemLike fireproofBricks() { + return TFMGBlocks.FIREPROOF_BRICKS.get(); + } + + + public static ItemLike shaft() { + return AllBlocks.SHAFT.get(); + } + + public static ItemLike cog() { + return AllBlocks.COGWHEEL.get(); + } + + public static ItemLike rubber() { + return TFMGItems.RUBBER_SHEET.get(); + } + + public static ItemLike largeCog() { + return AllBlocks.LARGE_COGWHEEL.get(); + } + + public static ItemLike andesiteCasing() { + return AllBlocks.ANDESITE_CASING.get(); + } + + public static TagKey brassIngot() { + return AllTags.commonItemTag("ingots/brass"); + } + + public static TagKey brassSheet() { + return AllTags.commonItemTag("plates/brass"); + } + + public static TagKey iron() { + return Tags.Items.INGOTS_IRON; + } + + public static TagKey ironNugget() { + return AllTags.commonItemTag("nuggets/iron"); + } + + public static TagKey ironDust() { + return AllTags.commonItemTag("dusts/iron"); + } + + public static TagKey zincIngot() { + return AllTags.commonItemTag("ingots/zinc"); + } + + public static TagKey ironSheet() { + return AllTags.commonItemTag("plates/iron"); + } + + public static TagKey sturdySheet() { + return AllTags.commonItemTag("plates/obsidian"); + } + + public static ItemLike brassCasing() { + return AllBlocks.BRASS_CASING.get(); + } + + public static ItemLike railwayCasing() { + return AllBlocks.RAILWAY_CASING.get(); + } + + public static ItemLike electronTube() { + return AllItems.ELECTRON_TUBE.get(); + } + + public static ItemLike precisionMechanism() { + return AllItems.PRECISION_MECHANISM.get(); + } + + public static ItemLike copperBlock() { + return Items.COPPER_BLOCK; + } + + public static TagKey brassBlock() { + return AllTags.commonItemTag("storage_blocks/brass"); + } + + public static TagKey zincBlock() { + return AllTags.commonItemTag("storage_blocks/zinc"); + } + + public static TagKey wheatFlour() { + return AllTags.commonItemTag("flour/wheat"); + } + + public static ItemLike copperIngot() { + return Items.COPPER_INGOT; + } + + public static TagKey copperSheet() { + return AllTags.commonItemTag("plates/copper"); + } + + public static TagKey copperNugget() { + return AllTags.commonItemTag("nuggets/copper"); + } + + public static TagKey brassNugget() { + return AllTags.commonItemTag("nuggets/brass"); + } + + public static TagKey zincNugget() { + return AllTags.commonItemTag("nuggets/zinc"); + } + + public static ItemLike copperCasing() { + return AllBlocks.COPPER_CASING.get(); + } + + public static ItemLike refinedRadiance() { + return AllItems.REFINED_RADIANCE.get(); + } + + public static ItemLike shadowSteel() { + return AllItems.SHADOW_STEEL.get(); + } + + public static Ingredient netherite() { + return Ingredient.of(AllTags.commonItemTag("ingots/netherite")); + } + + + public static ItemStack resistor10Ohms(){ + ItemStack stack = TFMGBlocks.RESISTOR.asStack(); + + stack.set(TFMGDataComponents.RESISTANCE,10); + + return stack; + } + + public static ItemStack coil100Turns(){ + ItemStack stack = TFMGItems.ELECTROMAGNETIC_COIL.asStack(); + stack.set(TFMGDataComponents.COIL_TURNS,100); + return stack; + } + + public static ItemStack turbineBlade(){ + ItemStack stack = TFMGItems.TURBINE_BLADE.asStack(); + + CompoundTag keroseneTag = new CompoundTag(); + keroseneTag.putString("kerosene", "forge:kerosene"); + CompoundTag keroseneTagName = new CompoundTag(); + keroseneTagName.putString("kerosene", "Kerosene"); + + stack.set(TFMGDataComponents.FUEL_TAGS, keroseneTag); + stack.set(TFMGDataComponents.FUELS, keroseneTagName); + + return stack; + } + + + } + + public static class F { + //GASSES + public static Fluid air() { + return TFMGFluids.AIR.get(); + } + public static Fluid hotAir() { + return TFMGFluids.HOT_AIR.get(); + } + public static Fluid carbonDioxide() { + return TFMGFluids.CARBON_DIOXIDE.get(); + } + public static Fluid ethylene() { + return TFMGFluids.ETHYLENE.get(); + } + public static Fluid propylene() { + return TFMGFluids.PROPYLENE.get(); + } + public static Fluid propane() { + return TFMGFluids.PROPANE.get(); + } + public static Fluid hydrogen() { + return TFMGFluids.HYDROGEN.get(); + } + public static Fluid butane() { + return TFMGFluids.BUTANE.get(); + } + public static Fluid lpg() { + return TFMGFluids.LPG.get(); + } + public static Fluid neon() { + return TFMGFluids.NEON.get(); + } + public static Fluid blastFurnaceGas() { + return TFMGFluids.FURNACE_GAS.get(); + } + + //LIQUIDS + public static Fluid crudeOil() { + return TFMGFluids.CRUDE_OIL.get(); + } + public static Fluid heavyOil() { + return TFMGFluids.HEAVY_OIL.get(); + } + public static Fluid lubricationOil() { + return TFMGFluids.LUBRICATION_OIL.get(); + } + public static Fluid napalm() { + return TFMGFluids.NAPALM.get(); + } + public static Fluid naphtha() { + return TFMGFluids.NAPHTHA.get(); + } + public static Fluid kerosene() { + return TFMGFluids.KEROSENE.get(); + } + public static Fluid gasoline() { + return TFMGFluids.GASOLINE.get(); + } + public static Fluid diesel() { + return TFMGFluids.DIESEL.get(); + } + public static Fluid creosote() { + return TFMGFluids.CREOSOTE.get(); + } + public static Fluid water() { + return Fluids.WATER; + } + + //MISC + public static Fluid coolingFluid() { + return TFMGFluids.COOLING_FLUID.get(); + } + public static Fluid sulfuricAcid() { + return TFMGFluids.SULFURIC_ACID.get(); + } + public static Fluid liquidConcrete() { + return TFMGFluids.LIQUID_CONCRETE.get(); + } + public static Fluid liquidAsphalt() { + return TFMGFluids.LIQUID_ASPHALT.get(); + } + public static Fluid liquidPlastic() { + return TFMGFluids.MOLTEN_PLASTIC.get(); + } + public static Fluid moltenSteel() { + return TFMGFluids.MOLTEN_STEEL.get(); + } + public static Fluid moltenSlag() { + return TFMGFluids.MOLTEN_SLAG.get(); + } + public static Fluid potion() { + return AllFluids.POTION.get(); + } + + //BUCKETS + public static ItemLike airTank() { + return TFMGRegistrate.getBucket("air"); + } + public static ItemLike hotAirTank() { + return TFMGRegistrate.getBucket("hot_air"); + } + public static ItemLike carbonDioxideTank() { + return TFMGRegistrate.getBucket("carbon_dioxide"); + } + public static ItemLike ethyleneTank() { + return TFMGRegistrate.getBucket("ethylene"); + } + public static ItemLike propyleneTank() { + return TFMGRegistrate.getBucket("propylene"); + } + public static ItemLike propaneTank() { + return TFMGRegistrate.getBucket("propane"); + } + public static ItemLike hydrogenTank() { + return TFMGRegistrate.getBucket("hydrogen"); + } + public static ItemLike butaneTank() { + return TFMGRegistrate.getBucket("butane"); + } + public static ItemLike lpgTank() { + return TFMGRegistrate.getBucket("lpg"); + } + public static ItemLike neonTank() { + return TFMGRegistrate.getBucket("neon"); + } + public static ItemLike furnaceGasTank() { + return TFMGRegistrate.getBucket("furnace_gas"); + } + public static ItemLike crudeOilBucket() { + return TFMGRegistrate.getBucket("crude_oil"); + } + public static ItemLike heavyOilBucket() { + return TFMGRegistrate.getBucket("heavy_oil"); + } + public static ItemLike lubricationOilBucket() { + return TFMGRegistrate.getBucket("lubrication_oil"); + } + public static ItemLike napalmBucket() { + return TFMGRegistrate.getBucket("napalm"); + } + public static ItemLike naphthaBucket() { + return TFMGRegistrate.getBucket("naphtha"); + } + public static ItemLike keroseneBucket() { + return TFMGRegistrate.getBucket("kerosene"); + } + public static ItemLike gasolineBucket() { + return TFMGRegistrate.getBucket("gasoline"); + } + public static ItemLike dieselBucket() { + return TFMGRegistrate.getBucket("diesel"); + } + public static ItemLike creosoteBucket() { + return TFMGRegistrate.getBucket("creosote"); + } + public static ItemLike coolingFluidBucket() { + return TFMGRegistrate.getBucket("cooling_fluid"); + } + public static ItemLike sulfuricAcidBucket() { + return TFMGRegistrate.getBucket("sulfuric_acid"); + } + public static ItemLike liquidConcreteBucket() { + return TFMGRegistrate.getBucket("liquid_concrete"); + } + public static ItemLike liquidAsphaltBucket() { + return TFMGRegistrate.getBucket("liquid_asphalt"); + } + public static ItemLike liquidPlasticBucket() { + return TFMGRegistrate.getBucket("liquid_plastic"); + } + public static ItemLike moltenSteelBucket() { + return TFMGRegistrate.getBucket("molten_steel"); + } + public static ItemLike moltenSlagBucket() { + return TFMGRegistrate.getBucket("molten_slag"); + } + public static ItemLike waterBucket() { + return Fluids.WATER.getBucket(); + } + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/CastingRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/CastingRecipeGen.java new file mode 100644 index 00000000..8b230cd7 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/CastingRecipeGen.java @@ -0,0 +1,22 @@ +package com.drmangotea.tfmg.datagen.recipes.builder; + +import com.drmangotea.tfmg.recipes.CastingRecipe; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.simibubi.create.api.data.recipe.StandardProcessingRecipeGen; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; + +import java.util.concurrent.CompletableFuture; + +public abstract class CastingRecipeGen extends StandardProcessingRecipeGen { + + public CastingRecipeGen(PackOutput output, CompletableFuture registries, String defaultNamespace) { + super(output, registries, defaultNamespace); + } + + @Override + protected TFMGRecipeTypes getRecipeType() { + return TFMGRecipeTypes.CASTING; + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/CokingRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/CokingRecipeGen.java new file mode 100644 index 00000000..2f019f2a --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/CokingRecipeGen.java @@ -0,0 +1,23 @@ +package com.drmangotea.tfmg.datagen.recipes.builder; + +import com.drmangotea.tfmg.recipes.CastingRecipe; +import com.drmangotea.tfmg.recipes.CokingRecipe; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.simibubi.create.api.data.recipe.StandardProcessingRecipeGen; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; + +import java.util.concurrent.CompletableFuture; + +public abstract class CokingRecipeGen extends StandardProcessingRecipeGen { + + public CokingRecipeGen(PackOutput output, CompletableFuture registries, String defaultNamespace) { + super(output, registries, defaultNamespace); + } + + @Override + protected TFMGRecipeTypes getRecipeType() { + return TFMGRecipeTypes.COKING; + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/DistillationRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/DistillationRecipeGen.java new file mode 100644 index 00000000..18466929 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/DistillationRecipeGen.java @@ -0,0 +1,23 @@ +package com.drmangotea.tfmg.datagen.recipes.builder; + +import com.drmangotea.tfmg.recipes.CastingRecipe; +import com.drmangotea.tfmg.recipes.DistillationRecipe; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.simibubi.create.api.data.recipe.StandardProcessingRecipeGen; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; + +import java.util.concurrent.CompletableFuture; + +public abstract class DistillationRecipeGen extends StandardProcessingRecipeGen { + + public DistillationRecipeGen(PackOutput output, CompletableFuture registries, String defaultNamespace) { + super(output, registries, defaultNamespace); + } + + @Override + protected TFMGRecipeTypes getRecipeType() { + return TFMGRecipeTypes.DISTILLATION; + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/HotBlastRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/HotBlastRecipeGen.java new file mode 100644 index 00000000..29dcabab --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/HotBlastRecipeGen.java @@ -0,0 +1,23 @@ +package com.drmangotea.tfmg.datagen.recipes.builder; + +import com.drmangotea.tfmg.recipes.CastingRecipe; +import com.drmangotea.tfmg.recipes.HotBlastRecipe; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.simibubi.create.api.data.recipe.StandardProcessingRecipeGen; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; + +import java.util.concurrent.CompletableFuture; + +public abstract class HotBlastRecipeGen extends StandardProcessingRecipeGen { + + public HotBlastRecipeGen(PackOutput output, CompletableFuture registries, String defaultNamespace) { + super(output, registries, defaultNamespace); + } + + @Override + protected TFMGRecipeTypes getRecipeType() { + return TFMGRecipeTypes.HOT_BLAST; + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/IndustrialBlastingRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/IndustrialBlastingRecipeGen.java new file mode 100644 index 00000000..fdc2d7f6 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/IndustrialBlastingRecipeGen.java @@ -0,0 +1,47 @@ +package com.drmangotea.tfmg.datagen.recipes.builder; + +import java.util.concurrent.CompletableFuture; +import java.util.function.Supplier; +import java.util.function.UnaryOperator; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.recipes.IndustrialBlastingRecipe; +import com.drmangotea.tfmg.recipes.IndustrialBlastingRecipeParams; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.simibubi.create.AllRecipeTypes; + +import com.simibubi.create.api.data.recipe.ProcessingRecipeGen; + +import com.simibubi.create.content.processing.recipe.ProcessingRecipe; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeParams; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.level.ItemLike; + +import net.neoforged.neoforge.common.Tags; + +public abstract class IndustrialBlastingRecipeGen

, B extends ProcessingRecipeBuilder> extends ProcessingRecipeGen> { + + + public IndustrialBlastingRecipeGen(PackOutput output, CompletableFuture registries,String namespace) { + super(output, registries, namespace); + } + + + + + @Override + protected TFMGRecipeTypes getRecipeType() { + return TFMGRecipeTypes.INDUSTRIAL_BLASTING; + } + + @Override + protected IndustrialBlastingRecipe.Builder getBuilder(ResourceLocation id) { + return new IndustrialBlastingRecipe.Builder<>(IndustrialBlastingRecipe::new, id); + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/PolarizingRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/PolarizingRecipeGen.java new file mode 100644 index 00000000..cdc3d1bc --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/PolarizingRecipeGen.java @@ -0,0 +1,23 @@ +package com.drmangotea.tfmg.datagen.recipes.builder; + +import com.drmangotea.tfmg.recipes.CastingRecipe; +import com.drmangotea.tfmg.recipes.PolarizingRecipe; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.simibubi.create.api.data.recipe.StandardProcessingRecipeGen; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; + +import java.util.concurrent.CompletableFuture; + +public abstract class PolarizingRecipeGen extends StandardProcessingRecipeGen { + + public PolarizingRecipeGen(PackOutput output, CompletableFuture registries, String defaultNamespace) { + super(output, registries, defaultNamespace); + } + + @Override + protected TFMGRecipeTypes getRecipeType() { + return TFMGRecipeTypes.POLARIZING; + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/VatRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/VatRecipeGen.java new file mode 100644 index 00000000..b9ddeeda --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/VatRecipeGen.java @@ -0,0 +1,38 @@ +package com.drmangotea.tfmg.datagen.recipes.builder; + +import com.drmangotea.tfmg.recipes.VatMachineRecipe; +import com.drmangotea.tfmg.recipes.IndustrialBlastingRecipeParams; +import com.drmangotea.tfmg.recipes.VatMachineRecipe; +import com.drmangotea.tfmg.recipes.VatRecipeParams; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.simibubi.create.api.data.recipe.ProcessingRecipeGen; +import com.simibubi.create.content.processing.recipe.ProcessingRecipe; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeParams; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.resources.ResourceLocation; + +import java.util.concurrent.CompletableFuture; +import java.util.function.Supplier; +import java.util.function.UnaryOperator; + +public abstract class VatRecipeGen

, B extends ProcessingRecipeBuilder> extends ProcessingRecipeGen> { + + + public VatRecipeGen(PackOutput output, CompletableFuture registries, String namespace) { + super(output, registries, namespace); + } + + + + @Override + protected TFMGRecipeTypes getRecipeType() { + return TFMGRecipeTypes.VAT_MACHINE_RECIPE; + } + + @Override + protected VatMachineRecipe.Builder getBuilder(ResourceLocation id) { + return new VatMachineRecipe.Builder<>(VatMachineRecipe::new, id); + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/WindingRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/WindingRecipeGen.java new file mode 100644 index 00000000..04858bba --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/builder/WindingRecipeGen.java @@ -0,0 +1,23 @@ +package com.drmangotea.tfmg.datagen.recipes.builder; + +import com.drmangotea.tfmg.recipes.CastingRecipe; +import com.drmangotea.tfmg.recipes.WindingRecipe; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.simibubi.create.api.data.recipe.StandardProcessingRecipeGen; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; + +import java.util.concurrent.CompletableFuture; + +public abstract class WindingRecipeGen extends StandardProcessingRecipeGen { + + public WindingRecipeGen(PackOutput output, CompletableFuture registries, String defaultNamespace) { + super(output, registries, defaultNamespace); + } + + @Override + protected TFMGRecipeTypes getRecipeType() { + return TFMGRecipeTypes.WINDING; + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/TFMGStandardRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/TFMGStandardRecipeGen.java new file mode 100644 index 00000000..cd1c5985 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/TFMGStandardRecipeGen.java @@ -0,0 +1,2794 @@ +package com.drmangotea.tfmg.datagen.recipes.values; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.TFMGRegistrate; +import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipes; +import com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.google.common.base.Supplier; +import com.google.common.collect.ImmutableList; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllItems; +import com.simibubi.create.content.decoration.palettes.AllPaletteBlocks; +import com.simibubi.create.foundation.data.recipe.CompatMetals; +import com.simibubi.create.foundation.data.recipe.CreateRecipeProvider; +import com.simibubi.create.foundation.data.recipe.Mods; +import com.simibubi.create.foundation.mixin.accessor.MappedRegistryAccessor; +import com.tterrag.registrate.util.entry.BlockEntry; +import com.tterrag.registrate.util.entry.ItemEntry; +import com.tterrag.registrate.util.entry.ItemProviderEntry; +import net.createmod.catnip.platform.CatnipServices; +import net.createmod.catnip.registry.RegisteredObjectsHelper; +import net.minecraft.MethodsReturnNonnullByDefault; +import net.minecraft.advancements.Advancement; +import net.minecraft.advancements.AdvancementHolder; +import net.minecraft.advancements.critereon.ItemPredicate; +import net.minecraft.core.Holder; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.data.PackOutput; +import net.minecraft.data.recipes.*; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.resources.ResourceKey; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.ItemTags; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.crafting.*; +import net.minecraft.world.level.ItemLike; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.neoforged.neoforge.common.conditions.ICondition; +import net.neoforged.neoforge.common.conditions.ModLoadedCondition; +import net.neoforged.neoforge.common.conditions.NotCondition; +import org.jetbrains.annotations.Nullable; + +import javax.annotation.ParametersAreNonnullByDefault; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Function; +import java.util.function.UnaryOperator; + +import static com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider.I.*; +import static com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider.I.brassPipe; + + +public class TFMGStandardRecipeGen extends TFMGRecipeProvider { + private Marker MATERIALS = enterFolder("materials"); + public static final Map DYES_FROM_COLOR = new HashMap<>(); + + + static { + DYES_FROM_COLOR.put("white", Items.WHITE_DYE); + DYES_FROM_COLOR.put("blue", Items.BLUE_DYE); + DYES_FROM_COLOR.put("light_blue", Items.LIGHT_BLUE_DYE); + DYES_FROM_COLOR.put("red", Items.RED_DYE); + DYES_FROM_COLOR.put("green", Items.GREEN_DYE); + DYES_FROM_COLOR.put("lime", Items.LIME_DYE); + DYES_FROM_COLOR.put("pink", Items.PINK_DYE); + DYES_FROM_COLOR.put("magenta", Items.MAGENTA_DYE); + DYES_FROM_COLOR.put("yellow", Items.YELLOW_DYE); + DYES_FROM_COLOR.put("gray", Items.GRAY_DYE); + DYES_FROM_COLOR.put("light_gray", Items.LIGHT_GRAY_DYE); + DYES_FROM_COLOR.put("brown", Items.BROWN_DYE); + DYES_FROM_COLOR.put("cyan", Items.CYAN_DYE); + DYES_FROM_COLOR.put("purple", Items.PURPLE_DYE); + DYES_FROM_COLOR.put("orange", Items.ORANGE_DYE); + DYES_FROM_COLOR.put("black", Items.BLACK_DYE); + + + } + + GeneratedRecipe + STEEL_COMPACTING = + metalCompacting(ImmutableList.of(TFMGItems.STEEL_NUGGET, TFMGItems.STEEL_INGOT, TFMGBlocks.STEEL_BLOCK), + ImmutableList.of(I::steelNugget, I::steelIngot, I::steelBlock)), + ALUMINUM_COMPACTING = + metalCompacting(ImmutableList.of(TFMGItems.ALUMINUM_NUGGET, TFMGItems.ALUMINUM_INGOT, TFMGBlocks.ALUMINUM_BLOCK), + ImmutableList.of(I::aluminumNugget, I::aluminumIngot, I::aluminumBlock)), + CAST_IRON_COMPACTING = + metalCompacting(ImmutableList.of(TFMGItems.CAST_IRON_NUGGET, TFMGItems.CAST_IRON_INGOT, TFMGBlocks.CAST_IRON_BLOCK), + ImmutableList.of(I::castIronNugget, I::castIronIngot, I::castIronBlock)), + LEAD_COMPACTING = + metalCompacting(ImmutableList.of(TFMGItems.LEAD_NUGGET, TFMGItems.LEAD_INGOT, TFMGBlocks.LEAD_BLOCK), + ImmutableList.of(I::leadNugget, I::leadIngot, I::leadBlock)), + NICKEL_COMPACTING = + metalCompacting(ImmutableList.of(TFMGItems.NICKEL_NUGGET, TFMGItems.NICKEL_INGOT, TFMGBlocks.NICKEL_BLOCK), + ImmutableList.of(I::nickelNugget, I::nickelIngot, I::nickelBlock)), + LITHIUM_COMPACTING = + metalCompacting(ImmutableList.of(TFMGItems.LITHIUM_NUGGET, TFMGItems.LITHIUM_INGOT, TFMGBlocks.LITHIUM_BLOCK), + ImmutableList.of(I::lithiumNugget, I::lithiumIngot, I::lithiumBlock)), + CONSTANTAN_COMPACTING = + metalCompacting(ImmutableList.of(TFMGItems.CONSTANTAN_NUGGET, TFMGItems.CONSTANTAN_INGOT, TFMGBlocks.CONSTANTAN_BLOCK), + ImmutableList.of(I::constantanNugget, I::constantanIngot, I::constantanBlock)), + + + // + LEAD_FLYWHEEL = create(TFMGBlocks.LEAD_FLYWHEEL) + .unlockedBy(TFMGItems.LEAD_INGOT::get) + .viaShaped(b -> b + .define('C', leadIngot()) + .define('S', shaft()) + .pattern("CCC") + .pattern("CSC") + .pattern("CCC")), + + STEEL_FLYWHEEL = create(TFMGBlocks.STEEL_FLYWHEEL) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('C', tfmgSteelIngot()) + .define('S', shaft()) + .pattern("CCC") + .pattern("CSC") + .pattern("CCC")), + + CAST_IRON_FLYWHEEL = create(TFMGBlocks.CAST_IRON_FLYWHEEL) + .unlockedBy(TFMGItems.CAST_IRON_INGOT::get) + .viaShaped(b -> b + .define('C', castIronIngot()) + .define('S', shaft()) + .pattern("CCC") + .pattern("CSC") + .pattern("CCC")), + + NICKEL_FLYWHEEL = create(TFMGBlocks.NICKEL_FLYWHEEL) + .unlockedBy(TFMGItems.NICKEL_INGOT::get) + .viaShaped(b -> b + .define('C', nickelIngot()) + .define('S', shaft()) + .pattern("CCC") + .pattern("CSC") + .pattern("CCC")), + + ALUMINUM_FLYWHEEL = create(TFMGBlocks.ALUMINUM_FLYWHEEL) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('C', aluminumIngot()) + .define('S', shaft()) + .pattern("CCC") + .pattern("CSC") + .pattern("CCC")), + + ELECTRIC_PUMP = create(TFMGBlocks.ELECTRIC_PUMP) + .unlockedBy(TFMGItems.CIRCUIT_BOARD::get) + .viaShaped(b -> b + .define('C', circuitBoard()) + .define('P', TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(3)) + .define('W', copperWire()) + .define('Q', capacitor()) + .define('K', TFMGItems.ELECTROMAGNETIC_COIL) + .define('M', magnet()) + .pattern("MQK") + .pattern("CPW") + .pattern("MQK")), + + //STEEL_HELMET = create(TFMGItems.STEEL_HELMET) + // .unlockedBy(TFMGItems.STEEL_INGOT::get) + // .viaShaped(b -> b + // .define('C', steelIngot()) + // .pattern("CCC") + // .pattern("C C") + // .pattern(" ")), +// + // STEEL_CHESTPLATE = create(TFMGItems.STEEL_CHESTPLATE) + // .unlockedBy(TFMGItems.STEEL_INGOT::get) + // .viaShaped(b -> b + // .define('C', steelIngot()) + // .pattern("C C") + // .pattern("CCC") + // .pattern("CCC")), +// + // STEEL_LEGGINGS = create(TFMGItems.STEEL_LEGGINGS) + // .unlockedBy(TFMGItems.STEEL_INGOT::get) + // .viaShaped(b -> b + // .define('C', steelIngot()) + // .pattern("CCC") + // .pattern("C C") + // .pattern("C C")), +// + // STEEL_BOOTS = create(TFMGItems.STEEL_BOOTS) + // .unlockedBy(TFMGItems.STEEL_INGOT::get) + // .viaShaped(b -> b + // .define('C', steelIngot()) + // .pattern("C C") + // .pattern("C C") + // .pattern(" ")), + + STEEL_SWORD = create(TFMGItems.STEEL_TOOLS.get(0)) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('C', steelIngot()) + .define('S', Items.STICK) + .pattern("C ") + .pattern("C ") + .pattern("S ")), + + STEEL_PICKAXE = create(TFMGItems.STEEL_TOOLS.get(1)) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('C', steelIngot()) + .define('S', Items.STICK) + .pattern("CCC") + .pattern(" S ") + .pattern(" S ")), + + STEEL_AXE = create(TFMGItems.STEEL_TOOLS.get(2)) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('C', steelIngot()) + .define('S', Items.STICK) + .pattern(" CC") + .pattern(" SC") + .pattern(" S ")), + + STEEL_SHOVEL = create(TFMGItems.STEEL_TOOLS.get(3)) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('C', steelIngot()) + .define('S', Items.STICK) + .pattern("C ") + .pattern("S ") + .pattern("S ")), + + STEEL_HOE = create(TFMGItems.STEEL_TOOLS.get(4)) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('C', steelIngot()) + .define('S', Items.STICK) + .pattern("CC ") + .pattern("S ") + .pattern("S ")), + + ALUMINUM_SWORD = create(TFMGItems.ALUMINUM_TOOLS.get(0)) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('C', aluminumIngot()) + .define('S', Items.STICK) + .pattern("C ") + .pattern("C ") + .pattern("S ")), + + ALUMINUM_PICKAXE = create(TFMGItems.ALUMINUM_TOOLS.get(1)) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('C', aluminumIngot()) + .define('S', Items.STICK) + .pattern("CCC") + .pattern(" S ") + .pattern(" S ")), + + ALUMINUM_AXE = create(TFMGItems.ALUMINUM_TOOLS.get(2)) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('C', aluminumIngot()) + .define('S', Items.STICK) + .pattern(" CC") + .pattern(" SC") + .pattern(" S ")), + + ALUMINUM_SHOVEL = create(TFMGItems.ALUMINUM_TOOLS.get(3)) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('C', aluminumIngot()) + .define('S', Items.STICK) + .pattern("C ") + .pattern("S ") + .pattern("S ")), + + ALUMINUM_HOE = create(TFMGItems.ALUMINUM_TOOLS.get(4)) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('C', aluminumIngot()) + .define('S', Items.STICK) + .pattern("CC ") + .pattern("S ") + .pattern("S ")), + + LEAD_SWORD = create(TFMGItems.LEAD_TOOLS.get(0)) + .unlockedBy(TFMGItems.LEAD_INGOT::get) + .viaShaped(b -> b + .define('C', leadIngot()) + .define('S', Items.STICK) + .pattern("C ") + .pattern("C ") + .pattern("S ")), + + LEAD_PICKAXE = create(TFMGItems.LEAD_TOOLS.get(1)) + .unlockedBy(TFMGItems.LEAD_INGOT::get) + .viaShaped(b -> b + .define('C', leadIngot()) + .define('S', Items.STICK) + .pattern("CCC") + .pattern(" S ") + .pattern(" S ")), + + LEAD_AXE = create(TFMGItems.LEAD_TOOLS.get(2)) + .unlockedBy(TFMGItems.LEAD_INGOT::get) + .viaShaped(b -> b + .define('C', leadIngot()) + .define('S', Items.STICK) + .pattern(" CC") + .pattern(" SC") + .pattern(" S ")), + + LEAD_SHOVEL = create(TFMGItems.LEAD_TOOLS.get(3)) + .unlockedBy(TFMGItems.LEAD_INGOT::get) + .viaShaped(b -> b + .define('C', leadIngot()) + .define('S', Items.STICK) + .pattern("C ") + .pattern("S ") + .pattern("S ")), + + LEAD_HOE = create(TFMGItems.LEAD_TOOLS.get(4)) + .unlockedBy(TFMGItems.LEAD_INGOT::get) + .viaShaped(b -> b + .define('C', leadIngot()) + .define('S', Items.STICK) + .pattern("CC ") + .pattern("S ") + .pattern("S ")), + /* + /// //////////// + STEEL_PIPE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(0)).returns(4) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('I', steelIngot()) + .define('P', steelSheet()) + .pattern(" ") + .pattern("PIP") + .pattern(" ")), + + STEEL_PIPE_VERTICAL = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(0)).withSuffix("_vertical").returns(4) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('I', steelIngot()) + .define('P', steelSheet()) + .pattern("P") + .pattern("I") + .pattern("P")), + + STEEL_MECHANICAL_PUMP = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(3)) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShapeless(b -> b + .requires(cog()) + .requires(steelPipe())), + + STEEL_SMART_FLUID_PIPE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(4)) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('P', electronTube()) + .define('S', steelPipe()) + .define('I', aluminumSheet()) + .pattern("I") + .pattern("S") + .pattern("P")), + + STEEL_FLUID_VALVE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(5)) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShapeless(b -> b + .requires(ironSheet()) + .requires(steelPipe())), + /// //////////// + ALUMINUM_PIPE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(0)).returns(4) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('I', aluminumIngot()) + .define('P', aluminumSheet()) + .pattern(" ") + .pattern("PIP") + .pattern(" ")), + + ALUMINUM_PIPE_VERTICAL = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(0)).withSuffix("_vertical").returns(4) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('I', aluminumIngot()) + .define('P', aluminumSheet()) + .pattern("P") + .pattern("I") + .pattern("P")), + + ALUMINUM_MECHANICAL_PUMP = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(3)) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShapeless(b -> b + .requires(cog()) + .requires(aluminumPipe())), + + ALUMINUM_SMART_FLUID_PIPE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(4)) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('P', electronTube()) + .define('S', aluminumPipe()) + .define('I', brassSheet()) + .pattern("I") + .pattern("S") + .pattern("P")), + + ALUMINUM_FLUID_VALVE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(5)) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShapeless(b -> b + .requires(ironSheet()) + .requires(aluminumPipe())), + /// //////////// + PLASTIC_PIPE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(0)).returns(4) + .unlockedBy(TFMGItems.PLASTIC_SHEET::get) + .viaShaped(b -> b + .define('I', plasticSheet()) + .pattern(" ") + .pattern("III") + .pattern(" ")), + + PLASTIC_PIPE_VERTICAL = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(0)).withSuffix("_vertical").returns(4) + .unlockedBy(TFMGItems.PLASTIC_SHEET::get) + .viaShaped(b -> b + .define('I', plasticSheet()) + .pattern("I") + .pattern("I") + .pattern("I")), + + PLASTIC_MECHANICAL_PUMP = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(3)) + .unlockedBy(TFMGItems.PLASTIC_SHEET::get) + .viaShapeless(b -> b + .requires(cog()) + .requires(plasticPipe())), + + PLASTIC_SMART_FLUID_PIPE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(4)) + .unlockedBy(TFMGItems.PLASTIC_SHEET::get) + .viaShaped(b -> b + .define('P', electronTube()) + .define('S', plasticPipe()) + .define('I', steelSheet()) + .pattern("I") + .pattern("S") + .pattern("P")), + + PLASTIC_FLUID_VALVE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(5)) + .unlockedBy(TFMGItems.PLASTIC_SHEET::get) + .viaShapeless(b -> b + .requires(ironSheet()) + .requires(plasticPipe())), + /// //////////// + BRASS_PIPE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(0)).returns(4) + .unlockedBy(AllItems.BRASS_INGOT::get) + .viaShaped(b -> b + .define('I', brassIngot()) + .define('P', brassSheet()) + .pattern(" ") + .pattern("PIP") + .pattern(" ")), + + BRASS_PIPE_VERTICAL = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(0)).withSuffix("_vertical").returns(4) + .unlockedBy(AllItems.BRASS_INGOT::get) + .viaShaped(b -> b + .define('I', brassIngot()) + .define('P', brassSheet()) + .pattern("P") + .pattern("I") + .pattern("P")), + + BRASS_MECHANICAL_PUMP = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(3)) + .unlockedBy(AllItems.BRASS_INGOT::get) + .viaShapeless(b -> b + .requires(cog()) + .requires(brassPipe())), + + BRASS_SMART_FLUID_PIPE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(4)) + .unlockedBy(AllItems.BRASS_INGOT::get) + .viaShaped(b -> b + .define('P', electronTube()) + .define('S', brassPipe()) + .define('I', copperSheet()) + .pattern("I") + .pattern("S") + .pattern("P")), + + BRASS_FLUID_VALVE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(5)) + .unlockedBy(AllItems.BRASS_INGOT::get) + .viaShapeless(b -> b + .requires(ironSheet()) + .requires(brassPipe())), + /// //////////// + CAST_IRON_PIPE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(0)).returns(4) + .unlockedBy(TFMGItems.CAST_IRON_INGOT::get) + .viaShaped(b -> b + .define('I', castIronIngot()) + .define('P', castIronSheet()) + .pattern(" ") + .pattern("PIP") + .pattern(" ")), + + CAST_IRON_PIPE_VERTICAL = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(0)).withSuffix("_vertical").returns(4) + .unlockedBy(TFMGItems.CAST_IRON_INGOT::get) + .viaShaped(b -> b + .define('I', castIronIngot()) + .define('P', castIronSheet()) + .pattern("P") + .pattern("I") + .pattern("P")), + + CAST_IRON_MECHANICAL_PUMP = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(3)) + .unlockedBy(TFMGItems.CAST_IRON_INGOT::get) + .viaShapeless(b -> b + .requires(cog()) + .requires(castIronPipe())), + + CAST_IRON_SMART_FLUID_PIPE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(4)) + .unlockedBy(TFMGItems.CAST_IRON_INGOT::get) + .viaShaped(b -> b + .define('P', electronTube()) + .define('S', castIronPipe()) + .define('I', castIronSheet()) + .pattern("I") + .pattern("S") + .pattern("P")), + + CAST_IRON_FLUID_VALVE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(5)) + .unlockedBy(TFMGItems.CAST_IRON_INGOT::get) + .viaShapeless(b -> b + .requires(ironSheet()) + .requires(castIronPipe())), + /// //////////// + */ + + STEEL_COGWHEEL = create(TFMGBlocks.STEEL_COGWHEEL).returns(4) + .unlockedBy(() -> TFMGItems.STEEL_INGOT) + .viaShapeless(b -> b + .requires(Ingredient.of(tfmgSteelIngot())) + .requires(Ingredient.of(AllBlocks.SHAFT))), + + LARGE_STEEL_COGWHEEL = create(TFMGBlocks.LARGE_STEEL_COGWHEEL).returns(2) + .unlockedBy(() -> TFMGItems.STEEL_INGOT) + .viaShapeless(b -> b + .requires(Ingredient.of(tfmgSteelIngot())) + .requires(Ingredient.of(tfmgSteelIngot())) + .requires(Ingredient.of(AllBlocks.SHAFT))), + + ALUMINUM_COGWHEEL = create(TFMGBlocks.ALUMINUM_COGWHEEL).returns(4) + .unlockedBy(() -> TFMGItems.ALUMINUM_INGOT) + .viaShapeless(b -> b + .requires(Ingredient.of(aluminumIngot())) + .requires(Ingredient.of(AllBlocks.SHAFT))), + + LARGE_ALUMINUM_COGWHEEL = create(TFMGBlocks.LARGE_ALUMINUM_COGWHEEL).returns(2) + .unlockedBy(() -> TFMGItems.ALUMINUM_INGOT) + .viaShapeless(b -> b + .requires(Ingredient.of(aluminumIngot())) + .requires(Ingredient.of(aluminumIngot())) + .requires(Ingredient.of(AllBlocks.SHAFT))), + + FIREPROOF_BRICKS = create(TFMGBlocks.FIREPROOF_BRICKS) + .unlockedBy(TFMGItems.FIRECLAY_BALL::get) + .viaShaped(b -> b + .define('B', TFMGItems.FIREPROOF_BRICK) + .pattern("BB ") + .pattern("BB ") + .pattern(" ")), + + FIRECLAY_BLOCK = create(TFMGBlocks.FIRECLAY) + .unlockedBy(TFMGItems.FIRECLAY_BALL::get) + .viaShaped(b -> b + .define('B', TFMGItems.FIRECLAY_BALL) + .pattern("BB ") + .pattern("BB ") + .pattern(" ")), + + BLAST_FURNACE_OUTPUT = create(TFMGBlocks.BLAST_FURNACE_OUTPUT) + .unlockedBy(TFMGItems.FIREPROOF_BRICK::get) + .viaShaped(b -> b + .define('B', fireproofBricks()) + .define('C', castIronPipe()) + .define('Q', castIronBlock()) + .pattern("BCB") + .pattern("CQC") + .pattern("BCB")), + + BLAST_FURNACE_HATCH = create(TFMGBlocks.BLAST_FURNACE_HATCH) + .unlockedBy(TFMGItems.FIREPROOF_BRICK::get) + .viaShaped(b -> b + .define('T', castIronTank()) + .define('F', fireproofBricks()) + .define('I', castIronSheet()) + .define('P', castIronPipe()) + .pattern("FIF") + .pattern("PTP") + .pattern("FIF")), + + NAPALM_BOMB = create(TFMGBlocks.NAPALM_BOMB) + .unlockedBy(TFMGItems.FIREPROOF_BRICK::get) + .viaShaped(b -> b + .define('P', plasticSheet()) + .define('N', TFMGFluids.NAPALM.getBucket().get()) + .pattern("PPP") + .pattern("NNN") + .pattern("PPP")), + + STEEL_VAT = create(TFMGBlocks.STEEL_CHEMICAL_VAT).returns(2) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('T', steelTank()) + .define('N', nickelSheet()) + .define('P', heavyPlate()) + .pattern("PPP") + .pattern("NTN") + .pattern("PPP")), + + CAST_IRON_VAT = create(TFMGBlocks.CAST_IRON_CHEMICAL_VAT) + .unlockedBy(TFMGItems.CAST_IRON_INGOT::get) + .viaShaped(b -> b + .define('T', castIronTank()) + .define('N', leadSheet()) + .define('P', castIronSheet()) + .pattern("PPP") + .pattern("NTN") + .pattern("PPP")), + + FIREPROOF_VAT = create(TFMGBlocks.FIREPROOF_CHEMICAL_VAT) + .unlockedBy(TFMGItems.CIRCUIT_BOARD::get) + .viaShaped(b -> b + .define('N', TFMGItems.CIRCUIT_BOARD) + .define('H', heavyMachineryCasing()) + .define('R', rubber()) + .define('T', TFMGBlocks.STEEL_CHEMICAL_VAT) + .define('P', fireproofBricks()) + .pattern("PRP") + .pattern("NTN") + .pattern("PHP")), + + UNFINISHED_ELECTROMAGNETIC_COIL = create(TFMGItems.UNFINISHED_ELECTROMAGNETIC_COIL).returns(2) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('M', magneticIngot()) + .define('N', steelNugget()) + .pattern(" N ") + .pattern(" M ") + .pattern(" N ")), + + RAW_LEAD_BLOCK = create(TFMGBlocks.RAW_LEAD_BLOCK) + .unlockedBy(TFMGItems.RAW_LEAD::get) + .viaShaped(b -> b + .define('B', TFMGItems.RAW_LEAD) + .pattern("BBB") + .pattern("BBB") + .pattern("BBB")), + + RAW_NICKEL_BLOCK = create(TFMGBlocks.RAW_NICKEL_BLOCK) + .unlockedBy(TFMGItems.RAW_NICKEL::get) + .viaShaped(b -> b + .define('B', TFMGItems.RAW_NICKEL) + .pattern("BBB") + .pattern("BBB") + .pattern("BBB")), + + RAW_LITHIUM_BLOCK = create(TFMGBlocks.RAW_LITHIUM_BLOCK) + .unlockedBy(TFMGItems.RAW_LITHIUM::get) + .viaShaped(b -> b + .define('B', TFMGItems.RAW_LITHIUM) + .pattern("BBB") + .pattern("BBB") + .pattern("BBB")), + + AIR_INTAKE = create(TFMGBlocks.AIR_INTAKE).returns(3) + .unlockedBy(AllItems.PROPELLER::get) + .viaShaped(b -> b + .define('B', AllBlocks.ANDESITE_BARS) + .define('T', castIronPipe()) + .define('P', AllItems.PROPELLER) + .define('C', AllBlocks.INDUSTRIAL_IRON_BLOCK) + .define('G', AllBlocks.COGWHEEL) + .define('S', shaft()) + .pattern("SPT") + .pattern("GCG") + .pattern(" B ")), + + LITHIUM_TORCH = create(TFMGBlocks.LITHIUM_TORCH).returns(4) + .unlockedBy(TFMGItems.LITHIUM_INGOT::get) + .viaShaped(b -> b + .define('L', lithiumIngot()) + .define('A', aluminumIngot()) + .pattern(" L ") + .pattern(" A ") + .pattern(" ")), + + OIL_HAMMER = create(TFMGItems.OIL_HAMMER) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('O', steelIngot()) + .define('R', rebar()) + .define('A', aluminumSheet()) + .pattern("OOA") + .pattern(" R ") + .pattern(" R ")), + + + CABLE_TUBE = create(TFMGBlocks.CABLE_TUBE).returns(8) + .unlockedBy(TFMGItems.RUBBER_SHEET::get) + .viaShaped(b -> b + .define('C', copperWire()) + .define('R', rubber()) + .define('N', steelNugget()) + .pattern(" N ") + .pattern("CRC") + .pattern(" N ")), + + DIAGONAL_CABLE = create(TFMGBlocks.DIAGONAL_CABLE_BLOCK).returns(8) + .unlockedBy(TFMGItems.RUBBER_SHEET::get) + .viaShaped(b -> b + .define('C', copperWire()) + .define('R', rubber()) + .define('N', steelNugget()) + .pattern(" C ") + .pattern("CRN") + .pattern(" N ")), + + ELECTRIC_POST = create(TFMGBlocks.ELECTRIC_POST).returns(4) + .unlockedBy(TFMGItems.COPPER_WIRE::get) + .viaShaped(b -> b + .define('C', copperWire()) + .define('R', steelIngot()) + .define('N', steelNugget()) + .pattern(" N ") + .pattern("CRC") + .pattern(" N ")), + + CABLE_CONNECTOR = create(TFMGBlocks.CABLE_CONNECTOR) + .unlockedBy(TFMGItems.COPPER_WIRE::get) + .viaShaped(b -> b + .define('C', TFMGItems.UNFINISHED_INSULATOR) + .define('N', copperIngot()) + .define('O', steelNugget()) + .pattern("OOO") + .pattern(" C ") + .pattern(" N ")), + + ELECTRICAL_SWITCH = create(TFMGBlocks.ELECTRICAL_SWITCH) + .unlockedBy(TFMGItems.COPPER_WIRE::get) + .viaShaped(b -> b + .define('C', heavyMachineryCasing()) + .define('R', redstone()) + .define('L', leadSheet()) + .define('P', TFMGBlocks.ELECTRIC_POST) + .pattern("RPR") + .pattern("LCL") + .pattern("RPR")), + + // FUSE_BLOCK = create(TFMGBlocks.FUSE_BLOCK) + // .unlockedBy(TFMGItems.COPPER_WIRE::get) + // .viaShaped(b -> b + // .define('C', heavyMachineryCasing()) + // .define('W', copperWire()) + // .define('R', aluminumSheet()) + // .define('L', copperIngot()) + // .pattern("RWR") + // .pattern("LCL") + // .pattern("RWR")), + + SEGMENTED_DISPLAY = create(TFMGBlocks.SEGMENTED_DISPLAY).returns(4) + .unlockedBy(TFMGBlocks.ALUMINUM_CASING::get) + .viaShaped(b -> b + .define('A', aluminumCasing()) + .define('W', copperWire()) + .define('G', Blocks.BLACK_STAINED_GLASS_PANE) + .define('C', circuitBoard()) + .define('K', TFMGItems.SILICON_INGOT) + .pattern("WGW") + .pattern("KAK") + .pattern("WCW")), + + NEON_TUBE = create(TFMGBlocks.NEON_TUBE).returns(4) + .unlockedBy(TFMGItems.COPPER_WIRE::get) + .viaShaped(b -> b + .define('C', copperNugget()) + .define('W', framedGlass()) + .define('N', TFMGRegistrate.getBucket("neon")) + .define('O', steelNugget()) + .pattern("OCO") + .pattern("NWN") + .pattern("OCO")), + + GLASS_INSULATOR_SEGMENT = create(TFMGItems.GLASS_INSULATOR_SEGMENT) + .unlockedBy(TFMGItems.COPPER_WIRE::get) + .viaShaped(b -> b + .define('G', Blocks.GREEN_STAINED_GLASS_PANE) + .define('C', copperNugget()) + .define('O', steelNugget()) + .pattern(" O ") + .pattern("GGG") + .pattern(" C ")), + + GLASS_INSULATOR = create(TFMGBlocks.GLASS_CABLE_CONNECTOR) + .unlockedBy(TFMGItems.COPPER_WIRE::get) + .viaShaped(b -> b + .define('I', TFMGItems.GLASS_INSULATOR_SEGMENT) + .define('C', copperNugget()) + .define('O', steelNugget()) + .pattern("CIC") + .pattern("OIO") + .pattern("CIC")), + + STEEL_TRAPDOOR = create(TFMGBlocks.STEEL_TRAPDOOR) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('O', steelIngot()) + .pattern(" ") + .pattern("OOO") + .pattern(" ")), + + STEEL_GEARBOX = create(TFMGBlocks.STEEL_GEARBOX) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('O', TFMGBlocks.STEEL_COGWHEEL) + .define('C', heavyMachineryCasing()) + .pattern(" O ") + .pattern("OCO") + .pattern(" O ")), + + REBAR_PILE = create(TFMGBlocks.REBAR_PILE) + .unlockedBy(TFMGItems.REBAR::get) + .viaShaped(b -> b + .define('O', rebar()) + .pattern("OOO") + .pattern("OOO") + .pattern("OOO")), + + REBAR_BLOCK = create(TFMGBlocks.REBAR_BLOCK).returns(4) + .unlockedBy(TFMGItems.REBAR::get) + .viaShaped(b -> b + .define('O', rebar()) + .pattern("O O") + .pattern(" ") + .pattern("O O")), + + REBAR_STAIRS = create(TFMGBlocks.REBAR_STAIRS).returns(3) + .unlockedBy(TFMGItems.REBAR::get) + .viaShaped(b -> b + .define('O', rebar()) + .pattern(" ") + .pattern("O ") + .pattern("OO ")), + + REBAR_FLOOR = create(TFMGBlocks.REBAR_FLOOR).returns(3) + .unlockedBy(TFMGItems.REBAR::get) + .viaShaped(b -> b + .define('O', rebar()) + .pattern(" ") + .pattern("OOO") + .pattern(" ")), + + REBAR_PILLAR = create(TFMGBlocks.REBAR_PILLAR).returns(3) + .unlockedBy(TFMGItems.REBAR::get) + .viaShaped(b -> b + .define('O', rebar()) + .pattern(" O ") + .pattern(" O ") + .pattern(" O ")), + + REBAR_WALL = create(TFMGBlocks.REBAR_WALL).returns(6) + .unlockedBy(TFMGItems.REBAR::get) + .viaShaped(b -> b + .define('O', rebar()) + .pattern(" ") + .pattern("OOO") + .pattern("OOO")), + + + SCREWDRIVER = create(TFMGItems.SCREWDRIVER) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('I', aluminumIngot()) + .define('R', rebar()) + .pattern(" R") + .pattern(" I ") + .pattern(" ")), + + SCREWDRIVER_FROM_BRASS = create(TFMGItems.SCREWDRIVER).withSuffix("from_brass") + .unlockedBy(AllItems.BRASS_INGOT::get) + .viaShaped(b -> b + .define('I', brassIngot()) + .define('R', rebar()) + .pattern(" R") + .pattern(" I ") + .pattern(" ")), + + ELECTRIC_GAUGE = create(TFMGBlocks.VOLTMETER) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('M', magnet()) + .define('N', steelNugget()) + .define('A', steelIngot()) + .define('C', Items.COMPASS) + .pattern("NNN") + .pattern("NCN") + .pattern("AMA")), + + DISTILLATION_CONTROLLER = create(TFMGBlocks.STEEL_DISTILLATION_CONTROLLER) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('M', steelMechanism()) + .define('S', leadSheet()) + .define('P', industrialPipe()) + .define('E', electronTube()) + .define('H', heavyMachineryCasing()) + .define('C', Items.COMPASS) + .pattern("SPS") + .pattern("ECE") + .pattern("MHM")), + + VOLTAGE_OBSERVER = create(TFMGBlocks.VOLTAGE_OBSERVER) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('W', copperWire()) + .define('R', redstone()) + .define('T', TFMGItems.TRANSISTOR) + .define('Q', capacitor()) + .define('C', aluminumCasing()) + .pattern("TRT") + .pattern("WCR") + .pattern("QRQ")), + + LIGHT_BULB = create(TFMGBlocks.LIGHT_BULB).returns(2) + .unlockedBy(TFMGItems.CONSTANTAN_INGOT::get) + .viaShaped(b -> b + .define('W', TFMGItems.CONSTANTAN_WIRE) + .define('G', framedGlass()) + .define('N', steelNugget()) + .define('C', copperNugget()) + .pattern("CWC") + .pattern("CGC") + .pattern("NNN")), + + CASTING_BASIN = create(TFMGBlocks.CASTING_BASIN) + .unlockedBy(TFMGItems.FIREPROOF_BRICK::get) + .viaShaped(b -> b + .define('C', castIronIngot()) + .define('B', TFMGItems.FIREPROOF_BRICK) + .define('P', castIronPipe()) + .pattern("BPB") + .pattern("CBC") + .pattern("CCC")), + + HAMMER_HOLDER = create(TFMGBlocks.PUMPJACK_HAMMER) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('T', steelTruss()) + .define('R', rebar()) + .define('S', steelIngot()) + .pattern("RSR") + .pattern("STS") + .pattern(" T ")), + + WINDING_MACHINE = create(TFMGBlocks.WINDING_MACHINE) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('T', shaft()) + .define('M', steelMechanism()) + .define('P', heavyPlate()) + .define('C', heavyMachineryCasing()) + .define('I', steelIngot()) + .pattern(" ") + .pattern("ITP") + .pattern("ICM")), + + DISTILLATION_OUTPUT = create(TFMGBlocks.STEEL_DISTILLATION_OUTPUT) + .unlockedBy(TFMGBlocks.HEAVY_MACHINERY_CASING::get) + .viaShaped(b -> b + .define('B', heavyMachineryCasing()) + .define('T', steelTank()) + .define('P', steelPipe()) + .pattern("PTP") + .pattern("TBT") + .pattern("PTP")), + + PUMPJACK_CRANK = create(TFMGBlocks.PUMPJACK_CRANK) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('M', steelMechanism()) + .define('H', heavyPlate()) + .define('R', rebar()) + .define('C', heavyMachineryCasing()) + .define('P', string()) + .pattern("P P") + .pattern("HMH") + .pattern("RCR")), + + TRANSMISSION = create(TFMGItems.TRANSMISSION) + .unlockedBy(TFMGItems.PLASTIC_SHEET::get) + .viaShaped(b -> b + .define('M', steelMechanism()) + .define('A', aluminumSheet()) + .define('P', plasticSheet()) + .define('C', TFMGBlocks.ALUMINUM_COGWHEEL) + .pattern("AAA") + .pattern("CPC") + .pattern("MMM")), + + COPPER_SPOOL = create(TFMGItems.COPPER_SPOOL) + .unlockedBy(TFMGItems.EMPTY_SPOOL::get) + .viaShaped(b -> b + .define('S', TFMGItems.EMPTY_SPOOL) + .define('W', copperWire()) + .pattern("WWW") + .pattern("WSW") + .pattern("WWW")), + + ALUMINUM_SPOOL = create(TFMGItems.ALUMINUM_SPOOL) + .unlockedBy(TFMGItems.EMPTY_SPOOL::get) + .viaShaped(b -> b + .define('S', TFMGItems.EMPTY_SPOOL) + .define('W', aluminumWire()) + .pattern("WWW") + .pattern("WSW") + .pattern("WWW")), + + CONSTANTAN_SPOOL = create(TFMGItems.CONSTANTAN_SPOOL) + .unlockedBy(TFMGItems.EMPTY_SPOOL::get) + .viaShaped(b -> b + .define('S', TFMGItems.EMPTY_SPOOL) + .define('W', constantanWire()) + .pattern("WWW") + .pattern("WSW") + .pattern("WWW")), + + REGULAR_ENGINE = create(TFMGBlocks.REGULAR_ENGINE).returns(2) + .unlockedBy(TFMGBlocks.HEAVY_MACHINERY_CASING::asItem) + .viaShaped(b -> b + .define('O', steelIngot()) + .define('I', heavyPlate()) + .define('C', heavyMachineryCasing()) + .pattern(" ") + .pattern("OIO") + .pattern("ICI")), + + TURBINE_ENGINE = create(TFMGBlocks.TURBINE_ENGINE).returns(2) + .unlockedBy(TFMGBlocks.HEAVY_MACHINERY_CASING::asItem) + .viaShaped(b -> b + .define('O', steelSheet()) + .define('P', aluminumPipe()) + .define('H', heavyMachineryCasing()) + .pattern("OOO") + .pattern("PHP") + .pattern("OOO")), + + RADIAL_ENGINE = create(TFMGBlocks.RADIAL_ENGINE) + .unlockedBy(TFMGBlocks.HEAVY_MACHINERY_CASING::asItem) + .viaShaped(b -> b + .define('O', steelIngot()) + .define('S', shaft()) + .define('I', steelNugget()) + .define('C', heavyMachineryCasing()) + .pattern("IOI") + .pattern("OCO") + .pattern("ISI")), + + STEEL_TANK = create(TFMGBlocks.STEEL_FLUID_TANK).returns(2) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('B', Blocks.BARREL) + .define('P', heavyPlate()) + .pattern(" P ") + .pattern(" B ") + .pattern(" P ")), + + CONFIGURATION_WRENCH = create(TFMGItems.CONFIGURATION_WRENCH) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('O', steelSheet()) + .define('A', aluminumSheet()) + .define('R', rebar()) + .define('C', TFMGBlocks.STEEL_COGWHEEL) + .pattern("OA ") + .pattern("OCA") + .pattern(" R ")), + + OIL_CAN = create(TFMGItems.OIL_CAN) + .unlockedBy(TFMGItems.STEEL_NUGGET::get) + .viaShaped(b -> b + .define('O', steelNugget()) + .define('B', brassSheet()) + .pattern(" OO") + .pattern("BBB") + .pattern(" BB")), + + COOLING_FLUID_BOTTLE = create(TFMGItems.COOLING_FLUID_BOTTLE) + .unlockedBy(TFMGItems.PLASTIC_SHEET::get) + .viaShaped(b -> b + .define('P', plasticSheet()) + .define('B', Items.LIGHT_BLUE_DYE) + .pattern(" P ") + .pattern("PBP") + .pattern("PPP")), + + ALUMINUM_TANK = create(TFMGBlocks.ALUMINUM_FLUID_TANK) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('B', Blocks.BARREL) + .define('P', aluminumSheet()) + .pattern(" P ") + .pattern(" B ") + .pattern(" P ")), + + CAST_IRON_TANK = create(TFMGBlocks.CAST_IRON_FLUID_TANK) + .unlockedBy(TFMGItems.CAST_IRON_INGOT::get) + .viaShaped(b -> b + .define('B', Blocks.BARREL) + .define('P', castIronSheet()) + .pattern(" P ") + .pattern(" B ") + .pattern(" P ")), + + EXHAUST = create(TFMGBlocks.EXHAUST) + .unlockedBy(TFMGItems.CAST_IRON_INGOT::get) + .viaShaped(b -> b + .define('B', Blocks.IRON_BARS) + .define('P', castIronPipe()) + .define('C', castIronIngot()) + .pattern("BPB") + .pattern("BPB") + .pattern("CPC")), + + FLARESTACK = create(TFMGBlocks.FLARESTACK) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('B', Blocks.IRON_BARS) + .define('P', castIronPipe()) + .define('C', steelIngot()) + .define('S', Items.FLINT_AND_STEEL) + .pattern("SPS") + .pattern("BPB") + .pattern("CPC")), + + SURFACE_SCANNER = create(TFMGBlocks.SURFACE_SCANNER) + .unlockedBy(TFMGBlocks.HEAVY_MACHINERY_CASING::get) + .viaShaped(b -> b + .define('H', heavyMachineryCasing()) + .define('T', electronTube()) + .define('M', steelMechanism()) + .pattern("TTT") + .pattern("TTT") + .pattern("MHM")), + + POLARIZER = create(TFMGBlocks.POLARIZER) + .unlockedBy(TFMGBlocks.STEEL_CASING::get) + .viaShaped(b -> b + .define('B', brassSheet()) + .define('W', copperWire()) + .define('V', TFMGBlocks.VOLTMETER) + .define('S', steelCasing()) + .define('R', TFMGBlocks.RESISTOR) + .define('C', capacitor()) + .pattern("BWB") + .pattern("CVC") + .pattern("RSR")), + + ELECTRODE_HOLDER = create(TFMGBlocks.ELECTRODE_HOLDER) + .unlockedBy(TFMGBlocks.HEAVY_MACHINERY_CASING::get) + .viaShaped(b -> b + .define('S', steelIngot()) + .define('W', copperWire()) + .define('C', heavyMachineryCasing()) + .define('L', leadSheet()) + .pattern("SLS") + .pattern("WCW") + .pattern("SLS")), + + TURBO = create(TFMGItems.TURBO) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('P', aluminumPipe()) + .define('F', propeller()) + .define('B', TFMGBlocks.STEEL_BARS) + .pattern("PPP") + .pattern("BFP") + .pattern("PPP")), + + CINDERBLOCK = create(TFMGBlocks.CINDER_BLOCK).returns(8) + .unlockedBy(TFMGItems.CINDERBLOCK::get) + .viaShaped(b -> b + .define('C', TFMGFluids.LIQUID_CONCRETE.getBucket().get()) + .define('B', TFMGItems.CINDERBLOCK) + .define('R', rebar()) + .pattern("BBB") + .pattern("RCR") + .pattern("BBB")), + + CINDERFLOURBLOCK = create(TFMGBlocks.CINDERFLOUR_BLOCK).returns(8) + .unlockedBy(TFMGItems.CINDERFLOURBLOCK::get) + .viaShaped(b -> b + .define('C', Blocks.NETHER_WART_BLOCK) + .define('B', TFMGItems.CINDERFLOURBLOCK) + .define('R', rebar()) + .pattern("BBB") + .pattern("RCR") + .pattern("BBB")), + + TRANSFORMER = create(TFMGBlocks.TRANSFORMER) + .unlockedBy(TFMGBlocks.STEEL_CASING::get) + .viaShaped(b -> b + .define('C', steelCasing()) + .define('M', magneticIngot()) + .define('N', nickelSheet()) + .define('W', copperWire()) + .pattern("MMM") + .pattern("MNM") + .pattern("WCW")), + + CONCRETE_HOSE = create(TFMGBlocks.CONCRETE_HOSE) + .unlockedBy(TFMGBlocks.STEEL_CASING::get) + .viaShaped(b -> b + .define('C', heavyMachineryCasing()) + .define('K', Items.DRIED_KELP_BLOCK) + .define('N', nickelSheet()) + .define('P', steelPipe()) + .define('S', shaft()) + .pattern(" C ") + .pattern("SKP") + .pattern(" N ")), + + ACCUMULATOR = create(TFMGBlocks.ACCUMULATOR) + .unlockedBy(TFMGFluids.SULFURIC_ACID.getBucket()::get) + .viaShaped(b -> b + .define('C', aluminumCasing()) + .define('L', leadSheet()) + .define('W', copperWire()) + .define('S', TFMGFluids.SULFURIC_ACID.getBucket().get()) + .define('B', leadBlock()) + .pattern("LWL") + .pattern("SBS") + .pattern("LCL")), + + ACCUMULATOR_FROM_LITHIUM = create(TFMGBlocks.ACCUMULATOR).withSuffix("from_lithium") + .unlockedBy(TFMGItems.LITHIUM_INGOT::get) + .viaShaped(b -> b + .define('C', aluminumCasing()) + .define('L', lithiumIngot()) + .define('W', copperWire()) + .define('S', nickelSheet()) + .define('B', lithiumBlock()) + .pattern("LWL") + .pattern("SBS") + .pattern("LCL")), + + CONVERTER = create(TFMGBlocks.CONVERTER) + .unlockedBy(TFMGBlocks.TRANSFORMER::get) + .viaShaped(b -> b + .define('T', TFMGBlocks.TRANSFORMER) + .define('R', redstone()) + .define('W', copperWire()) + .define('L', leadSheet()) + .pattern("WLR") + .pattern("WTR") + .pattern("WLR")), + + MULTIMETER = create(TFMGItems.MULTIMETER) + .unlockedBy(TFMGBlocks.VOLTMETER::get) + .viaShaped(b -> b + .define('G', TFMGBlocks.VOLTMETER) + .define('W', copperWire()) + .define('B', brassSheet()) + .pattern("BGB") + .pattern("BWB") + .pattern("BWB")), + + COPPER_CABLE_HUB = create(TFMGBlocks.COPPER_CABLE_HUB).returns(2) + .unlockedBy(TFMGItems.MAGNET::get) + .viaShaped(b -> b + .define('M', copperIngot()) + .define('W', copperWire()) + .pattern("WWW") + .pattern("MMM") + .pattern("WWW")), + + BRASS_CABLE_HUB = create(TFMGBlocks.BRASS_CABLE_HUB).returns(2) + .unlockedBy(TFMGItems.MAGNET::get) + .viaShaped(b -> b + .define('M', brassIngot()) + .define('W', copperWire()) + .pattern("WWW") + .pattern("MMM") + .pattern("WWW")), + + ALUMINUM_CABLE_HUB = create(TFMGBlocks.ALUMINUM_CABLE_HUB).returns(2) + .unlockedBy(TFMGItems.MAGNET::get) + .viaShaped(b -> b + .define('M', aluminumIngot()) + .define('W', copperWire()) + .pattern("WWW") + .pattern("MMM") + .pattern("WWW")), + + STEEL_CABLE_HUB = create(TFMGBlocks.STEEL_CABLE_HUB).returns(2) + .unlockedBy(TFMGItems.MAGNET::get) + .viaShaped(b -> b + .define('M', steelNugget()) + .define('W', copperWire()) + .pattern("WWW") + .pattern("MMM") + .pattern("WWW")), + + STEEL_CASING_CABLE_HUB = create(TFMGBlocks.STEEL_CASING_CABLE_HUB).returns(2) + .unlockedBy(TFMGItems.MAGNET::get) + .viaShaped(b -> b + .define('M', steelCasing()) + .define('W', copperWire()) + .pattern("WWW") + .pattern(" M ") + .pattern("WWW")), + + HEAVY_CABLE_HUB = create(TFMGBlocks.HEAVY_CABLE_HUB).returns(2) + .unlockedBy(TFMGItems.MAGNET::get) + .viaShaped(b -> b + .define('M', heavyMachineryCasing()) + .define('W', copperWire()) + .pattern("WWW") + .pattern(" M ") + .pattern("WWW")), + + FIREPROOF_BRICK = create(TFMGItems.FIREPROOF_BRICK::get) + .viaCooking(() -> TFMGItems.FIRECLAY_BALL) + .inFurnace(), + + UNFINISHED_INSULATOR = create(TFMGItems.UNFINISHED_INSULATOR::get) + .viaCooking(() -> TFMGItems.UNFIRED_INSULATOR) + .inFurnace(), + + RAW_LEAD = create(TFMGItems.LEAD_INGOT::get) + .viaCooking(() -> TFMGItems.RAW_LEAD) + .inFurnace(), + + NICKEL = create(TFMGItems.NICKEL_INGOT::get) + .viaCooking(() -> TFMGItems.RAW_NICKEL) + .inFurnace(), + + LITHIUM = create(TFMGItems.LITHIUM_INGOT::get) + .viaCooking(() -> TFMGItems.RAW_LITHIUM) + .inFurnace(), + + RAW_LEAD_BLASTING = create(TFMGItems.LEAD_INGOT::get).withSuffix("_blasting") + .viaCooking(() -> TFMGItems.RAW_LEAD) + .inBlastFurnace(), + + NICKEL_LEAD_BLASTING = create(TFMGItems.NICKEL_INGOT::get).withSuffix("_blasting") + .viaCooking(() -> TFMGItems.RAW_NICKEL) + .inBlastFurnace(), + + LITHIUM_BLASTING = create(TFMGItems.LITHIUM_INGOT::get).withSuffix("_blasting") + .viaCooking(() -> TFMGItems.RAW_LITHIUM) + .inBlastFurnace(), + // + + LEAD_FROM_CRUSHED_BLASTING = create(TFMGItems.LEAD_INGOT::get).withSuffix("_from_crushed_blasting") + .viaCooking(() -> AllItems.CRUSHED_LEAD) + .inBlastFurnace(), + + NICKEL_FROM_CRUSHED_BLASTING = create(TFMGItems.NICKEL_INGOT::get).withSuffix("_from_crushed_blasting") + .viaCooking(() -> AllItems.CRUSHED_NICKEL) + .inBlastFurnace(), + // + + THERMITE_GRENADE = create(TFMGItems.THERMITE_GRENADE) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('A', aluminumIngot()) + .define('T', thermitePowder()) + .pattern(" T ") + .pattern("TAT") + .pattern(" T ")), + + COPPER_GRENADE = create(TFMGItems.COPPER_GRENADE) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('A', TFMGItems.THERMITE_GRENADE) + .define('T', copperIngot()) + .pattern(" ") + .pattern("TAT") + .pattern(" ")), + + ZINC_GRENADE = create(TFMGItems.ZINC_GRENADE) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('A', TFMGItems.THERMITE_GRENADE) + .define('T', zincIngot()) + .pattern(" ") + .pattern("TAT") + .pattern(" ")), + + LITHIUM_BLADE = create(TFMGItems.LITHIUM_BLADE) + .unlockedBy(TFMGItems.LITHIUM_INGOT::get) + .viaShaped(b -> b + .define('P', heavyPlate()) + .define('M', TFMGItems.STEEL_TOOLS.get(0)) + .define('C', circuitBoard()) + .define('W', copperWire()) + .define('A', aluminumSheet()) + .define('S', TFMGItems.SPARK_PLUG) + .pattern(" P ") + .pattern("AMS") + .pattern("ACW")), + + LITHIUM_CHARGE = create(TFMGItems.LITHIUM_CHARGE) + .unlockedBy(TFMGItems.LITHIUM_INGOT::get) + .viaShaped(b -> b + .define('P', plasticSheet()) + .define('A', aluminumSheet()) + .define('L', lithiumIngot()) + .pattern(" P ") + .pattern("LLL") + .pattern(" A ")), + + STEEL_TRUSS = create(steelTruss()::asItem).returns(4) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('N', steelNugget()) + .pattern("N N") + .pattern("NNN") + .pattern("N N")), + + ALUMINUM_TRUSS = create(aluminumTruss()::asItem).returns(4) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('N', aluminumNugget()) + .pattern("N N") + .pattern("NNN") + .pattern("N N")), + + CAST_IRON_TRUSS = create(castIronTruss()::asItem).returns(4) + .unlockedBy(TFMGItems.CAST_IRON_INGOT::get) + .viaShaped(b -> b + .define('N', castIronNugget()) + .pattern("N N") + .pattern("NNN") + .pattern("N N")), + + LEAD_TRUSS = create(leadTruss()::asItem).returns(4) + .unlockedBy(TFMGItems.LEAD_INGOT::get) + .viaShaped(b -> b + .define('N', leadNugget()) + .pattern("N N") + .pattern("NNN") + .pattern("N N")), + + NICKEL_TRUSS = create(nickelTruss()::asItem).returns(4) + .unlockedBy(TFMGItems.NICKEL_INGOT::get) + .viaShaped(b -> b + .define('N', nickelNugget()) + .pattern("N N") + .pattern("NNN") + .pattern("N N")), + + CONSTANTAN_TRUSS = create(constantanTruss()::asItem).returns(4) + .unlockedBy(TFMGItems.CONSTANTAN_INGOT::get) + .viaShaped(b -> b + .define('N', constantanNugget()) + .pattern("N N") + .pattern("NNN") + .pattern("N N")), + + COPPER_TRUSS = create(copperTruss()::asItem).returns(4) + .unlockedBy(Items.COPPER_INGOT::asItem) + .viaShaped(b -> b + .define('N', copperNugget()) + .pattern("N N") + .pattern("NNN") + .pattern("N N")), + + ZINC_TRUSS = create(zincTruss()::asItem).returns(4) + .unlockedBy(AllItems.ZINC_INGOT::get) + .viaShaped(b -> b + .define('N', zincNugget()) + .pattern("N N") + .pattern("NNN") + .pattern("N N")), + + BRASS_TRUSS = create(brassTruss()::asItem).returns(4) + .unlockedBy(AllItems.BRASS_INGOT::get) + .viaShaped(b -> b + .define('N', brassNugget()) + .pattern("N N") + .pattern("NNN") + .pattern("N N")), + /// ///////////////////// + + STEEL_FRAME = create(steelFrame()::asItem).returns(4) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('N', steelNugget()) + .pattern("NNN") + .pattern("N N") + .pattern("NNN")), + + ALUMINUM_FRAME = create(aluminumFrame()::asItem).returns(4) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('N', aluminumNugget()) + .pattern("NNN") + .pattern("N N") + .pattern("NNN")), + + CAST_IRON_FRAME = create(castIronFrame()::asItem).returns(4) + .unlockedBy(TFMGItems.CAST_IRON_INGOT::get) + .viaShaped(b -> b + .define('N', castIronNugget()) + .pattern("NNN") + .pattern("N N") + .pattern("NNN")), + + LEAD_FRAME = create(leadFrame()::asItem).returns(4) + .unlockedBy(TFMGItems.LEAD_INGOT::get) + .viaShaped(b -> b + .define('N', leadNugget()) + .pattern("NNN") + .pattern("N N") + .pattern("NNN")), + + NICKEL_FRAME = create(nickelFrame()::asItem).returns(4) + .unlockedBy(TFMGItems.NICKEL_INGOT::get) + .viaShaped(b -> b + .define('N', nickelNugget()) + .pattern("NNN") + .pattern("N N") + .pattern("NNN")), + + CONSTANTAN_FRAME = create(constantanFrame()::asItem).returns(4) + .unlockedBy(TFMGItems.CONSTANTAN_INGOT::get) + .viaShaped(b -> b + .define('N', constantanNugget()) + .pattern("NNN") + .pattern("N N") + .pattern("NNN")), + + COPPER_FRAME = create(copperFrame()::asItem).returns(4) + .unlockedBy(Items.COPPER_INGOT::asItem) + .viaShaped(b -> b + .define('N', copperNugget()) + .pattern("NNN") + .pattern("N N") + .pattern("NNN")), + + ZINC_FRAME = create(zincFrame()::asItem).returns(4) + .unlockedBy(AllItems.ZINC_INGOT::get) + .viaShaped(b -> b + .define('N', zincNugget()) + .pattern("NNN") + .pattern("N N") + .pattern("NNN")), + + BRASS_FRAME = create(brassFrame()::asItem).returns(4) + .unlockedBy(AllItems.BRASS_INGOT::get) + .viaShaped(b -> b + .define('N', brassNugget()) + .pattern("NNN") + .pattern("N N") + .pattern("NNN")), + /// ///////////////////////// + + FIREBOX = create(TFMGBlocks.FIREBOX) + .unlockedBy(TFMGBlocks.INDUSTRIAL_PIPE::get) + .viaShaped(b -> b + .define('B', fireproofBricks()) + .define('P', brassPipe()) + .define('T', steelTank()) + .pattern("BTB") + .pattern("PPP") + .pattern("BPB")), + + EMPTY_CIRCUIT_BOARD = create(TFMGItems.EMPTY_CIRCUIT_BOARD) + .unlockedBy(TFMGItems.PLASTIC_SHEET::get) + .viaShaped(b -> b + .define('P', plasticSheet()) + .define('G', greenDye()) + .pattern(" ") + .pattern(" G ") + .pattern("PPP")), + + COKE_OVEN = create(TFMGBlocks.COKE_OVEN).returns(2) + .unlockedBy(TFMGItems.CAST_IRON_INGOT::get) + .viaShaped(b -> b + .define('C', castIronIngot()) + .define('I', AllBlocks.INDUSTRIAL_IRON_BLOCK) + .pattern(" C ") + .pattern("CIC") + .pattern(" C ")), + + INDUSTRIAL_MIXER = create(TFMGBlocks.INDUSTRIAL_MIXER) + .unlockedBy(TFMGBlocks.HEAVY_MACHINERY_CASING::get) + .viaShaped(b -> b + .define('M', steelMechanism()) + .define('H', heavyMachineryCasing()) + .define('C', TFMGBlocks.LARGE_STEEL_COGWHEEL) + .define('S', shaft()) + .define('K', screw()) + .pattern("KSK") + .pattern("MHM") + .pattern("KCK")), + + CENTRIFUGE = create(TFMGItems.CENTRIFUGE) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('A', aluminumIngot()) + .define('B', TFMGBlocks.ALUMINUM_BARS) + .pattern("BAB") + .pattern("BAB") + .pattern("BAB")), + + RESISTOR = create(TFMGItems.UNFINISHED_RESISTOR) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('W', copperWire()) + .define('P', plasticSheet()) + .pattern(" W ") + .pattern(" P ") + .pattern(" W ")), + + RESISTOR_FROM_SLIME = create(TFMGItems.UNFINISHED_RESISTOR).withSuffix("from_slime") + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('W', copperWire()) + .define('P', Items.SLIME_BALL) + .pattern(" W ") + .pattern(" P ") + .pattern(" W ")), + + MIXER_BLADE = create(TFMGItems.MIXER_BLADE) + .unlockedBy(TFMGItems.HEAVY_PLATE::get) + .viaShaped(b -> b + .define('S', shaft()) + .define('P', AllItems.PROPELLER) + .define('H', heavyPlate()) + .pattern(" S ") + .pattern(" S ") + .pattern("HPH")), + + CRANKSHAFT = create(TFMGItems.CRANKSHAFT) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('A', rebar()) + .define('B', aluminumSheet()) + .pattern("ABA") + .pattern("BAB") + .pattern(" ")), + + PUMPJACK_BASE = create(TFMGBlocks.PUMPJACK_BASE) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('Q', industrialPipe()) + .define('O', steelPipe()) + .define('M', steelMechanism()) + .define('C', heavyMachineryCasing()) + .define('S', string()) + .define('T', steelTank()) + .pattern("STS") + .pattern("MCM") + .pattern("OQO")), + + MACHINE_INPUT = create(TFMGBlocks.MACHINE_INPUT) + .unlockedBy(TFMGBlocks.HEAVY_MACHINERY_CASING::get) + .viaShaped(b -> b + .define('M', steelMechanism()) + .define('H', heavyMachineryCasing()) + .define('S', shaft()) + .pattern(" S ") + .pattern(" H ") + .pattern(" M ")), + + + BRICK_SMOKESTACK = create(TFMGBlocks.BRICK_SMOKESTACK).returns(4) + .unlockedBy(TFMGBlocks.INDUSTRIAL_PIPE::get) + .viaShaped(b -> b + .define('B', Blocks.BRICKS) + .define('P', industrialPipe()) + .pattern("BPB") + .pattern("BPB") + .pattern("BPB")), + + CONCRETE_SMOKESTACK = create(TFMGBlocks.CONCRETE_SMOKESTACK).returns(4) + .unlockedBy(TFMGBlocks.INDUSTRIAL_PIPE::get) + .viaShaped(b -> b + .define('B', TFMGBlocks.CONCRETE.block) + .define('P', industrialPipe()) + .pattern("BPB") + .pattern("BPB") + .pattern("BPB")), + + METAL_SMOKESTACK = create(TFMGBlocks.METAL_SMOKESTACK).returns(4) + .unlockedBy(TFMGBlocks.INDUSTRIAL_PIPE::get) + .viaShaped(b -> b + .define('B', steelNugget()) + .define('P', industrialPipe()) + .pattern("BPB") + .pattern("BPB") + .pattern("BPB")), + + COPYCAT_CABLE = create(TFMGBlocks.COPYCAT_CABLE_BLOCK).returns(4) + .unlockedBy(TFMGItems.NICKEL_INGOT::get) + .viaShaped(b -> b + .define('N', nickelTruss()) + .define('W', copperWire()) + .pattern("NWN") + .pattern("WNW") + .pattern("NWN")), + + BLAST_FURNACE_REINFORCEMENT = create(TFMGBlocks.BLAST_FURNACE_REINFORCEMENT).returns(4) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('O', heavyPlate()) + .define('I', steelIngot()) + .define('B', fireproofBricks()) + .pattern("IOB") + .pattern("IOB") + .pattern("IOB")), + + FIREPROOF_BRICK_REINFORCEMENT = create(TFMGBlocks.FIREPROOF_BRICK_REINFORCEMENT).returns(6) + .unlockedBy(TFMGBlocks.FIREPROOF_BRICKS::get) + .viaShaped(b -> b + .define('W', fireproofBricks()) + .pattern(" ") + .pattern("WWW") + .pattern("WWW")), + + HEAVY_PLATED_DOOR = create(TFMGBlocks.HEAVY_PLATED_DOOR).returns(3) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('I', steelIngot()) + .pattern("II ") + .pattern("II ") + .pattern("II ")), + + ALUMINUM_DOOR = create(TFMGBlocks.ALUMINUM_DOOR).returns(3) + .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) + .viaShaped(b -> b + .define('I', aluminumIngot()) + .pattern("II ") + .pattern("II ") + .pattern("II ")), + + + PUMPJACK_HAMMER_HEAD = create(TFMGBlocks.PUMPJACK_HAMMER_HEAD) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('B', steelBlock()) + .define('P', steelSheet()) + .pattern(" ") + .pattern("B") + .pattern("P")), + + LARGE_PUMPJACK_HAMMER_HEAD = create(TFMGBlocks.LARGE_PUMPJACK_HAMMER_HEAD) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('B', steelBlock()) + .define('P', steelSheet()) + .pattern("P") + .pattern("B") + .pattern(" ")), + + CIRCULAR_LAMP = create(TFMGBlocks.CIRCULAR_LIGHT) + .unlockedBy(TFMGBlocks.LIGHT_BULB::get) + .viaShaped(b -> b + .define('S', steelNugget()) + .define('P', AllPaletteBlocks.FRAMED_GLASS) + .define('B', lightBulb()) + .pattern("P") + .pattern("B") + .pattern("S")), + + ALUMINUM_LAMP = create(TFMGBlocks.ALUMINUM_LAMP) + .unlockedBy(TFMGBlocks.LIGHT_BULB::get) + .viaShaped(b -> b + .define('S', aluminumSheet()) + .define('P', AllPaletteBlocks.FRAMED_GLASS_PANE) + .define('B', lightBulb()) + .pattern(" P ") + .pattern(" B ") + .pattern(" S ")), + + MODERN_LIGHT = create(TFMGBlocks.MODERN_LIGHT) + .unlockedBy(TFMGBlocks.LIGHT_BULB::get) + .viaShaped(b -> b + .define('N', steelNugget()) + .define('P', AllPaletteBlocks.FRAMED_GLASS_PANE) + .define('B', lightBulb()) + .pattern(" P ") + .pattern(" B ") + .pattern("NNN")), + + TRAFFIC_LIGHT = create(TFMGBlocks.TRAFFIC_LIGHT) + .unlockedBy(TFMGBlocks.LIGHT_BULB::get) + .viaShaped(b -> b + .define('N', copperWire()) + .define('C', circuitBoard()) + .define('P', heavyMachineryCasing()) + .define('B', lightBulb()) + .define('R', Blocks.RED_STAINED_GLASS_PANE) + .define('O', Blocks.ORANGE_STAINED_GLASS_PANE) + .define('G', Blocks.GREEN_STAINED_GLASS_PANE) + .pattern("CBR") + .pattern("PBO") + .pattern("NBG")), + + DIODE = create(TFMGBlocks.DIODE) + .unlockedBy(TFMGItems.SILICON_INGOT::get) + .viaShaped(b -> b + .define('W', copperWire()) + .define('I', AllBlocks.INDUSTRIAL_IRON_BLOCK) + .define('P', heavyMachineryCasing()) + .define('B', castIronSheet()) + .define('S', TFMGItems.P_SEMICONDUCTOR) + .define('N', TFMGItems.N_SEMICONDUCTOR) + .pattern("WBW") + .pattern("SPN") + .pattern("WIW")), + + BLAST_STOVE = create(TFMGBlocks.BLAST_STOVE).returns(2) + .unlockedBy(TFMGItems.FIREPROOF_BRICK::get) + .viaShaped(b -> b + .define('F', fireproofBricks()) + .define('T', castIronTank()) + .define('C', castIronPipe()) + .pattern("CC ") + .pattern("TT ") + .pattern("FF ")), + + PUMPJACK_HAMMER_CONNECTOR = create(TFMGBlocks.PUMPJACK_HAMMER_CONNECTOR) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('H', TFMGBlocks.PUMPJACK_HAMMER_PART) + .define('R', rebar()) + .pattern(" ") + .pattern("RHR") + .pattern(" ")), + + LARGE_PUMPJACK_HAMMER_CONNECTOR = create(TFMGBlocks.LARGE_PUMPJACK_HAMMER_CONNECTOR) + .unlockedBy(TFMGItems.STEEL_INGOT::get) + .viaShaped(b -> b + .define('H', TFMGBlocks.LARGE_PUMPJACK_HAMMER_PART) + .define('R', rebar()) + .pattern(" ") + .pattern("RHR") + .pattern(" ")), + + ENGINE_GEARBODX = create(TFMGBlocks.ENGINE_GEARBOX) + .unlockedBy(TFMGItems.STEEL_MECHANISM::get) + .viaShaped(b -> b + .define('M', steelMechanism()) + .define('C', steelCasing()) + .define('K', screw()) + .define('S', shaft()) + .pattern("KMK") + .pattern("SCS") + .pattern("KSK")), + + + //SHAPELESS + + PIPE_BOMB_SO_COOL = create(TFMGItems.PIPE_BOMB).returns(2) + .unlockedBy(I::steelPipe) + .viaShapeless(b -> b + .requires(steelPipe()) + .requires(Blocks.TNT) + ), + + RUSTED_BLAST_FURNACE_REINFORCEMENT = create(TFMGBlocks.RUSTED_BLAST_FURNACE_REINFORCEMENT).returns(8) + .unlockedBy(TFMGBlocks.BLAST_FURNACE_REINFORCEMENT::get) + .viaShapeless(b -> b + .requires(Items.WATER_BUCKET) + .requires(TFMGBlocks.BLAST_FURNACE_REINFORCEMENT,8) + ), + + + RAW_LEAD_FROM_BLOCK = create(TFMGItems.RAW_LEAD).returns(9) + .unlockedBy(() -> TFMGItems.RAW_LEAD) + .viaShapeless(b -> b + .requires(TFMGBlocks.RAW_LEAD_BLOCK)), + + RAW_NICKEL_FROM_BLOCK = create(TFMGItems.RAW_NICKEL).returns(9) + .unlockedBy(() -> TFMGItems.RAW_NICKEL) + .viaShapeless(b -> b + .requires(TFMGBlocks.RAW_NICKEL_BLOCK)), + + RAW_LITHIUM_FROM_BLOCK = create(TFMGItems.RAW_LITHIUM).returns(9) + .unlockedBy(() -> TFMGItems.RAW_LITHIUM) + .viaShapeless(b -> b + .requires(TFMGBlocks.RAW_LITHIUM_BLOCK)), + + COAL_COKE_FROM_BLOCK = create(TFMGItems.COAL_COKE).returns(9) + .unlockedBy(() -> TFMGItems.COAL_COKE) + .viaShapeless(b -> b + .requires(TFMGBlocks.COAL_COKE_BLOCK)), + + COAL_COKE_BLOCK = create(TFMGBlocks.COAL_COKE_BLOCK) + .unlockedBy(() -> TFMGItems.COAL_COKE) + .viaShapeless(b -> b + .requires(coalCoke(), 9)), + + PLASTIC_FROM_BLOCK = create(TFMGItems.PLASTIC_SHEET).returns(9) + .unlockedBy(() -> TFMGItems.PLASTIC_SHEET) + .viaShapeless(b -> b + .requires(TFMGBlocks.PLASTIC_BLOCK)), + + + + + PLASTIC_BLOCK = create(TFMGBlocks.PLASTIC_BLOCK) + .unlockedBy(() -> TFMGItems.PLASTIC_SHEET) + .viaShapeless(b -> b + .requires(plasticSheet(), 9)), + + REBAR_FROM_BLOCK = create(TFMGItems.REBAR).returns(9) + .unlockedBy(() -> TFMGItems.REBAR) + .viaShapeless(b -> b + .requires(TFMGBlocks.REBAR_PILE)), + + STEEL_CASING_DOOR = create(TFMGBlocks.STEEL_CASING_DOOR) + .unlockedBy(() -> TFMGItems.STEEL_INGOT) + .viaShapeless(b -> b + .requires(steelCasing()) + .requires(ItemTags.WOODEN_DOORS)), + + HEAVY_CASING_DOOR = create(TFMGBlocks.HEAVY_CASING_DOOR) + .unlockedBy(() -> TFMGItems.STEEL_INGOT) + .viaShapeless(b -> b + .requires(heavyMachineryCasing()) + .requires(ItemTags.WOODEN_DOORS)), + + + //////// + + WHITE_MULTIMETER = create(TFMGItems.MULTIMETERS.get("white")::get) + .unlockedBy(() -> TFMGItems.MULTIMETER) + .viaShapeless(b -> b + .requires(TFMGItems.MULTIMETER) + .requires(DYES_FROM_COLOR.get("white"))), + + YELLOW_MULTIMETER = create(TFMGItems.MULTIMETERS.get("yellow")::get) + .unlockedBy(() -> TFMGItems.MULTIMETER) + .viaShapeless(b -> b + .requires(TFMGItems.MULTIMETER) + .requires(DYES_FROM_COLOR.get("yellow"))), + + BROWN_MULTIMETER = create(TFMGItems.MULTIMETERS.get("brown")::get) + .unlockedBy(() -> TFMGItems.MULTIMETER) + .viaShapeless(b -> b + .requires(TFMGItems.MULTIMETER) + .requires(DYES_FROM_COLOR.get("brown"))), + + ORANGE_MULTIMETER = create(TFMGItems.MULTIMETERS.get("orange")::get) + .unlockedBy(() -> TFMGItems.MULTIMETER) + .viaShapeless(b -> b + .requires(TFMGItems.MULTIMETER) + .requires(DYES_FROM_COLOR.get("orange"))), + + BLACK_MULTIMETER = create(TFMGItems.MULTIMETERS.get("black")::get) + .unlockedBy(() -> TFMGItems.MULTIMETER) + .viaShapeless(b -> b + .requires(TFMGItems.MULTIMETER) + .requires(DYES_FROM_COLOR.get("black"))), + + CYAN_MULTIMETER = create(TFMGItems.MULTIMETERS.get("cyan")::get) + .unlockedBy(() -> TFMGItems.MULTIMETER) + .viaShapeless(b -> b + .requires(TFMGItems.MULTIMETER) + .requires(DYES_FROM_COLOR.get("cyan"))), + + BLUE_MULTIMETER = create(TFMGItems.MULTIMETERS.get("blue")::get) + .unlockedBy(() -> TFMGItems.MULTIMETER) + .viaShapeless(b -> b + .requires(TFMGItems.MULTIMETER) + .requires(DYES_FROM_COLOR.get("blue"))), + + LIGHT_BLUE_MULTIMETER = create(TFMGItems.MULTIMETERS.get("light_blue")::get) + .unlockedBy(() -> TFMGItems.MULTIMETER) + .viaShapeless(b -> b + .requires(TFMGItems.MULTIMETER) + .requires(DYES_FROM_COLOR.get("light_blue"))), + + GRAY_MULTIMETER = create(TFMGItems.MULTIMETERS.get("gray")::get) + .unlockedBy(() -> TFMGItems.MULTIMETER) + .viaShapeless(b -> b + .requires(TFMGItems.MULTIMETER) + .requires(DYES_FROM_COLOR.get("gray"))), + + LIGHT_GRAY_MULTIMETER = create(TFMGItems.MULTIMETERS.get("light_gray")::get) + .unlockedBy(() -> TFMGItems.MULTIMETER) + .viaShapeless(b -> b + .requires(TFMGItems.MULTIMETER) + .requires(DYES_FROM_COLOR.get("light_gray"))), + + GREEN_MULTIMETER = create(TFMGItems.MULTIMETERS.get("green")::get) + .unlockedBy(() -> TFMGItems.MULTIMETER) + .viaShapeless(b -> b + .requires(TFMGItems.MULTIMETER) + .requires(DYES_FROM_COLOR.get("green"))), + + LIME_MULTIMETER = create(TFMGItems.MULTIMETERS.get("lime")::get) + .unlockedBy(() -> TFMGItems.MULTIMETER) + .viaShapeless(b -> b + .requires(TFMGItems.MULTIMETER) + .requires(DYES_FROM_COLOR.get("lime"))), + + PINK_MULTIMETER = create(TFMGItems.MULTIMETERS.get("pink")::get) + .unlockedBy(() -> TFMGItems.MULTIMETER) + .viaShapeless(b -> b + .requires(TFMGItems.MULTIMETER) + .requires(DYES_FROM_COLOR.get("pink"))), + + PURPLE_MULTIMETER = create(TFMGItems.MULTIMETERS.get("purple")::get) + .unlockedBy(() -> TFMGItems.MULTIMETER) + .viaShapeless(b -> b + .requires(TFMGItems.MULTIMETER) + .requires(DYES_FROM_COLOR.get("purple"))), + + MAGENTA_MULTIMETER = create(TFMGItems.MULTIMETERS.get("magenta")::get) + .unlockedBy(() -> TFMGItems.MULTIMETER) + .viaShapeless(b -> b + .requires(TFMGItems.MULTIMETER) + .requires(DYES_FROM_COLOR.get("magenta"))), + + RED_MULTIMETER = create(TFMGItems.MULTIMETERS.get("red")::get) + .unlockedBy(() -> TFMGItems.MULTIMETER) + .viaShapeless(b -> b + .requires(TFMGItems.MULTIMETER) + .requires(DYES_FROM_COLOR.get("red"))), + + + + //////// + + + WHITE_CONCRETE = create(TFMGBlocks.COLORED_CONCRETE.get("white").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("white")) + .define('C', TFMGBlocks.CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + BLACK_CONCRETE = create(TFMGBlocks.COLORED_CONCRETE.get("black").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("black")) + .define('C', TFMGBlocks.CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + ORANGE_CONCRETE = create(TFMGBlocks.COLORED_CONCRETE.get("orange").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("orange")) + .define('C', TFMGBlocks.CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + RED_CONCRETE = create(TFMGBlocks.COLORED_CONCRETE.get("red").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("red")) + .define('C', TFMGBlocks.CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + GRAY_CONCRETE = create(TFMGBlocks.COLORED_CONCRETE.get("gray").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("gray")) + .define('C', TFMGBlocks.CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + LIGHT_GRAY_CONCRETE = create(TFMGBlocks.COLORED_CONCRETE.get("light_gray").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("light_gray")) + .define('C', TFMGBlocks.CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + BLUE_CONCRETE = create(TFMGBlocks.COLORED_CONCRETE.get("blue").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("blue")) + .define('C', TFMGBlocks.CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + LIGHT_BLUE_CONCRETE = create(TFMGBlocks.COLORED_CONCRETE.get("light_blue").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("light_blue")) + .define('C', TFMGBlocks.CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + CYAN_CONCRETE = create(TFMGBlocks.COLORED_CONCRETE.get("cyan").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("cyan")) + .define('C', TFMGBlocks.CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + GREEN_CONCRETE = create(TFMGBlocks.COLORED_CONCRETE.get("green").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("green")) + .define('C', TFMGBlocks.CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + LIME_CONCRETE = create(TFMGBlocks.COLORED_CONCRETE.get("lime").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("lime")) + .define('C', TFMGBlocks.CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + PINK_CONCRETE = create(TFMGBlocks.COLORED_CONCRETE.get("pink").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("pink")) + .define('C', TFMGBlocks.CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + PURPLE_CONCRETE = create(TFMGBlocks.COLORED_CONCRETE.get("purple").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("purple")) + .define('C', TFMGBlocks.CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + MAGENTA_CONCRETE = create(TFMGBlocks.COLORED_CONCRETE.get("magenta").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("magenta")) + .define('C', TFMGBlocks.CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + BROWN_CONCRETE = create(TFMGBlocks.COLORED_CONCRETE.get("brown").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("brown")) + .define('C', TFMGBlocks.CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + YELLOW_CONCRETE = create(TFMGBlocks.COLORED_CONCRETE.get("yellow").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("yellow")) + .define('C', TFMGBlocks.CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + /// //////////////////////////////////////// + WHITE_REBAR_CONCRETE = create(TFMGBlocks.COLORED_REBAR_CONCRETE.get("white").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("white")) + .define('C', TFMGBlocks.REBAR_CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + BLACK_REBAR_CONCRETE = create(TFMGBlocks.COLORED_REBAR_CONCRETE.get("black").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("black")) + .define('C', TFMGBlocks.REBAR_CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + ORANGE_REBAR_CONCRETE = create(TFMGBlocks.COLORED_REBAR_CONCRETE.get("orange").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("orange")) + .define('C', TFMGBlocks.REBAR_CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + RED_REBAR_CONCRETE = create(TFMGBlocks.COLORED_REBAR_CONCRETE.get("red").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("red")) + .define('C', TFMGBlocks.REBAR_CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + GRAY_REBAR_CONCRETE = create(TFMGBlocks.COLORED_REBAR_CONCRETE.get("gray").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("gray")) + .define('C', TFMGBlocks.REBAR_CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + LIGHT_REBAR_GRAY_CONCRETE = create(TFMGBlocks.COLORED_REBAR_CONCRETE.get("light_gray").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("light_gray")) + .define('C', TFMGBlocks.REBAR_CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + BLUE_REBAR_CONCRETE = create(TFMGBlocks.COLORED_REBAR_CONCRETE.get("blue").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("blue")) + .define('C', TFMGBlocks.REBAR_CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + LIGHT_BLUE_REBAR_CONCRETE = create(TFMGBlocks.COLORED_REBAR_CONCRETE.get("light_blue").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("light_blue")) + .define('C', TFMGBlocks.REBAR_CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + CYAN_REBAR_CONCRETE = create(TFMGBlocks.COLORED_REBAR_CONCRETE.get("cyan").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("cyan")) + .define('C', TFMGBlocks.REBAR_CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + GREEN_REBAR_CONCRETE = create(TFMGBlocks.COLORED_REBAR_CONCRETE.get("green").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("green")) + .define('C', TFMGBlocks.REBAR_CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + LIME_REBAR_CONCRETE = create(TFMGBlocks.COLORED_REBAR_CONCRETE.get("lime").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("lime")) + .define('C', TFMGBlocks.REBAR_CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + PINK_REBAR_CONCRETE = create(TFMGBlocks.COLORED_REBAR_CONCRETE.get("pink").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("pink")) + .define('C', TFMGBlocks.REBAR_CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + PURPLE_REBAR_CONCRETE = create(TFMGBlocks.COLORED_REBAR_CONCRETE.get("purple").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("purple")) + .define('C', TFMGBlocks.REBAR_CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + MAGENTA_REBAR_CONCRETE = create(TFMGBlocks.COLORED_REBAR_CONCRETE.get("magenta").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("magenta")) + .define('C', TFMGBlocks.REBAR_CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + BROWN_REBAR_CONCRETE = create(TFMGBlocks.COLORED_REBAR_CONCRETE.get("brown").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("brown")) + .define('C', TFMGBlocks.REBAR_CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")), + + + YELLOW_REBAR_CONCRETE = create(TFMGBlocks.COLORED_REBAR_CONCRETE.get("yellow").block).returns(8) + .unlockedBy(TFMGBlocks.CONCRETE.block::get) + .viaShaped(b -> b + .define('D', DYES_FROM_COLOR.get("yellow")) + .define('C', TFMGBlocks.REBAR_CONCRETE.block) + .pattern("CCC") + .pattern("CDC") + .pattern("CCC")); + + /// //////////////////// + + String currentFolder = ""; + + TFMGRecipeProvider.Marker enterFolder(String folder) { + currentFolder = folder; + return new TFMGRecipeProvider.Marker(); + } + + GeneratedRecipeBuilder create(Supplier result) { + return new GeneratedRecipeBuilder(currentFolder, result); + } + + GeneratedRecipeBuilder create(ResourceLocation result) { + return new GeneratedRecipeBuilder(currentFolder, result); + } + + GeneratedRecipeBuilder create(ItemProviderEntry result) { + return create(result::get); + } + + TFMGRecipeProvider.GeneratedRecipe createSpecial(Function> builder, String recipeType, + String path) { + ResourceLocation location = TFMG.asResource(recipeType + "/" + currentFolder + "/" + path); + return register(consumer -> { + SpecialRecipeBuilder b = SpecialRecipeBuilder.special(builder); + b.save(consumer, location.toString()); + }); + } + + TFMGRecipeProvider.GeneratedRecipe blastCrushedMetal(Supplier result, Supplier ingredient) { + return create(result::get).withSuffix("_from_crushed") + .viaCooking(ingredient) + .rewardXP(.1f) + .inBlastFurnace(); + } + + TFMGRecipeProvider.GeneratedRecipe blastModdedCrushedMetal(ItemEntry ingredient, CompatMetals metal) { + for (Mods mod : metal.getMods()) { + String metalName = metal.getName(mod); + ResourceLocation ingot = mod.ingotOf(metalName); + String modId = mod.getId(); + create(ingot).withSuffix("_compat_" + modId) + .whenModLoaded(modId) + .viaCooking(ingredient::get) + .rewardXP(.1f) + .inBlastFurnace(); + } + return null; + } + + TFMGRecipeProvider.GeneratedRecipe recycleGlass(BlockEntry ingredient) { + return create(() -> Blocks.GLASS).withSuffix("_from_" + ingredient.getId() + .getPath()) + .viaCooking(ingredient::get) + .forDuration(50) + .inFurnace(); + } + + TFMGRecipeProvider.GeneratedRecipe recycleGlassPane(BlockEntry ingredient) { + return create(() -> Blocks.GLASS_PANE).withSuffix("_from_" + ingredient.getId() + .getPath()) + .viaCooking(ingredient::get) + .forDuration(50) + .inFurnace(); + } + + TFMGRecipeProvider.GeneratedRecipe metalCompacting(List> variants, + List>> ingredients) { + TFMGRecipeProvider.GeneratedRecipe result = null; + for (int i = 0; i + 1 < variants.size(); i++) { + ItemProviderEntry currentEntry = variants.get(i); + ItemProviderEntry nextEntry = variants.get(i + 1); + Supplier> currentIngredient = ingredients.get(i); + Supplier> nextIngredient = ingredients.get(i + 1); + + result = create(nextEntry).withSuffix("_from_compacting") + .unlockedBy(currentEntry::get) + .viaShaped(b -> b.pattern("###") + .pattern("###") + .pattern("###") + .define('#', currentIngredient.get())); + + result = create(currentEntry).returns(9) + .withSuffix("_from_decompacting") + .unlockedBy(nextEntry::get) + .viaShapeless(b -> b.requires(nextIngredient.get())); + } + return result; + } + + TFMGRecipeProvider.GeneratedRecipe conversionCycle(List> cycle) { + TFMGRecipeProvider.GeneratedRecipe result = null; + for (int i = 0; i < cycle.size(); i++) { + ItemProviderEntry currentEntry = cycle.get(i); + ItemProviderEntry nextEntry = cycle.get((i + 1) % cycle.size()); + result = create(nextEntry).withSuffix("_from_conversion") + .unlockedBy(currentEntry::get) + .viaShapeless(b -> b.requires(currentEntry.get())); + } + return result; + } + + TFMGRecipeProvider.GeneratedRecipe clearData(ItemProviderEntry item) { + return create(item).withSuffix("_clear") + .unlockedBy(item::get) + .viaShapeless(b -> b.requires(item.get())); + } + + class GeneratedRecipeBuilder { + + private String path; + private String suffix; + private Supplier result; + private ResourceLocation compatDatagenOutput; + List recipeConditions; + + private Supplier unlockedBy; + private int amount; + + private GeneratedRecipeBuilder(String path) { + this.path = path; + this.recipeConditions = new ArrayList<>(); + this.suffix = ""; + this.amount = 1; + } + + public GeneratedRecipeBuilder(String path, Supplier result) { + this(path); + this.result = result; + } + + public GeneratedRecipeBuilder(String path, ResourceLocation result) { + this(path); + this.compatDatagenOutput = result; + } + + GeneratedRecipeBuilder returns(int amount) { + this.amount = amount; + return this; + } + + GeneratedRecipeBuilder unlockedBy(Supplier item) { + this.unlockedBy = () -> ItemPredicate.Builder.item() + .of(item.get()) + .build(); + return this; + } + + GeneratedRecipeBuilder unlockedByTag(Supplier> tag) { + this.unlockedBy = () -> ItemPredicate.Builder.item() + .of(tag.get()) + .build(); + return this; + } + + GeneratedRecipeBuilder whenModLoaded(String modid) { + return withCondition(new ModLoadedCondition(modid)); + } + + GeneratedRecipeBuilder whenModMissing(String modid) { + return withCondition(new NotCondition(new ModLoadedCondition(modid))); + } + + GeneratedRecipeBuilder withCondition(ICondition condition) { + recipeConditions.add(condition); + return this; + } + + GeneratedRecipeBuilder withSuffix(String suffix) { + this.suffix = suffix; + return this; + } + + // FIXME 5.1 refactor - recipe categories as markers instead of sections? + TFMGRecipeProvider.GeneratedRecipe viaShaped(UnaryOperator builder) { + return register(consumer -> { + ShapedRecipeBuilder b = + builder.apply(ShapedRecipeBuilder.shaped(RecipeCategory.MISC, result.get(), amount)); + if (unlockedBy != null) + b.unlockedBy("has_item", inventoryTrigger(unlockedBy.get())); + b.save(consumer, createLocation("crafting")); + }); + } + + TFMGRecipeProvider.GeneratedRecipe viaShapeless(UnaryOperator builder) { + return register(recipeOutput -> { + ShapelessRecipeBuilder b = + builder.apply(ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, result.get(), amount)); + if (unlockedBy != null) + b.unlockedBy("has_item", inventoryTrigger(unlockedBy.get())); + + RecipeOutput conditionalOutput = recipeOutput.withConditions(recipeConditions.toArray(new ICondition[0])); + + b.save(recipeOutput, createLocation("crafting")); + }); + } + + TFMGRecipeProvider.GeneratedRecipe viaNetheriteSmithing(Supplier base, Supplier upgradeMaterial) { + return register(consumer -> { + SmithingTransformRecipeBuilder b = + SmithingTransformRecipeBuilder.smithing(Ingredient.of(Items.NETHERITE_UPGRADE_SMITHING_TEMPLATE), + Ingredient.of(base.get()), upgradeMaterial.get(), RecipeCategory.COMBAT, result.get() + .asItem()); + b.unlocks("has_item", inventoryTrigger(ItemPredicate.Builder.item() + .of(base.get()) + .build())); + b.save(consumer, createLocation("crafting")); + }); + } + + private ResourceLocation createSimpleLocation(String recipeType) { + return TFMG.asResource(recipeType + "/" + getRegistryName().getPath() + suffix); + } + + private ResourceLocation createLocation(String recipeType) { + return TFMG.asResource(recipeType + "/" + path + "/" + getRegistryName().getPath() + suffix); + } + + private ResourceLocation getRegistryName() { + return compatDatagenOutput == null ? RegisteredObjectsHelper.getKeyOrThrow(result.get() + .asItem()) : compatDatagenOutput; + } + + GeneratedRecipeBuilder.GeneratedCookingRecipeBuilder viaCooking(Supplier item) { + return unlockedBy(item).viaCookingIngredient(() -> Ingredient.of(item.get())); + } + + GeneratedRecipeBuilder.GeneratedCookingRecipeBuilder viaCookingTag(Supplier> tag) { + return unlockedByTag(tag).viaCookingIngredient(() -> Ingredient.of(tag.get())); + } + + GeneratedRecipeBuilder.GeneratedCookingRecipeBuilder viaCookingIngredient(Supplier ingredient) { + return new GeneratedRecipeBuilder.GeneratedCookingRecipeBuilder(ingredient); + } + + class GeneratedCookingRecipeBuilder { + + private Supplier ingredient; + private float exp; + private int cookingTime; + + GeneratedCookingRecipeBuilder(Supplier ingredient) { + this.ingredient = ingredient; + cookingTime = 200; + exp = 0; + } + + GeneratedRecipeBuilder.GeneratedCookingRecipeBuilder forDuration(int duration) { + cookingTime = duration; + return this; + } + + GeneratedRecipeBuilder.GeneratedCookingRecipeBuilder rewardXP(float xp) { + exp = xp; + return this; + } + + TFMGRecipeProvider.GeneratedRecipe inFurnace() { + return inFurnace(b -> b); + } + + TFMGRecipeProvider.GeneratedRecipe inFurnace(UnaryOperator builder) { + return create(RecipeSerializer.SMELTING_RECIPE, builder, SmeltingRecipe::new, 1); + } + + TFMGRecipeProvider.GeneratedRecipe inSmoker() { + return inSmoker(b -> b); + } + + TFMGRecipeProvider.GeneratedRecipe inSmoker(UnaryOperator builder) { + create(RecipeSerializer.SMELTING_RECIPE, builder, SmeltingRecipe::new, 1); + create(RecipeSerializer.CAMPFIRE_COOKING_RECIPE, builder, CampfireCookingRecipe::new, 3); + return create(RecipeSerializer.SMOKING_RECIPE, builder, SmokingRecipe::new, .5f); + } + + TFMGRecipeProvider.GeneratedRecipe inBlastFurnace() { + return inBlastFurnace(b -> b); + } + + TFMGRecipeProvider.GeneratedRecipe inBlastFurnace(UnaryOperator builder) { + create(RecipeSerializer.SMELTING_RECIPE, builder, SmeltingRecipe::new, 1); + return create(RecipeSerializer.BLASTING_RECIPE, builder, BlastingRecipe::new, .5f); + } + + private TFMGRecipeProvider.GeneratedRecipe create(RecipeSerializer serializer, + UnaryOperator builder, AbstractCookingRecipe.Factory factory, float cookingTimeModifier) { + return register(recipeOutput -> { + boolean isOtherMod = compatDatagenOutput != null; + + SimpleCookingRecipeBuilder b = builder.apply(SimpleCookingRecipeBuilder.generic(ingredient.get(), + RecipeCategory.MISC, isOtherMod ? Items.DIRT : result.get(), exp, + (int) (cookingTime * cookingTimeModifier), serializer, factory)); + if (unlockedBy != null) + b.unlockedBy("has_item", inventoryTrigger(unlockedBy.get())); + + RecipeOutput conditionalOutput = recipeOutput.withConditions(recipeConditions.toArray(new ICondition[0])); + + b.save( + isOtherMod ? new ModdedCookingRecipeOutput(conditionalOutput, compatDatagenOutput) : conditionalOutput, + createSimpleLocation(RegisteredObjectsHelper.getKeyOrThrow(serializer).getPath()) + ); + }); + } + } + } + + + + public TFMGStandardRecipeGen(PackOutput output, CompletableFuture registries) { + super(output, registries); + } + + @ParametersAreNonnullByDefault + @MethodsReturnNonnullByDefault + private static class ModdedCookingRecipeOutputShim implements Recipe { + + private static final Map, ModdedCookingRecipeOutputShim.Serializer> serializers = new ConcurrentHashMap<>(); + + private final Recipe wrapped; + private final ResourceLocation overrideID; + + private ModdedCookingRecipeOutputShim(Recipe wrapped, ResourceLocation overrideID) { + this.wrapped = wrapped; + this.overrideID = overrideID; + } + + @Override + public boolean matches(RecipeInput recipeInput, Level level) { + throw new AssertionError("Only for datagen output"); + } + + @Override + public ItemStack assemble(RecipeInput input, HolderLookup.Provider registries) { + throw new AssertionError("Only for datagen output"); + } + + @Override + public boolean canCraftInDimensions(int pWidth, int pHeight) { + throw new AssertionError("Only for datagen output"); + } + + @Override + public ItemStack getResultItem(HolderLookup.Provider registries) { + throw new AssertionError("Only for datagen output"); + } + + @Override + public RecipeSerializer getSerializer() { + return serializers.computeIfAbsent( + getType(), + t -> ModdedCookingRecipeOutputShim.Serializer.create(wrapped) + ); + } + + @Override + public RecipeType getType() { + return wrapped.getType(); + } + + private record Serializer(MapCodec> wrappedCodec) implements RecipeSerializer { + private static ModdedCookingRecipeOutputShim.Serializer create(Recipe wrapped) { + RecipeSerializer wrappedSerializer = wrapped.getSerializer(); + @SuppressWarnings("unchecked") + ModdedCookingRecipeOutputShim.Serializer serializer = new ModdedCookingRecipeOutputShim.Serializer((MapCodec>) wrappedSerializer.codec()); + + // Need to do some registry injection to get the Recipe/Registry#byNameCodec to encode the right type for this + // getResourceKey and getId + // byValue and toId + // Holder.Reference: key + if (BuiltInRegistries.RECIPE_SERIALIZER instanceof MappedRegistryAccessor mra) { + @SuppressWarnings("unchecked") + MappedRegistryAccessor> mra$ = (MappedRegistryAccessor>) mra; + + int wrappedId = mra$.getToId().getOrDefault(wrappedSerializer, -1); + ResourceKey> wrappedKey = mra$.getByValue().get(wrappedSerializer).key(); + + mra$.getToId().put(serializer, wrappedId); + //noinspection DataFlowIssue - it is ok to pass null as the owner, because this is only being used for serialization + mra$.getByValue().put(serializer, Holder.Reference.createStandAlone(null, wrappedKey)); + } else { + throw new AssertionError("ModdedCookingRecipeOutputShim will not be able to" + + " serialize without injecting into a registry. Expected" + + " BuiltInRegistries.RECIPE_SERIALIZER to be of class MappedRegistry, is of class " + + BuiltInRegistries.RECIPE_SERIALIZER.getClass() + ); + } + return serializer; + } + + @Override + public MapCodec codec() { + return RecordCodecBuilder.mapCodec(instance -> instance.group( + wrappedCodec.forGetter(i -> i.wrapped), + ModdedCookingRecipeOutputShim.FakeItemStack.CODEC.fieldOf("result").forGetter(i -> new ModdedCookingRecipeOutputShim.FakeItemStack(i.overrideID)) + ).apply(instance, (wrappedRecipe, fakeItemStack) -> { + throw new AssertionError("Only for datagen output"); + })); + } + + @Override + public StreamCodec streamCodec() { + throw new AssertionError("Only for datagen output"); + } + } + + private record FakeItemStack(ResourceLocation id) { + public static Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + ResourceLocation.CODEC.fieldOf("id").forGetter(ModdedCookingRecipeOutputShim.FakeItemStack::id) + ).apply(instance, ModdedCookingRecipeOutputShim.FakeItemStack::new)); + } + } + + @ParametersAreNonnullByDefault + @MethodsReturnNonnullByDefault + private record ModdedCookingRecipeOutput(RecipeOutput wrapped, ResourceLocation outputOverride) implements RecipeOutput { + + @Override + public Advancement.Builder advancement() { + return wrapped.advancement(); + } + + @Override + public void accept(ResourceLocation id, Recipe recipe, @Nullable AdvancementHolder advancement, ICondition... conditions) { + wrapped.accept(id, new ModdedCookingRecipeOutputShim(recipe, outputOverride), advancement, conditions); + } + } +} diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGCompactingRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGCompactingRecipeGen.java new file mode 100644 index 00000000..27763f22 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGCompactingRecipeGen.java @@ -0,0 +1,48 @@ +package com.drmangotea.tfmg.datagen.recipes.values.create; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.AllRecipeTypes; +import com.simibubi.create.api.data.recipe.CompactingRecipeGen; +import com.simibubi.create.content.processing.recipe.HeatCondition; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.world.item.Items; + +import java.util.concurrent.CompletableFuture; + +import static com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider.F.*; +import static com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider.I.*; + +public class TFMGCompactingRecipeGen extends CompactingRecipeGen { + + GeneratedRecipe + BITUMEN = create(TFMG.asResource("bitumen"), b -> b + .require(heavyOil(),1000) + .output(bitumen(), 1) + .requiresHeat(HeatCondition.HEATED) + ), + CINDERFLOURBLOCK = create(TFMG.asResource("cinderflourblock"), b -> b + .require(cinderFlour()) + .require(cinderFlour()) + .require(cinderFlour()) + .require(cinderFlour()) + .output(TFMGItems.CINDERFLOURBLOCK) + ), + CAST_IRON = create(TFMG.asResource("cast_iron"), b -> b + .require(ironIngot()) + .require(coal()) + .output(TFMGItems.CAST_IRON_INGOT, 1) + .requiresHeat(HeatCondition.HEATED) + ); + + public TFMGCompactingRecipeGen(PackOutput generator, CompletableFuture registries) { + super(generator, registries, TFMG.MOD_ID); + } + + @Override + protected AllRecipeTypes getRecipeType() { + return AllRecipeTypes.COMPACTING; + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGCrushingRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGCrushingRecipeGen.java new file mode 100644 index 00000000..f496bb60 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGCrushingRecipeGen.java @@ -0,0 +1,65 @@ +package com.drmangotea.tfmg.datagen.recipes.values.create; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.drmangotea.tfmg.registry.TFMGPaletteStoneTypes; +import com.simibubi.create.AllRecipeTypes; +import com.simibubi.create.api.data.recipe.CrushingRecipeGen; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; + +import java.util.concurrent.CompletableFuture; + +import static com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider.I.*; + +public class TFMGCrushingRecipeGen extends CrushingRecipeGen { + + GeneratedRecipe + COPPER_SULFATE = create(TFMGRecipeProvider.I::copperSulfate, b -> b + .output(boneMeal(), 4) + .output(.25f, boneMeal(), 3) + .output(.5f, cyanDye(), 1) + .output(.75f, blueDye(), 1) + ), + LIGNITE = create(TFMGBlocks.LIGNITE::get, b -> b + .output(.75f,coal(), 1) + .output(.2f,coal(), 1) + ), + BAUXITE = create(TFMGPaletteStoneTypes.BAUXITE.getBaseBlock()::get, b -> b + .output(.75f, TFMGItems.BAUXITE_POWDER, 2) + .output(.2f,TFMGItems.BAUXITE_POWDER, 1) + ), + LIMESAND = create(TFMGRecipeProvider.I::limestone, b -> b + .output(limesand(), 1) + ), + SLAG = create(TFMGBlocks.SLAG_BLOCK::get, b -> b + .output(slag(), 2) + .output(.3f,slag()) + ), + COAL_COKE = create(TFMGRecipeProvider.I::coalCoke, b -> b + .output(coalCokeDust(), 1) + ), + SALTPETER = create(TFMGRecipeProvider.I::dirt, b -> b + .output(.05f, nitrateDust(), 1) + ), + GALENA = create(TFMGPaletteStoneTypes.GALENA.getBaseBlock()::get, b -> b + .output(.4f, crushedRawLead(), 1) + .output(.1f, TFMGItems.LEAD_NUGGET, 2) + ), + SULFUR = create(() -> TFMGBlocks.SULFUR, b -> b + .output(.2f, sulfurDust(), 1) + .output(.1f, sulfurDust(), 1) + ); + + public TFMGCrushingRecipeGen(PackOutput generator, CompletableFuture registries) { + super(generator, registries, TFMG.MOD_ID); + } + + @Override + protected AllRecipeTypes getRecipeType() { + return AllRecipeTypes.CRUSHING; + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGFillingRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGFillingRecipeGen.java new file mode 100644 index 00000000..764d6a0a --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGFillingRecipeGen.java @@ -0,0 +1,100 @@ +package com.drmangotea.tfmg.datagen.recipes.values.create; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.AllRecipeTypes; +import com.simibubi.create.api.data.recipe.FillingRecipeGen; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.tags.ItemTags; +import net.minecraft.world.item.Items; + +import java.util.concurrent.CompletableFuture; + +import static com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider.F.*; + + +public class TFMGFillingRecipeGen extends FillingRecipeGen { + + GeneratedRecipe + + HARDENED_PLANKS = create(TFMG.asResource("hardened_planks"), b -> b + .require(ItemTags.PLANKS) + .require(TFMGFluids.CREOSOTE.getSource(), 250) + .output(TFMGBlocks.HARDENED_PLANKS)), + + NAPALM_POTATO = create(TFMG.asResource("napalm_potato"), b -> b + .require(Items.POTATO) + .require(TFMGFluids.NAPALM.getSource(), 500) + .output(TFMGItems.NAPALM_POTATO)), + + + //GAS TANKS + + LPG_TANK = create(TFMG.asResource("lpg_tank"), b -> b + .require(Items.BUCKET) + .require(lpg(), 1000) + .output(lpgTank()) + ), + //BUTANE_TANK = create("butane_tank"), b -> b + // .require(butane(), 1000) + // .output(butaneTank()) + //), + //PROPANE_TANK = create("propane_tank"), b -> b + // .require(propane(), 1000) + // .output(propaneTank()) + //), + HYDROGEN_TANK = create(TFMG.asResource("hydrogen_tank"), b -> b + .require(Items.BUCKET) + .require(hydrogen(), 1000) + .output(hydrogenTank()) + ), + FURNACE_GAS_TANK = create(TFMG.asResource("furnace_gas_tank"), b -> b + .require(Items.BUCKET) + .require(blastFurnaceGas(), 1000) + .output(furnaceGasTank()) + ), + ETHYLENE_TANK = create(TFMG.asResource("ethylene_tank"), b -> b + .require(Items.BUCKET) + .require(ethylene(), 1000) + .output(ethyleneTank()) + ), + PROPYLENE_TANK = create(TFMG.asResource("propylene_tank"), b -> b + .require(Items.BUCKET) + .require(propylene(), 1000) + .output(propyleneTank()) + ), + NEON_TANK = create(TFMG.asResource("neon_tank"), b -> b + .require(Items.BUCKET) + .require(neon(), 1000) + .output(neonTank()) + ), + CARBON_DIOXIDE_TANK = create(TFMG.asResource("carbon_dioxide_tank"), b -> b + .require(Items.BUCKET) + .require(carbonDioxide(), 1000) + .output(carbonDioxideTank()) + ), + AIR_TANK = create(TFMG.asResource("air_tank"), b -> b + .require(Items.BUCKET) + .require(air(), 1000) + .output(airTank()) + ), + HOT_AIR_TANK = create(TFMG.asResource("hot_air_tank"), b -> b + .require(Items.BUCKET) + .require(hotAir(), 1000) + .output(hotAirTank()) + ); + + + public TFMGFillingRecipeGen(PackOutput generator, CompletableFuture registries) { + super(generator, registries,TFMG.MOD_ID); + } + + @Override + protected AllRecipeTypes getRecipeType() { + return AllRecipeTypes.FILLING; + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGItemApplicationRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGItemApplicationRecipeGen.java new file mode 100644 index 00000000..fd4acc84 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGItemApplicationRecipeGen.java @@ -0,0 +1,43 @@ +package com.drmangotea.tfmg.datagen.recipes.values.create; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.api.data.recipe.ItemApplicationRecipeGen; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.level.ItemLike; + +import java.util.concurrent.CompletableFuture; +import java.util.function.Supplier; + +import static com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider.I.*; + +public class TFMGItemApplicationRecipeGen extends ItemApplicationRecipeGen { + + GeneratedRecipe STEEL = casing("steel", () -> Ingredient.of(steelIngot()), TFMGBlocks.STEEL_CASING::get, TFMGBlocks.HARDENED_PLANKS::get); + GeneratedRecipe HEAVY_CASING = casing("heavy_machinery", () -> Ingredient.of(steelSheet()), TFMGBlocks.HEAVY_MACHINERY_CASING::get, TFMGBlocks.STEEL_CASING::get); + GeneratedRecipe ALUMINUM = casing("aluminum", () -> Ingredient.of(aluminumSheet()), TFMGBlocks.ALUMINUM_CASING::get, TFMGBlocks.STEEL_CASING::get); + + + GeneratedRecipe + COATED_CIRCUIT_BOARD = create("coated_circuit_board", b -> b + .require(TFMGItems.EMPTY_CIRCUIT_BOARD) + .require(goldSheet()) + .output(TFMGItems.COATED_CIRCUIT_BOARD) + ); + + protected GeneratedRecipe casing(String type, Supplier ingredient, + Supplier output, Supplier block) { + return create(type + "_casing", b -> b + .require(block.get()) + .require(ingredient.get()) + .output(output.get())); + } + + public TFMGItemApplicationRecipeGen(PackOutput generator, CompletableFuture registries) { + super(generator, registries, TFMG.MOD_ID); + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGMechanicalCraftingRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGMechanicalCraftingRecipeGen.java new file mode 100644 index 00000000..2dca5ee4 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGMechanicalCraftingRecipeGen.java @@ -0,0 +1,148 @@ +package com.drmangotea.tfmg.datagen.recipes.values.create; + +import java.util.concurrent.CompletableFuture; +import java.util.function.UnaryOperator; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.google.common.base.Supplier; +import com.simibubi.create.Create; +import com.simibubi.create.api.data.recipe.MechanicalCraftingRecipeBuilder; +import com.simibubi.create.api.data.recipe.MechanicalCraftingRecipeGen; +import net.createmod.catnip.platform.CatnipServices; +import net.createmod.catnip.registry.RegisteredObjectsHelper; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.ItemLike; + +import static com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider.I.*; + +public class TFMGMechanicalCraftingRecipeGen extends MechanicalCraftingRecipeGen { + + GeneratedRecipe + + ENGINE_CONTROLLER = create(TFMGBlocks.ENGINE_CONTROLLER::get) + .recipe(b -> b + .key('R', rubber()) + .key('S', shaft()) + .key('V', TFMGBlocks.VOLTMETER) + .key('W', copperWire()) + .key('C', heavyMachineryCasing()) + .key('Z', circuitBoard()) + .key('M', steelMechanism()) + .patternLine("RRR") + .patternLine("VSV") + .patternLine("WCW") + .patternLine("ZMZ") + .disallowMirrored()), + + ROTOR = create(TFMGBlocks.ROTOR::get) + .recipe(b -> b + .key('C', TFMGItems.ELECTROMAGNETIC_COIL) + .key('A', aluminumIngot()) + .key('S', steelBlock()) + .patternLine(" CCC ") + .patternLine("CAAAC") + .patternLine("CASAC") + .patternLine("CAAAC") + .patternLine(" CCC ") + .disallowMirrored()), + + STATOR = create(TFMGBlocks.STATOR::get).returns(3) + .recipe(b -> b + .key('C', TFMGItems.ELECTROMAGNETIC_COIL) + .key('A', aluminumSheet()) + .key('W', copperWire()) + .key('M', magnet()) + .key('S', steelBlock()) + .patternLine("CM ") + .patternLine("ACM ") + .patternLine("ASCM") + .patternLine("WAAC") + .disallowMirrored()), + + SIMPLE_LARGE_ENGINE = create(TFMGBlocks.SIMPLE_LARGE_ENGINE::get) + .recipe(b -> b + .key('C', castIronIngot()) + .key('O', steelSheet()) + .key('M', precisionMechanism()) + .patternLine("CCC") + .patternLine("OCO") + .patternLine("OMO") + .patternLine("OCO") + .disallowMirrored()), + + QUAD_POTATO_CANNON = create(TFMGItems.QUAD_POTATO_CANNON::get) + .recipe(b -> b + .key('O', steelIngot()) + .key('C', castIronIngot()) + .key('P', steelPipe()) + .key('M', steelMechanism()) + .patternLine("PMPC") + .patternLine("PMPC") + .patternLine(" O ") + .disallowMirrored()), + + FLAMETHROWER = create(TFMGItems.FLAMETHROWER::get) + .recipe(b -> b + .key('O', steelIngot()) + .key('C', circuitBoard()) + .key('T', steelTank()) + .key('P', steelPipe()) + .key('S', TFMGItems.SPARK_PLUG) + .key('M', steelMechanism()) + .key('B', TFMGBlocks.ALUMINUM_BARS) + .key('W', copperWire()) + .patternLine("BWC ") + .patternLine("PPTM") + .patternLine("S O ") + .disallowMirrored()), + + ADVANCED_POTATO_CANNON = create(TFMGItems.ADVANCED_POTATO_CANNON::get) + .recipe(b -> b + .key('O', rebar()) + .key('C', circuitBoard()) + .key('T', steelTank()) + .key('P', steelPipe()) + .key('M', steelMechanism()) + .patternLine("PPPT") + .patternLine(" MCO") + .disallowMirrored()), + + LARGE_ENGINE = create(TFMGBlocks.LARGE_ENGINE::get) + .recipe((b) -> b + .key('A', aluminumSheet()) + .key('B', aluminumIngot()) + .key('H', heavyPlate()) + .key('S', steelMechanism()) + .key('C', heavyMachineryCasing()) + .key('O', steelIngot()) + .key('T', TFMGBlocks.STEEL_FLUID_TANK.get()) + .patternLine(" O ") + .patternLine(" B ") + .patternLine("AOA") + .patternLine("SCS") + .patternLine("STS") + .patternLine("HHH")), + + SPARK_PLUG = create(TFMGItems.SPARK_PLUG::get) + .recipe(b -> b + .key('F', Items.FLINT) + .key('A', aluminumIngot()) + .patternLine("F") + .patternLine("A") + .disallowMirrored()); + + + + public TFMGMechanicalCraftingRecipeGen(PackOutput output, CompletableFuture registries) { + super(output, registries,TFMG.MOD_ID); + } + + + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGMixingRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGMixingRecipeGen.java new file mode 100644 index 00000000..3782957e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGMixingRecipeGen.java @@ -0,0 +1,143 @@ +package com.drmangotea.tfmg.datagen.recipes.values.create; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.AllRecipeTypes; +import com.simibubi.create.api.data.recipe.MixingRecipeGen; +import com.simibubi.create.content.decoration.palettes.AllPaletteStoneTypes; +import com.simibubi.create.content.processing.recipe.HeatCondition; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; + +import java.util.concurrent.CompletableFuture; + +import static com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider.I.*; +import static com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider.F.*; +public class TFMGMixingRecipeGen extends MixingRecipeGen { + + GeneratedRecipe + + THERMITE = create("thermite", b -> b + .require(AllPaletteStoneTypes.CRIMSITE.getBaseBlock().get()) + .require(AllPaletteStoneTypes.CRIMSITE.getBaseBlock().get()) + .require(aluminumIngot()) + .require(aluminumIngot()) + .output(TFMGItems.THERMITE_POWDER) + ), + + CEMENT = create("cement", b -> b + .require(clayBall()) + .require(limesand()) + .output(cement(),4) + ), + + CONSTANTAN = create("constantan", b -> b + .require(copperIngot()) + .require(nickelIngot()) + .output(TFMGItems.CONSTANTAN_INGOT,2) + .requiresHeat(HeatCondition.HEATED) + ), + + ASPHALT_MIXTURE = create("asphalt_mixture", b -> b + .require(sand()) + .require(bitumen()) + .require(gravel()) + .output(asphaltMixture(),16) + ), + + ASPHALT_MIXTURE_FROM_SLAG = create("asphalt_mixture_from_slag", b -> b + .require(slag()) + .require(bitumen()) + .require(gravel()) + .output(asphaltMixture(),32) + ), + + CONCRETE_MIXTURE = create("concrete_mixture", b -> b + .require(sand()) + .require(cement()) + .require(gravel()) + .output(concreteMixture(),16) + ), + + CONCRETE_MIXTURE_FROM_SLAG = create("concrete_mixture_from_slag", b -> b + .require(slag()) + .require(cement()) + .require(gravel()) + .output(concreteMixture(),32) + ), + + COPPER_SULFATE = create("copper_sulfate", b -> b + .require(sulfuricAcid(),500) + .require(copperIngot()) + .output(copperSulfate()) + ), + + LIQUID_CONCRETE = create("liquid_concrete", b -> b + .require(water(),250) + .require(concreteMixture()) + .output(liquidConcrete(),1000) + ), + + LIQUID_ASPHALT = create("liquid_asphalt", b -> b + .require(water(),250) + .require(asphaltMixture()) + .output(liquidAsphalt(),1000) + ), + + P_SEMICONDUCTOR = create("p_semiconductor", b -> b + .require(aluminumIngot()) + .require(TFMGItems.SILICON_INGOT) + .output(TFMGItems.P_SEMICONDUCTOR) + ), + + N_SEMICONDUCTOR = create("n_semiconductor", b -> b + .require(sulfurDust()) + .require(TFMGItems.SILICON_INGOT) + .output(TFMGItems.N_SEMICONDUCTOR) + ), + + GUNPOWDER = create("gunpowder", b -> b + .require(nitrateDust()) + .require(nitrateDust()) + .require(nitrateDust()) + .require(charcoal()) + .require(charcoal()) + .require(sulfurDust()) + .output(gunpowder(),3) + ), + + NAPALM = create("napalm", b -> b + .require(gasoline(),1000) + .require(aluminumIngot()) + .output(napalm(),250) + ), + + COOLING_FLUID = create("cooling_fluid", b -> b + .require(water(),250) + .require(ethylene(),1000) + .output(coolingFluid(),250) + ), + + MAGNETIC_ALLOY = create("magnetic_alloy", b -> b + .require(nickelIngot()) + .require(nickelIngot()) + .require(TFMGItems.SILICON_INGOT) + .require(steelIngot()) + .require(steelIngot()) + .output(magneticIngot(),2) + .duration(300) + .requiresHeat(HeatCondition.HEATED) + ); + + + + public TFMGMixingRecipeGen(PackOutput generator, CompletableFuture registries) { + super(generator, registries, TFMG.MOD_ID); + } + + @Override + protected AllRecipeTypes getRecipeType() { + return AllRecipeTypes.MIXING; + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGPressingRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGPressingRecipeGen.java new file mode 100644 index 00000000..1b77cf85 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGPressingRecipeGen.java @@ -0,0 +1,42 @@ +package com.drmangotea.tfmg.datagen.recipes.values.create; + +import com.drmangotea.tfmg.TFMG; +import com.simibubi.create.AllRecipeTypes; +import com.simibubi.create.api.data.recipe.PressingRecipeGen; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; + +import java.util.concurrent.CompletableFuture; + +import static com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider.I.*; + +public class TFMGPressingRecipeGen extends PressingRecipeGen { + + GeneratedRecipe + + CAST_IRON_SHEET = create(TFMG.asResource("cast_iron_ingot"), b -> b.require(castIronIngot()) + .output(castIronSheetTFMG())), + + ALUMINUM_SHEET = create(TFMG.asResource("aluminum_ingot"), b -> b.require(aluminumIngot()) + .output(aluminumSheetTFMG())), + + LEAD_SHEET = create(TFMG.asResource("lead_ingot"), b -> b.require(leadIngot()) + .output(leadSheetTFMG())), + + NICKEL_SHEET = create(TFMG.asResource("nickel_ingot"), b -> b.require(nickelIngot()) + .output(nickelSheetTFMG())), + + SYNTHETIC_LEATHER = create(TFMG.asResource("synthetic_leather"), b -> b + .require(rubber()) + .output(syntheticLeather())); + + public TFMGPressingRecipeGen(PackOutput generator, CompletableFuture registries) { + super(generator, registries,TFMG.MOD_ID); + } + + @Override + protected AllRecipeTypes getRecipeType() { + return AllRecipeTypes.PRESSING; + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGSequencedAssemblyRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGSequencedAssemblyRecipeGen.java new file mode 100644 index 00000000..7773925f --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGSequencedAssemblyRecipeGen.java @@ -0,0 +1,130 @@ +package com.drmangotea.tfmg.datagen.recipes.values.create; + + +import com.drmangotea.tfmg.TFMG; + +import com.drmangotea.tfmg.recipes.WindingRecipe; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.api.data.recipe.SequencedAssemblyRecipeGen; +import com.simibubi.create.content.fluids.transfer.FillingRecipe; +import com.simibubi.create.content.kinetics.deployer.DeployerApplicationRecipe; +import com.simibubi.create.content.kinetics.press.PressingRecipe; +import com.simibubi.create.foundation.data.recipe.CreateRecipeProvider; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; + +import java.util.concurrent.CompletableFuture; +import java.util.function.UnaryOperator; + +import static com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider.F.lubricationOil; +import static com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider.I.*; + + +public class TFMGSequencedAssemblyRecipeGen extends SequencedAssemblyRecipeGen { + + GeneratedRecipe POTENTIOMETER = create("potentiometer", b -> b.require(TFMGBlocks.HEAVY_MACHINERY_CASING.get()) + .transitionTo(TFMGItems.UNFINISHED_POTENTIOMETER.get()) + .addOutput(TFMGBlocks.POTENTIOMETER.get(), 120) + .addOutput(TFMGBlocks.STEEL_CASING.get(), 8) + .addOutput(TFMGBlocks.STEEL_COGWHEEL.get(), 8) + .addOutput(TFMGBlocks.ELECTRIC_POST.get(), 8) + .loops(3) + .addStep(WindingRecipe::new, rb -> rb.require(TFMGItems.CONSTANTAN_SPOOL.get()).duration(100)) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(TFMGBlocks.STEEL_COGWHEEL)) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(TFMGItems.COPPER_WIRE)) + .addStep(FillingRecipe::new, rb -> rb.require(lubricationOil(), 50))), + + GENERATOR = create("generator", b -> b.require(shaft()) + .transitionTo(TFMGItems.UNFINISHED_GENERATOR.get()) + .addOutput(TFMGBlocks.GENERATOR.get(), 120) + .addOutput(TFMGBlocks.STEEL_CASING.get(), 8) + .addOutput(TFMGBlocks.STEEL_COGWHEEL.get(), 8) + .addOutput(TFMGItems.CAPACITOR.get(), 8) + .loops(3) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(TFMGItems.CAPACITOR)) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(steelSheet())) + .addStep(WindingRecipe::new, rb -> rb.require(TFMGItems.COPPER_SPOOL.get()).duration(75)) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(magnet())) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(steelMechanism())) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(TFMGItems.SCREWDRIVER)) + ), + + CIRCUIT_BOARD = create("unfinished_circuit_board", b -> b.require(TFMGItems.ETCHED_CIRCUIT_BOARD) + .transitionTo(TFMGItems.UNFINISHED_CIRCUIT_BOARD.get()) + .addOutput(TFMGItems.CIRCUIT_BOARD.get(), 1) + .loops(4) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(TFMGItems.CAPACITOR)) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(TFMGBlocks.RESISTOR)) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(TFMGItems.TRANSISTOR)) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(TFMGBlocks.RESISTOR)) + + ), + + + HEAVY_PLATE = create("heavy_plate", b -> b.require(steelIngot()) + .transitionTo(TFMGItems.UNPROCESSED_HEAVY_PLATE.get()) + .addOutput(TFMGItems.HEAVY_PLATE.get(), 1) + .loops(1) + .addStep(PressingRecipe::new, rb -> rb) + .addStep(PressingRecipe::new, rb -> rb) + .addStep(PressingRecipe::new, rb -> rb) + + ), + + STEEL_MECHANISM = create("steel_mechanism", b -> b.require(TFMGItems.HEAVY_PLATE) + .transitionTo(TFMGItems.UNFINISHED_STEEL_MECHANISM.get()) + .addOutput(TFMGItems.STEEL_MECHANISM.get(), 120) + .addOutput(Items.COMPASS, 4) + .addOutput(TFMGItems.STEEL_INGOT, 4) + .loops(2) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(TFMGBlocks.STEEL_COGWHEEL)) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(TFMGItems.NICKEL_SHEET)) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(TFMGBlocks.LARGE_STEEL_COGWHEEL)) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(TFMGItems.LEAD_SHEET)) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(TFMGItems.SCREW)) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(TFMGItems.SCREWDRIVER)) + + ), + + MOTOR = create("motor", b -> b.require(shaft()) + .transitionTo(TFMGItems.UNFINISHED_ELECTRIC_MOTOR.get()) + .addOutput(TFMGBlocks.ELECTRIC_MOTOR.get(), 120) + .addOutput(TFMGBlocks.STEEL_CASING.get(), 4) + .addOutput(TFMGItems.NICKEL_SHEET.get(), 4) + .loops(3) + .addStep(WindingRecipe::new, rb -> rb.require(TFMGItems.COPPER_SPOOL.get()).duration(75)) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(magnet())) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(steelMechanism())) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(TFMGItems.SCREWDRIVER)) + ), + + TRANSISTOR_PLASTIC = create("transistor", b -> b.require(plasticSheet()) + .transitionTo(TFMGItems.UNFINISHED_TRANSISTOR.get()) + .addOutput(new ItemStack(TFMGItems.TRANSISTOR.get(), 4), 120) + .addOutput(TFMGItems.SILICON_INGOT.get(), 8) + .addOutput(TFMGItems.P_SEMICONDUCTOR.get(), 8) + .addOutput(TFMGItems.N_SEMICONDUCTOR.get(), 8) + .loops(1) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(copperWire())) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(TFMGItems.N_SEMICONDUCTOR)) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(TFMGItems.P_SEMICONDUCTOR)) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(TFMGItems.N_SEMICONDUCTOR))), + CAPACITOR = create("capacitor", b -> b.require(steelSheet()) + .transitionTo(TFMGItems.UNFINISHED_CAPACITOR.get()) + .addOutput(new ItemStack(TFMGItems.CAPACITOR.get(), 4), 1) + .loops(1) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(copperSheet())) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(Items.PAPER)) + .addStep(DeployerApplicationRecipe::new, rb -> rb.require(copperSheet()))); + + public TFMGSequencedAssemblyRecipeGen(PackOutput generator, CompletableFuture registries) { + super(generator, registries,TFMG.MOD_ID); + } + + + + +} diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGCastingRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGCastingRecipeGen.java new file mode 100644 index 00000000..d380acfd --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGCastingRecipeGen.java @@ -0,0 +1,51 @@ +package com.drmangotea.tfmg.datagen.recipes.values.tfmg; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.datagen.recipes.builder.CastingRecipeGen; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.simibubi.create.api.data.recipe.BaseRecipeProvider; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; + +import java.util.concurrent.CompletableFuture; + +public class TFMGCastingRecipeGen extends CastingRecipeGen { + + BaseRecipeProvider.GeneratedRecipe + + STEEL_INGOT = create("steel", b ->b + .require(TFMGFluids.MOLTEN_STEEL.get(),144) + .output(TFMGItems.STEEL_INGOT) + .duration(200)), + + + PLASTIC_SHEET = create("plastic_sheet", b ->b + .require(TFMGFluids.MOLTEN_PLASTIC.get(),200) + .output(TFMGItems.PLASTIC_SHEET) + .duration(100)), + + SLAG_BLOCK = create("slag_block", b ->b + .require(TFMGFluids.MOLTEN_SLAG.get(),20) + .output(TFMGBlocks.SLAG_BLOCK) + .duration(50)), + + CINDERBLOCK = create("cinderblock", b ->b + .require(TFMGFluids.LIQUID_CONCRETE.get(),144) + .output(TFMGItems.CINDERBLOCK) + .duration(50)), + + SILICON = create("silicon", b ->b + .require(TFMGFluids.LIQUID_SILICON.get(),144) + .output(TFMGItems.SILICON_INGOT) + .duration(200)); + +; + public TFMGCastingRecipeGen(PackOutput generator, CompletableFuture registries) { + super(generator, registries,TFMG.MOD_ID); + } + + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGCokingRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGCokingRecipeGen.java new file mode 100644 index 00000000..ccb06b7c --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGCokingRecipeGen.java @@ -0,0 +1,45 @@ +package com.drmangotea.tfmg.datagen.recipes.values.tfmg; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.datagen.recipes.builder.CokingRecipeGen; +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.world.item.Items; +import net.neoforged.neoforge.fluids.FluidStack; + +import java.util.concurrent.CompletableFuture; + +import static com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider.I.log; + +public class TFMGCokingRecipeGen extends CokingRecipeGen { + + GeneratedRecipe + + COAL_COKE = create(TFMG.asResource("coal"), b ->b + .require(Items.COAL) + .output(new FluidStack(TFMGFluids.CREOSOTE.get(), 1)) + .output(new FluidStack(TFMGFluids.CARBON_DIOXIDE.get(), 30)) + .output(TFMGItems.COAL_COKE) + .duration(20*60)), + + CHARCOAL = create(TFMG.asResource("charcoal"), b ->b + .require(log()) + .output(new FluidStack(TFMGFluids.CREOSOTE.get(), 2)) + .output(new FluidStack(TFMGFluids.CARBON_DIOXIDE.get(), 20)) + .output(Items.CHARCOAL) + .duration(20*30)); +; + + + + public TFMGCokingRecipeGen(PackOutput generator, CompletableFuture registries) { + super(generator, registries,TFMG.MOD_ID); + } + + + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGDistillationRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGDistillationRecipeGen.java new file mode 100644 index 00000000..755c5cc3 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGDistillationRecipeGen.java @@ -0,0 +1,71 @@ +package com.drmangotea.tfmg.datagen.recipes.values.tfmg; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.datagen.recipes.builder.DistillationRecipeGen; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; + +import java.util.concurrent.CompletableFuture; + +import static com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider.F.*; + +public class TFMGDistillationRecipeGen extends DistillationRecipeGen { + + GeneratedRecipe + + CRUDE_OIL = create(TFMG.asResource("crude_oil"), b ->b + .require(crudeOil(),340) + .output(heavyOil(), 120) + .output(diesel(), 60) + .output(kerosene(), 30) + .output(naphtha(), 10) + .output(gasoline(), 60) + .output(lpg(), 60)), + CRUDE_OIL_NO_NAPHTHA = create(TFMG.asResource("crude_oil_no_naphtha"), b ->b + .require(crudeOil(),330) + .output(heavyOil(), 120) + .output(diesel(), 60) + .output(kerosene(), 30) + .output(gasoline(), 60) + .output(lpg(), 60)), + CRUDE_OIL_LIGHT_DISTILLATION = create(TFMG.asResource("crude_oil_light_distillation"), b ->b + .require(crudeOil(),200) + .output(heavyOil(), 150) + .output(diesel(), 45) + .output(gasoline(), 5)), + + + HEAVY_OIL = create(TFMG.asResource("heavy_oil"), b ->b + .require(heavyOil(),200) + .output(heavyOil(), 100) + .output(lubricationOil(), 25) + .output(diesel(), 50) + .output(kerosene(), 20) + .output(naphtha(), 5)), + + HEAVY_OIL_NO_NAPHTHA = create(TFMG.asResource("heavy_oil_no_naphtha"), b ->b + .require(heavyOil(),200) + .output(heavyOil(), 100) + .output(lubricationOil(), 30) + .output(diesel(), 50) + .output(kerosene(), 20)), + + HEAVY_OIL_LIGHT_DISTILLATION = create(TFMG.asResource("heavy_oil_light_distillation"), b ->b + .require(heavyOil(),200) + .output(heavyOil(), 100) + .output(diesel(), 50) + .output(lubricationOil(), 50)); + + +; + public TFMGDistillationRecipeGen(PackOutput generator, CompletableFuture registries) { + super(generator, registries,TFMG.MOD_ID); + } + + @Override + protected TFMGRecipeTypes getRecipeType() { + return TFMGRecipeTypes.DISTILLATION; + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGHotBlastRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGHotBlastRecipeGen.java new file mode 100644 index 00000000..a9d11e8d --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGHotBlastRecipeGen.java @@ -0,0 +1,29 @@ +package com.drmangotea.tfmg.datagen.recipes.values.tfmg; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.datagen.recipes.builder.HotBlastRecipeGen; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.drmangotea.tfmg.registry.TFMGTags; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; + +import java.util.concurrent.CompletableFuture; + +import static com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider.F.*; + +public class TFMGHotBlastRecipeGen extends HotBlastRecipeGen { + + GeneratedRecipe + + + HOT_AIR = create(TFMG.asResource("hot_air"), b ->b + .require(air(),25) + .require(TFMGTags.TFMGFluidTags.BLAST_STOVE_FUEL.tag,5) + .output(hotAir(), 25) + .output(carbonDioxide(), 25) + .duration(200)); + public TFMGHotBlastRecipeGen(PackOutput generator, CompletableFuture registries) { + super(generator, registries,TFMG.MOD_ID); + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGIndustrialBlastingRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGIndustrialBlastingRecipeGen.java new file mode 100644 index 00000000..14aae361 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGIndustrialBlastingRecipeGen.java @@ -0,0 +1,75 @@ +package com.drmangotea.tfmg.datagen.recipes.values.tfmg; + + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.datagen.recipes.builder.IndustrialBlastingRecipeGen; +import com.drmangotea.tfmg.recipes.IndustrialBlastingRecipe; +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.drmangotea.tfmg.registry.TFMGTags; +import com.simibubi.create.AllItems; +import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.crafting.Ingredient; + +import java.util.concurrent.CompletableFuture; + +import static com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider.I.ironDust; + + +public class TFMGIndustrialBlastingRecipeGen extends IndustrialBlastingRecipeGen { + + + GeneratedRecipe + + SILICON = create("silicon", b -> ((IndustrialBlastingRecipe.Builder)b) + .require(Items.QUARTZ) + .output(TFMGFluids.LIQUID_SILICON.get(),40) + .duration(5) + ), + + STEEL = create("steel", b -> ((IndustrialBlastingRecipe.Builder)b) + .require(AllItems.CRUSHED_IRON) + .require(TFMGTags.TFMGItemTags.FLUX.tag) + .output(TFMGFluids.MOLTEN_STEEL.get(),144) + .output(TFMGFluids.MOLTEN_SLAG.get(),144) + .output(TFMGFluids.FURNACE_GAS.get(),200) + .duration(20) + .hotAirUsage(20) + ), + STEEL_DOUBLE = create("steel_from_raw_iron", b -> ((IndustrialBlastingRecipe.Builder)b) + .require(Items.RAW_IRON) + .require(Ingredient.of(TFMGTags.TFMGItemTags.FLUX.tag)) + .output(TFMGFluids.MOLTEN_STEEL.get(),288) + .output(TFMGFluids.MOLTEN_SLAG.get(),288) + .output(TFMGFluids.FURNACE_GAS.get(),200) + .duration(40) + .hotAirUsage(40) + ), + + + STEEL_DUST = create("steel_from_dust", b -> ((IndustrialBlastingRecipe.Builder)b) + .require(ironDust()) + .require(TFMGTags.TFMGItemTags.FLUX.tag) + .output(TFMGFluids.MOLTEN_STEEL.get(),144) + .output(TFMGFluids.MOLTEN_SLAG.get(),144) + .output(TFMGFluids.FURNACE_GAS.get(),20) + .duration(20) + .hotAirUsage(20) + ) + + + + ; + + + public TFMGIndustrialBlastingRecipeGen(PackOutput generator, CompletableFuture registries) { + super(generator, registries, TFMG.MOD_ID); + } + + + + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGPolarizingRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGPolarizingRecipeGen.java new file mode 100644 index 00000000..506963e5 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGPolarizingRecipeGen.java @@ -0,0 +1,24 @@ +package com.drmangotea.tfmg.datagen.recipes.values.tfmg; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.datagen.recipes.builder.PolarizingRecipeGen; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; + +import java.util.concurrent.CompletableFuture; + +public class TFMGPolarizingRecipeGen extends PolarizingRecipeGen { + + GeneratedRecipe + + MAGNET = create(TFMG.asResource("magnet"), b ->b + .require(TFMGItems.MAGNETIC_ALLOY_INGOT) + .output(TFMGItems.MAGNET)); +; + public TFMGPolarizingRecipeGen(PackOutput generator, CompletableFuture registries) { + super(generator, registries,TFMG.MOD_ID); + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGVatRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGVatRecipeGen.java new file mode 100644 index 00000000..24c9f628 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGVatRecipeGen.java @@ -0,0 +1,205 @@ +package com.drmangotea.tfmg.datagen.recipes.values.tfmg; + + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.datagen.recipes.builder.VatRecipeGen; +import com.drmangotea.tfmg.recipes.VatMachineRecipe; +import com.drmangotea.tfmg.recipes.VatRecipeParams; +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.drmangotea.tfmg.registry.TFMGTags; +import com.simibubi.create.content.processing.recipe.HeatCondition; +import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.material.Fluids; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.CompletableFuture; + +import static com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider.F.*; +import static com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider.I.*; + +public class TFMGVatRecipeGen extends VatRecipeGen { + public TFMGVatRecipeGen(PackOutput generator, CompletableFuture registries) { + super(generator, registries, TFMG.MOD_ID); + } + + + + GeneratedRecipe + CONCRETE = create("concrete", b -> ((VatMachineRecipe.Builder) b) + .require(Blocks.SAND.asItem()) + .require(Blocks.GRAVEL.asItem()) + .require(TFMGItems.LIMESAND) + .require(Fluids.WATER, 250) + .output(TFMGFluids.LIQUID_CONCRETE.get(), 1000) + .values(mixing()) + ), + ARC_FURNACE_STEEL = create("arc_furnace_steel", b -> ((VatMachineRecipe.Builder) b) + .require(crushedRawIron()) + .require(TFMGTags.TFMGItemTags.FLUX.tag) + .require(TFMGItems.COAL_COKE_DUST) + .output(0.9f,TFMGItems.COAL_COKE_DUST) + .output(TFMGFluids.MOLTEN_STEEL.get(), 144) + .output(TFMGFluids.MOLTEN_SLAG.get(), 288) + .duration(20) + .values(arcBlasting())), + NEON = create("neon", b -> ((VatMachineRecipe.Builder) b) + .require(TFMGFluids.AIR.get(), 1000) + .output(TFMGFluids.NEON.get(), 1) + .duration(10) + .values(centrifuge())), + SULFURIC_ACID = create("sulfuric_acid", b -> ((VatMachineRecipe.Builder) b) + .require(water(), 1000) + .require(sulfurDust()) + .require(sulfurDust()) + .require(sulfurDust()) + .require(nitrateDust()) + .output(sulfuricAcid(), 500) + .values(mixing())), + + RUBBER = create("rubber", b -> ((VatMachineRecipe.Builder) b) + .require(heavyOil(), 250) + .require(sulfurDust()) + .output(rubber()) + .requiresHeat(HeatCondition.HEATED) + .values(mixing())), + + NAPHTHA = create("naphtha", b -> ((VatMachineRecipe.Builder) b) + .require(naphtha(), 500) + .output(ethylene(), 250) + .output(propylene(), 250) + .requiresHeat(HeatCondition.HEATED) + .values(mixing())), + + PLASTIC_FROM_ETHYLENE = create("plastic_from_ethylene", b -> ((VatMachineRecipe.Builder) b) + .require(ethylene(), 500) + .output(liquidPlastic(), 500) + .requiresHeat(HeatCondition.HEATED) + .values(mixing())), + PLASTIC_FROM_PROPYLENE = create("plastic_from_propylene", b -> ((VatMachineRecipe.Builder) b) + .require(propylene(), 500) + .output(liquidPlastic(), 500) + .requiresHeat(HeatCondition.HEATED) + .values(mixing())), + ETCHED_CIRCUIT_BOARD = create("etched_circuit_board", b -> ((VatMachineRecipe.Builder) b) + .require(TFMGItems.COATED_CIRCUIT_BOARD) + .require(TFMGFluids.SULFURIC_ACID.getSource(), 250) + .output(TFMGItems.ETCHED_CIRCUIT_BOARD) + .duration(100) + .values(noMachines())), + ALUMINUM = create("aluminum", b -> ((VatMachineRecipe.Builder) b) + .require(TFMGItems.BAUXITE_POWDER) + .require(TFMGItems.BAUXITE_POWDER) + .require(TFMGItems.BAUXITE_POWDER) + .require(TFMGItems.BAUXITE_POWDER) + .output(TFMGItems.ALUMINUM_INGOT) + .output(.5f, TFMGItems.ALUMINUM_NUGGET, 4) + .output(.25f, TFMGItems.ALUMINUM_NUGGET, 2) + .output(TFMGFluids.CARBON_DIOXIDE.get(), 500) + .duration(100) + .requiresHeat(HeatCondition.HEATED) + .values(electrolysis())); + //DEBUG_5 = createVatRecipe("debug_5", b -> ((VatMachineRecipe.Builder) b) + // .require(Blocks.GOLD_BLOCK.asItem()) + // .require(Blocks.DIAMOND_BLOCK.asItem()) + // .require(Blocks.IRON_BLOCK.asItem()) + // .require(Blocks.COAL_BLOCK.asItem()) + // .require(TFMGFluids.LIQUID_CONCRETE.getSource(), 1) + // .require(TFMGFluids.HEAVY_OIL.getSource(), 1) + // .require(TFMGFluids.COOLING_FLUID.getSource(), 1) + // .require(TFMGFluids.CRUDE_OIL.getSource(), 1) + // .output(TFMGFluids.LIQUID_CONCRETE.get(), 1) + // .output(TFMGFluids.HEAVY_OIL.get(), 1) + // .output(TFMGFluids.COOLING_FLUID.get(), 1) + // .output(TFMGFluids.CRUDE_OIL.get(), 1) + // .output(Items.EGG) + // .output(Items.ARROW) + // .output(Items.DIAMOND) + // .output(Items.STRING) + // , mixing()); +; + + /// //// + public VatRecipeValues electrolysis() { + VatRecipeValues params = new VatRecipeValues(); + params.machines.add("tfmg:electrode"); + params.machines.add("tfmg:electrode"); + params.allowedVatTypes = new ArrayList<>(); + params.allowedVatTypes.add("tfmg:steel_vat"); + params.allowedVatTypes.add("tfmg:firebrick_lined_vat"); + return params; + } + + public VatRecipeValues mixing() { + VatRecipeValues params = new VatRecipeValues(); + params.machines.add("tfmg:mixing"); + params.allowedVatTypes = new ArrayList<>(); + params.allowedVatTypes.add("tfmg:steel_vat"); + params.allowedVatTypes.add("tfmg:firebrick_lined_vat"); + return params; + } + + public VatRecipeValues centrifuge() { + VatRecipeValues params = new VatRecipeValues(); + params.machines.add("tfmg:centrifuge"); + return params; + } + + public VatRecipeValues noMachines() { + VatRecipeValues params = new VatRecipeValues(); + params.machines = new ArrayList<>(); + params.allowedVatTypes = new ArrayList<>(); + params.allowedVatTypes.add("tfmg:steel_vat"); + params.allowedVatTypes.add("tfmg:cast_iron_vat"); + params.allowedVatTypes.add("tfmg:firebrick_lined_vat"); + params.minSize = 0; + return params; + } + + public VatRecipeValues freezing() { + VatRecipeValues params = new VatRecipeValues(); + params.machines.add("tfmg:freezing"); + return params; + } + + public VatRecipeValues intenseFreezing() { + VatRecipeValues params = new VatRecipeValues(); + params.machines.add("tfmg:freezing"); + params.machines.add("tfmg:freezing"); + params.machines.add("tfmg:freezing"); + return params; + } + + public VatRecipeValues arcBlasting() { + VatRecipeValues params = new VatRecipeValues(); + params.machines.add("tfmg:graphite_electrode"); + params.machines.add("tfmg:graphite_electrode"); + params.machines.add("tfmg:graphite_electrode"); + params.minSize = 9; + params.allowedVatTypes = new ArrayList<>(); + params.allowedVatTypes.add("tfmg:firebrick_lined_vat"); + return params; + } + public static class VatRecipeValues{ + + public List machines; + public int minSize; + public List allowedVatTypes; + + public VatRecipeValues(){ + machines = new ArrayList<>(); + minSize = 1; + allowedVatTypes = new ArrayList<>(); + allowedVatTypes.add("tfmg:steel_vat"); + allowedVatTypes.add("tfmg:cast_iron_vat"); + allowedVatTypes.add("tfmg:firebrick_lined_vat"); + } + + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGWindingRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGWindingRecipeGen.java new file mode 100644 index 00000000..79b08f61 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGWindingRecipeGen.java @@ -0,0 +1,39 @@ +package com.drmangotea.tfmg.datagen.recipes.values.tfmg; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.datagen.recipes.builder.WindingRecipeGen; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.simibubi.create.api.data.recipe.WashingRecipeGen; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; + +import java.util.concurrent.CompletableFuture; + +import static com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider.I.coil100Turns; +import static com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider.I.resistor10Ohms; + + +public class TFMGWindingRecipeGen extends WindingRecipeGen { + + GeneratedRecipe + + + ELECTROMAGNETIC_COIL = create("electromagnetic_coil", b ->b + .require(TFMGItems.UNFINISHED_ELECTROMAGNETIC_COIL) + .require(TFMGItems.COPPER_SPOOL) + .output(coil100Turns()) + .duration(100)), + RESISTOR = create("resistor", b ->b + .require(TFMGItems.UNFINISHED_RESISTOR) + .require(TFMGItems.CONSTANTAN_SPOOL) + .output(resistor10Ohms()) + .duration(50)) +; + public TFMGWindingRecipeGen(PackOutput generator, CompletableFuture registries) { + super(generator, registries, TFMG.MOD_ID); + } + + + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/mixin/FluidPipeBlockMixin.java b/src/main/java/com/drmangotea/tfmg/mixin/FluidPipeBlockMixin.java new file mode 100644 index 00000000..ca2a7fe2 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/mixin/FluidPipeBlockMixin.java @@ -0,0 +1,380 @@ +package com.drmangotea.tfmg.mixin; + + +import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipeBlockEntity; +import com.mojang.serialization.MapCodec; +import com.simibubi.create.AllBlockEntityTypes; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.api.contraption.transformable.TransformableBlock; +import com.simibubi.create.content.contraptions.StructureTransform; +import com.simibubi.create.content.decoration.bracket.BracketedBlockEntityBehaviour; +import com.simibubi.create.content.decoration.encasing.EncasableBlock; +import com.simibubi.create.content.equipment.wrench.IWrenchableWithBracket; +import com.simibubi.create.content.fluids.FluidPropagator; +import com.simibubi.create.content.fluids.FluidTransportBehaviour; +import com.simibubi.create.content.fluids.pipes.*; +import com.simibubi.create.foundation.advancement.AdvancementBehaviour; +import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.block.IBE; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import net.createmod.catnip.data.Iterate; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.Direction.Axis; +import net.minecraft.network.protocol.game.DebugPackets; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.RandomSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.*; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition.Builder; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.level.material.Fluids; +import net.minecraft.world.level.pathfinder.PathComputationType; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.Vec3; +import net.minecraft.world.phys.shapes.VoxelShape; +import net.minecraft.world.ticks.TickPriority; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Overwrite; +import org.spongepowered.asm.mixin.Shadow; + +import javax.annotation.Nullable; +import java.util.Arrays; +import java.util.Optional; +@Mixin(FluidPipeBlock.class) +public abstract class FluidPipeBlockMixin extends PipeBlock implements SimpleWaterloggedBlock, IWrenchableWithBracket, + IBE, EncasableBlock, TransformableBlock { + + private static final VoxelShape OCCLUSION_BOX = Block.box(4, 4, 4, 12, 12, 12); + + public FluidPipeBlockMixin(Properties properties) { + super(4 / 16f, properties); + this.registerDefaultState(super.defaultBlockState().setValue(BlockStateProperties.WATERLOGGED, false)); + } + + @Override + public InteractionResult onWrenched(BlockState state, UseOnContext context) { + if (tryRemoveBracket(context)) + return InteractionResult.SUCCESS; + + Level world = context.getLevel(); + BlockPos pos = context.getClickedPos(); + Direction clickedFace = context.getClickedFace(); + + Axis axis = getAxis(world, pos, state); + if (axis == null) { + Vec3 clickLocation = context.getClickLocation() + .subtract(pos.getX(), pos.getY(), pos.getZ()); + double closest = Float.MAX_VALUE; + Direction argClosest = Direction.UP; + for (Direction direction : Iterate.directions) { + if (clickedFace.getAxis() == direction.getAxis()) + continue; + Vec3 centerOf = Vec3.atCenterOf(direction.getNormal()); + double distance = centerOf.distanceToSqr(clickLocation); + if (distance < closest) { + closest = distance; + argClosest = direction; + } + } + axis = argClosest.getAxis(); + } + + if (clickedFace.getAxis() == axis) + return InteractionResult.PASS; + if (!world.isClientSide) { + withBlockEntityDo(world, pos, fpte -> fpte.getBehaviour(FluidTransportBehaviour.TYPE).interfaces.values() + .stream() + .filter(pc -> pc != null && pc.hasFlow()) + .findAny() + .ifPresent($ -> AllAdvancements.GLASS_PIPE.awardTo(context.getPlayer()))); + + FluidTransportBehaviour.cacheFlows(world, pos); + world.setBlockAndUpdate(pos, AllBlocks.GLASS_FLUID_PIPE.getDefaultState() + .setValue(GlassFluidPipeBlock.AXIS, axis) + .setValue(BlockStateProperties.WATERLOGGED, state.getValue(BlockStateProperties.WATERLOGGED))); + FluidTransportBehaviour.loadFlows(world, pos); + } + return InteractionResult.SUCCESS; + } + + @Override + public void setPlacedBy(Level pLevel, BlockPos pPos, BlockState pState, LivingEntity pPlacer, ItemStack pStack) { + super.setPlacedBy(pLevel, pPos, pState, pPlacer, pStack); + AdvancementBehaviour.setPlacedBy(pLevel, pPos, pPlacer); + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand, BlockHitResult ray) { + ItemStack heldItem = player.getItemInHand(hand); + ItemInteractionResult result = tryEncase(state, world, pos, heldItem, player, hand, ray); + if (result.consumesAction()) + return result; + + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + } + + public BlockState getAxisState(Axis axis) { + BlockState defaultState = defaultBlockState(); + for (Direction d : Iterate.directions) + defaultState = defaultState.setValue(PROPERTY_BY_DIRECTION.get(d), d.getAxis() == axis); + return defaultState; + } + + @Nullable + private Axis getAxis(BlockGetter world, BlockPos pos, BlockState state) { + return FluidPropagator.getStraightPipeAxis(state); + } + + @Override + public void onRemove(BlockState state, Level world, BlockPos pos, BlockState newState, boolean isMoving) { + boolean blockTypeChanged = state.getBlock() != newState.getBlock(); + if (blockTypeChanged && !world.isClientSide) + FluidPropagator.propagateChangedPipe(world, pos, state); + if (state != newState && !isMoving) + removeBracket(world, pos, true).ifPresent(stack -> Block.popResource(world, pos, stack)); + if (state.hasBlockEntity() && (blockTypeChanged || !newState.hasBlockEntity())) + world.removeBlockEntity(pos); + } + + @Override + public void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean isMoving) { + if (world.isClientSide) + return; + if (state != oldState) + world.scheduleTick(pos, this, 1, TickPriority.HIGH); + } + + @Override + public void neighborChanged(BlockState state, Level world, BlockPos pos, Block otherBlock, BlockPos neighborPos, + boolean isMoving) { + DebugPackets.sendNeighborsUpdatePacket(world, pos); + Direction d = FluidPropagator.validateNeighbourChange(state, world, pos, otherBlock, neighborPos, isMoving); + if (d == null) + return; + if (!isOpenAt(state, d)) + return; + world.scheduleTick(pos, this, 1, TickPriority.HIGH); + } + + @Override + public void tick(BlockState state, ServerLevel world, BlockPos pos, RandomSource r) { + FluidPropagator.propagateChangedPipe(world, pos, state); + } + @Shadow + public static boolean isPipe(BlockState state) { + return state.getBlock() instanceof FluidPipeBlockMixin; + } + @Shadow + public static boolean canConnectTo(BlockAndTintGetter world, BlockPos neighbourPos, BlockState neighbour, + Direction direction) { + if (FluidPropagator.hasFluidCapability(world, neighbourPos, direction.getOpposite())) + return true; + if (VanillaFluidTargets.canProvideFluidWithoutCapability(neighbour)) + return true; + FluidTransportBehaviour transport = BlockEntityBehaviour.get(world, neighbourPos, FluidTransportBehaviour.TYPE); + BracketedBlockEntityBehaviour bracket = + BlockEntityBehaviour.get(world, neighbourPos, BracketedBlockEntityBehaviour.TYPE); + if (isPipe(neighbour)) + return bracket == null || !bracket.isBracketPresent() + || FluidPropagator.getStraightPipeAxis(neighbour) == direction.getAxis(); + if (transport == null) + return false; + return transport.canHaveFlowToward(neighbour, direction.getOpposite()); + } + @Shadow + public static boolean shouldDrawRim(BlockAndTintGetter world, BlockPos pos, BlockState state, Direction direction) { + BlockPos offsetPos = pos.relative(direction); + BlockState facingState = world.getBlockState(offsetPos); + if (facingState.getBlock() instanceof EncasedPipeBlock) + return true; + if (!isPipe(facingState)) + return true; + if (!canConnectTo(world, offsetPos, facingState, direction)) + return true; + return false; + } + @Shadow + public static boolean isOpenAt(BlockState state, Direction direction) { + return state.getValue(PROPERTY_BY_DIRECTION.get(direction)); + } + @Shadow + public static boolean isCornerOrEndPipe(BlockAndTintGetter world, BlockPos pos, BlockState state) { + return isPipe(state) && FluidPropagator.getStraightPipeAxis(state) == null + && !shouldDrawCasing(world, pos, state); + } + @Shadow + public static boolean shouldDrawCasing(BlockAndTintGetter world, BlockPos pos, BlockState state) { + if (!isPipe(state)) + return false; + for (Axis axis : Iterate.axes) { + int connections = 0; + for (Direction direction : Iterate.directions) + if (direction.getAxis() != axis && isOpenAt(state, direction)) + connections++; + if (connections > 2) + return true; + } + return false; + } + + @Override + protected void createBlockStateDefinition(Builder builder) { + builder.add(NORTH, EAST, SOUTH, WEST, UP, DOWN, BlockStateProperties.WATERLOGGED); + super.createBlockStateDefinition(builder); + } + + @Override + public BlockState getStateForPlacement(BlockPlaceContext context) { + FluidState FluidState = context.getLevel() + .getFluidState(context.getClickedPos()); + return updateBlockState(defaultBlockState(), context.getNearestLookingDirection(), null, context.getLevel(), + context.getClickedPos()).setValue(BlockStateProperties.WATERLOGGED, + Boolean.valueOf(FluidState.getType() == Fluids.WATER)); + } + + @Override + public BlockState updateShape(BlockState state, Direction direction, BlockState neighbourState, LevelAccessor world, + BlockPos pos, BlockPos neighbourPos) { + if (state.getValue(BlockStateProperties.WATERLOGGED)) + world.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(world)); + if (isOpenAt(state, direction) && neighbourState.hasProperty(BlockStateProperties.WATERLOGGED)) + world.scheduleTick(pos, this, 1, TickPriority.HIGH); + return updateBlockState(state, direction, direction.getOpposite(), world, pos); + } + /** + * @author DrMangoTea + * @reason locked pipes + */ + @Overwrite( remap = false) + public BlockState updateBlockState(BlockState state, Direction preferredDirection, @Nullable Direction ignore, + BlockAndTintGetter world, BlockPos pos) { + BracketedBlockEntityBehaviour bracket = BlockEntityBehaviour.get(world, pos, BracketedBlockEntityBehaviour.TYPE); + if (bracket != null && bracket.isBracketPresent()) + return state; + + BlockState prevState = state; + int prevStateSides = (int) Arrays.stream(Iterate.directions) + .map(PROPERTY_BY_DIRECTION::get) + .filter(prevState::getValue) + .count(); + + + // Update sides that are not ignored + for (Direction d : Iterate.directions) + if (d != ignore) { + boolean shouldConnect = canConnectTo(world, pos.relative(d), world.getBlockState(pos.relative(d)), d); + + if(world.getBlockEntity(pos.relative(d)) instanceof TFMGPipeBlockEntity) { + if (((TFMGPipeBlockEntity) world.getBlockEntity(pos.relative(d))).locked) { + shouldConnect = false; + + + if(world.getBlockState(pos.relative(d)).getValue(PROPERTY_BY_DIRECTION.get(d.getOpposite()))){ + shouldConnect =true; + } + } + + + } + state = state.setValue(PROPERTY_BY_DIRECTION.get(d), shouldConnect); + } + + // See if it has enough connections + Direction connectedDirection = null; + for (Direction d : Iterate.directions) { + if (isOpenAt(state, d)) { + if (connectedDirection != null) + return state; + connectedDirection = d; + } + } + + // Add opposite end if only one connection + if (connectedDirection != null) + return state.setValue(PROPERTY_BY_DIRECTION.get(connectedDirection.getOpposite()), true); + + // If we can't connect to anything and weren't connected before, do nothing + if (prevStateSides == 2) + return prevState; + + // Use preferred + return state.setValue(PROPERTY_BY_DIRECTION.get(preferredDirection), true) + .setValue(PROPERTY_BY_DIRECTION.get(preferredDirection.getOpposite()), true); + } + + @Override + public FluidState getFluidState(BlockState state) { + return state.getValue(BlockStateProperties.WATERLOGGED) ? Fluids.WATER.getSource(false) + : Fluids.EMPTY.defaultFluidState(); + } + + @Override + public Optional removeBracket(BlockGetter world, BlockPos pos, boolean inOnReplacedContext) { + BracketedBlockEntityBehaviour behaviour = + BracketedBlockEntityBehaviour.get(world, pos, BracketedBlockEntityBehaviour.TYPE); + if (behaviour == null) + return Optional.empty(); + BlockState bracket = behaviour.removeBracket(inOnReplacedContext); + if (bracket == null) + return Optional.empty(); + return Optional.of(new ItemStack(bracket.getBlock())); + } + + @Override + protected boolean isPathfindable(BlockState state, PathComputationType pathComputationType) { + return false; + } + + @Override + public Class getBlockEntityClass() { + return FluidPipeBlockEntity.class; + } + + @Override + public BlockEntityType getBlockEntityType() { + return AllBlockEntityTypes.FLUID_PIPE.get(); + } + + @Override + public boolean supportsExternalFaceHiding(BlockState state) { + return false; + } + + @Override + public VoxelShape getOcclusionShape(BlockState pState, BlockGetter pLevel, BlockPos pPos) { + return OCCLUSION_BOX; + } + + @Override + public BlockState rotate(BlockState pState, Rotation pRotation) { + return FluidPipeBlockRotation.rotate(pState, pRotation); + } + + @Override + public BlockState mirror(BlockState pState, Mirror pMirror) { + return FluidPipeBlockRotation.mirror(pState, pMirror); + } + + @Override + public BlockState transform(BlockState state, StructureTransform transform) { + return FluidPipeBlockRotation.transform(state, transform); + } + + @Override + protected abstract MapCodec codec() ; +} diff --git a/src/main/java/com/drmangotea/tfmg/mixin/FluidPropagatorMixin.java b/src/main/java/com/drmangotea/tfmg/mixin/FluidPropagatorMixin.java new file mode 100644 index 00000000..1869ad56 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/mixin/FluidPropagatorMixin.java @@ -0,0 +1,202 @@ +package com.drmangotea.tfmg.mixin; + +import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipes; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllTags; +import com.simibubi.create.content.fluids.FluidPropagator; +import com.simibubi.create.content.fluids.FluidTransportBehaviour; +import com.simibubi.create.content.fluids.pipes.AxisPipeBlock; +import com.simibubi.create.content.fluids.pipes.FluidPipeBlock; +import com.simibubi.create.content.fluids.pipes.VanillaFluidTargets; +import com.simibubi.create.content.fluids.pump.PumpBlock; +import com.simibubi.create.content.fluids.pump.PumpBlockEntity; +import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.advancement.CreateAdvancement; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.utility.BlockHelper; +import net.createmod.catnip.data.Iterate; + +import com.simibubi.create.infrastructure.config.AllConfigs; +import net.createmod.catnip.data.Pair; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Overwrite; +import org.spongepowered.asm.mixin.Shadow; + +import javax.annotation.Nullable; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +@Mixin(FluidPropagator.class) +public class FluidPropagatorMixin { + @Shadow + public static CreateAdvancement[] getSharedTriggers() { + return new CreateAdvancement[] { AllAdvancements.WATER_SUPPLY, AllAdvancements.CROSS_STREAMS, + AllAdvancements.HONEY_DRAIN }; + } + + + /** + * @author DrMangoTea + * @reason felt like it + */ + @Overwrite( remap = false) + public static void propagateChangedPipe(LevelAccessor world, BlockPos pipePos, BlockState pipeState) { + List> frontier = new ArrayList<>(); + Set visited = new HashSet<>(); + Set> discoveredPumps = new HashSet<>(); + + frontier.add(Pair.of(0, pipePos)); + + + // Visit all connected pumps to update their network + while (!frontier.isEmpty()) { + + Pair pair = frontier.remove(0); + BlockPos currentPos = pair.getSecond(); + if (visited.contains(currentPos)) + continue; + visited.add(currentPos); + BlockState currentState = currentPos.equals(pipePos) ? pipeState : world.getBlockState(currentPos); + FluidTransportBehaviour pipe = getPipe(world, currentPos); + if (pipe == null) + continue; + pipe.wipePressure(); + + for (Direction direction : getPipeConnections(currentState, pipe)) { + BlockPos target = currentPos.relative(direction); + if (world instanceof Level l && !l.isLoaded(target)) + continue; + + BlockEntity tileEntity = world.getBlockEntity(target); + BlockState targetState = world.getBlockState(target); + if (tileEntity instanceof PumpBlockEntity) { + + + + if (!AllBlocks.MECHANICAL_PUMP.has(targetState)&& + !TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(3).has(targetState)&& + !TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(3).has(targetState)&& + !TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(3).has(targetState)&& + !TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(3).has(targetState)&& + !TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(3).has(targetState) + + && + !TFMGBlocks.ELECTRIC_PUMP.has(targetState) + || targetState.getValue(PumpBlock.FACING) + .getAxis() != direction.getAxis()) + continue; + + + + + discoveredPumps.add(Pair.of((PumpBlockEntity) tileEntity, direction.getOpposite())); + continue; + } + if (visited.contains(target)) + continue; + FluidTransportBehaviour targetPipe = getPipe(world, target); + if (targetPipe == null) + continue; + Integer distance = pair.getFirst(); + if (distance >= getPumpRange() && !targetPipe.hasAnyPressure()) + continue; + if (targetPipe.canHaveFlowToward(targetState, direction.getOpposite())) + frontier.add(Pair.of(distance + 1, target)); + } + } + + discoveredPumps.forEach(pair -> pair.getFirst() + .updatePipesOnSide(pair.getSecond())); + } + + @Shadow + public static FluidTransportBehaviour getPipe(BlockGetter reader, BlockPos pos) { + return BlockEntityBehaviour.get(reader, pos, FluidTransportBehaviour.TYPE); + } + @Shadow + public static boolean isOpenEnd(BlockGetter reader, BlockPos pos, Direction side) { + BlockPos connectedPos = pos.relative(side); + BlockState connectedState = reader.getBlockState(connectedPos); + FluidTransportBehaviour pipe = FluidPropagator.getPipe(reader, connectedPos); + if (pipe != null && pipe.canHaveFlowToward(connectedState, side.getOpposite())) + return false; + if (PumpBlock.isPump(connectedState) && connectedState.getValue(PumpBlock.FACING) + .getAxis() == side.getAxis()) + return false; + if (VanillaFluidTargets.canProvideFluidWithoutCapability(connectedState)) + return true; + if (BlockHelper.hasBlockSolidSide(connectedState, reader, connectedPos, side.getOpposite()) + && !AllTags.AllBlockTags.FAN_TRANSPARENT.matches(connectedState)) + return false; + if (hasFluidCapability(reader, connectedPos, side.getOpposite())) + return false; + if (!(connectedState.canBeReplaced() && connectedState.getDestroySpeed(reader, connectedPos) != -1) + && !connectedState.hasProperty(BlockStateProperties.WATERLOGGED)) + return false; + return true; + } + @Shadow + public static List getPipeConnections(BlockState state, FluidTransportBehaviour pipe) { + List list = new ArrayList<>(); + for (Direction d : Iterate.directions) + if (pipe.canHaveFlowToward(state, d)) + list.add(d); + return list; + } + @Shadow + public static int getPumpRange() { + return AllConfigs.server().fluids.mechanicalPumpRange.get(); + } + @Shadow + public static boolean hasFluidCapability(BlockGetter world, BlockPos pos, Direction side) { + BlockEntity blockEntity = world.getBlockEntity(pos); + if (blockEntity == null || blockEntity.getLevel() == null) + return false; + IFluidHandler capability = + blockEntity.getLevel().getCapability(Capabilities.FluidHandler.BLOCK, blockEntity.getBlockPos(), side); + return capability != null; + } + @Shadow + @Nullable + public static Direction.Axis getStraightPipeAxis(BlockState state) { + if (state.getBlock() instanceof PumpBlock) + return state.getValue(PumpBlock.FACING) + .getAxis(); + if (state.getBlock() instanceof AxisPipeBlock) + return state.getValue(AxisPipeBlock.AXIS); + if (!FluidPipeBlock.isPipe(state)) + return null; + Direction.Axis axisFound = null; + int connections = 0; + for (Direction.Axis axis : Iterate.axes) { + Direction d1 = Direction.get(Direction.AxisDirection.NEGATIVE, axis); + Direction d2 = Direction.get(Direction.AxisDirection.POSITIVE, axis); + boolean openAt1 = FluidPipeBlock.isOpenAt(state, d1); + boolean openAt2 = FluidPipeBlock.isOpenAt(state, d2); + if (openAt1) + connections++; + if (openAt2) + connections++; + if (openAt1 && openAt2) + if (axisFound != null) + return null; + else + axisFound = axis; + } + return connections == 2 ? axisFound : null; + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/mixin/FluidTankBlockEntityMixin.java b/src/main/java/com/drmangotea/tfmg/mixin/FluidTankBlockEntityMixin.java new file mode 100644 index 00000000..238335a4 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/mixin/FluidTankBlockEntityMixin.java @@ -0,0 +1,139 @@ +package com.drmangotea.tfmg.mixin; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.decoration.tanks.aluminum.AluminumTankBlock; +import com.drmangotea.tfmg.content.decoration.tanks.cast_iron.CastIronTankBlock; +import com.drmangotea.tfmg.mixin.accessor.FluidTankBlockEntityAccessor; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.simibubi.create.content.fluids.tank.FluidTankBlock; +import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; +import com.simibubi.create.foundation.advancement.AllAdvancements; +import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import java.util.List; + +import static java.lang.Math.abs; + +@Mixin(FluidTankBlockEntity.class) +public class FluidTankBlockEntityMixin extends SmartBlockEntity { + + @Shadow + protected int height; + @Shadow + protected int width; + @Shadow + protected BlockPos controller; + @Shadow + protected boolean window; + + public FluidTankBlockEntityMixin(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + } + @Inject(at = @At("HEAD"), method = "toggleWindows",cancellable = true , remap = false) + public void toggleWindows(CallbackInfo ci) { + FluidTankBlockEntity be = getControllerBE(); + if (be == null) + return; + if (be.boiler.isActive()) + return; + be.setWindows(((FluidTankBlockEntityAccessor)be).tfmg$getWindow()); + + return; + } + + @Inject(at = @At("HEAD"), method = "notifyMultiUpdated",cancellable = true , remap = false) + public void notifyMultiUpdated(CallbackInfo ci) { + BlockState state = this.getBlockState(); + if (AluminumTankBlock.isTank(state)|| CastIronTankBlock.isTank(state)) { + state = state.setValue(FluidTankBlock.BOTTOM, getController().getY() == getBlockPos().getY()); + state = state.setValue(FluidTankBlock.TOP, getController().getY() + height - 1 == getBlockPos().getY()); + level.setBlock(getBlockPos(), state, 6); + + } + } + @Inject(at = @At("HEAD"), method = "removeController",cancellable = true , remap = false) + public void removeController(boolean keepFluids, CallbackInfo ci) { + if (level.isClientSide) + return; + + BlockState state = getBlockState(); + if (AluminumTankBlock.isTank(state)|| CastIronTankBlock.isTank(state)) { + state = state.setValue(FluidTankBlock.BOTTOM, true); + state = state.setValue(FluidTankBlock.TOP, true); + state = state.setValue(FluidTankBlock.SHAPE, window ? FluidTankBlock.Shape.WINDOW : FluidTankBlock.Shape.PLAIN); + getLevel().setBlock(worldPosition, state, 22); + } + + } + @Inject(at = @At("HEAD"), method = "setWindows",cancellable = true , remap = false) + public void setWindows(boolean window, CallbackInfo ci) { + if(getBlockState().is(TFMGBlocks.ALUMINUM_FLUID_TANK.get())||getBlockState().is(TFMGBlocks.CAST_IRON_FLUID_TANK.get())) { + this.window = window; + for (int yOffset = 0; yOffset < height; yOffset++) { + for (int xOffset = 0; xOffset < width; xOffset++) { + for (int zOffset = 0; zOffset < width; zOffset++) { + + BlockPos pos = this.worldPosition.offset(xOffset, yOffset, zOffset); + BlockState blockState = level.getBlockState(pos); + + if (!AluminumTankBlock.isTank(blockState)&&!CastIronTankBlock.isTank(blockState)) + continue; + FluidTankBlock.Shape shape = FluidTankBlock.Shape.PLAIN; + if (window) { + // SIZE 1: Every tank has a window + if (width == 1) + shape = FluidTankBlock.Shape.WINDOW; + // SIZE 2: Every tank has a corner window + if (width == 2) + shape = xOffset == 0 ? zOffset == 0 ? FluidTankBlock.Shape.WINDOW_NW : FluidTankBlock.Shape.WINDOW_SW + : zOffset == 0 ? FluidTankBlock.Shape.WINDOW_NE : FluidTankBlock.Shape.WINDOW_SE; + // SIZE 3: Tanks in the center have a window + if (width == 3 && abs(abs(xOffset) - abs(zOffset)) == 1) + shape = FluidTankBlock.Shape.WINDOW; + } + level.setBlock(pos, blockState.setValue(FluidTankBlock.SHAPE, shape), 22); + level.getChunkSource() + .getLightEngine() + .checkBlock(pos); + } + } + } + return; + } + } + + @Shadow + public FluidTankBlockEntity getControllerBE() { + if (isController()) + return (FluidTankBlockEntity) level.getBlockEntity(getBlockPos()); + BlockEntity blockEntity = level.getBlockEntity(controller); + if (blockEntity instanceof FluidTankBlockEntity) + return (FluidTankBlockEntity) blockEntity; + return null; + } + @Shadow + public boolean isController() { + return controller == null || worldPosition.getX() == controller.getX() + && worldPosition.getY() == controller.getY() && worldPosition.getZ() == controller.getZ(); + } + @Shadow + public BlockPos getController() { + return isController() ? worldPosition : controller; + } + + @Override + @Shadow + public void addBehaviours(List behaviours) { + registerAwardables(behaviours, AllAdvancements.STEAM_ENGINE_MAXED, AllAdvancements.PIPE_ORGAN); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/mixin/GoggleOverlayRendererMixin.java b/src/main/java/com/drmangotea/tfmg/mixin/GoggleOverlayRendererMixin.java new file mode 100644 index 00000000..78f3f24d --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/mixin/GoggleOverlayRendererMixin.java @@ -0,0 +1,213 @@ +package com.drmangotea.tfmg.mixin; + + +import com.drmangotea.tfmg.content.electricity.base.IElectric; +import com.drmangotea.tfmg.content.electricity.measurement.MultimeterItem; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.mojang.blaze3d.platform.Window; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.api.equipment.goggles.IProxyHoveringInformation; +import com.simibubi.create.compat.Mods; +import com.simibubi.create.content.equipment.goggles.GoggleOverlayRenderer; +import com.simibubi.create.content.equipment.goggles.GogglesItem; +import com.simibubi.create.foundation.gui.RemovedGuiUtils; +import com.simibubi.create.foundation.mixin.accessor.MouseHandlerAccessor; +import com.simibubi.create.infrastructure.config.AllConfigs; +import com.simibubi.create.infrastructure.config.CClient; +import net.createmod.catnip.gui.element.BoxElement; +import net.createmod.catnip.gui.element.GuiGameElement; +import net.createmod.catnip.outliner.Outliner; +import net.createmod.catnip.theme.Color; +import net.minecraft.client.DeltaTracker; +import net.minecraft.client.Minecraft; +import net.minecraft.client.MouseHandler; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.core.BlockPos; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.FormattedText; +import net.minecraft.util.Mth; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.GameType; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.HitResult; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Mixin(GoggleOverlayRenderer.class) +public class GoggleOverlayRendererMixin { + + /** + * handles multimeter tooltips + */ + + @Shadow + private static final Map outlines = Outliner.getInstance().getOutlines(); + + private static int tfmg$hoverTicks = 0; + + private static BlockPos tfmg$lastHovered = null; + + @Inject(at = @At("HEAD"), method = "renderOverlay", cancellable = true, remap = false) + private static void renderOverlay(GuiGraphics guiGraphics, DeltaTracker deltaTracker, CallbackInfo ci) { + Minecraft mc = Minecraft.getInstance(); + ClientLevel world = mc.level; + HitResult objectMouseOver = mc.hitResult; + + + if (!(objectMouseOver instanceof BlockHitResult result)) { + tfmg$lastHovered = null; + tfmg$hoverTicks = 0; + return; + } + + + BlockPos pos = result.getBlockPos(); + + pos = proxiedOverlayPosition(world, pos); + + BlockEntity be = world.getBlockEntity(pos); + + + if (mc.options.hideGui || mc.gameMode.getPlayerMode() == GameType.SPECTATOR) + return; + + // for (Outliner.OutlineEntry entry : outlines.values()) { + // if (!entry.isAlive()) + // continue; + // Outline outline = entry.getOutline(); + // if (outline instanceof ValueBox && !((ValueBox) outline).isPassive) + // return; + // } + + tfmg$hoverTicks++; + tfmg$lastHovered = pos; + + + boolean holdsMultimeter = MultimeterItem.isHeldByPlayer(mc.player); + + boolean hasGoggles = GogglesItem.isWearingGoggles(mc.player); + + boolean isShifting = mc.player.isShiftKeyDown(); + + boolean isElectricBlock = be instanceof IElectric; + + + if (isElectricBlock && !hasGoggles) { + ItemStack item = TFMGItems.MULTIMETER.asStack(); + List tooltip = new ArrayList<>(); + + ((IElectric) be).makeMultimeterTooltip(tooltip, isShifting); + + // break early if goggle or hover returned false when present + if ((!isElectricBlock) || !holdsMultimeter) { + tfmg$hoverTicks = 0; + + } else { + + if (tooltip.isEmpty()) { + tfmg$hoverTicks = 0; + } else { + + PoseStack poseStack = guiGraphics.pose(); + poseStack.pushPose(); + + int tooltipTextWidth = 0; + for (FormattedText textLine : tooltip) { + int textLineWidth = mc.font.width(textLine); + if (textLineWidth > tooltipTextWidth) + tooltipTextWidth = textLineWidth; + } + + int tooltipHeight = 8; + if (tooltip.size() > 1) { + tooltipHeight += 2; // gap between title lines and next lines + tooltipHeight += (tooltip.size() - 1) * 10; + } + + int width = guiGraphics.guiWidth(); + int height = guiGraphics.guiHeight(); + + CClient cfg = AllConfigs.client(); + int posX = width / 2 + cfg.overlayOffsetX.get(); + int posY = height / 2 + cfg.overlayOffsetY.get(); + + posX = Math.min(posX, width - tooltipTextWidth - 20); + posY = Math.min(posY, height - tooltipHeight - 20); + + float fade = Mth.clamp((tfmg$hoverTicks + deltaTracker.getGameTimeDeltaPartialTick(false)) / 24f, 0, 1); + Boolean useCustom = cfg.overlayCustomColor.get(); + Color colorBackground = useCustom ? new Color(cfg.overlayBackgroundColor.get()) + : BoxElement.COLOR_VANILLA_BACKGROUND.scaleAlpha(.75f); + Color colorBorderTop = useCustom ? new Color(cfg.overlayBorderColorTop.get()) + : BoxElement.COLOR_VANILLA_BORDER.getFirst().copy(); + Color colorBorderBot = useCustom ? new Color(cfg.overlayBorderColorBot.get()) + : BoxElement.COLOR_VANILLA_BORDER.getSecond().copy(); + + if (fade < 1) { + poseStack.translate(Math.pow(1 - fade, 3) * Math.signum(cfg.overlayOffsetX.get() + .5f) * 8, 0, 0); + colorBackground.scaleAlpha(fade); + colorBorderTop.scaleAlpha(fade); + colorBorderBot.scaleAlpha(fade); + } + + GuiGameElement.of(item) + .at(posX + 10, posY - 16, 450) + .render(guiGraphics); + + if (!Mods.MODERNUI.isLoaded()) { + // default tooltip rendering when modernUI is not loaded + RemovedGuiUtils.drawHoveringText(guiGraphics, tooltip, posX, posY, width, height, -1, colorBackground.getRGB(), + colorBorderTop.getRGB(), colorBorderBot.getRGB(), mc.font); + + poseStack.popPose(); + + return; + } + + /* + * special handling for modernUI + * + * their tooltip handler causes the overlay to jiggle each frame, + * if the mouse is moving, guiScale is anything but 1 and exactPositioning is enabled + * + * this is a workaround to fix this behavior + */ + MouseHandler mouseHandler = Minecraft.getInstance().mouseHandler; + Window window = Minecraft.getInstance().getWindow(); + double guiScale = window.getGuiScale(); + double cursorX = mouseHandler.xpos(); + double cursorY = mouseHandler.ypos(); + ((MouseHandlerAccessor) mouseHandler).create$setXPos(Math.round(cursorX / guiScale) * guiScale); + ((MouseHandlerAccessor) mouseHandler).create$setYPos(Math.round(cursorY / guiScale) * guiScale); + + RemovedGuiUtils.drawHoveringText(guiGraphics, tooltip, posX, posY, width, height, -1, colorBackground.getRGB(), + colorBorderTop.getRGB(), colorBorderBot.getRGB(), mc.font); + + ((MouseHandlerAccessor) mouseHandler).create$setXPos(cursorX); + ((MouseHandlerAccessor) mouseHandler).create$setYPos(cursorY); + poseStack.popPose(); + + } + } + } + } + + @Shadow + public static BlockPos proxiedOverlayPosition(Level level, BlockPos pos) { + BlockState targetedState = level.getBlockState(pos); + if (targetedState.getBlock() instanceof IProxyHoveringInformation proxy) + return proxy.getInformationSource(level, pos, targetedState); + return pos; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/mixin/PipeAttachmentModelMixin.java b/src/main/java/com/drmangotea/tfmg/mixin/PipeAttachmentModelMixin.java new file mode 100644 index 00000000..3e05e1d5 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/mixin/PipeAttachmentModelMixin.java @@ -0,0 +1,124 @@ +package com.drmangotea.tfmg.mixin; + +import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipeModelData; +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.content.decoration.bracket.BracketedBlockEntityBehaviour; +import com.simibubi.create.content.fluids.FluidTransportBehaviour; +import com.simibubi.create.content.fluids.FluidTransportBehaviour.AttachmentTypes; +import com.simibubi.create.content.fluids.FluidTransportBehaviour.AttachmentTypes.ComponentPartials; +import com.simibubi.create.content.fluids.PipeAttachmentModel; +import com.simibubi.create.content.fluids.pipes.FluidPipeBlock; +import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; +import com.simibubi.create.foundation.model.BakedModelWrapperWithData; +import net.createmod.catnip.data.Iterate; +import net.minecraft.client.renderer.ItemBlockRenderTypes; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.block.model.BakedQuad; +import net.minecraft.client.resources.model.BakedModel; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.ChunkRenderTypeSet; +import net.neoforged.neoforge.client.model.data.ModelData; +import net.neoforged.neoforge.client.model.data.ModelProperty; +import org.jetbrains.annotations.NotNull; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Overwrite; + +import java.util.ArrayList; +import java.util.List; + +import static net.minecraft.world.level.block.PipeBlock.PROPERTY_BY_DIRECTION; +@Mixin(PipeAttachmentModel.class) +public class PipeAttachmentModelMixin extends BakedModelWrapperWithData { + + private static final ModelProperty PIPE_PROPERTY = new ModelProperty<>(); + + public PipeAttachmentModelMixin(BakedModel template) { + super(template); + } + + /** + * @author DrMangoTea + * @reason locked pipes + */ + @Overwrite( remap = false) + protected ModelData.Builder gatherModelData(ModelData.Builder builder, BlockAndTintGetter world, BlockPos pos, BlockState state, + ModelData blockEntityData) { + TFMGPipeModelData data = new TFMGPipeModelData(); + FluidTransportBehaviour transport = BlockEntityBehaviour.get(world, pos, FluidTransportBehaviour.TYPE); + BracketedBlockEntityBehaviour bracket = BlockEntityBehaviour.get(world, pos, BracketedBlockEntityBehaviour.TYPE); + + if (transport != null) + for (Direction d : Iterate.directions) { + boolean shouldConnect = true; + if(world.getBlockState(pos.relative(d)).getBlock() instanceof FluidPipeBlock) { + + if(d.getAxis().isHorizontal()) + shouldConnect = world.getBlockState(pos.relative(d)).getValue(PROPERTY_BY_DIRECTION.get(d.getOpposite())); + + + + } + + data.putAttachment(d, transport.getRenderedRimAttachment(world, pos, state, d)); + + if(!shouldConnect) + if(state.getBlock() instanceof FluidPipeBlock) + if(state.getValue(PROPERTY_BY_DIRECTION.get(d))) + data.putAttachment(d, AttachmentTypes.RIM); + + } + if (bracket != null) + data.putBracket(bracket.getBracket()); + + data.setEncased(FluidPipeBlock.shouldDrawCasing(world, pos, state)); + return builder.with(PIPE_PROPERTY, data); + } + + @SuppressWarnings("removal") + @Override + public ChunkRenderTypeSet getRenderTypes(@NotNull BlockState state, @NotNull RandomSource rand, @NotNull ModelData data) { + ChunkRenderTypeSet set = super.getRenderTypes(state, rand, data); + if (set.isEmpty()) { + return ItemBlockRenderTypes.getRenderLayers(state); + } + return set; + } + + @Override + public List getQuads(BlockState state, Direction side, RandomSource rand, ModelData data, RenderType renderType) { + List quads = super.getQuads(state, side, rand, data, renderType); + if (data.has(PIPE_PROPERTY)) { + TFMGPipeModelData pipeData = data.get(PIPE_PROPERTY); + quads = new ArrayList<>(quads); + addQuads(quads, state, side, rand, data, pipeData, renderType); + } + return quads; + } + + private void addQuads(List quads, BlockState state, Direction side, RandomSource rand, ModelData data, + TFMGPipeModelData pipeData, RenderType renderType) { + BakedModel bracket = pipeData.getBracket(); + if (bracket != null) + quads.addAll(bracket.getQuads(state, side, rand, data, renderType)); + for (Direction d : Iterate.directions) { + AttachmentTypes type = pipeData.getAttachment(d); + for (ComponentPartials partial : type.partials) { + quads.addAll(AllPartialModels.PIPE_ATTACHMENTS.get(partial) + .get(d) + .get() + .getQuads(state, side, rand, data, renderType)); + } + } + if (pipeData.isEncased()) + quads.addAll(AllPartialModels.FLUID_PIPE_CASING.get() + .getQuads(state, side, rand, data, renderType)); + } + + + + +} diff --git a/src/main/java/com/drmangotea/tfmg/mixin/RecipeProviderMixin.java b/src/main/java/com/drmangotea/tfmg/mixin/RecipeProviderMixin.java new file mode 100644 index 00000000..311e022f --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/mixin/RecipeProviderMixin.java @@ -0,0 +1,34 @@ +package com.drmangotea.tfmg.mixin; + +import com.drmangotea.tfmg.datagen.recipes.values.*; +import com.drmangotea.tfmg.datagen.recipes.values.create.TFMGMechanicalCraftingRecipeGen; +import com.drmangotea.tfmg.datagen.recipes.values.create.TFMGSequencedAssemblyRecipeGen; +import com.drmangotea.tfmg.datagen.recipes.values.tfmg.TFMGIndustrialBlastingRecipeGen; +import com.drmangotea.tfmg.datagen.recipes.values.tfmg.TFMGVatRecipeGen; +import net.minecraft.data.recipes.RecipeProvider; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@Mixin(RecipeProvider.class) +public class RecipeProviderMixin { + + + @Inject(at = @At("HEAD"), method = "getName",cancellable = true , remap = true) + public final void getName(CallbackInfoReturnable cir) { + if((Object)this instanceof TFMGMechanicalCraftingRecipeGen) + cir.setReturnValue("TFMG'S Mechanical Crafting Recipes"); + if((Object)this instanceof TFMGIndustrialBlastingRecipeGen) + cir.setReturnValue("TFMG'S Industrial Blasting Recipes"); + if((Object)this instanceof TFMGVatRecipeGen) + cir.setReturnValue("TFMG'S Vat Recipes"); + if((Object)this instanceof TFMGStandardRecipeGen) + cir.setReturnValue("TFMG'S Standard Recipes"); + if((Object)this instanceof TFMGSequencedAssemblyRecipeGen) + cir.setReturnValue("TFMG'S Sequenced Assembly Recipes"); + + + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/mixin/TFMGMixinPlugin.java b/src/main/java/com/drmangotea/tfmg/mixin/TFMGMixinPlugin.java new file mode 100644 index 00000000..2a8d9db5 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/mixin/TFMGMixinPlugin.java @@ -0,0 +1,39 @@ +package com.drmangotea.tfmg.mixin; + +import org.objectweb.asm.tree.ClassNode; +import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin; +import org.spongepowered.asm.mixin.extensibility.IMixinInfo; + +import java.util.List; +import java.util.Set; + +public class TFMGMixinPlugin implements IMixinConfigPlugin { + + @Override + public void onLoad(String mixinPackage) {} + + @Override + public String getRefMapperConfig() { + return null; + } + + @Override + public boolean shouldApplyMixin(String targetClassName, String mixinClassName) { + return true; + } + + @Override + public void acceptTargets(Set myTargets, Set otherTargets) {} + + @Override + public List getMixins() { + return null; + } + + @Override + public void preApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {} + + @Override + public void postApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {} + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/mixin/accessor/FluidTankBlockEntityAccessor.java b/src/main/java/com/drmangotea/tfmg/mixin/accessor/FluidTankBlockEntityAccessor.java new file mode 100644 index 00000000..fee67cd7 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/mixin/accessor/FluidTankBlockEntityAccessor.java @@ -0,0 +1,38 @@ +package com.drmangotea.tfmg.mixin.accessor; + +import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; +import net.neoforged.neoforge.fluids.capability.IFluidHandler; +import net.neoforged.neoforge.fluids.capability.templates.FluidTank; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Accessor; +import org.spongepowered.asm.mixin.gen.Invoker; + +@Mixin(FluidTankBlockEntity.class) +public interface FluidTankBlockEntityAccessor { + + @Accessor("luminosity") + int tfmg$getLuminosity(); + + @Accessor("window") + boolean tfmg$getWindow(); + + @Accessor("height") + int tfmg$getHeight(); + + @Accessor("width") + int tfmg$getWidth(); + + @Accessor("tankInventory") + FluidTank tfmg$getTankInventory(); + + @Accessor("fluidCapability") + IFluidHandler tfmg$getFluidCapability(); + + @Invoker("updateConnectivity") + void tfmg$updateConnectivity(); + + @Invoker("refreshCapability") + void tfmg$refreshCapability(); + + +} diff --git a/src/main/java/com/drmangotea/tfmg/mixin/accessor/ProcessingRecipeAccessor.java b/src/main/java/com/drmangotea/tfmg/mixin/accessor/ProcessingRecipeAccessor.java new file mode 100644 index 00000000..b8d8e367 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/mixin/accessor/ProcessingRecipeAccessor.java @@ -0,0 +1,31 @@ +package com.drmangotea.tfmg.mixin.accessor; + + +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; +import com.simibubi.create.content.processing.recipe.ProcessingOutput; +import com.simibubi.create.content.processing.recipe.ProcessingRecipe; +import com.simibubi.create.foundation.fluid.FluidIngredient; +import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; +import net.minecraft.core.NonNullList; +import net.minecraft.world.item.crafting.Ingredient; +import net.neoforged.neoforge.fluids.FluidStack; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Accessor; + +@Mixin(ProcessingRecipe.class) +public interface ProcessingRecipeAccessor { + + @Accessor("ingredients") + NonNullList tfmg$ingredients(); + @Accessor("fluidIngredients") + NonNullList tfmg$fluidIngredients(); + @Accessor("results") + NonNullList tfmg$results(); + @Accessor("fluidResults") + NonNullList tfmg$fluidResults(); + @Accessor("typeInfo") + IRecipeTypeInfo tfmg$typeInfo(); + + +} diff --git a/src/main/java/com/drmangotea/tfmg/mixin/accessor/SequencedAssemblyRecipeAccessor.java b/src/main/java/com/drmangotea/tfmg/mixin/accessor/SequencedAssemblyRecipeAccessor.java new file mode 100644 index 00000000..4f1549aa --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/mixin/accessor/SequencedAssemblyRecipeAccessor.java @@ -0,0 +1,20 @@ +package com.drmangotea.tfmg.mixin.accessor; + +import com.simibubi.create.content.processing.recipe.ProcessingOutput; +import com.simibubi.create.content.processing.sequenced.SequencedAssemblyRecipe; +import net.minecraft.world.item.crafting.Ingredient; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Accessor; + +@Mixin(SequencedAssemblyRecipe.class) +public interface SequencedAssemblyRecipeAccessor { + + @Accessor("ingredient") + void tfmg$setIngredient(Ingredient ingredient); + + @Accessor("transitionalItem") + void tfmg$setTransitionalItem(ProcessingOutput transitionalItem); + + @Accessor("loops") + void tfmg$setLoops(int loops); +} diff --git a/src/main/java/com/drmangotea/tfmg/mixin/accessor/TankSegmentAccessor.java b/src/main/java/com/drmangotea/tfmg/mixin/accessor/TankSegmentAccessor.java new file mode 100644 index 00000000..f7f66345 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/mixin/accessor/TankSegmentAccessor.java @@ -0,0 +1,17 @@ +package com.drmangotea.tfmg.mixin.accessor; + +import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; +import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour; +import com.simibubi.create.foundation.fluid.SmartFluidTank; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Accessor; +import org.spongepowered.asm.mixin.gen.Invoker; + +@Mixin(SmartFluidTankBehaviour.TankSegment.class) +public interface TankSegmentAccessor { + + @Accessor("tank") + SmartFluidTank tfmg$tank(); + + +} diff --git a/src/main/java/com/drmangotea/tfmg/ponder/TFMGPonderPlugin.java b/src/main/java/com/drmangotea/tfmg/ponder/TFMGPonderPlugin.java new file mode 100644 index 00000000..6018c4e2 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/ponder/TFMGPonderPlugin.java @@ -0,0 +1,52 @@ +package com.drmangotea.tfmg.ponder; + +import com.drmangotea.tfmg.TFMG; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.Create; +import com.simibubi.create.content.kinetics.crank.ValveHandleBlock; +import com.simibubi.create.content.logistics.packagePort.postbox.PostboxBlock; +import com.simibubi.create.content.logistics.tableCloth.TableClothBlock; +import com.simibubi.create.foundation.ponder.PonderWorldBlockEntityFix; +import com.simibubi.create.infrastructure.ponder.AllCreatePonderScenes; +import com.simibubi.create.infrastructure.ponder.AllCreatePonderTags; +import net.createmod.ponder.api.level.PonderLevel; +import net.createmod.ponder.api.registration.*; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.DyeColor; + +public class TFMGPonderPlugin implements PonderPlugin { + + @Override + public String getModId() { + return TFMG.MOD_ID; + } + + @Override + public void registerScenes(PonderSceneRegistrationHelper helper) { + TFMGPonderScenes.register(helper); + } + + @Override + public void registerTags(PonderTagRegistrationHelper helper) { + TFMGPonderTags.register(helper); + } + + @Override + public void registerSharedText(SharedTextRegistrationHelper helper) { + helper.registerSharedText("rpm8", "8 RPM"); + helper.registerSharedText("rpm16", "16 RPM"); + helper.registerSharedText("rpm16_source", "Source: 16 RPM"); + helper.registerSharedText("rpm32", "32 RPM"); + + helper.registerSharedText("movement_anchors", "With the help of Super Glue, larger structures can be moved."); + helper.registerSharedText("behaviour_modify_value_panel", "This behaviour can be modified using the value panel"); + helper.registerSharedText("storage_on_contraption", "Inventories attached to the Contraption will pick up their drops automatically"); + } + + @Override + public void onPonderLevelRestore(PonderLevel ponderLevel) { + PonderWorldBlockEntityFix.fixControllerBlockEntities(ponderLevel); + } + + +} diff --git a/src/main/java/com/drmangotea/tfmg/ponder/TFMGPonderScenes.java b/src/main/java/com/drmangotea/tfmg/ponder/TFMGPonderScenes.java new file mode 100644 index 00000000..c88df617 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/ponder/TFMGPonderScenes.java @@ -0,0 +1,38 @@ +package com.drmangotea.tfmg.ponder; + +import com.drmangotea.tfmg.ponder.scenes.MetallurgyScenes; +import com.drmangotea.tfmg.ponder.scenes.MiscTFMGScenes; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.tterrag.registrate.util.entry.ItemProviderEntry; +import com.tterrag.registrate.util.entry.RegistryEntry; +import net.createmod.ponder.api.registration.PonderSceneRegistrationHelper; +import net.minecraft.resources.ResourceLocation; + +public class TFMGPonderScenes { + + + public static void register(PonderSceneRegistrationHelper helper) { + PonderSceneRegistrationHelper> HELPER = helper.withKeyFunction(RegistryEntry::getId); + + HELPER.forComponents(TFMGBlocks.STEEL_DISTILLATION_CONTROLLER, TFMGBlocks.STEEL_DISTILLATION_OUTPUT) + .addStoryBoard("distillation_tower", MiscTFMGScenes::distillation_tower, TFMGPonderTags.OIL_PROCESSING); + HELPER.forComponents(TFMGBlocks.BLAST_FURNACE_OUTPUT, TFMGBlocks.BLAST_FURNACE_HATCH) + .addStoryBoard("blast_furnace", MetallurgyScenes::blast_furnace, TFMGPonderTags.METALLURGY); + HELPER.forComponents(TFMGBlocks.STEEL_CHEMICAL_VAT, + TFMGBlocks.CAST_IRON_CHEMICAL_VAT, + TFMGBlocks.FIREPROOF_CHEMICAL_VAT, + TFMGBlocks.INDUSTRIAL_MIXER, + TFMGBlocks.ELECTRODE_HOLDER + ).addStoryBoard("chemical_vat", MiscTFMGScenes::chemical_vat, TFMGPonderTags.CHEMICAL_VAT); + HELPER.forComponents(TFMGBlocks.COKE_OVEN) + .addStoryBoard("coke_oven", MetallurgyScenes::coke_oven, TFMGPonderTags.METALLURGY); + HELPER.forComponents(TFMGBlocks.PUMPJACK_BASE,TFMGBlocks.PUMPJACK_CRANK,TFMGBlocks.PUMPJACK_HAMMER) + .addStoryBoard("pumpjack", MiscTFMGScenes::pumpjack, TFMGPonderTags.OIL_PROCESSING); + HELPER.forComponents(TFMGBlocks.REGULAR_ENGINE, TFMGBlocks.TURBINE_ENGINE, TFMGBlocks.RADIAL_ENGINE) + .addStoryBoard("engines", MiscTFMGScenes::engines, TFMGPonderTags.ENGINES); + HELPER.forComponents(TFMGBlocks.GENERATOR, TFMGBlocks.ROTOR, TFMGBlocks.STATOR, TFMGBlocks.ELECTRIC_MOTOR) + .addStoryBoard("electricity", MiscTFMGScenes::electricity, TFMGPonderTags.ELECTRIC_MACHINERY) + .addStoryBoard("electricity_two", MiscTFMGScenes::electricy_two, TFMGPonderTags.ELECTRIC_MACHINERY); + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/ponder/TFMGPonderTags.java b/src/main/java/com/drmangotea/tfmg/ponder/TFMGPonderTags.java new file mode 100644 index 00000000..f807cc12 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/ponder/TFMGPonderTags.java @@ -0,0 +1,148 @@ +package com.drmangotea.tfmg.ponder; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllItems; +import com.tterrag.registrate.util.entry.RegistryEntry; +import net.createmod.catnip.platform.CatnipServices; +import net.createmod.catnip.registry.RegisteredObjectsHelper; +import net.createmod.ponder.api.registration.PonderTagRegistrationHelper; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.ItemLike; + +public class TFMGPonderTags { + + public static final ResourceLocation + + OIL_PROCESSING = loc("oil_processing"), + ENGINES = loc("engines"), + METALLURGY = loc("metallurgy"), + ELECTRIC_MACHINERY = loc("electric_machinery"), + CHEMICAL_VAT = loc("chemical_vat") + ; + + private static ResourceLocation loc(String id) { + return TFMG.asResource(id); + } + + public static void register(PonderTagRegistrationHelper helper) { + + PonderTagRegistrationHelper> HELPER = helper.withKeyFunction(RegistryEntry::getId); + + PonderTagRegistrationHelper itemHelper = helper.withKeyFunction( + RegisteredObjectsHelper::getKeyOrThrow); + + helper.registerTag(OIL_PROCESSING) + .addToIndex() + .item(TFMGBlocks.STEEL_DISTILLATION_CONTROLLER, true, false) + .title("Oil Processing Machinery") + .description("Block used for refining and mining oil") + .register(); + helper.registerTag(ENGINES) + .addToIndex() + .item(TFMGBlocks.TURBINE_ENGINE, true, false) + .title("Engines") + .description("Engines and equipment related to them") + .register(); + helper.registerTag(METALLURGY) + .addToIndex() + .item(TFMGBlocks.BLAST_FURNACE_OUTPUT, true, false) + .title("Metallurgy") + .description("Blocks related to processing metal") + .register(); + helper.registerTag(ELECTRIC_MACHINERY) + .addToIndex() + .item(TFMGBlocks.ROTOR, true, true) + .title("Electric Machinery") + .description("Block which use, produce or transfer electricity") + .register(); + helper.registerTag(CHEMICAL_VAT) + .addToIndex() + .item(TFMGBlocks.STEEL_CHEMICAL_VAT, true, false) + .title("Chemical Vat") + .description("Chemical vat and machines that expand it") + .register(); + + + HELPER.addToTag(OIL_PROCESSING) + .add(TFMGBlocks.STEEL_DISTILLATION_CONTROLLER) + .add(TFMGBlocks.STEEL_DISTILLATION_OUTPUT) + .add(TFMGBlocks.INDUSTRIAL_PIPE) + .add(TFMGBlocks.SURFACE_SCANNER) + .add(TFMGBlocks.PUMPJACK_BASE) + .add(TFMGBlocks.PUMPJACK_CRANK) + .add(TFMGBlocks.PUMPJACK_HAMMER) + .add(TFMGBlocks.PUMPJACK_HAMMER_CONNECTOR) + .add(TFMGBlocks.PUMPJACK_HAMMER_HEAD) + .add(TFMGBlocks.PUMPJACK_HAMMER_PART) + .add(TFMGBlocks.LARGE_PUMPJACK_HAMMER_CONNECTOR) + .add(TFMGBlocks.LARGE_PUMPJACK_HAMMER_HEAD) + .add(TFMGBlocks.LARGE_PUMPJACK_HAMMER_PART) + ; + + HELPER.addToTag(ENGINES) + .add(TFMGBlocks.REGULAR_ENGINE) + .add(TFMGBlocks.TURBINE_ENGINE) + .add(TFMGBlocks.RADIAL_ENGINE) + .add(TFMGBlocks.LARGE_ENGINE) + .add(TFMGBlocks.SIMPLE_LARGE_ENGINE) + .add(TFMGBlocks.ENGINE_CONTROLLER) + .add(TFMGBlocks.ENGINE_GEARBOX) + .add(TFMGBlocks.EXHAUST) + .add(TFMGBlocks.AIR_INTAKE) + .add(TFMGItems.OIL_CAN) + .add(TFMGItems.COOLING_FLUID_BOTTLE) + .add(TFMGItems.TRANSMISSION) + .add(TFMGItems.TURBO); + + HELPER.addToTag(METALLURGY) + .add(TFMGBlocks.BLAST_FURNACE_OUTPUT) + .add(TFMGBlocks.BLAST_FURNACE_HATCH) + .add(TFMGBlocks.FIREPROOF_BRICKS) + .add(TFMGBlocks.FIREPROOF_BRICK_REINFORCEMENT) + .add(TFMGBlocks.BLAST_FURNACE_REINFORCEMENT) + .add(TFMGBlocks.RUSTED_BLAST_FURNACE_REINFORCEMENT) + .add(TFMGBlocks.BLAST_STOVE) + .add(TFMGBlocks.CASTING_BASIN); + + HELPER.addToTag(ELECTRIC_MACHINERY) + .add(TFMGBlocks.ROTOR) + .add(TFMGBlocks.STATOR) + .add(TFMGBlocks.GENERATOR) + .add(TFMGBlocks.ELECTRIC_MOTOR) + .add(TFMGBlocks.CABLE_CONNECTOR) + .add(TFMGBlocks.GLASS_CABLE_CONNECTOR) + .add(TFMGBlocks.POLARIZER) + .add(TFMGBlocks.ACCUMULATOR) + .add(TFMGBlocks.TRANSFORMER) + .add(TFMGBlocks.ELECTRICAL_SWITCH) + .add(TFMGBlocks.DIODE) + .add(TFMGBlocks.POTENTIOMETER) + .add(TFMGBlocks.ELECTRIC_PUMP) + .add(TFMGBlocks.LIGHT_BULB) + .add(TFMGBlocks.BRASS_CABLE_HUB) + .add(TFMGBlocks.SEGMENTED_DISPLAY) + .add(TFMGBlocks.CONVERTER) + .add(TFMGBlocks.TRAFFIC_LIGHT) + .add(TFMGItems.COPPER_SPOOL) + .add(TFMGItems.ALUMINUM_SPOOL) + ; + HELPER.addToTag(CHEMICAL_VAT) + .add(TFMGBlocks.STEEL_CHEMICAL_VAT) + .add(TFMGBlocks.CAST_IRON_CHEMICAL_VAT) + .add(TFMGBlocks.FIREPROOF_CHEMICAL_VAT) + .add(TFMGBlocks.INDUSTRIAL_MIXER) + .add(TFMGBlocks.ELECTRODE_HOLDER) + .add(TFMGItems.COPPER_ELECTRODE) + .add(TFMGItems.ZINC_ELECTRODE) + .add(TFMGItems.GRAPHITE_ELECTRODE) + .add(TFMGItems.MIXER_BLADE) + .add(TFMGItems.CENTRIFUGE) + ; + + + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/ponder/TFMGSceneBuilder.java b/src/main/java/com/drmangotea/tfmg/ponder/TFMGSceneBuilder.java new file mode 100644 index 00000000..22a65c5a --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/ponder/TFMGSceneBuilder.java @@ -0,0 +1,49 @@ +package com.drmangotea.tfmg.ponder; + +import com.drmangotea.tfmg.content.engines.base.EngineBlock; +import com.drmangotea.tfmg.content.engines.types.regular_engine.RegularEngineBlockEntity; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.content.fluids.pump.PumpBlockEntity; +import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import com.simibubi.create.content.kinetics.gauge.SpeedGaugeBlockEntity; +import com.simibubi.create.foundation.ponder.CreateSceneBuilder; +import net.createmod.ponder.api.scene.SceneBuilder; +import net.createmod.ponder.api.scene.Selection; +import net.minecraft.core.BlockPos; + +import java.util.function.UnaryOperator; + +public class TFMGSceneBuilder extends CreateSceneBuilder { + + private final TFMGWorldInstructions tfmgInstructions; + + public TFMGSceneBuilder(SceneBuilder baseSceneBuilder) { + super(baseSceneBuilder); + tfmgInstructions = new TFMGWorldInstructions(); + } + + + public TFMGWorldInstructions tfmgInstructions(){ + return tfmgInstructions; + } + + + public class TFMGWorldInstructions extends WorldInstructions { + + public void addPistonToEngine(BlockPos pos) { + modifyBlockEntity(pos, RegularEngineBlockEntity.class, be -> { + for(int i =0;i + // be.getLevel().setBlock(be.getBlockPos(),be.getBlockState().setValue(EngineBlock.ENGINE_STATE,EngineBlock.EngineState.SHAFT),2)); + } + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/ponder/scenes/MetallurgyScenes.java b/src/main/java/com/drmangotea/tfmg/ponder/scenes/MetallurgyScenes.java new file mode 100644 index 00000000..83e915b2 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/ponder/scenes/MetallurgyScenes.java @@ -0,0 +1,270 @@ +package com.drmangotea.tfmg.ponder.scenes; + +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.AllItems; +import com.simibubi.create.foundation.ponder.CreateSceneBuilder; +import net.createmod.ponder.api.element.ElementLink; +import net.createmod.ponder.api.element.EntityElement; +import net.createmod.ponder.api.element.WorldSectionElement; +import net.createmod.ponder.api.scene.SceneBuilder; +import net.createmod.ponder.api.scene.SceneBuildingUtil; +import net.createmod.ponder.api.scene.Selection; +import net.minecraft.core.Direction; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.phys.Vec3; + +public class MetallurgyScenes { + + public static void blast_furnace(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("blast_furnace", ""); + scene.configureBasePlate(0, 0, 6); + scene.scaleSceneView(.7f); + scene.showBasePlate(); + // + Selection output = util.select().fromTo(3, 1, 2, 3, 1, 2); + + Selection furnace1 = util.select().fromTo(4, 1, 3, 2, 1, 3); + Selection furnace2 = util.select().fromTo(3, 1, 4, 3, 1, 4); + + Selection reinforcement1 = util.select().fromTo(2, 1, 2, 2, 5, 2); + Selection reinforcement2 = util.select().fromTo(4, 1, 2, 4, 5, 2); + Selection reinforcement3 = util.select().fromTo(4, 1, 4, 4, 5, 4); + Selection reinforcement4 = util.select().fromTo(2, 1, 4, 2, 5, 4); + + Selection furnace3 = util.select().fromTo(4, 2, 3, 2, 2, 3); + Selection furnace4 = util.select().fromTo(3, 2, 2, 3, 2, 4); + + Selection furnace5 = util.select().fromTo(4, 3, 3, 2, 3, 3); + Selection furnace6 = util.select().fromTo(3, 3, 2, 3, 3, 4); + + Selection furnace7 = util.select().fromTo(4, 4, 3, 2, 4, 3); + Selection furnace8 = util.select().fromTo(3, 4, 2, 3, 4, 4); + + Selection furnace9 = util.select().fromTo(4, 5, 3, 2, 5, 3); + Selection furnace10 = util.select().fromTo(3, 5, 2, 3, 5, 4); + + Selection hatch = util.select().fromTo(1, 6, 3, 3, 6, 3); + scene.world().setKineticSpeed(hatch, 80); + + Selection steelReinforcementCorner = util.select().fromTo(0, 1, 5, 0, 5, 5); + Selection steelReinforcement1 = util.select().fromTo(3, 2, 1, 3, 5, 1); + Selection steelReinforcement2 = util.select().fromTo(3, 1, 5, 3, 5, 5); + Selection steelReinforcement3 = util.select().fromTo(5, 1, 3, 5, 5, 3); + Selection steelReinforcement4 = util.select().fromTo(1, 1, 3, 1, 1, 3); + Selection steelReinforcement = util.select().fromTo(1, 3, 3, 1, 5, 3) + .add(steelReinforcement1) + .add(steelReinforcement2) + .add(steelReinforcement3) + .add(steelReinforcement4) + ; + + + Selection pipez1 = util.select().fromTo(0, 1, 1, 4, 0, 1); + Selection pipez2 = util.select().fromTo(5, 1, 0, 5, 3, 1); + Selection pipez3 = util.select().fromTo(0, 1, 3, 0, 2, 3); + Selection pipez = util.select().fromTo(1, 2, 3, 1, 2, 3).add(pipez1).add(pipez2).add(pipez3); + + + scene.world().setKineticSpeed(pipez, 80); + + + + scene.world().showIndependentSection(output, Direction.DOWN); + scene.overlay().showText(50) + .attachKeyFrame() + .text("Main part of a blast furnace is a blast furnace output") + .pointAt(util.vector().blockSurface(util.grid().at(3, 1, 2), Direction.WEST)) + .placeNearTarget(); + scene.idle(70); + + scene.overlay().showText(60) + .attachKeyFrame() + .text("To build a blast furnace, make a cylinder of fireproof bricks around it with one blast furnace hatch in it"); + + + scene.world().showIndependentSection(furnace1, Direction.DOWN); + scene.world().showIndependentSection(furnace2, Direction.DOWN); + scene.idle(10); + scene.world().showIndependentSection(furnace3, Direction.DOWN); + scene.world().showIndependentSection(furnace4, Direction.DOWN); + scene.idle(10); + scene.world().showIndependentSection(furnace5, Direction.DOWN); + scene.world().showIndependentSection(furnace6, Direction.DOWN); + scene.idle(10); + scene.world().showIndependentSection(furnace7, Direction.DOWN); + scene.world().showIndependentSection(furnace8, Direction.DOWN); + scene.idle(10); + scene.world().showIndependentSection(furnace9, Direction.DOWN); + scene.world().showIndependentSection(furnace10, Direction.DOWN); + + scene.idle(70); + + scene.overlay().showText(70) + .attachKeyFrame() + .text("This hatch will function as a hot air input") + .pointAt(util.vector().blockSurface(util.grid().at(2, 2, 3), Direction.WEST)) + .placeNearTarget(); + scene.idle(100); + + ElementLink reinforcementElement1 = scene.world().showIndependentSection(reinforcement1, Direction.DOWN); + ElementLink reinforcementElement2 = scene.world().showIndependentSection(reinforcement2, Direction.DOWN); + ElementLink reinforcementElement3 = scene.world().showIndependentSection(reinforcement3, Direction.DOWN); + ElementLink reinforcementElement4 = scene.world().showIndependentSection(reinforcement4, Direction.DOWN); + + scene.overlay().showText(70) + .attachKeyFrame() + .text("Blast furnaces need reinforcements to function") + .placeNearTarget(); + scene.idle(100); + + scene.world().showIndependentSection(pipez, Direction.DOWN); + + scene.idle(50); + scene.overlay().showText(100) + .attachKeyFrame() + .text("Everything is inserted to through a hole at the top"); + + ItemStack coalCoke = new ItemStack(TFMGItems.COAL_COKE_DUST.get(),20); + ItemStack limesand = new ItemStack(TFMGItems.LIMESAND.get(),20); + ItemStack iron = new ItemStack(AllItems.CRUSHED_IRON.get(),20); + + scene.world().createItemEntity(util.vector().centerOf(3, 6, 3), util.vector().of(0, 0, 0), coalCoke); + scene.idle(10); + scene.world().createItemEntity(util.vector().centerOf(3, 6, 3), util.vector().of(0, 0, 0), limesand); + scene.idle(10); + scene.world().createItemEntity(util.vector().centerOf(3, 6, 3), util.vector().of(0, 0, 0), iron); + scene.idle(100); + + scene.world().showIndependentSection(hatch, Direction.DOWN); + + scene.overlay().showText(80) + .attachKeyFrame() + .text("Next hatch can be placed on the top hole to collect furnace gas, items directed into it will fall into the blast furnace") + .pointAt(util.vector().blockSurface(util.grid().at(3, 6, 3), Direction.WEST)) + .placeNearTarget(); + scene.idle(100); + + scene.world().showIndependentSection(steelReinforcement, Direction.DOWN); + + scene.world().hideIndependentSection(reinforcementElement1,Direction.UP); + scene.world().hideIndependentSection(reinforcementElement2,Direction.UP); + scene.world().hideIndependentSection(reinforcementElement3,Direction.UP); + scene.world().hideIndependentSection(reinforcementElement4,Direction.UP); + + scene.idle(20); + + ElementLink cornerReinforcement1 = scene.world().showIndependentSection(steelReinforcementCorner,Direction.DOWN); + ElementLink cornerReinforcement2 = scene.world().showIndependentSection(steelReinforcementCorner,Direction.DOWN); + ElementLink cornerReinforcement3 = scene.world().showIndependentSection(steelReinforcementCorner,Direction.DOWN); + ElementLink cornerReinforcement4 = scene.world().showIndependentSection(steelReinforcementCorner,Direction.DOWN); + + + scene.world().moveSection(cornerReinforcement1,new Vec3(2d,0d,-1d),0); + scene.world().moveSection(cornerReinforcement2,new Vec3(4d,0d,-1d),0); + scene.world().moveSection(cornerReinforcement3,new Vec3(2d,0d,-3d),0); + scene.world().moveSection(cornerReinforcement4,new Vec3(4d,0d,-3d),0); + + + scene.overlay().showText(70) + .attachKeyFrame() + .text("Blast furnace reinforcements can be placed around the furnace to increase its speed") + .pointAt(util.vector().blockSurface(util.grid().at(3, 6, 3), Direction.WEST)) + .placeNearTarget(); + scene.idle(80); + + } + + public static void coke_oven(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("coke_oven", ""); + scene.configureBasePlate(0, 0, 6); + scene.scaleSceneView(.7f); + + scene.showBasePlate(); + + + Selection coke_oven_middle = util.select().fromTo(3, 1, 2, 3, 3, 4); + + Selection coke_oven_right = util.select().fromTo(4, 1, 2, 5, 3, 4); + Selection coke_oven_left = util.select().fromTo(2, 1, 2, 1, 3, 4); + + Selection chutes = util.select().fromTo(2, 4, 3, 4, 4, 3); + Selection exhaust = util.select().fromTo(2, 4, 2, 4, 4, 2) + .add(util.select().fromTo(0, 1, 2, 1, 5, 2)) + ; + + + Selection creosoteOutput = util.select().fromTo(0, 1, 5, 5, 5, 5); + + ItemStack coal = new ItemStack(Items.COAL, 3); + ItemStack coal_coke = new ItemStack(TFMGItems.COAL_COKE.get(), 10); + + scene.world().setKineticSpeed(creosoteOutput, 80); + scene.world().setKineticSpeed(exhaust, 80); + + + scene.world().showIndependentSection(coke_oven_middle, Direction.DOWN); + scene.overlay().showText(70) + .attachKeyFrame() + .text("The Coke Oven is a machine that produces coal coke from coal") + .pointAt(util.vector().blockSurface(util.grid().at(3, 2, 2), Direction.WEST)) + .placeNearTarget(); + + scene.idle(90); + + + + scene.world().showIndependentSection(coke_oven_right, Direction.DOWN); + scene.world().showIndependentSection(coke_oven_left, Direction.DOWN); + scene.overlay().showText(70) + .attachKeyFrame() + .text("It is very slow so it is beneficial to have long arrays of them") + .pointAt(util.vector().blockSurface(util.grid().at(1, 2, 2), Direction.WEST)) + .placeNearTarget(); + + + scene.idle(30); + + + scene.world().showIndependentSection(chutes, Direction.DOWN); + scene.overlay().showText(70) + .attachKeyFrame() + .text("Coal can be inserted from anywhere"); + scene.idle(10); + ElementLink item = null; + for (int i = 0; i < 3; i++) { + scene.idle(10); + + for (int y = 0; y < 3; y++) { + + item = scene.world().createItemEntity(util.vector().centerOf(2 + y, 6, 3), util.vector().of(0, 0, 0), coal); + } + } + if (item != null) + scene.world().modifyEntity(item, Entity::discard); + scene.idle(40); + + scene.world().showIndependentSection(creosoteOutput, Direction.DOWN); + scene.idle(40); + scene.world().showIndependentSection(exhaust, Direction.DOWN); + + scene.overlay().showText(70) + .attachKeyFrame() + .text("Carbon Dioxide is extracted at the top, Creosote can be extracted anywhere else") + .pointAt(util.vector().blockSurface(util.grid().at(3, 4, 2), Direction.WEST)) + .placeNearTarget(); + + scene.idle(100); + + scene.overlay().showText(70) + .attachKeyFrame() + .text("After some time, coal coke will fall out of the machine"); + + for (int y = 0; y < 3; y++) { + scene.world().createItemEntity(util.vector().centerOf(2 + y, 2, 1), util.vector().of(0, 0, 0), coal_coke); + } + } +} diff --git a/src/main/java/com/drmangotea/tfmg/ponder/scenes/MiscTFMGScenes.java b/src/main/java/com/drmangotea/tfmg/ponder/scenes/MiscTFMGScenes.java new file mode 100644 index 00000000..21763b59 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/ponder/scenes/MiscTFMGScenes.java @@ -0,0 +1,913 @@ +package com.drmangotea.tfmg.ponder.scenes; + +import com.drmangotea.tfmg.ponder.TFMGSceneBuilder; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllItems; +import com.simibubi.create.foundation.ponder.CreateSceneBuilder; +import net.createmod.catnip.math.Pointing; +import net.createmod.ponder.api.PonderPalette; +import net.createmod.ponder.api.element.ElementLink; +import net.createmod.ponder.api.element.WorldSectionElement; +import net.createmod.ponder.api.scene.SceneBuilder; +import net.createmod.ponder.api.scene.SceneBuildingUtil; +import net.createmod.ponder.api.scene.Selection; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.phys.Vec3; + +public class MiscTFMGScenes { + + + public static void chemical_vat(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("chemical_vat", "Chemical Vat"); + scene.configureBasePlate(0, 0, 7); + scene.scaleSceneView(0.7f); + scene.showBasePlate(); + + Selection chemical_vat = util.select().fromTo(2, 2, 2, 4, 3, 4); + Selection mixer = util.select().fromTo(3, 4, 3, 3, 4, 3); + + Selection graphiteElectrodes = util.select().fromTo(3, 4, 2, 3, 4, 2) + .add(util.select().fromTo(4, 4, 4, 4, 4, 4)) + .add(util.select().fromTo(2, 4, 4, 2, 4, 4)); + + Selection copperElectrodes = util.select().fromTo(4, 4, 3, 4, 4, 3) + .add(util.select().fromTo(2, 4, 3, 2, 4, 3)); + + Selection truss = util.select().fromTo(2, 1, 2, 2, 1, 2) + .add(util.select().fromTo(4, 1, 4, 4, 1, 4)) + .add(util.select().fromTo(4, 1, 2, 4, 1, 2)) + .add(util.select().fromTo(2, 1, 4, 2, 1, 4)); + + Selection blazeBurners = util.select().fromTo(2, 1, 3, 2, 1, 3) + .add(util.select().fromTo(3, 1, 2, 3, 1, 2)) + .add(util.select().fromTo(4, 1, 3, 4, 1, 3)) + .add(util.select().fromTo(3, 1, 4, 3, 1, 4)); + + ElementLink vatElement = scene.world().showIndependentSection(chemical_vat, Direction.DOWN); + scene.world().showIndependentSection(truss, Direction.DOWN); + scene.world().rotateSection(vatElement, 0, 180, 0, 0); + + scene.overlay().showText(70) + .attachKeyFrame() + .text("The chemical vat is a machine with attachments that can give it many different uses"); + + scene.idle(90); + + ElementLink mixerElement = scene.world().showIndependentSection(mixer, Direction.UP); + scene.overlay().showText(50) + .attachKeyFrame() + .text("First attachment is the industrial mixer"); + scene.idle(80); + + + Vec3 mixerPos = util.vector().topOf(util.grid().at(3, 4, 3)); + scene.overlay().showControls(mixerPos, Pointing.DOWN, 20) + .rightClick() + .withItem(new ItemStack(TFMGItems.MIXER_BLADE.get())); + scene.idle(30); + + scene.overlay().showText(50) + .attachKeyFrame() + .text("When the mixer blade is inserted, the vat becomes a mixer"); + scene.idle(60); + + scene.overlay().showControls(mixerPos, Pointing.DOWN, 20) + .rightClick() + .withItem(new ItemStack(TFMGItems.CENTRIFUGE.get())); + scene.idle(30); + + scene.overlay().showText(50) + .attachKeyFrame() + .text("The industrial mixer can also become a centrifuge"); + scene.idle(80); + + scene.world().hideIndependentSection(mixerElement, Direction.UP); + + scene.idle(30); + + ElementLink burnerElement = scene.world().showIndependentSection(blazeBurners, Direction.DOWN); + + scene.overlay().showText(50) + .attachKeyFrame() + .text("Some recipes need heating"); + + scene.idle(70); + + ElementLink electrolyzerElement = scene.world().showIndependentSection(copperElectrodes, Direction.DOWN); + + + Vec3 electrodePos1 = util.vector().topOf(util.grid().at(4, 4, 3)); + Vec3 electrodePos2 = util.vector().topOf(util.grid().at(2, 4, 3)); + scene.overlay().showControls(electrodePos1, Pointing.DOWN, 20) + .rightClick() + .withItem(new ItemStack(TFMGItems.COPPER_ELECTRODE.get())); + scene.overlay().showControls(electrodePos2, Pointing.DOWN, 20) + .rightClick() + .withItem(new ItemStack(TFMGItems.COPPER_ELECTRODE.get())); + scene.overlay().showText(40) + .attachKeyFrame() + .text("Placing 2 electrode holders with copper electrodes creates an electrolyzer"); + + scene.idle(60); + + scene.world().hideIndependentSection(electrolyzerElement, Direction.UP); + + scene.idle(20); + ElementLink arcFurnaceElement = scene.world().showIndependentSection(graphiteElectrodes, Direction.DOWN); + Vec3 furnacePos1 = util.vector().topOf(util.grid().at(4, 4, 2)); + Vec3 furnacePos2 = util.vector().topOf(util.grid().at(4, 4, 4)); + Vec3 furnacePos3 = util.vector().topOf(util.grid().at(2, 4, 4)); + scene.overlay().showControls(furnacePos1, Pointing.DOWN, 20) + .rightClick() + .withItem(new ItemStack(TFMGItems.GRAPHITE_ELECTRODE.get())); + scene.overlay().showControls(furnacePos2, Pointing.DOWN, 20) + .rightClick() + .withItem(new ItemStack(TFMGItems.GRAPHITE_ELECTRODE.get())); + scene.overlay().showControls(furnacePos3, Pointing.DOWN, 20) + .rightClick() + .withItem(new ItemStack(TFMGItems.GRAPHITE_ELECTRODE.get())); + scene.overlay().showText(50) + .attachKeyFrame() + .text("3 graphite electrodes create a blast furnace"); + + scene.idle(60); + + } + + public static void electricy_two(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("electricity_two", "Electric Subnetworks"); + scene.configureBasePlate(0, 0, 5); + scene.showBasePlate(); + + Selection generator = util.select().fromTo(4, 1, 3, 2, 1, 3); + + Selection light = util.select().fromTo(0, 1, 3, 0, 2, 2); + + Selection potentiometer = util.select().fromTo(1, 1, 1, 1, 1, 1); + Selection electricSwitch = util.select().fromTo(1, 1, 2, 1, 1, 2); + Selection diode = util.select().fromTo(1, 1, 3, 1, 1, 3); + Selection transformer = util.select().fromTo(1, 1, 4, 1, 1, 4); + + + ElementLink generatorElement = scene.world().showIndependentSection(generator, Direction.DOWN); + ElementLink lightElement = scene.world().showIndependentSection(light, Direction.DOWN); + ElementLink diodeElement = scene.world().showIndependentSection(diode, Direction.DOWN); + + scene.overlay().showText(50) + .attachKeyFrame() + .text("Some blocks have connections from 2 sides"); + scene.idle(60); + scene.overlay().showText(50) + .attachKeyFrame() + .text("These blocks create a new electric network on one of their sides"); + scene.idle(60); + scene.overlay().showText(90) + .attachKeyFrame() + .text("This subnetwork will get all the power from the main network but not the opposite way"); + scene.idle(100); + + //DIODE + scene.overlay().showText(70) + .attachKeyFrame() + .text("The most basic block with this ability is the Diode, it has no other extra abilities"); + scene.idle(80); + //POTENTIOMETER + scene.world().hideIndependentSection(diodeElement, Direction.NORTH); + ElementLink potentiometerElement = scene.world().showIndependentSection(potentiometer, Direction.NORTH); + scene.world().moveSection(potentiometerElement, new Vec3(0d, 0d, 2d), 0); + scene.overlay().showText(70) + .attachKeyFrame() + .text("Next one is the potentiometer, this one can set the percentage of voltage that gets to the subnetwork"); + scene.idle(80); + //SWITCH + scene.world().hideIndependentSection(potentiometerElement, Direction.NORTH); + ElementLink switchElement = scene.world().showIndependentSection(electricSwitch, Direction.NORTH); + scene.world().moveSection(switchElement, new Vec3(0d, 0d, 1d), 0); + scene.overlay().showText(70) + .attachKeyFrame() + .text("The switch works similarly but with redstone"); + scene.idle(80); + //TRANSFORMER + scene.world().hideIndependentSection(switchElement, Direction.NORTH); + ElementLink transformerElement = scene.world().showIndependentSection(transformer, Direction.NORTH); + scene.world().moveSection(transformerElement, new Vec3(0d, 0d, -1d), 0); + scene.overlay().showText(70) + .attachKeyFrame() + .text("The transformer changes voltage based on the ratio of turns between the primary and secondary coil"); + scene.idle(80); + + } + + + public static void electricity(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("electricity", "Electricity"); + scene.showBasePlate(); + + + Selection generator = util.select().fromTo(5, 1, 4, 4, 1, 4); + + Selection light1 = util.select().fromTo(3, 1, 4, 2, 2, 4); + Selection light2 = util.select().fromTo(2, 1, 3, 2, 2, 2); + Selection light3 = util.select().fromTo(2, 1, 0, 2, 2, 1); + + scene.world().showIndependentSection(generator, Direction.DOWN); + + scene.overlay().showText(50) + .attachKeyFrame() + .text("A generator creates 2 values, Voltage and Power"); + scene.idle(60); + + + //-------------------------Phase 1-------------------------// + scene.world().showIndependentSection(light1, Direction.DOWN); + + + scene.overlay().showText(240) + .attachKeyFrame() + .text( + """ + Generator: + Voltage(U) = 200V + Max Power = 8kW + Light Bulb: + Voltage(U) = 200V + Current(I) = 2A + Power(P) = 100W + Resistance(R) = 100Ω""" + ) + .independent(50) + .colored(PonderPalette.BLUE); + scene.overlay().showText(70) + .attachKeyFrame() + .text("When load is applied on a generator, it takes its voltage"); + scene.idle(80); + scene.overlay().showText(70) + .attachKeyFrame() + .text("Every an electric device has electrical resistance, light bulbs are 100 Ohm(Ω)"); + scene.idle(80); + scene.overlay().showText(70) + .attachKeyFrame() + .text("Current with size of Voltage divided by Resistance will start flowing in the light bulb"); + + scene.idle(80); + //-------------------------Phase 2-------------------------// + scene.world().showIndependentSection(light2, Direction.DOWN); + scene.overlay().showText(180) + .attachKeyFrame() + .text( + """ + Generator: + Voltage(U) = 200V + Max Power = 8kW + Light Bulb 1: + Voltage(U) = 100V + Current(I) = 1A + Resistance(R) = 100Ω + Group=0 + Light Bulb 2: + Voltage(U) = 100V + Current(I) = 1A + Resistance(R) = 100Ω + Group=0""" + ) + .independent(50) + .colored(PonderPalette.BLUE); + scene.overlay().showText(80) + .attachKeyFrame() + .text("Electric components can be connected with groups, by default all blocks are group 0"); + scene.idle(90); + scene.overlay().showText(80) + .attachKeyFrame() + .text("Blocks that share a group split voltage between them(blocks with higher resistance get more of the split voltage)"); + scene.idle(90); + //-------------------------Phase 3-------------------------// + Vec3 pos = util.vector().topOf(util.grid().at(2, 2, 4)); + scene.overlay().showControls(pos, Pointing.DOWN, 20) + .rightClick() + .withItem(new ItemStack(TFMGItems.CONFIGURATION_WRENCH.get())); + scene.overlay().showText(180) + .attachKeyFrame() + .text( + """ + Generator: + Voltage(U) = 200V + Max Power = 8kW + Light Bulb 1: + Voltage(U) = 200V + Current(I) = 2A + Resistance(R) = 100Ω + Group=1 + Light Bulb 2: + Voltage(U) = 200V + Current(I) = 2A + Resistance(R) = 100Ω + Group=0""" + ) + .independent(50) + .colored(PonderPalette.BLUE); + scene.overlay().showText(80) + .attachKeyFrame() + .text("Groups can be changed using the Configuration Wrench"); + scene.idle(90); + scene.overlay().showText(80) + .attachKeyFrame() + .text("Blocks in their own group keep all the voltage"); + scene.idle(90); + + + } + + public static void engines(SceneBuilder builder, SceneBuildingUtil util) { + TFMGSceneBuilder scene = new TFMGSceneBuilder(builder); + scene.title("engines", "Engines"); + scene.configureBasePlate(0, 0, 7); + + + scene.showBasePlate(); + + + Selection engine = util.select().fromTo(3, 1, 3, 3, 1, 4); + Selection engine_front = util.select().fromTo(3, 1, 2, 3, 1, 2); + Selection engine_front_shaft = util.select().fromTo(2, 1, 2, 2, 1, 2); + + Selection lever = util.select().fromTo(4, 1, 2, 4, 1, 2); + Selection cog = util.select().fromTo(3, 1, 0, 3, 1, 1); + + Selection fuelTank = util.select().fromTo(4, 1, 3, 5, 2, 3); + Selection tank = util.select().fromTo(4, 1, 4, 4, 2, 4); + Selection exhaust = util.select().fromTo(2, 1, 4, 1, 2, 4); + scene.world().setKineticSpeed(fuelTank, 70); + scene.world().setKineticSpeed(exhaust, 70); + scene.world().setKineticSpeed(cog, 70); + + + ElementLink engineElement = scene.world().showIndependentSection(engine, Direction.DOWN); + ElementLink engineFrontElement = scene.world().showIndependentSection(engine_front, Direction.DOWN); + + scene.overlay().showText(50) + .attachKeyFrame() + .text("To build an engine, start by placing up to 5 engine blocks in a line"); + + scene.idle(70); + + scene.overlay().showText(50) + .attachKeyFrame() + .text("The engine's tooltip will show you items needed for the assembly"); + scene.idle(60); + + Vec3 enginePos = util.vector().topOf(util.grid().at(3, 1, 2)); + scene.overlay().showControls(enginePos, Pointing.DOWN, 15) + .rightClick() + .withItem(new ItemStack(TFMGItems.CRANKSHAFT.get())); + scene.idle(25); + scene.overlay().showControls(enginePos, Pointing.DOWN, 15) + .rightClick() + .withItem(new ItemStack(TFMGBlocks.STEEL_COGWHEEL.get())); + scene.idle(25); + scene.overlay().showControls(enginePos, Pointing.DOWN, 15) + .rightClick() + .withItem(new ItemStack(TFMGBlocks.LARGE_STEEL_COGWHEEL.get())); + scene.idle(40); + + scene.overlay().showControls(enginePos, Pointing.DOWN, 50) + .rightClick() + .withItem(new ItemStack(AllItems.EMPTY_SCHEMATIC.get())); + + + scene.overlay().showText(50) + .attachKeyFrame() + .text("Engine configuration can be changed with a schematic"); + scene.idle(60); + + + scene.overlay().showText(60) + .attachKeyFrame() + .text("Next step is inserting the cylinders (or turbine blades in turbine engines)"); + + ElementLink engineFrontShaftElement = scene.world().showIndependentSection(engine_front_shaft, Direction.DOWN); + scene.world().moveSection(engineFrontShaftElement, new Vec3(1d, -2d, 0d), 0); + + BlockPos pos = util.grid().at(3, 1, 2); + for (int i = 0; i < 12; i++) { + scene.idle(5); + scene.tfmgInstructions().addPistonToEngine(pos); + + if (i == 3 || i == 7) + pos = pos.south(); + } + scene.idle(35); + scene.world().moveSection(engineFrontShaftElement, new Vec3(0d, 2d, 0d), 0); + scene.world().moveSection(engineFrontElement, new Vec3(0d, -2d, 0d), 0); + //scene.world().hideIndependentSection(engineFrontElement,Direction.DOWN); + + + scene.overlay().showText(50) + .attachKeyFrame() + .text("Shafts are inserted by right clicking"); + scene.overlay().showControls(enginePos, Pointing.DOWN, 50) + .rightClick() + .withItem(new ItemStack(AllBlocks.SHAFT)); + scene.idle(70); + + ElementLink fuelTankElement = scene.world().showIndependentSection(fuelTank, Direction.DOWN); + scene.idle(10); + ElementLink exhuastElement = scene.world().showIndependentSection(exhaust, Direction.DOWN); + + scene.overlay().showText(50) + .attachKeyFrame() + .text("Fuel input and exhaust output can be done from any block"); + scene.idle(70); + + scene.overlay().showText(50) + .attachKeyFrame() + + .text("Every engine block can be right clicked with certain items to be upgraded"); + scene.idle(60); + + scene.overlay().showControls(util.vector().topOf(util.grid().at(3, 1, 4)), Pointing.DOWN, 40) + .rightClick() + .withItem(new ItemStack(TFMGBlocks.INDUSTRIAL_PIPE)); + + scene.overlay().showText(70) + .attachKeyFrame() + .text("For example industrial pipes make the engine consume fuel from neighboring tanks"); + scene.idle(80); + scene.world().showIndependentSection(tank, Direction.DOWN); + scene.idle(30); + scene.world().setKineticSpeed(engine_front_shaft, 70); + scene.world().showIndependentSection(lever, Direction.DOWN); + scene.world().showIndependentSection(cog, Direction.DOWN); + scene.overlay().showText(128) + .attachKeyFrame() + .text("The engine can be started with a redstone signal"); + } + + + public static void pumpjack(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("pumpjack", "Pumpjack"); + scene.configureBasePlate(0, 0, 7); + + + //// + Selection pipez = util.select().fromTo(0, 2, 0, 0, 4, 0); + Selection hammer = util.select().fromTo(3, 1, 2, 3, 3, 2); + Selection base = util.select().fromTo(0, 1, 2, 0, 1, 2); + Selection crank = util.select().fromTo(6, 2, 2, 6, 2, 2); + Selection input = util.select().fromTo(5, 1, 1, 6, 1, 2); + Selection base1 = util.select().fromTo(2, 0, 0, 6, 0, 4); + Selection base2 = util.select().fromTo(0, 0, 0, 1, 0, 4); + Selection deposit = util.select().fromTo(0, 1, 0, 0, 1, 0); + Selection tank = util.select().fromTo(0, 0, 3, 1, 0, 4); + + Selection hammer_part = util.select().fromTo(1, 4, 2, 5, 4, 2); + Selection hammer_head = util.select().fromTo(6, 4, 2, 6, 4, 2); + Selection hammer_connector = util.select().fromTo(0, 4, 2, 0, 4, 2); + + + //// + // scene.scaleSceneView(.4f); + //scene.removeShadow(); + + + ElementLink baseElement1 = scene.world().showIndependentSection(base1, Direction.UP); + ElementLink baseElement2 = scene.world().showIndependentSection(base2, Direction.UP); + + scene.idle(20); + scene.world().hideIndependentSection(baseElement2, Direction.UP); + scene.idle(25); + ElementLink depositElement = scene.world().showIndependentSection(deposit, Direction.UP); + scene.world().moveSection(depositElement, new Vec3(0d, -4d, 2d), 0); + + scene.overlay().showText(50) + .attachKeyFrame() + .text("First step of mining oil is building industrial pipes from a deposit to the surface"); + + + ElementLink pipeElement = scene.world().showIndependentSection(pipez, Direction.SOUTH); + scene.world().moveSection(pipeElement, new Vec3(0d, -4d, 2d), 0); + scene.idle(25); + scene.world().hideIndependentSection(pipeElement, Direction.DOWN); + scene.world().hideIndependentSection(depositElement, Direction.DOWN); + scene.idle(25); + scene.world().showIndependentSection(base2, Direction.SOUTH); + scene.idle(25); + ElementLink pumpjackBaseElement = scene.world().showIndependentSection(base, Direction.SOUTH); + scene.overlay().showText(50) + .attachKeyFrame() + .text("Pumpjack base has to be placed on the top of the pipe") + .pointAt(util.vector().blockSurface(util.grid().at(0, 1, 2), Direction.WEST)) + .placeNearTarget(); + scene.idle(40); + ElementLink hammerElement1 = scene.world().showIndependentSection(hammer, Direction.UP); + scene.overlay().showText(50) + .attachKeyFrame() + .text("Pumpjack Hammer Holder needs to be placed behind it") + .pointAt(util.vector().blockSurface(util.grid().at(3, 3, 2), Direction.WEST)) + .placeNearTarget(); + scene.idle(70); + + + ElementLink connectorElement = scene.world().showIndependentSection(hammer_connector, Direction.UP); + ElementLink headElement = scene.world().showIndependentSection(hammer_head, Direction.UP); + scene.overlay().showText(50) + .attachKeyFrame() + .text("Next step is building the Connector And the Head of the Pumpjack above the crank and the base") + .pointAt(util.vector().blockSurface(util.grid().at(3, 3, 2), Direction.WEST)) + .placeNearTarget(); + scene.idle(70); + ElementLink partElement = scene.world().showIndependentSection(hammer_part, Direction.UP); + scene.overlay().showText(50) + .attachKeyFrame() + .text("Now they need to be connected with Pumpjack Hammer Parts") + .pointAt(util.vector().blockSurface(util.grid().at(3, 3, 2), Direction.WEST)) + .placeNearTarget(); + + + scene.idle(40); + scene.world().setKineticSpeed(input, 70); + scene.world().setKineticSpeed(base1, -140); + scene.world().showIndependentSection(input, Direction.SOUTH); + scene.idle(10); + scene.world().showIndependentSection(crank, Direction.SOUTH); + scene.overlay().showText(50) + .attachKeyFrame() + .text("The last step is placing a machine input (which is the power input for the pumpjack) with a pumpjack crank above it") + .pointAt(util.vector().blockSurface(util.grid().at(5, 1, 2), Direction.WEST)) + .placeNearTarget(); + scene.idle(60); + + + } + + public static void diesel_engine(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("diesel_engine", ""); + scene.configureBasePlate(0, 0, 5); + scene.showBasePlate(); + + Selection engine = util.select().fromTo(2, 1, 0, 2, 1, 2); + Selection exhaust = util.select().fromTo(2, 1, 3, 2, 2, 4); + Selection air = util.select().fromTo(0, 1, 0, 1, 1, 2); + Selection input = util.select().fromTo(3, 1, 0, 4, 1, 2); + + + scene.idle(30); + + ElementLink engineElement = scene.world().showIndependentSection(engine, Direction.DOWN); + scene.overlay().showText(50) + .attachKeyFrame() + .text("Diesel Engines are assembled by placing a shaft in the front of a diesel engine block"); + + + scene.idle(70); + + + ElementLink inputElement = scene.world().showIndependentSection(input, Direction.DOWN); + ElementLink exhaustElement = scene.world().showIndependentSection(exhaust, Direction.DOWN); + scene.world().setKineticSpeed(input, 80); + scene.world().setKineticSpeed(exhaust, 80); + + scene.overlay().showText(50) + .attachKeyFrame() + .text("Carbon Dioxide has to be outputted by pipes and exhaust block") + .pointAt(util.vector().blockSurface(util.grid().at(2, 2, 4), Direction.WEST)) + .placeNearTarget(); + scene.idle(40); + + ElementLink airElement = scene.world().showIndependentSection(air, Direction.DOWN); + scene.world().setKineticSpeed(air, 80); + scene.overlay().showText(50) + .attachKeyFrame() + .text("Diesel engines need air that can be collected with air intakes") + .pointAt(util.vector().blockSurface(util.grid().at(0, 1, 2), Direction.WEST)) + .placeNearTarget(); + scene.idle(10); + scene.world().setKineticSpeed(engine, 128); + scene.idle(70); + + + } + + public static void diesel_engine_expansion(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("diesel_engine_expansion", ""); + scene.configureBasePlate(0, 0, 6); + scene.showBasePlate(); + + Selection engine = util.select().fromTo(2, 1, 0, 2, 1, 2); + Selection input = util.select().fromTo(0, 1, 0, 1, 1, 2); + Selection exhaust = util.select().fromTo(3, 1, 0, 4, 2, 2); + + Selection expansion = util.select().fromTo(2, 1, 3, 2, 1, 3); + Selection air = util.select().fromTo(2, 1, 4, 2, 1, 5); + Selection coolant = util.select().fromTo(0, 1, 3, 1, 1, 3); + Selection oil = util.select().fromTo(3, 1, 3, 4, 1, 3); + + scene.world().setKineticSpeed(input, 80); + scene.world().setKineticSpeed(exhaust, 80); + scene.world().setKineticSpeed(air, 80); + scene.world().setKineticSpeed(coolant, 80); + scene.world().setKineticSpeed(oil, 80); + scene.world().setKineticSpeed(engine, 128); + + + scene.world().showIndependentSection(engine, Direction.DOWN); + scene.world().showIndependentSection(input, Direction.DOWN); + scene.world().showIndependentSection(exhaust, Direction.DOWN); + ElementLink airElement = scene.world().showIndependentSection(air, Direction.DOWN); + + + scene.world().moveSection(airElement, new Vec3(0d, 0d, -1d), 0); + + scene.idle(30); + + scene.world().moveSection(airElement, new Vec3(0d, 0d, 1d), 10); + + scene.idle(30); + + scene.world().showIndependentSection(expansion, Direction.DOWN); + + scene.idle(20); + + scene.world().showIndependentSection(coolant, Direction.DOWN); + scene.world().showIndependentSection(oil, Direction.DOWN); + + scene.overlay().showText(100) + .attachKeyFrame() + .text("Diesel engine expansions give diesel engines 2 new fluid slots, for cooling and lubrication") + .pointAt(util.vector().blockSurface(util.grid().at(2, 1, 3), Direction.WEST)) + .placeNearTarget(); + + + scene.idle(50); + + + } +//needs to be updated + public static void surface_scanner(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("surface_scanner", ""); + scene.configureBasePlate(0, 0, 5); + scene.showBasePlate(); + Selection scanner = util.select().fromTo(0, 1, 0, 5, 1, 5); + + scene.world().showSection(util.select().fromTo(0, 1, 0, 5, 1, 5), Direction.UP); + scene.overlay().showText(50) + .attachKeyFrame() + .text("The Surface Scanner is used for finding crude oil deposits") + .pointAt(util.vector().blockSurface(util.grid().at(2, 1, 2), Direction.WEST)) + .placeNearTarget(); + scene.idle(70); + scene.world().setKineticSpeed(scanner, 30); + scene.overlay().showText(50) + .attachKeyFrame() + .text("When rotation is applied, the machine starts to find the nearest oil deposit") + .pointAt(util.vector().blockSurface(util.grid().at(2, 1, 2), Direction.WEST)) + .placeNearTarget(); + scene.idle(70); + + + scene.overlay().showText(50) + .attachKeyFrame() + .text("When a deposit is found, compass at the top will show the direction") + .pointAt(util.vector().blockSurface(util.grid().at(2, 1, 2), Direction.WEST)) + .placeNearTarget(); + scene.idle(70); + + + } + + public static void distillation_tower(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("distillation_tower", ""); + scene.configureBasePlate(0, 0, 6); + scene.showBasePlate(); + scene.scaleSceneView(.6f); + Selection burners = util.select().fromTo(3, 1, 3, 4, 1, 4); + Selection tank = util.select().fromTo(3, 2, 3, 4, 8, 4); + Selection controller = util.select().fromTo(3, 1, 2, 3, 2, 2); + Selection output = util.select().fromTo(3, 3, 2, 3, 8, 2); + Selection oil_tank = util.select().fromTo(0, 1, 0, 2, 3, 4); + scene.world().setKineticSpeed(oil_tank, 80); + + ElementLink tankElement = scene.world().showIndependentSection(tank, Direction.DOWN); + + scene.overlay().showText(70) + .attachKeyFrame() + .text("The base of a distillation tower is comprised of steel tanks") + .pointAt(util.vector().blockSurface(util.grid().at(4, 6, 3), Direction.WEST)) + .placeNearTarget(); + scene.idle(80); + ElementLink controllerElement = scene.world().showIndependentSection(controller, Direction.DOWN); + + scene.overlay().showText(50) + .attachKeyFrame() + .text("Tower is assembled by placing Steel Distillation Controller next to the tanks") + .pointAt(util.vector().blockSurface(util.grid().at(2, 2, 3), Direction.WEST)) + .placeNearTarget(); + + scene.idle(70); + ElementLink outputElement = scene.world().showIndependentSection(output, Direction.DOWN); + scene.overlay().showText(60) + .attachKeyFrame() + .text("To finish the multiblock, place up to 6 Distillation outputs and Industrial Pipes between them") + .pointAt(util.vector().blockSurface(util.grid().at(2, 7, 3), Direction.WEST)) + .placeNearTarget(); + scene.idle(70); + + + ElementLink burnerElement = scene.world().showIndependentSection(burners, Direction.DOWN); + scene.overlay().showText(60) + .attachKeyFrame() + .text("Place a heat source under the tanks to power it, the dial on the tower shows the power level of the structure ") + .pointAt(util.vector().blockSurface(util.grid().at(3, 1, 2), Direction.WEST)) + .placeNearTarget(); + scene.idle(70); + + scene.world().showIndependentSection(oil_tank, Direction.DOWN); + + scene.overlay().showText(60) + .attachKeyFrame() + .text("Oil is inputted into the controller block") + .pointAt(util.vector().blockSurface(util.grid().at(2, 2, 3), Direction.WEST)) + .placeNearTarget(); + scene.idle(80); + + + } + + public static void radial_engines(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("radial_engines", ""); + scene.configureBasePlate(0, 0, 5); + scene.idle(10); + + scene.showBasePlate(); + + + Selection engine_small = util.select().fromTo(2, 1, 1, 2, 1, 1); + + Selection engine_large = util.select().fromTo(1, 1, 1, 1, 1, 1); + + + Selection engine_lever = util.select().fromTo(3, 1, 0, 3, 1, 0); + + + Selection input_pump = util.select().fromTo(3, 1, 2, 3, 1, 2); + + Selection input = util.select().fromTo(3, 1, 1, 3, 1, 1); + + Selection tank_1 = util.select().fromTo(3, 1, 3, 3, 2, 3); + + Selection tank_2 = util.select().fromTo(2, 1, 3, 2, 2, 3); + + + scene.world().setKineticSpeed(engine_small, 0); + + + ElementLink engineElement = scene.world().showIndependentSectionImmediately(engine_small); + scene.overlay().showText(50) + .attachKeyFrame() + .text("Radial Engines are a special Type of Engine that doesn't require an exhaust block") + .pointAt(util.vector().blockSurface(util.grid().at(4, 0, 4), Direction.WEST)) + .placeNearTarget(); + scene.idle(100); + + + scene.world().setKineticSpeed(input_pump, 80); + ElementLink inputElement = scene.world().showIndependentSection(input, Direction.DOWN); + scene.idle(50); + + BlockPos inputPos = util.grid().at(2, 1, 1); + Vec3 topOf = util.vector().topOf(inputPos); + scene.overlay().showControls(topOf, Pointing.DOWN, 20) + .rightClick() + .withItem(new ItemStack(AllItems.WRENCH.get())); + + scene.overlay().showText(70) + .attachKeyFrame() + .text("Clicking the Engine from one of its sides will spawn an input slot that can accept fuel and redstone signals") + .pointAt(util.vector().blockSurface(util.grid().at(2, 1, 1), Direction.WEST)) + .placeNearTarget(); + scene.idle(100); + scene.overlay().showText(40) + .attachKeyFrame() + .text("Regular Radial Engines uses gasoline as fuel") + .pointAt(util.vector().blockSurface(util.grid().at(2, 1, 1), Direction.WEST)) + .placeNearTarget(); + + + scene.idle(80); + + + ElementLink inputPumpElement = scene.world().showIndependentSection(input_pump, Direction.DOWN); + ElementLink tankElement1 = scene.world().showIndependentSection(tank_1, Direction.DOWN); + + + ElementLink leverElement = scene.world().showIndependentSection(engine_lever, Direction.DOWN); + scene.world().setKineticSpeed(engine_small, 180); + scene.world().setKineticSpeed(engine_large, 180); + + scene.overlay().showText(50) + .attachKeyFrame() + .text("Engine will start when redstone signal is applied to the input slot or the block itself") + .pointAt(util.vector().blockSurface(util.grid().at(3, 1, 0), Direction.WEST)) + .placeNearTarget(); + + scene.idle(100); + + scene.world().hideIndependentSection(engineElement, Direction.SOUTH); + scene.world().hideIndependentSection(tankElement1, Direction.SOUTH); + + scene.idle(50); + + ElementLink largeEngineElement = scene.world().showIndependentSection(engine_large, Direction.DOWN); + ElementLink tankElement2 = scene.world().showIndependentSection(tank_2, Direction.DOWN); + scene.world().moveSection(largeEngineElement, new Vec3(1d, 0d, 0d), 0); + scene.world().moveSection(tankElement2, new Vec3(1d, 0d, 0d), 0); + + scene.overlay().showText(50) + .attachKeyFrame() + .text("The second variant of a radial is The Large Radial Engine which uses kerosene as fuel"); + scene.idle(50); + } + + + public static void large_generator(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("large_generator", ""); + scene.configureBasePlate(0, 0, 7); + scene.showBasePlate(); + + Selection stator = util.select().fromTo(3, 1, 5, 5, 3, 5); + Selection rotor = util.select().fromTo(4, 2, 3, 4, 2, 3); + Selection kinetics1 = util.select().fromTo(4, 1, 1, 6, 2, 2); + + Selection kinetics2 = util.select().fromTo(6, 1, 3, 6, 1, 3); + Selection cables = util.select().fromTo(1, 1, 3, 2, 2, 6); + + scene.world().setKineticSpeed(kinetics1, 120); + scene.world().setKineticSpeed(kinetics2, 120); + //scene.world().setKineticSpeed(rotor,120); + scene.world().showIndependentSection(rotor, Direction.DOWN); + + scene.overlay().showText(50) + .attachKeyFrame() + .text("The main part of the Large Generator is the Rotor") + .pointAt(util.vector().blockSurface(util.grid().at(4, 2, 5), Direction.WEST)) + .placeNearTarget(); + + scene.idle(80); + + ElementLink statorElement = scene.world().showIndependentSection(stator, Direction.DOWN); + + + scene.world().moveSection(statorElement, new Vec3(0d, 0d, -2d), 0); + + scene.overlay().showText(75) + .attachKeyFrame() + .text("To complete the Large Generator, place a Stator block around the Rotor") + .pointAt(util.vector().blockSurface(util.grid().at(3, 2, 3), Direction.WEST)) + .placeNearTarget(); + + + scene.idle(105); + + scene.world().showIndependentSection(kinetics1, Direction.DOWN); + scene.world().showIndependentSection(kinetics2, Direction.DOWN); + + scene.world().setKineticSpeed(rotor, 120); + scene.overlay().showText(65) + .attachKeyFrame() + .text("Providing rotational power to the Rotor will produce electric energy") + .pointAt(util.vector().blockSurface(util.grid().at(4, 2, 3), Direction.WEST)) + .placeNearTarget(); + + + scene.idle(95); + + + BlockPos pos = util.grid().at(3, 2, 3); + Vec3 topOf = util.vector().topOf(pos); + scene.overlay().showControls(topOf, Pointing.DOWN, 20).rightClick() + .withItem(new ItemStack(AllItems.WRENCH.get())); + + + scene.overlay().showText(60) + .attachKeyFrame() + .text("Clicking a side with a wrench will make it the energy output"); + + scene.idle(20); + scene.world().showIndependentSection(cables, Direction.DOWN); + scene.idle(50); + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/recipes/CastingRecipe.java b/src/main/java/com/drmangotea/tfmg/recipes/CastingRecipe.java new file mode 100644 index 00000000..8bd845e2 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/CastingRecipe.java @@ -0,0 +1,44 @@ +package com.drmangotea.tfmg.recipes; + +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.simibubi.create.content.processing.recipe.ProcessingRecipe; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeParams; +import com.simibubi.create.content.processing.recipe.StandardProcessingRecipe; +import com.simibubi.create.foundation.fluid.FluidIngredient; +import net.minecraft.world.item.crafting.RecipeInput; +import net.minecraft.world.level.Level; +import net.neoforged.neoforge.items.wrapper.RecipeWrapper; + +public class CastingRecipe extends StandardProcessingRecipe { + + public CastingRecipe(ProcessingRecipeParams params) { + super(TFMGRecipeTypes.CASTING, params); + } + @Override + protected boolean canSpecifyDuration() { + return true; + } + @Override + protected int getMaxFluidInputCount() { + return 1; + } + public FluidIngredient getIngrenient(){ + return fluidIngredients.get(0); + } + + @Override + protected int getMaxInputCount() { + return 0; + } + + @Override + protected int getMaxOutputCount() { + return 1; + } + + @Override + public boolean matches(RecipeInput p_44002_, Level p_44003_) { + return false; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/recipes/CokingRecipe.java b/src/main/java/com/drmangotea/tfmg/recipes/CokingRecipe.java new file mode 100644 index 00000000..efd73975 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/CokingRecipe.java @@ -0,0 +1,51 @@ +package com.drmangotea.tfmg.recipes; + +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.simibubi.create.content.processing.recipe.ProcessingRecipe; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeParams; +import com.simibubi.create.content.processing.recipe.StandardProcessingRecipe; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.crafting.RecipeInput; +import net.minecraft.world.level.Level; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.items.wrapper.RecipeWrapper; + + +public class CokingRecipe extends StandardProcessingRecipe { + + public CokingRecipe(ProcessingRecipeParams params) { + super(TFMGRecipeTypes.COKING, params); + } + + @Override + protected int getMaxInputCount() { + return 1; + } + @Override + protected boolean canSpecifyDuration() { + return true; + } + @Override + protected int getMaxOutputCount() { + return 1; + } + @Override + protected int getMaxFluidOutputCount() { + return 2; + } + + public FluidStack getPrimaryResult(){ + return getFluidResults().get(0); + } + public FluidStack getSecondaryResult(){ + return getFluidResults().get(1); + } + @Override + public boolean matches(RecipeInput inv, Level worldIn) { + if (inv.isEmpty()) + return false; + return ((Ingredient)ingredients.get(0)) + .test(inv.getItem(0)); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/recipes/DistillationRecipe.java b/src/main/java/com/drmangotea/tfmg/recipes/DistillationRecipe.java new file mode 100644 index 00000000..92e4556e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/DistillationRecipe.java @@ -0,0 +1,84 @@ +package com.drmangotea.tfmg.recipes; + + + + +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.simibubi.create.content.processing.recipe.ProcessingRecipe; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeParams; +import com.simibubi.create.content.processing.recipe.StandardProcessingRecipe; +import com.simibubi.create.foundation.fluid.FluidIngredient; +import com.simibubi.create.foundation.item.SmartInventory; +import net.minecraft.core.NonNullList; +import net.minecraft.world.item.crafting.RecipeInput; +import net.minecraft.world.level.Level; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.templates.FluidTank; + + +public class DistillationRecipe extends StandardProcessingRecipe { + + public DistillationRecipe(ProcessingRecipeParams params) { + super(TFMGRecipeTypes.DISTILLATION, params); + } + @Override + protected boolean canSpecifyDuration() { + return true; + } + + @Override + protected boolean canRequireHeat() { + return true; + } + + public FluidIngredient getInputFluid(){ + return getFluidIngredients().get(0); + } + + @Override + public int getMaxFluidOutputCount() { + return 6; + } + + @Override + public int getMaxInputCount() { + return 0; + } + + @Override + public int getMaxFluidInputCount() { + return 1; + } + + @Override + public int getMaxOutputCount() { + return 0; + } + + public FluidStack getFirstFluidResult(){ + return fluidResults.get(0); + } + + public int getOutputCount(DistillationRecipe recipe){ + return recipe.fluidResults.toArray().length; + } + + public boolean matches(FluidTank inv, int outputs) { + + int neededOutputs = fluidIngredients.toArray().length; + + if(outputs !=neededOutputs) + return false; + + if (inv.getFluidInTank(0).getAmount()==0) + return false; + return fluidIngredients.get(0) + .test(inv.getFluidInTank(0)); + } + + @Override + public boolean matches(RecipeInput pContainer, Level pLevel) { + return false; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/recipes/HotBlastRecipe.java b/src/main/java/com/drmangotea/tfmg/recipes/HotBlastRecipe.java new file mode 100644 index 00000000..1c1ef353 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/HotBlastRecipe.java @@ -0,0 +1,69 @@ +package com.drmangotea.tfmg.recipes; + +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.google.gson.JsonObject; +import com.simibubi.create.content.processing.recipe.ProcessingRecipe; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeParams; +import com.simibubi.create.content.processing.recipe.StandardProcessingRecipe; +import com.simibubi.create.foundation.fluid.FluidIngredient; +import net.minecraft.util.GsonHelper; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.level.Level; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.items.wrapper.RecipeWrapper; + +public class HotBlastRecipe extends StandardProcessingRecipe { + + public HotBlastRecipe(ProcessingRecipeParams params) { + super(TFMGRecipeTypes.HOT_BLAST, params); + } + @Override + protected boolean canSpecifyDuration() { + return true; + } + @Override + protected int getMaxInputCount() { + return 0; + } + + @Override + protected int getMaxOutputCount() { + return 0; + } + @Override + protected int getMaxFluidOutputCount() { + return 2; + } + + @Override + protected int getMaxFluidInputCount() { + return 2; + } + + public FluidStack getPrimaryResult(){ + return getFluidResults().get(0); + } + public FluidStack getSecondaryResult(){ + return getFluidResults().get(1); + } + + public FluidIngredient getPrimaryIngredient(){ + return getFluidIngredients().get(0); + } + public FluidIngredient getSecondaryIngredient(){ + return getFluidIngredients().get(1); + } + + + @Override + public boolean matches(RecipeWrapper inv, Level worldIn) { + if (inv.isEmpty()) + return false; + return ingredients.get(0) + .test(inv.getItem(0)); + } + + + +} diff --git a/src/main/java/com/drmangotea/tfmg/recipes/IndustrialBlastingRecipe.java b/src/main/java/com/drmangotea/tfmg/recipes/IndustrialBlastingRecipe.java new file mode 100644 index 00000000..26bfe983 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/IndustrialBlastingRecipe.java @@ -0,0 +1,144 @@ +package com.drmangotea.tfmg.recipes; + +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.google.gson.JsonObject; +import com.mojang.datafixers.util.Either; +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import com.simibubi.create.content.kinetics.deployer.ItemApplicationRecipe; +import com.simibubi.create.content.processing.recipe.*; +import com.simibubi.create.foundation.fluid.FluidIngredient; +import net.minecraft.core.NonNullList; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.ExtraCodecs; +import net.minecraft.util.GsonHelper; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.crafting.RecipeInput; +import net.minecraft.world.item.crafting.RecipeSerializer; +import net.minecraft.world.level.Level; + + +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.items.wrapper.RecipeWrapper; + +import java.util.ArrayList; +import java.util.List; +import java.util.function.Function; + +public class IndustrialBlastingRecipe extends ProcessingRecipe { + + + + + + public int hotAirUsage; + + public IndustrialBlastingRecipe(IndustrialBlastingRecipeParams params) { + super(TFMGRecipeTypes.INDUSTRIAL_BLASTING, params); + hotAirUsage = params.hotAirUsage; + } + + @Override + protected int getMaxInputCount() { + return 2; + } + + @Override + protected boolean canSpecifyDuration() { + return true; + } + + @Override + protected int getMaxOutputCount() { + return 0; + } + @Override + protected int getMaxFluidOutputCount() { + return 3; + } + + public FluidStack getPrimaryResult(){ + return getFluidResults().get(0); + } + public FluidStack getSecondaryResult(){ + return getFluidResults().get(1); + } + public FluidStack getGasByproduct(){ + if(getFluidResults().size() == 3) { + return getFluidResults().get(2); + }else return FluidStack.EMPTY; + } + + //public void readAdditional(JsonObject json) { + // super.readAdditional(json); + // this.hotAirUsage = GsonHelper.getAsInt(json, "hotAirUsage", 0); + //} + + //public void writeAdditional(JsonObject json) { + // super.writeAdditional(json); + // json.addProperty("hotAirUsage", this.hotAirUsage); + //} + + @FunctionalInterface + public interface Factory extends ProcessingRecipe.Factory { + R create(IndustrialBlastingRecipeParams params); + } + public static class Builder extends ProcessingRecipeBuilder> { + public Builder(IndustrialBlastingRecipe.Factory factory, ResourceLocation recipeId) { + super(factory, recipeId); + } + + @Override + protected IndustrialBlastingRecipeParams createParams() { + return new IndustrialBlastingRecipeParams(); + } + + @Override + public IndustrialBlastingRecipe.Builder self() { + return this; + } + + public IndustrialBlastingRecipe.Builder hotAirUsage(int value) { + params.hotAirUsage = value; + return this; + } + + } + + + @Override + public boolean matches(RecipeInput inv, Level worldIn) { + if (inv.isEmpty()) + return false; + return ingredients.get(0) + .test(inv.getItem(0)); + } + + public static class Serializer implements RecipeSerializer { + private final MapCodec codec; + private final StreamCodec streamCodec; + + public Serializer(ProcessingRecipe.Factory factory) { + this.codec = ProcessingRecipe.codec(factory, IndustrialBlastingRecipeParams.CODEC); + this.streamCodec = ProcessingRecipe.streamCodec(factory, IndustrialBlastingRecipeParams.STREAM_CODEC); + } + + @Override + public MapCodec codec() { + return codec; + } + + @Override + public StreamCodec streamCodec() { + return streamCodec; + } + + } + + + + +} diff --git a/src/main/java/com/drmangotea/tfmg/recipes/IndustrialBlastingRecipeParams.java b/src/main/java/com/drmangotea/tfmg/recipes/IndustrialBlastingRecipeParams.java new file mode 100644 index 00000000..7d21bb2d --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/IndustrialBlastingRecipeParams.java @@ -0,0 +1,40 @@ +package com.drmangotea.tfmg.recipes; + +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeParams; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; + +import java.util.function.Function; + +public class IndustrialBlastingRecipeParams extends ProcessingRecipeParams { + public static MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( + codec(IndustrialBlastingRecipeParams::new).forGetter(Function.identity()), + Codec.INT.optionalFieldOf("hot_air_usage", 0).forGetter(IndustrialBlastingRecipeParams::hotAirUsage) + ).apply(instance, (params, keepHeldItem) -> { + params.hotAirUsage = keepHeldItem; + return params; + })); + public static StreamCodec STREAM_CODEC = streamCodec(IndustrialBlastingRecipeParams::new); + + protected int hotAirUsage; + + protected final int hotAirUsage() { + return hotAirUsage; + } + + @Override + protected void encode(RegistryFriendlyByteBuf buffer) { + super.encode(buffer); + ByteBufCodecs.INT.encode(buffer, hotAirUsage); + } + + @Override + protected void decode(RegistryFriendlyByteBuf buffer) { + super.decode(buffer); + hotAirUsage = ByteBufCodecs.INT.decode(buffer); + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/recipes/PolarizingRecipe.java b/src/main/java/com/drmangotea/tfmg/recipes/PolarizingRecipe.java new file mode 100644 index 00000000..6db1e083 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/PolarizingRecipe.java @@ -0,0 +1,75 @@ +package com.drmangotea.tfmg.recipes; + +import com.drmangotea.tfmg.recipes.jei.PolarizingCategory; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.google.gson.JsonObject; +import com.simibubi.create.compat.jei.category.sequencedAssembly.SequencedAssemblySubCategory; +import com.simibubi.create.content.processing.recipe.ProcessingRecipe; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeParams; +import com.simibubi.create.content.processing.recipe.StandardProcessingRecipe; +import com.simibubi.create.content.processing.sequenced.IAssemblyRecipe; + +import com.simibubi.create.foundation.utility.CreateLang; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.chat.Component; +import net.minecraft.util.GsonHelper; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.crafting.RecipeInput; +import net.minecraft.world.item.crafting.SingleRecipeInput; +import net.minecraft.world.level.ItemLike; +import net.minecraft.world.level.Level; +import net.neoforged.neoforge.items.wrapper.RecipeWrapper; + +import javax.annotation.ParametersAreNonnullByDefault; +import java.util.List; +import java.util.Set; +import java.util.function.Supplier; + +@ParametersAreNonnullByDefault +public class PolarizingRecipe extends StandardProcessingRecipe implements IAssemblyRecipe { + public PolarizingRecipe(ProcessingRecipeParams params) { + super(TFMGRecipeTypes.POLARIZING, params); + } + @Override + protected boolean canSpecifyDuration() { + return true; + } + @Override + protected int getMaxInputCount() { + return 1; + } + + @Override + protected int getMaxOutputCount() { + return 1; + } + + public boolean matches(RecipeInput inv, Level worldIn) { + return !inv.isEmpty() && ((Ingredient)this.ingredients.get(0)).test(inv.getItem(0)); + } + + @Override + public Component getDescriptionForAssembly() { + return CreateLang.translateDirect("recipe.assembly.polarizing"); + } + + @Override + public void addRequiredMachines(Set set) { + + set.add(TFMGBlocks.POLARIZER.get()); + } + + @Override + public void addAssemblyIngredients(List list) { + + } + + @Override + public Supplier> getJEISubCategory() { + return () -> PolarizingCategory.AssemblyPolarizing::new; + } + + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/recipes/VatMachineRecipe.java b/src/main/java/com/drmangotea/tfmg/recipes/VatMachineRecipe.java new file mode 100644 index 00000000..07208699 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/VatMachineRecipe.java @@ -0,0 +1,178 @@ +package com.drmangotea.tfmg.recipes; + +import com.drmangotea.tfmg.datagen.recipes.values.tfmg.TFMGVatRecipeGen; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import com.mojang.datafixers.util.Either; +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import com.simibubi.create.content.processing.recipe.ProcessingRecipe; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeParams; +import com.simibubi.create.foundation.fluid.FluidIngredient; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.GsonHelper; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.crafting.RecipeInput; +import net.minecraft.world.item.crafting.RecipeSerializer; +import net.minecraft.world.level.Level; +import net.neoforged.neoforge.items.wrapper.RecipeWrapper; + + +import java.util.ArrayList; +import java.util.List; +import java.util.function.Function; + +public class VatMachineRecipe extends ProcessingRecipe { + + + + + public List machines; + public List allowedVatTypes; + public int minSize; + public int heatLevel=0; + + public VatMachineRecipe(VatRecipeParams params) { + super(TFMGRecipeTypes.VAT_MACHINE_RECIPE, params); + machines = params.machines; + allowedVatTypes = params.allowedVatTypes; + minSize = params.min_size; + heatLevel = params.heat_level; + } + + + + @Override + protected int getMaxInputCount() { + return 4; + } + @Override + protected int getMaxOutputCount() { + return 4; + } + @Override + protected int getMaxFluidInputCount() { + return 4; + } + @Override + protected int getMaxFluidOutputCount() { + return 4; + } + + //@Override + //public void readAdditional(FriendlyByteBuf buffer) { + // super.readAdditional(buffer); + // JsonArray machineArray = json.getAsJsonArray("machines"); + // if (machineArray != null) { + // for (int i = 0; i < machineArray.size(); i++) { +// +// +// + // machines.add(machineArray.get(i).getAsString()); + // } + // } + // // + // JsonArray vatTypeArray = json.getAsJsonArray("allowedVatTypes"); + // if (vatTypeArray != null) { + // for (int i = 0; i < vatTypeArray.size(); i++) { + // allowedVatTypes.add(vatTypeArray.get(i).getAsString()); + // } + // } + // // + // this.minSize = GsonHelper.getAsInt(json, "minSize", 1); + //} +// +// +// +// +// + //public void writeAdditional(FriendlyByteBuf buffer) { + // super.writeAdditional(buffer); + // JsonArray machineArray = new JsonArray(); +// + // for (String string : machines) { + // machineArray.add(string); +// + // } + // json.add("machines", machineArray); + // // + // JsonArray vatTypeArray = new JsonArray(); + // for (String string : allowedVatTypes) { + // vatTypeArray.add(string); + // } + // json.add("allowedVatTypes", vatTypeArray); + // // + // json.addProperty("minSize", this.minSize); +// + //} + + @Override + public boolean matches(RecipeInput inv, Level worldIn) { + return false; + } + + @Override + protected boolean canSpecifyDuration() { + return true; + } + @Override + protected boolean canRequireHeat() { + return true; + } + @FunctionalInterface + public interface Factory extends ProcessingRecipe.Factory { + R create(VatRecipeParams params); + } + public static class Builder extends ProcessingRecipeBuilder> { + public Builder(VatMachineRecipe.Factory factory, ResourceLocation recipeId) { + super(factory, recipeId); + } + + @Override + protected VatRecipeParams createParams() { + return new VatRecipeParams(); + } + + @Override + public VatMachineRecipe.Builder self() { + return this; + } + + public VatMachineRecipe.Builder values(TFMGVatRecipeGen.VatRecipeValues value) { + params.machines = value.machines; + params.allowedVatTypes = value.allowedVatTypes; + + params.min_size = value.minSize; + return this; + } + + + } + + public static class Serializer implements RecipeSerializer { + private final MapCodec codec; + private final StreamCodec streamCodec; + + public Serializer(ProcessingRecipe.Factory factory) { + this.codec = ProcessingRecipe.codec(factory, VatRecipeParams.CODEC); + this.streamCodec = ProcessingRecipe.streamCodec(factory, VatRecipeParams.STREAM_CODEC); + } + + @Override + public MapCodec codec() { + return codec; + } + + @Override + public StreamCodec streamCodec() { + return streamCodec; + } + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/recipes/VatRecipeParams.java b/src/main/java/com/drmangotea/tfmg/recipes/VatRecipeParams.java new file mode 100644 index 00000000..71abccb9 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/VatRecipeParams.java @@ -0,0 +1,89 @@ +package com.drmangotea.tfmg.recipes; + +import com.drmangotea.tfmg.TFMG; +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeParams; +import net.createmod.catnip.codecs.stream.CatnipStreamCodecBuilders; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; + +import java.util.ArrayList; +import java.util.List; +import java.util.function.Function; + +public class VatRecipeParams extends ProcessingRecipeParams { + + public static List types = new ArrayList<>(); + + static { + types.add("tfmg:steel_vat"); + types.add("tfmg:cast_iron_vat"); + types.add("tfmg:firebrick_lined_vat"); + } + + public static MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( + codec(VatRecipeParams::new).forGetter(Function.identity()), + Codec.INT.optionalFieldOf("min_size", 0) + .forGetter(VatRecipeParams::getMinSize), + Codec.INT.optionalFieldOf("heat_level", 0) + .forGetter(VatRecipeParams::getHeatLevel), + Codec.STRING.listOf().optionalFieldOf("machines", new ArrayList<>()).forGetter(VatRecipeParams::getMachines), + Codec.STRING.listOf().optionalFieldOf("allowed_vat_types", types).forGetter(VatRecipeParams::getAllowedVatTypes) + ).apply(instance, (params, min_size, heat_level, machines, allowed_vat_types) -> { + params.machines = machines; + params.min_size = min_size; + params.heat_level = heat_level; + params.allowedVatTypes = allowed_vat_types; + return params; + })); + public static StreamCodec STREAM_CODEC = streamCodec(VatRecipeParams::new); + + public int min_size; + + public int heat_level; + + public List machines; + public List allowedVatTypes; + + protected final int getHeatLevel() { + return heat_level; + } + + protected final int getMinSize() { + return min_size; + } + + protected final List getMachines() { + return machines; + } + + protected final List getAllowedVatTypes() { + return allowedVatTypes; + } + + @Override + protected void encode(RegistryFriendlyByteBuf buffer) { + super.encode(buffer); + ByteBufCodecs.INT.encode(buffer, min_size); + ByteBufCodecs.INT.encode(buffer, heat_level); + + + CatnipStreamCodecBuilders.list(ByteBufCodecs.STRING_UTF8).encode(buffer, machines); + CatnipStreamCodecBuilders.list(ByteBufCodecs.STRING_UTF8).encode(buffer, allowedVatTypes); + + } + + @Override + protected void decode(RegistryFriendlyByteBuf buffer) { + super.decode(buffer); + min_size = ByteBufCodecs.INT.decode(buffer); + heat_level = ByteBufCodecs.INT.decode(buffer); + + machines = CatnipStreamCodecBuilders.list(ByteBufCodecs.STRING_UTF8).decode(buffer); + allowedVatTypes = CatnipStreamCodecBuilders.list(ByteBufCodecs.STRING_UTF8).decode(buffer); + + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/recipes/WindingRecipe.java b/src/main/java/com/drmangotea/tfmg/recipes/WindingRecipe.java new file mode 100644 index 00000000..da34c998 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/WindingRecipe.java @@ -0,0 +1,79 @@ +package com.drmangotea.tfmg.recipes; + +import com.drmangotea.tfmg.recipes.jei.WindingCategory; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.simibubi.create.compat.jei.category.sequencedAssembly.SequencedAssemblySubCategory; +import com.simibubi.create.content.processing.recipe.ProcessingRecipe; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeParams; +import com.simibubi.create.content.processing.recipe.StandardProcessingRecipe; +import com.simibubi.create.content.processing.sequenced.IAssemblyRecipe; + +import com.simibubi.create.foundation.utility.CreateLang; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.level.ItemLike; +import net.minecraft.world.level.Level; +import net.neoforged.neoforge.items.wrapper.RecipeWrapper; + + +import java.util.List; +import java.util.Set; +import java.util.function.Supplier; + +public class WindingRecipe extends StandardProcessingRecipe implements IAssemblyRecipe { + + public WindingRecipe(ProcessingRecipeParams params) { + super(TFMGRecipeTypes.WINDING, params); + } + + @Override + protected boolean canSpecifyDuration() { + return true; + } + + @Override + protected int getMaxInputCount() { + return 2; + } + + @Override + protected int getMaxOutputCount() { + return 1; + } + + + public Ingredient getIngredient(){ + return getIngredients().get(0); + } + public Ingredient getSpool(){ + return getIngredients().get(1); + } + @Override + public boolean matches(RecipeWrapper inv, Level worldIn) { + if (inv.isEmpty()) + return false; + return ingredients.get(0) + .test(inv.getItem(0)); + } +// + @Override + public Component getDescriptionForAssembly() { + return CreateLang.translateDirect("recipe.assembly.winding"); + } + + @Override + public void addRequiredMachines(Set list) { + list.add(TFMGBlocks.WINDING_MACHINE.get()); + } + + @Override + public void addAssemblyIngredients(List list) { + list.add(ingredients.get(1)); + } + + @Override + public Supplier> getJEISubCategory() { + return ()->WindingCategory.AssemblyWinding::new; + } +} diff --git a/src/main/java/com/drmangotea/tfmg/recipes/jei/CastingCategory.java b/src/main/java/com/drmangotea/tfmg/recipes/jei/CastingCategory.java new file mode 100644 index 00000000..6079e219 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/jei/CastingCategory.java @@ -0,0 +1,62 @@ +package com.drmangotea.tfmg.recipes.jei; + + +import com.drmangotea.tfmg.recipes.CastingRecipe; +import com.drmangotea.tfmg.recipes.jei.machines.CastingSetup; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.compat.jei.category.CreateRecipeCategory; +import com.simibubi.create.foundation.gui.AllGuiTextures; + +import mezz.jei.api.gui.builder.IRecipeLayoutBuilder; +import mezz.jei.api.gui.ingredient.IRecipeSlotsView; +import mezz.jei.api.recipe.IFocusGroup; +import mezz.jei.api.recipe.RecipeIngredientRole; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.core.RegistryAccess; +import net.minecraft.world.item.ItemStack; + +import javax.annotation.ParametersAreNonnullByDefault; + +@ParametersAreNonnullByDefault +public class CastingCategory extends CreateRecipeCategory { + + private final CastingSetup castingSetup = new CastingSetup(); + + public CastingCategory(Info info) { + super(info); + } + + + @Override + public void setRecipe(IRecipeLayoutBuilder builder, CastingRecipe recipe, IFocusGroup focuses) { + + + RegistryAccess registryAccess = Minecraft.getInstance().level.registryAccess(); + builder + .addSlot(RecipeIngredientRole.OUTPUT, 130, 20) + .setBackground(getRenderedSlot(), -1, -1) + .addItemStack(recipe.getResultItem(registryAccess)); + + addFluidSlot(builder,15,20,recipe.getFluidIngredients().get(0)); + //builder + // .addSlot(RecipeIngredientRole.INPUT, 15, 20) + // .setBackground(getRenderedSlot(), -1, -1) + // .addIngredients(ForgeTypes.FLUID_STACK, withImprovedVisibility(recipe.getFluidIngredients().get(0).getMatchingFluidStacks())) + // .addRichTooltipCallback(addFluidTooltip(recipe.getFluidIngredients().get(0).getRequiredAmount())); +// + + } + + @Override + public void draw(CastingRecipe recipe, IRecipeSlotsView iRecipeSlotsView, GuiGraphics graphics, double mouseX, double mouseY) { + castingSetup + .draw(graphics, 72, 40); + + + AllGuiTextures.JEI_ARROW.render(graphics, 78, 23); + + + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/recipes/jei/ChemicalVatCategory.java b/src/main/java/com/drmangotea/tfmg/recipes/jei/ChemicalVatCategory.java new file mode 100644 index 00000000..97644d12 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/jei/ChemicalVatCategory.java @@ -0,0 +1,141 @@ +package com.drmangotea.tfmg.recipes.jei; + +import com.drmangotea.tfmg.recipes.PolarizingRecipe; +import com.drmangotea.tfmg.recipes.VatMachineRecipe; +import com.drmangotea.tfmg.recipes.jei.machines.Polarizer; +import com.drmangotea.tfmg.registry.TFMGGuiTextures; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.compat.jei.category.CreateRecipeCategory; +import com.simibubi.create.compat.jei.category.sequencedAssembly.SequencedAssemblySubCategory; +import com.simibubi.create.content.processing.recipe.HeatCondition; +import com.simibubi.create.content.processing.sequenced.SequencedRecipe; +import com.simibubi.create.foundation.gui.AllGuiTextures; +import mezz.jei.api.gui.builder.IRecipeLayoutBuilder; +import mezz.jei.api.gui.ingredient.IRecipeSlotsView; +import mezz.jei.api.recipe.IFocusGroup; +import mezz.jei.api.recipe.RecipeIngredientRole; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; + +import java.util.ArrayList; +import java.util.List; + +public class ChemicalVatCategory extends CreateRecipeCategory { + + public ChemicalVatCategory(Info info) { + super(info); + } + + public void setRecipe(IRecipeLayoutBuilder builder, VatMachineRecipe recipe, IFocusGroup focuses) { + //builder.addSlot(RecipeIngredientRole.INPUT, 15, 9).setBackground(getRenderedSlot(), -1, -1).addIngredients(recipe.getIngredients().get(0)); + //builder.addSlot(RecipeIngredientRole.OUTPUT, 140, 28).setBackground(getRenderedSlot(), -1, -1).addItemStack(recipe.getResultItem(Minecraft.getInstance().level.registryAccess())); + + int fluidCount = recipe.getFluidIngredients().size(); + int pos = 55; + int width = ((fluidCount) * 20) / 2; + int movement = fluidCount != 4 ? 1 : 0; + if (fluidCount == 1) + movement = 2; + for (int i = 0; i < fluidCount; i++) { + + addFluidSlot(builder, pos - width + movement, recipe.getIngredients().isEmpty() ? 72 : 85, recipe.getFluidIngredients().get(i)); + + pos += 21; + } + int itemCount = recipe.getIngredients().size(); + int itemPos = 55; + int itemWidth = ((itemCount) * 20) / 2; + int itemMovement = itemCount != 4 ? 1 : 0; + if (itemCount == 1) + itemMovement = 2; + for (int i = 0; i < itemCount; i++) { + + builder.addSlot(RecipeIngredientRole.INPUT, itemPos - itemWidth + itemMovement, recipe.getFluidIngredients().isEmpty() ? 72 : 64).setBackground(getRenderedSlot(), -1, -1).addIngredients(recipe.getIngredients().get(i)); + + itemPos += 21; + } + ///////////////////////////// + + int fluidResultPos = 90; + + for (int i = 0; i < recipe.getFluidResults().size(); i++) { + + addFluidSlot(builder, 150, fluidResultPos, recipe.getFluidResults().get(i)); + + fluidResultPos -= 21; + } + + int itemResultPos = 90; + + for (int i = 0; i < recipe.getRollableResults().size(); i++) { + + builder + .addSlot(RecipeIngredientRole.OUTPUT, 128, itemResultPos) + .setBackground(getRenderedSlot(), -1, -1) + .addItemStack(recipe.getRollableResults().get(i).getStack()) + .addRichTooltipCallback(addStochasticTooltip(recipe.getRollableResults().get(i))) + ; + + itemResultPos -= 21; + } + } + + public void draw(VatMachineRecipe recipe, IRecipeSlotsView iRecipeSlotsView, GuiGraphics graphics, double mouseX, double mouseY) { + + List machines = recipe.machines; + List allowedVatTypes = recipe.allowedVatTypes; + + + TFMGGuiTextures.VAT.render(graphics, 0, 24); + + if (allowedVatTypes.contains("tfmg:firebrick_lined_vat") && allowedVatTypes.size() == 1) { + TFMGGuiTextures.FIREPROOF_BRICK_OVERLAY.render(graphics, 55 - 48, 32); + } + + if (machines.contains("tfmg:mixing")) { + TFMGGuiTextures.VAT_MACHINE.render(graphics, 55 - 12, 0); + TFMGGuiTextures.MIXER.render(graphics, 55 - 19, 32); + } + if (machines.contains("tfmg:electrode")) { + TFMGGuiTextures.VAT_MACHINE.render(graphics, 55 - 12 - 32, 0); + TFMGGuiTextures.VAT_MACHINE.render(graphics, 55 - 12 + 32, 0); + TFMGGuiTextures.ELECTRODE.render(graphics, 55 - 3 - 32, 32); + TFMGGuiTextures.ELECTRODE.render(graphics, 55 - 3 + 32, 32); + } + if (machines.contains("tfmg:graphite_electrode")) { + TFMGGuiTextures.VAT_MACHINE.render(graphics, 55 - 12 - 32, 0); + TFMGGuiTextures.VAT_MACHINE.render(graphics, 55 - 12 + 32, 0); + TFMGGuiTextures.VAT_MACHINE.render(graphics, 55 - 12, 0); + TFMGGuiTextures.GRAPHITE_ELECTRODE.render(graphics, 55 - 4 - 32, 32); + TFMGGuiTextures.GRAPHITE_ELECTRODE.render(graphics, 55 - 4 + 32, 32); + TFMGGuiTextures.GRAPHITE_ELECTRODE.render(graphics, 55 - 4, 32); + } + if (recipe.getRequiredHeat() == HeatCondition.HEATED){ + TFMGGuiTextures.VAT_HEATER.render(graphics, 55 - 10, 109); + } + int pos = 55; + int width = ((recipe.getFluidIngredients().size()) * 21) / 2; + for (int i = 0; i < recipe.getFluidIngredients().size(); i++) { + + TFMGGuiTextures.SLOT.render(graphics, pos - width, recipe.getIngredients().isEmpty() ? 70 : 83); + + pos += 21; + } + int posItem = 55; + int widthItem = ((recipe.getIngredients().size()) * 21) / 2; + for (int i = 0; i < recipe.getIngredients().size(); i++) { + + TFMGGuiTextures.SLOT.render(graphics, posItem - widthItem, recipe.getFluidIngredients().isEmpty() ? 70 : 62); + + posItem += 21; + } + + + //AllGuiTextures.JEI_ARROW.render(graphics, 85, 32); + //AllGuiTextures.JEI_DOWN_ARROW.render(graphics, 43, 4); + + + } + + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/recipes/jei/CokingCategory.java b/src/main/java/com/drmangotea/tfmg/recipes/jei/CokingCategory.java new file mode 100644 index 00000000..38cbd8ba --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/jei/CokingCategory.java @@ -0,0 +1,77 @@ +package com.drmangotea.tfmg.recipes.jei; + +import com.drmangotea.tfmg.recipes.CokingRecipe; +import com.drmangotea.tfmg.recipes.jei.machines.CokeOven; +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.simibubi.create.compat.jei.category.CreateRecipeCategory; +import com.simibubi.create.foundation.gui.AllGuiTextures; +import mezz.jei.api.gui.builder.IRecipeLayoutBuilder; +import mezz.jei.api.gui.ingredient.IRecipeSlotsView; +import mezz.jei.api.recipe.IFocusGroup; +import mezz.jei.api.recipe.RecipeIngredientRole; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.core.RegistryAccess; +import net.neoforged.neoforge.fluids.FluidStack; + +import javax.annotation.ParametersAreNonnullByDefault; + +@ParametersAreNonnullByDefault +public class CokingCategory extends CreateRecipeCategory { + + private final CokeOven cokeOven = new CokeOven(); + + public CokingCategory(Info info) { + super(info); + } + + + @Override + public void setRecipe(IRecipeLayoutBuilder builder, CokingRecipe recipe, IFocusGroup focuses) { + + + builder + .addSlot(RecipeIngredientRole.INPUT, 1, 13) + .setBackground(getRenderedSlot(), -1, -1) + .addIngredients(recipe.getIngredients().get(0)); + + builder + .addSlot(RecipeIngredientRole.OUTPUT, 121, 90) + .setBackground(getRenderedSlot(), -1, -1) + .addItemStack(recipe.getRollableResults().get(0).getStack()); + + //fluid + + if (recipe.getFluidResults().size() >= 2) + addFluidSlot(builder, 160, 46, recipe.getFluidResults().get(1)); + if (!recipe.getFluidResults().isEmpty()) + addFluidSlot(builder, 160, 22, recipe.getFluidResults().get(0)); + // builder + // .addSlot(RecipeIngredientRole.OUTPUT, 160, 46) + // .setBackground(getRenderedSlot(), -1, -1) + // .addIngredient(ForgeTypes.FLUID_STACK, withImprovedVisibility(recipe.getFluidResults().get(1))) + // .addRichTooltipCallback(addFluidTooltip(recipe.getFluidResults().get(1).getAmount())); +// + // builder + // .addSlot(RecipeIngredientRole.OUTPUT, 160, 22) + // .setBackground(getRenderedSlot(), -1, -1) + // .addIngredient(ForgeTypes.FLUID_STACK, withImprovedVisibility(recipe.getFluidResults().get(0))) + // .addRichTooltipCallback(addFluidTooltip(recipe.getFluidResults().get(0).getAmount())); + + } + + @Override + public void draw(CokingRecipe recipe, IRecipeSlotsView iRecipeSlotsView, GuiGraphics graphics, double mouseX, double mouseY) { + cokeOven + .draw(graphics, 65, 50); + AllGuiTextures.JEI_ARROW.render(graphics, 20, 15); + + + AllGuiTextures.JEI_ARROW.render(graphics, 115, 25); + AllGuiTextures.JEI_ARROW.render(graphics, 115, 50); + + AllGuiTextures.JEI_DOWN_ARROW.render(graphics, 115, 73); + + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/recipes/jei/DistillationCategory.java b/src/main/java/com/drmangotea/tfmg/recipes/jei/DistillationCategory.java new file mode 100644 index 00000000..ad5e82aa --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/jei/DistillationCategory.java @@ -0,0 +1,81 @@ +package com.drmangotea.tfmg.recipes.jei; + +import com.drmangotea.tfmg.recipes.DistillationRecipe; +import com.drmangotea.tfmg.registry.TFMGGuiTextures; +import com.simibubi.create.compat.jei.category.CreateRecipeCategory; +import com.simibubi.create.foundation.fluid.FluidIngredient; +import com.simibubi.create.foundation.gui.AllGuiTextures; + +import mezz.jei.api.gui.builder.IRecipeLayoutBuilder; +import mezz.jei.api.gui.ingredient.IRecipeSlotsView; +import mezz.jei.api.recipe.IFocusGroup; +import mezz.jei.api.recipe.RecipeIngredientRole; +import net.minecraft.client.gui.GuiGraphics; + +import javax.annotation.ParametersAreNonnullByDefault; + +@ParametersAreNonnullByDefault +public class DistillationCategory extends CreateRecipeCategory { + + + + public DistillationCategory(Info info) { + super(info); + } + + + + + @Override + public void setRecipe(IRecipeLayoutBuilder builder, DistillationRecipe recipe, IFocusGroup focuses) { + FluidIngredient fluidIngredient=recipe.getInputFluid(); + + int outputCount = recipe.getOutputCount(recipe); + int yModifier = 60 -(outputCount*10); + int y = 147-yModifier; + + + //builder + // .addSlot(RecipeIngredientRole.INPUT, 18, 130-yModifier) + // .setBackground(getRenderedSlot(), -1, -1) + // .addIngredients(ForgeTypes.FLUID_STACK, withImprovedVisibility(recipe.getInputFluid().getMatchingFluidStacks())) + // .addRichTooltipCallback(addFluidTooltip(recipe.getInputFluid().getRequiredAmount())); + + addFluidSlot(builder,18,130-yModifier,recipe.getInputFluid()); + + + for(int i = 0; i { + + public HotBlastCategory(Info info) { + super(info); + } + + + @Override + public void setRecipe(IRecipeLayoutBuilder builder, HotBlastRecipe recipe, IFocusGroup focuses) { + + addFluidSlot(builder,18,52,recipe.getFluidIngredients().get(0)); + addFluidSlot(builder,18,74,recipe.getFluidIngredients().get(1)); + + addFluidSlot(builder,105,51,recipe.getFluidResults().get(0)); + addFluidSlot(builder,105,75,recipe.getFluidResults().get(1)); + //builder + // .addSlot(RecipeIngredientRole.INPUT, 18, 52) + // .setBackground(getRenderedSlot(), -1, -1) + // .addIngredients(ForgeTypes.FLUID_STACK, withImprovedVisibility(recipe.getFluidIngredients().get(0).getMatchingFluidStacks())) + // .addRichTooltipCallback(addFluidTooltip(recipe.getFluidIngredients().get(0).getRequiredAmount())); +// + //builder + // .addSlot(RecipeIngredientRole.INPUT, 18, 74) + // .setBackground(getRenderedSlot(), -1, -1) + // .addIngredients(ForgeTypes.FLUID_STACK, withImprovedVisibility(recipe.getFluidIngredients().get(1).getMatchingFluidStacks())) + // .addRichTooltipCallback(addFluidTooltip(recipe.getFluidIngredients().get(1).getRequiredAmount())); +// + ///// / + //builder + // .addSlot(RecipeIngredientRole.OUTPUT, 105, 51) + // .setBackground(getRenderedSlot(), -1, -1) + // .addIngredient(ForgeTypes.FLUID_STACK, withImprovedVisibility(recipe.getFluidResults().get(0))) + // .addRichTooltipCallback(addFluidTooltip(recipe.getFluidResults().get(0).getAmount())); +// + //builder + // .addSlot(RecipeIngredientRole.OUTPUT, 105, 75) + // .setBackground(getRenderedSlot(), -1, -1) + // .addIngredient(ForgeTypes.FLUID_STACK, withImprovedVisibility(recipe.getFluidResults().get(1))) + // .addRichTooltipCallback(addFluidTooltip(recipe.getFluidResults().get(1).getAmount())); + + + } + + @Override + public void draw(HotBlastRecipe recipe, IRecipeSlotsView iRecipeSlotsView, GuiGraphics graphics, double mouseX, double mouseY) { + + + TFMGGuiTextures.BLAST_STOVE.render(graphics, 10, 0); + + AllGuiTextures.JEI_ARROW.render(graphics, 56, 55); + AllGuiTextures.JEI_ARROW.render(graphics, 56, 78); + + + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/recipes/jei/IndustrialBlastingCategory.java b/src/main/java/com/drmangotea/tfmg/recipes/jei/IndustrialBlastingCategory.java new file mode 100644 index 00000000..cadb9a5a --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/jei/IndustrialBlastingCategory.java @@ -0,0 +1,66 @@ +package com.drmangotea.tfmg.recipes.jei; + + +import com.drmangotea.tfmg.recipes.IndustrialBlastingRecipe; +import com.drmangotea.tfmg.recipes.jei.machines.BlastFurnace; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.simibubi.create.compat.jei.category.CreateRecipeCategory; +import com.simibubi.create.foundation.gui.AllGuiTextures; +import mezz.jei.api.gui.builder.IRecipeLayoutBuilder; +import mezz.jei.api.gui.ingredient.IRecipeSlotsView; +import mezz.jei.api.recipe.IFocusGroup; +import mezz.jei.api.recipe.RecipeIngredientRole; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.world.item.ItemStack; + +import javax.annotation.ParametersAreNonnullByDefault; + +@ParametersAreNonnullByDefault +public class IndustrialBlastingCategory extends CreateRecipeCategory { + + private final BlastFurnace blastFurnace = new BlastFurnace(); + + public IndustrialBlastingCategory(Info info) { + super(info); + } + + @Override + public void setRecipe(IRecipeLayoutBuilder builder, IndustrialBlastingRecipe recipe, IFocusGroup focuses) { + + + builder + .addSlot(RecipeIngredientRole.INPUT, 25, 13) + .setBackground(getRenderedSlot(), -1, -1) + .addIngredients(recipe.getIngredients().get(0)); + if (recipe.getIngredients().size() > 1) { + builder + .addSlot(RecipeIngredientRole.INPUT, 5, 13) + .setBackground(getRenderedSlot(), -1, -1) + .addIngredients(recipe.getIngredients().get(1)); + } + builder + .addSlot(RecipeIngredientRole.INPUT, 70, 13) + .setBackground(getRenderedSlot(), -1, -1) + .addItemStack(new ItemStack(TFMGItems.COAL_COKE_DUST.get())); + + //fluid + addFluidSlot(builder, 140, 117, recipe.getFluidResults().get(0)); + if (recipe.getFluidResults().size() > 2) + addFluidSlot(builder, 160, 117, recipe.getFluidResults().get(1)); + + + } + + @Override + public void draw(IndustrialBlastingRecipe recipe, IRecipeSlotsView iRecipeSlotsView, GuiGraphics graphics, double mouseX, double mouseY) { + blastFurnace + .draw(graphics, 50, 135); + + + AllGuiTextures.JEI_ARROW.render(graphics, 96, 121); + + AllGuiTextures.JEI_DOWN_ARROW.render(graphics, 45, 15); + + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/recipes/jei/PolarizingCategory.java b/src/main/java/com/drmangotea/tfmg/recipes/jei/PolarizingCategory.java new file mode 100644 index 00000000..0f88d053 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/jei/PolarizingCategory.java @@ -0,0 +1,65 @@ +package com.drmangotea.tfmg.recipes.jei; + +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.recipes.PolarizingRecipe; +import com.drmangotea.tfmg.recipes.jei.machines.Polarizer; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.compat.jei.category.CreateRecipeCategory; +import com.simibubi.create.compat.jei.category.sequencedAssembly.SequencedAssemblySubCategory; +import com.simibubi.create.content.processing.sequenced.IAssemblyRecipe; +import com.simibubi.create.content.processing.sequenced.SequencedRecipe; +import com.simibubi.create.foundation.gui.AllGuiTextures; + +import mezz.jei.api.gui.builder.IRecipeLayoutBuilder; +import mezz.jei.api.gui.builder.IRecipeSlotBuilder; +import mezz.jei.api.gui.ingredient.IRecipeSlotsView; +import mezz.jei.api.recipe.IFocusGroup; +import mezz.jei.api.recipe.RecipeIngredientRole; +import net.minecraft.ChatFormatting; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; + +public class PolarizingCategory extends CreateRecipeCategory { + private Polarizer polarizer = new Polarizer(); + + public PolarizingCategory(Info info) { + super(info); + } + + public void setRecipe(IRecipeLayoutBuilder builder, PolarizingRecipe recipe, IFocusGroup focuses) { + builder.addSlot(RecipeIngredientRole.INPUT, 15, 9).setBackground(getRenderedSlot(), -1, -1).addIngredients(recipe.getIngredients().get(0)); + builder.addSlot(RecipeIngredientRole.OUTPUT, 140, 28).setBackground(getRenderedSlot(), -1, -1).addItemStack(recipe.getResultItem(Minecraft.getInstance().level.registryAccess())); + } + + public void draw(PolarizingRecipe recipe, IRecipeSlotsView iRecipeSlotsView, GuiGraphics graphics, double mouseX, double mouseY) { + + AllGuiTextures.JEI_ARROW.render(graphics, 85, 32); + AllGuiTextures.JEI_DOWN_ARROW.render(graphics, 43, 4); + this.polarizer.draw(graphics, 48, 27); + + + } + + public static class AssemblyPolarizing extends SequencedAssemblySubCategory { + Polarizer polarizer = new Polarizer(); + + public AssemblyPolarizing() { + super(25); + } + + public void setRecipe(IRecipeLayoutBuilder builder, SequencedRecipe recipe, IFocusGroup focuses, int x) { + + } + + public void draw(SequencedRecipe recipe, GuiGraphics graphics, double mouseX, double mouseY, int index) { + + PoseStack ms = graphics.pose(); + + ms.pushPose(); + ms.translate(0.0, 51.5, 0.0); + ms.scale(0.6F, 0.6F, 0.6F); + this.polarizer.draw(graphics, this.getWidth() / 2, 30); + ms.popPose(); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/recipes/jei/TFMGJei.java b/src/main/java/com/drmangotea/tfmg/recipes/jei/TFMGJei.java new file mode 100644 index 00000000..3e743a3d --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/jei/TFMGJei.java @@ -0,0 +1,307 @@ +package com.drmangotea.tfmg.recipes.jei; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.recipes.*; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGItems; +import com.drmangotea.tfmg.registry.TFMGRecipeTypes; +import com.simibubi.create.AllFluids; +import com.simibubi.create.Create; +import com.simibubi.create.compat.jei.*; +import com.simibubi.create.compat.jei.category.CreateRecipeCategory; +import com.simibubi.create.content.equipment.blueprint.BlueprintScreen; +import com.simibubi.create.content.fluids.potion.PotionFluid; +import com.simibubi.create.content.logistics.factoryBoard.FactoryPanelSetItemScreen; +import com.simibubi.create.content.logistics.filter.AbstractFilterScreen; +import com.simibubi.create.content.logistics.redstoneRequester.RedstoneRequesterScreen; +import com.simibubi.create.content.redstone.link.controller.LinkedControllerScreen; +import com.simibubi.create.content.trains.schedule.ScheduleScreen; +import com.simibubi.create.foundation.gui.menu.AbstractSimiContainerScreen; +import com.simibubi.create.foundation.item.ItemHelper; +import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; + +import com.simibubi.create.foundation.utility.CreateLang; +import com.simibubi.create.infrastructure.config.AllConfigs; +import com.simibubi.create.infrastructure.config.CRecipes; +import mezz.jei.api.IModPlugin; +import mezz.jei.api.JeiPlugin; +import mezz.jei.api.constants.RecipeTypes; +import mezz.jei.api.gui.drawable.IDrawable; +import mezz.jei.api.helpers.IPlatformFluidHelper; +import mezz.jei.api.neoforge.NeoForgeTypes; +import mezz.jei.api.recipe.category.IRecipeCategory; +import mezz.jei.api.registration.*; +import mezz.jei.api.runtime.IIngredientManager; +import mezz.jei.api.runtime.IJeiRuntime; +import net.createmod.catnip.config.ConfigBase; +import net.minecraft.client.Minecraft; +import net.minecraft.core.Holder; +import net.minecraft.core.RegistryAccess; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.effect.MobEffect; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.alchemy.Potion; +import net.minecraft.world.item.alchemy.PotionContents; +import net.minecraft.world.item.crafting.Recipe; +import net.minecraft.world.item.crafting.RecipeHolder; +import net.minecraft.world.item.crafting.RecipeInput; +import net.minecraft.world.item.crafting.RecipeType; +import net.minecraft.world.level.ItemLike; +import net.neoforged.neoforge.fluids.FluidStack; + +import javax.annotation.Nonnull; +import javax.annotation.ParametersAreNonnullByDefault; +import java.util.*; +import java.util.function.Consumer; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.function.Supplier; + +@JeiPlugin +@SuppressWarnings("unused") +@ParametersAreNonnullByDefault +public class TFMGJei implements IModPlugin { + + private static final ResourceLocation ID = TFMG.asResource("jei_plugin"); + + private final List> allCategories = new ArrayList<>(); + private IIngredientManager ingredientManager; + public static IJeiRuntime runtime; + + private void loadCategories() { + allCategories.clear(); + + CreateRecipeCategory + + advancedDistillation = builder(DistillationRecipe.class) + .addTypedRecipes(TFMGRecipeTypes.DISTILLATION) + .catalyst(TFMGBlocks.STEEL_DISTILLATION_CONTROLLER::get) + .catalyst(TFMGBlocks.STEEL_DISTILLATION_OUTPUT::get) + .itemIcon(TFMGBlocks.STEEL_DISTILLATION_CONTROLLER.get()) + .emptyBackground(177, 150) + .build("advanced_distillation", DistillationCategory::new), + + coking = builder(CokingRecipe.class) + .addTypedRecipes(TFMGRecipeTypes.COKING) + .catalyst(TFMGBlocks.COKE_OVEN::get) + .itemIcon(TFMGBlocks.COKE_OVEN.get()) + .emptyBackground(177, 123) + .build("coking", CokingCategory::new), + + chemical_vat = builder(VatMachineRecipe.class) + .addTypedRecipes(TFMGRecipeTypes.VAT_MACHINE_RECIPE) + .catalyst(TFMGBlocks.STEEL_CHEMICAL_VAT::get) + .catalyst(TFMGBlocks.CAST_IRON_CHEMICAL_VAT::get) + .catalyst(TFMGBlocks.FIREPROOF_CHEMICAL_VAT::get) + .catalyst(TFMGBlocks.INDUSTRIAL_MIXER::get) + .catalyst(TFMGBlocks.ELECTRODE_HOLDER::get) + .itemIcon(TFMGBlocks.STEEL_CHEMICAL_VAT.get()) + .emptyBackground(177, 123) + .build("chemical_vat", ChemicalVatCategory::new), + + industrial_blasting = builder(IndustrialBlastingRecipe.class) + .addTypedRecipes(TFMGRecipeTypes.INDUSTRIAL_BLASTING) + .catalyst(TFMGBlocks.BLAST_FURNACE_OUTPUT::get) + .catalyst(TFMGBlocks.FIREPROOF_BRICKS::get) + .catalyst(TFMGBlocks.FIREPROOF_BRICK_REINFORCEMENT::get) + .catalyst(TFMGBlocks.BLAST_FURNACE_REINFORCEMENT::get) + .catalyst(TFMGBlocks.BLAST_FURNACE_HATCH::get) + .itemIcon(TFMGBlocks.BLAST_FURNACE_OUTPUT.get()) + .emptyBackground(177, 150) + .build("industrial_blasting", IndustrialBlastingCategory::new), + + casting = builder(CastingRecipe.class) + .addTypedRecipes(TFMGRecipeTypes.CASTING) + .catalyst(TFMGBlocks.CASTING_BASIN::get) + .catalyst(TFMGItems.STEEL_INGOT::get) + .itemIcon(TFMGBlocks.CASTING_BASIN.get()) + .emptyBackground(177, 53) + .build("casting", CastingCategory::new), + + hot_blast = builder(HotBlastRecipe.class) + .addTypedRecipes(TFMGRecipeTypes.HOT_BLAST) + .catalyst(TFMGBlocks.BLAST_STOVE::get) + .itemIcon(TFMGBlocks.BLAST_STOVE.get()) + .emptyBackground(177, 110) + .build("hot_blast", HotBlastCategory::new), + + polarizing = builder(PolarizingRecipe.class) + .addTypedRecipes(TFMGRecipeTypes.POLARIZING) + + .catalyst(TFMGBlocks.POLARIZER::get) + .itemIcon(TFMGBlocks.POLARIZER.get()) + .emptyBackground(177, 53) + .build("polarizing", PolarizingCategory::new), + + winding = builder(WindingRecipe.class) + .addTypedRecipes(TFMGRecipeTypes.WINDING) + .catalyst(TFMGBlocks.WINDING_MACHINE::get) + .itemIcon(TFMGBlocks.WINDING_MACHINE.get()) + .emptyBackground(177, 53) + .build("winding", WindingCategory::new); + + } + + private > TFMGJei.CategoryBuilder builder(Class recipeClass) { + return new TFMGJei.CategoryBuilder<>(recipeClass); + } + + @Override + @Nonnull + public ResourceLocation getPluginUid() { + return ID; + } + + @Override + public void registerCategories(IRecipeCategoryRegistration registration) { + loadCategories(); + registration.addRecipeCategories(allCategories.toArray(IRecipeCategory[]::new)); + } + + @Override + public void registerRecipes(IRecipeRegistration registration) { + ingredientManager = registration.getIngredientManager(); + + allCategories.forEach(c -> c.registerRecipes(registration)); + + registration.addRecipes(RecipeTypes.CRAFTING, ToolboxColoringRecipeMaker.createRecipes().toList()); + } + + @Override + public void registerRecipeCatalysts(IRecipeCatalystRegistration registration) { + allCategories.forEach(c -> c.registerCatalysts(registration)); + } + + @Override + public void registerRecipeTransferHandlers(IRecipeTransferRegistration registration) { + registration.addRecipeTransferHandler(new BlueprintTransferHandler(), RecipeTypes.CRAFTING); + registration.addUniversalRecipeTransferHandler(new StockKeeperTransferHandler(registration.getJeiHelpers())); + } + + @Override + public void registerFluidSubtypes(ISubtypeRegistration registration, IPlatformFluidHelper platformFluidHelper) { + PotionFluidSubtypeInterpreter interpreter = new PotionFluidSubtypeInterpreter(); + PotionFluid potionFluid = AllFluids.POTION.get(); + registration.registerSubtypeInterpreter(NeoForgeTypes.FLUID_STACK, potionFluid.getSource(), interpreter); + registration.registerSubtypeInterpreter(NeoForgeTypes.FLUID_STACK, potionFluid.getFlowing(), interpreter); + } + + @Override + public void registerExtraIngredients(IExtraIngredientRegistration registration) { + RegistryAccess registryAccess = Minecraft.getInstance().level.registryAccess(); + List> potions = registryAccess.lookupOrThrow(Registries.POTION) + .listElements() + .toList(); + Collection potionFluids = new ArrayList<>(potions.size() * 3); + Set>> visitedEffects = new HashSet<>(); + for (Holder.Reference potion : potions) { + // @goshante: Ingame potion fluids always have Bottle tag that specifies + // to what bottle type this potion belongs + // Potion fluid without this tag wouldn't be recognized by other mods + +// for (PotionFluid.BottleType bottleType : PotionFluid.BottleType.values()) { +// FluidStack potionFluid = PotionFluid.of(1000, new PotionContents(potion), bottleType); +// potionFluids.add(potionFluid); +// } + + PotionContents potionContents = new PotionContents(potion); + + if (potionContents.hasEffects()) { + Set> effectSet = new HashSet<>(); + potionContents.forEachEffect(mei -> effectSet.add(mei.getEffect())); + if (!visitedEffects.add(effectSet)) + continue; + } + + potionFluids.add(PotionFluid.of(1000, potionContents, PotionFluid.BottleType.REGULAR)); + } + registration.addExtraIngredients(NeoForgeTypes.FLUID_STACK, potionFluids); + } + + @SuppressWarnings({ "unchecked", "rawtypes" }) + @Override + public void registerGuiHandlers(IGuiHandlerRegistration registration) { + registration.addGenericGuiContainerHandler(AbstractSimiContainerScreen.class, new SlotMover()); + + registration.addGhostIngredientHandler(AbstractFilterScreen.class, new GhostIngredientHandler()); + registration.addGhostIngredientHandler(BlueprintScreen.class, new GhostIngredientHandler()); + registration.addGhostIngredientHandler(LinkedControllerScreen.class, new GhostIngredientHandler()); + registration.addGhostIngredientHandler(ScheduleScreen.class, new GhostIngredientHandler()); + registration.addGhostIngredientHandler(RedstoneRequesterScreen.class, new GhostIngredientHandler()); + registration.addGhostIngredientHandler(FactoryPanelSetItemScreen.class, new GhostIngredientHandler()); + } + + private class CategoryBuilder> extends CreateRecipeCategory.Builder { + public CategoryBuilder(Class recipeClass) { + super(recipeClass); + } + + @Override + public CreateRecipeCategory build(ResourceLocation id, CreateRecipeCategory.Factory factory) { + CreateRecipeCategory category = super.build(id, factory); + allCategories.add(category); + return category; + } + } + + public static void consumeAllRecipes(Consumer> consumer) { + Minecraft.getInstance() + .getConnection() + .getRecipeManager() + .getRecipes() + .forEach(consumer); + } + + @SuppressWarnings({"unchecked", "rawtypes"}) + public static > void consumeTypedRecipes(Consumer> consumer, RecipeType type) { + List> map = Minecraft.getInstance() + .getConnection() + .getRecipeManager().getAllRecipesFor((RecipeType) type); + if (!map.isEmpty()) + map.forEach(consumer); + } + + public static List> getTypedRecipes(RecipeType type) { + List> recipes = new ArrayList<>(); + consumeTypedRecipes(recipes::add, type); + return recipes; + } + + public static List> getTypedRecipesExcluding(RecipeType type, Predicate> exclusionPred) { + List> recipes = getTypedRecipes(type); + recipes.removeIf(exclusionPred); + return recipes; + } + + public static boolean doInputsMatch(Recipe recipe1, Recipe recipe2) { + if (recipe1.getIngredients() + .isEmpty() + || recipe2.getIngredients() + .isEmpty()) { + return false; + } + ItemStack[] matchingStacks = recipe1.getIngredients() + .getFirst() + .getItems(); + if (matchingStacks.length == 0) { + return false; + } + return recipe2.getIngredients() + .getFirst() + .test(matchingStacks[0]); + } + + public static boolean doOutputsMatch(Recipe recipe1, Recipe recipe2) { + RegistryAccess registryAccess = Minecraft.getInstance().level.registryAccess(); + return ItemHelper.sameItem(recipe1.getResultItem(registryAccess), recipe2.getResultItem(registryAccess)); + } + + @Override + public void onRuntimeAvailable(IJeiRuntime runtime) { + TFMGJei.runtime = runtime; + } + + +} + diff --git a/src/main/java/com/drmangotea/tfmg/recipes/jei/WindingCategory.java b/src/main/java/com/drmangotea/tfmg/recipes/jei/WindingCategory.java new file mode 100644 index 00000000..bd19c4d0 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/jei/WindingCategory.java @@ -0,0 +1,97 @@ +package com.drmangotea.tfmg.recipes.jei; + +import com.drmangotea.tfmg.content.machinery.misc.winding_machine.SpoolItem; +import com.drmangotea.tfmg.recipes.PolarizingRecipe; +import com.drmangotea.tfmg.recipes.WindingRecipe; +import com.drmangotea.tfmg.recipes.jei.machines.Polarizer; +import com.drmangotea.tfmg.recipes.jei.machines.WindingMachine; +import com.drmangotea.tfmg.registry.TFMGDataComponents; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.compat.jei.category.CreateRecipeCategory; +import com.simibubi.create.compat.jei.category.animations.AnimatedDeployer; +import com.simibubi.create.compat.jei.category.sequencedAssembly.SequencedAssemblySubCategory; +import com.simibubi.create.content.processing.sequenced.IAssemblyRecipe; +import com.simibubi.create.content.processing.sequenced.SequencedRecipe; +import com.simibubi.create.foundation.gui.AllGuiTextures; +import net.createmod.catnip.render.CachedBuffers; +import mezz.jei.api.gui.builder.IRecipeLayoutBuilder; +import mezz.jei.api.gui.builder.IRecipeSlotBuilder; +import mezz.jei.api.gui.ingredient.IRecipeSlotsView; +import mezz.jei.api.recipe.IFocusGroup; +import mezz.jei.api.recipe.RecipeIngredientRole; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.Ingredient; + +public class WindingCategory extends CreateRecipeCategory { + private final WindingMachine windingMachine = new WindingMachine(); + + public WindingCategory(Info info) { + super(info); + } + + + + public void setRecipe(IRecipeLayoutBuilder builder, WindingRecipe recipe, IFocusGroup focuses) { + builder.addSlot(RecipeIngredientRole.INPUT, 15, 9).setBackground(getRenderedSlot(), -1, -1).addIngredients(recipe.getIngredients().get(0)); + + ItemStack coil = recipe.getIngredients().get(1).getItems()[0]; + coil.set(TFMGDataComponents.SPOOL_AMOUNT,recipe.getProcessingDuration()); + + builder.addSlot(RecipeIngredientRole.INPUT, 15, 30).setBackground(getRenderedSlot(), -1, -1).addItemStack(coil); + builder.addSlot(RecipeIngredientRole.OUTPUT, 140, 28).setBackground(getRenderedSlot(), -1, -1).addItemStack(recipe.getResultItem(Minecraft.getInstance().level.registryAccess())); + } + + public void draw(WindingRecipe recipe, IRecipeSlotsView iRecipeSlotsView, GuiGraphics graphics, double mouseX, double mouseY) { + + AllGuiTextures.JEI_ARROW.render(graphics, 85, 32); + AllGuiTextures.JEI_DOWN_ARROW.render(graphics, 43, 4); + + PartialModel coil = null; + + if (recipe.getIngredients().get(1).getItems()[0].getItem() instanceof SpoolItem) { + + coil = ((SpoolItem)recipe.getIngredients().get(1).getItems()[0].getItem()).model; + + } + this.windingMachine.draw(graphics, 48, 27,coil,true); + graphics.drawString(Minecraft.getInstance().font, recipe.getProcessingDuration() + " Turns", 86.0F, 9.0F, 4210752, false); + } + + public static class AssemblyWinding extends SequencedAssemblySubCategory { + private final WindingMachine windingMachine = new WindingMachine(); + private final AnimatedDeployer deployer = new AnimatedDeployer(); + public AssemblyWinding() { + super(25); + } + + public void setRecipe(IRecipeLayoutBuilder builder, SequencedRecipe recipe, IFocusGroup focuses, int x) { + ItemStack coil = recipe.getRecipe().getIngredients().get(1).getItems()[0]; + coil.set(TFMGDataComponents.SPOOL_AMOUNT,recipe.getRecipe().getProcessingDuration()); + builder.addSlot(RecipeIngredientRole.INPUT, x + 4, 15).setBackground(CreateRecipeCategory.getRenderedSlot(), -1, -1).addItemStack(coil); + } + + public void draw(SequencedRecipe recipe, GuiGraphics graphics, double mouseX, double mouseY, int index) { + + PoseStack ms = graphics.pose(); + + PartialModel coil = null; + + if (recipe.getRecipe().getIngredients().get(1).getItems()[0].getItem() instanceof SpoolItem) { + + coil = ((SpoolItem)recipe.getRecipe().getIngredients().get(1).getItems()[0].getItem()).model; + + } + windingMachine.offset = index; + ms.pushPose(); + ms.translate(0.0, 67, 0.0); + ms.scale(0.7F, 0.7F, 0.7F); + this.windingMachine.draw(graphics, this.getWidth() / 2, 0,coil,false); + ms.popPose(); + + + } + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/recipes/jei/machines/BlastFurnace.java b/src/main/java/com/drmangotea/tfmg/recipes/jei/machines/BlastFurnace.java new file mode 100644 index 00000000..eeb3d121 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/jei/machines/BlastFurnace.java @@ -0,0 +1,87 @@ +package com.drmangotea.tfmg.recipes.jei.machines; + + +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.math.Axis; +import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics; +import com.simibubi.create.content.processing.burner.BlazeBurnerBlock; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.world.level.block.state.properties.WallSide; + +import static net.minecraft.world.level.block.WallBlock.*; + +public class BlastFurnace extends AnimatedKinetics { + + + + public BlastFurnace() {} + + @Override + public void draw(GuiGraphics graphics, int xOffset, int yOffset) { + PoseStack matrixStack = graphics.pose(); + matrixStack.pushPose(); + matrixStack.translate(xOffset, yOffset, 200); + matrixStack.mulPose(Axis.XP.rotationDegrees(-15.5f)); + matrixStack.mulPose(Axis.YP.rotationDegrees(22.5f)); + int scale = 23; + + + + blockElement(TFMGBlocks.BLAST_FURNACE_OUTPUT.getDefaultState()) + .scale(scale) + .render(graphics); + blockElement(TFMGBlocks.FIREPROOF_BRICKS.getDefaultState()) + .atLocal(0,0,-1) + .scale(scale) + .render(graphics); + + for(int i = 0; i<4;i++) { + if(i !=0) + blockElement(TFMGBlocks.FIREPROOF_BRICKS.getDefaultState()) + .atLocal(0, -i, 0) + .scale(scale) + .render(graphics); + blockElement(TFMGBlocks.FIREPROOF_BRICKS.getDefaultState()) + .atLocal(0, -i, -2) + .scale(scale) + .render(graphics); + blockElement(TFMGBlocks.FIREPROOF_BRICKS.getDefaultState()) + .atLocal(-1, -i, -1) + .scale(scale) + .render(graphics); + blockElement(TFMGBlocks.FIREPROOF_BRICKS.getDefaultState()) + .atLocal(1, -i, -1) + .scale(scale) + .render(graphics); + + + blockElement(TFMGBlocks.FIREPROOF_BRICK_REINFORCEMENT.getDefaultState().setValue(NORTH_WALL, WallSide.TALL).setValue(WEST_WALL, WallSide.TALL)) + .atLocal(1, -i, 0) + .scale(scale) + .render(graphics); + blockElement(TFMGBlocks.FIREPROOF_BRICK_REINFORCEMENT.getDefaultState().setValue(SOUTH_WALL, WallSide.TALL).setValue(WEST_WALL, WallSide.TALL)) + .atLocal(1, -i, -2) + .scale(scale) + .render(graphics); + blockElement(TFMGBlocks.FIREPROOF_BRICK_REINFORCEMENT.getDefaultState().setValue(NORTH_WALL, WallSide.TALL).setValue(EAST_WALL, WallSide.TALL)) + .atLocal(-1, -i, 0) + .scale(scale) + .render(graphics); + blockElement(TFMGBlocks.FIREPROOF_BRICK_REINFORCEMENT.getDefaultState().setValue(SOUTH_WALL, WallSide.TALL).setValue(EAST_WALL, WallSide.TALL)) + .atLocal(-1, -i, -2) + .scale(scale) + .render(graphics); + + + } + + + matrixStack.scale(scale, -scale, scale); + matrixStack.translate(0, -1.8, 0); + matrixStack.popPose(); + } + + + +} diff --git a/src/main/java/com/drmangotea/tfmg/recipes/jei/machines/CastingSetup.java b/src/main/java/com/drmangotea/tfmg/recipes/jei/machines/CastingSetup.java new file mode 100644 index 00000000..db78eafe --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/jei/machines/CastingSetup.java @@ -0,0 +1,39 @@ +package com.drmangotea.tfmg.recipes.jei.machines; + + +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.math.Axis; +import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics; +import net.minecraft.client.gui.GuiGraphics; + +public class CastingSetup extends AnimatedKinetics { + + + + public CastingSetup() {} + + @Override + public void draw(GuiGraphics graphics, int xOffset, int yOffset) { + PoseStack matrixStack = graphics.pose(); + matrixStack.pushPose(); + matrixStack.translate(xOffset, yOffset, 200); + matrixStack.mulPose(Axis.XP.rotationDegrees(-15.5f)); + matrixStack.mulPose(Axis.YP.rotationDegrees(22.5f)); + int scale = 23; + + blockElement(TFMGBlocks.CASTING_BASIN.getDefaultState()) + .rotate(0,180,0) + .scale(scale) + .render(graphics); + + matrixStack.scale(scale, -scale, scale); + matrixStack.translate(0, -1.8, 0); + + matrixStack.popPose(); + } + + + +} diff --git a/src/main/java/com/drmangotea/tfmg/recipes/jei/machines/CokeOven.java b/src/main/java/com/drmangotea/tfmg/recipes/jei/machines/CokeOven.java new file mode 100644 index 00000000..6d6fff61 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/jei/machines/CokeOven.java @@ -0,0 +1,72 @@ +package com.drmangotea.tfmg.recipes.jei.machines; + + +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.math.Axis; +import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics; +import com.simibubi.create.content.processing.burner.BlazeBurnerBlock; +import net.minecraft.client.gui.GuiGraphics; + +public class CokeOven extends AnimatedKinetics { + + + + public CokeOven() {} + + @Override + public void draw(GuiGraphics graphics, int xOffset, int yOffset) { + PoseStack matrixStack = graphics.pose(); + matrixStack.pushPose(); + matrixStack.translate(xOffset, yOffset, 200); + matrixStack.mulPose(Axis.XP.rotationDegrees(-15.5f)); + matrixStack.mulPose(Axis.YP.rotationDegrees(22.5f)); + int scale = 23; + BlazeBurnerBlock.HeatLevel heatLevel = BlazeBurnerBlock.HeatLevel.SMOULDERING; + + + blockElement(TFMGBlocks.COKE_OVEN.getDefaultState()) + .scale(scale) + .render(graphics); + blockElement(TFMGBlocks.COKE_OVEN.getDefaultState()) + .atLocal(0,0,1) + .scale(scale) + .render(graphics); + blockElement(TFMGBlocks.COKE_OVEN.getDefaultState()) + .atLocal(0,0,2) + .scale(scale) + .render(graphics); + blockElement(TFMGBlocks.COKE_OVEN.getDefaultState()) + .atLocal(0,1,0) + .scale(scale) + .render(graphics); + blockElement(TFMGBlocks.COKE_OVEN.getDefaultState()) + .atLocal(0,1,1) + .scale(scale) + .render(graphics); + blockElement(TFMGBlocks.COKE_OVEN.getDefaultState()) + .atLocal(0,1,2) + .scale(scale) + .render(graphics); + blockElement(TFMGBlocks.COKE_OVEN.getDefaultState()) + .atLocal(0,-1,0) + .scale(scale) + .render(graphics); + blockElement(TFMGBlocks.COKE_OVEN.getDefaultState()) + .atLocal(0,-1,1) + .scale(scale) + .render(graphics); + blockElement(TFMGBlocks.COKE_OVEN.getDefaultState()) + .atLocal(0,-1,2) + .scale(scale) + .render(graphics); + + + matrixStack.scale(scale, -scale, scale); + matrixStack.translate(0, -1.8, 0); + matrixStack.popPose(); + } + + + +} diff --git a/src/main/java/com/drmangotea/tfmg/recipes/jei/machines/Polarizer.java b/src/main/java/com/drmangotea/tfmg/recipes/jei/machines/Polarizer.java new file mode 100644 index 00000000..527e3f98 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/jei/machines/Polarizer.java @@ -0,0 +1,30 @@ +package com.drmangotea.tfmg.recipes.jei.machines; + + +import com.drmangotea.tfmg.content.electricity.utilities.polarizer.PolarizerBlock; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics; +import com.simibubi.create.foundation.gui.AllGuiTextures; +import net.createmod.catnip.gui.element.GuiGameElement; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.core.Direction; + +public class Polarizer extends AnimatedKinetics { + public Polarizer() { + } + + public void draw(GuiGraphics graphics, int xOffset, int yOffset) { + + PoseStack matrixStack = graphics.pose(); + + matrixStack.pushPose(); + matrixStack.translate(xOffset, yOffset, 0.0); + AllGuiTextures.JEI_SHADOW.render(graphics, -16, 13); + matrixStack.translate(-2.0, 18.0, 0.0); + int scale = 22; + + GuiGameElement.of(TFMGBlocks.POLARIZER.getDefaultState().setValue(PolarizerBlock.FACING, Direction.SOUTH)).rotateBlock(22.5, 22.5, 0.0).scale(scale).render(graphics); + matrixStack.popPose(); + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/recipes/jei/machines/WindingMachine.java b/src/main/java/com/drmangotea/tfmg/recipes/jei/machines/WindingMachine.java new file mode 100644 index 00000000..149a172e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/recipes/jei/machines/WindingMachine.java @@ -0,0 +1,60 @@ +package com.drmangotea.tfmg.recipes.jei.machines; + + +import com.drmangotea.tfmg.content.electricity.utilities.polarizer.PolarizerBlock; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGPartialModels; +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics; +import com.simibubi.create.foundation.gui.AllGuiTextures; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import net.createmod.catnip.gui.element.GuiGameElement; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.core.Direction; + +public class WindingMachine extends AnimatedKinetics { + public WindingMachine() { + } + + public void draw(GuiGraphics graphics, int xOffset, int yOffset, PartialModel coil, boolean shadow) { + + PoseStack matrixStack = graphics.pose(); + + matrixStack.pushPose(); + matrixStack.translate(xOffset, yOffset, 0.0); + if (shadow) + AllGuiTextures.JEI_SHADOW.render(graphics, -16, 13); + matrixStack.translate(-2.0, 18.0, 0.0); + int scale = 22; + GuiGameElement.of(TFMGBlocks.WINDING_MACHINE.getDefaultState().setValue(PolarizerBlock.FACING, Direction.NORTH)) + .rotateBlock(22.5, 22.5, 0.0) + .scale(scale) + .render(graphics); + blockElement(AllPartialModels.SHAFT_HALF) + .rotateBlock(22.5, 22.5 + 270, 0.0) + .scale(scale) + .render(graphics); + + + blockElement(TFMGPartialModels.SPOOL) + .rotateBlock(22.5, 22.5, 0) + .atLocal(-0.15, -0.4, -0.23) + .scale(scale) + .render(graphics); + if (coil != null) + blockElement(coil) + .rotateBlock(22.5, 22.5, 0) + .atLocal(-0.15, -0.4, -0.23) + .scale(scale) + .render(graphics); + + matrixStack.popPose(); + } + + + @Override + public void draw(GuiGraphics guiGraphics, int i, int i1) { + + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGBlockEntities.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGBlockEntities.java new file mode 100644 index 00000000..cc51006d --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGBlockEntities.java @@ -0,0 +1,624 @@ +package com.drmangotea.tfmg.registry; + +import com.drmangotea.tfmg.base.HalfShaftRenderer; +import com.drmangotea.tfmg.content.decoration.cogs.*; +import com.drmangotea.tfmg.content.decoration.doors.TFMGSlidingDoorBlockEntity; +import com.drmangotea.tfmg.content.decoration.doors.TFMGSlidingDoorRenderer; +import com.drmangotea.tfmg.content.decoration.flywheels.TFMGFlywheelBlockEntity; +import com.drmangotea.tfmg.content.decoration.flywheels.TFMGFlywheelRenderer; +import com.drmangotea.tfmg.content.decoration.flywheels.TFMGFlywheelVisual; +import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipeBlockEntity; +import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipes; +import com.drmangotea.tfmg.content.decoration.tanks.TFMGFluidTankBlockEntity; +import com.drmangotea.tfmg.content.decoration.tanks.TFMGFluidTankRenderer; +import com.drmangotea.tfmg.content.decoration.tanks.steel.SteelFluidTankRenderer; +import com.drmangotea.tfmg.content.decoration.tanks.steel.SteelTankBlockEntity; +import com.drmangotea.tfmg.content.electricity.connection.cable_hub.CableHubBlockEntity; +import com.drmangotea.tfmg.content.electricity.connection.cables.CableConnectorBlockEntity; +import com.drmangotea.tfmg.content.electricity.connection.cables.CableConnectorRenderer; +import com.drmangotea.tfmg.content.electricity.connection.copycat_cable.CopycatCableBlockEntity; +import com.drmangotea.tfmg.content.electricity.connection.diagonal.DiagonalCableBlockEntity; +import com.drmangotea.tfmg.content.electricity.connection.tube.CableTubeBlockEntity; +import com.drmangotea.tfmg.content.electricity.generators.GeneratorBlockEntity; +import com.drmangotea.tfmg.content.electricity.generators.creative_generator.CreativeGeneratorBlockEntity; +import com.drmangotea.tfmg.content.electricity.generators.large_generator.RotorBlockEntity; +import com.drmangotea.tfmg.content.electricity.generators.large_generator.RotorRenderer; +import com.drmangotea.tfmg.content.electricity.generators.large_generator.RotorVisual; +import com.drmangotea.tfmg.content.electricity.generators.large_generator.StatorBlockEntity; +import com.drmangotea.tfmg.content.electricity.lights.LightBulbBlockEntity; +import com.drmangotea.tfmg.content.electricity.lights.LightBulbRenderer; +import com.drmangotea.tfmg.content.electricity.lights.neon_tube.NeonTubeBlockEntity; +import com.drmangotea.tfmg.content.electricity.lights.neon_tube.NeonTubeRenderer; +import com.drmangotea.tfmg.content.electricity.lights.variants.AluminumLampRenderer; +import com.drmangotea.tfmg.content.electricity.lights.variants.CircularLightRenderer; +import com.drmangotea.tfmg.content.electricity.lights.variants.ModernLightRenderer; +import com.drmangotea.tfmg.content.electricity.measurement.VoltMeterBlockEntity; +import com.drmangotea.tfmg.content.electricity.measurement.VoltMeterRenderer; +import com.drmangotea.tfmg.content.electricity.storage.AccumulatorBlockEntity; +import com.drmangotea.tfmg.content.electricity.utilities.converter.ConverterBlockEntity; +import com.drmangotea.tfmg.content.electricity.utilities.diode.ElectricDiodeBlockEntity; +import com.drmangotea.tfmg.content.electricity.utilities.electric_motor.ElectricMotorBlockEntity; +import com.drmangotea.tfmg.content.electricity.utilities.electric_pump.ElectricPumpBlockEntity; +import com.drmangotea.tfmg.content.electricity.utilities.electric_switch.ElectricSwitchBlockEntity; +import com.drmangotea.tfmg.content.electricity.utilities.fuse_block.FuseBlockEntity; +import com.drmangotea.tfmg.content.electricity.utilities.fuse_block.FuseBlockRenderer; +import com.drmangotea.tfmg.content.electricity.utilities.polarizer.PolarizerBlockEntity; +import com.drmangotea.tfmg.content.electricity.utilities.polarizer.PolarizerRenderer; +import com.drmangotea.tfmg.content.electricity.utilities.potentiometer.PotentiometerBlockEntity; +import com.drmangotea.tfmg.content.electricity.utilities.resistor.ResistorBlockEntity; +import com.drmangotea.tfmg.content.electricity.utilities.segmented_display.SegmentedDisplayBlockEntity; +import com.drmangotea.tfmg.content.electricity.utilities.segmented_display.SegmentedDisplayRenderer; +import com.drmangotea.tfmg.content.electricity.utilities.traffic_light.TrafficLightBlockEntity; +import com.drmangotea.tfmg.content.electricity.utilities.traffic_light.TrafficLightRenderer; +import com.drmangotea.tfmg.content.electricity.utilities.transformer.TransformerBlockEntity; +import com.drmangotea.tfmg.content.electricity.utilities.transformer.TransformerRenderer; +import com.drmangotea.tfmg.content.electricity.utilities.voltage_observer.VoltageObserverBlockEntity; +import com.drmangotea.tfmg.content.engines.base.EngineRenderer; +import com.drmangotea.tfmg.content.engines.engine_controller.EngineControllerBlockEntity; +import com.drmangotea.tfmg.content.engines.engine_controller.EngineControllerRenderer; +import com.drmangotea.tfmg.content.engines.engine_gearbox.EngineGearboxBlockEntity; +import com.drmangotea.tfmg.content.engines.engine_gearbox.EngineGearboxRenderer; +import com.drmangotea.tfmg.content.engines.types.large_engine.LargeEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.types.large_engine.LargeEngineRenderer; +import com.drmangotea.tfmg.content.engines.types.radial_engine.RadialEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.types.regular_engine.RegularEngineBlockEntity; +import com.drmangotea.tfmg.content.engines.types.regular_engine.RegularEngineRenderer; +import com.drmangotea.tfmg.content.engines.types.regular_engine.RegularEngineVisual; +import com.drmangotea.tfmg.content.engines.types.turbine_engine.TurbineEngineBlockEntity; +import com.drmangotea.tfmg.content.machinery.metallurgy.blast_furnace.BlastFurnaceHatchBlockEntity; +import com.drmangotea.tfmg.content.machinery.metallurgy.blast_furnace.BlastFurnaceOutputBlockEntity; +import com.drmangotea.tfmg.content.machinery.metallurgy.blast_furnace.BlastFurnaceRenderer; +import com.drmangotea.tfmg.content.machinery.metallurgy.blast_stove.BlastStoveBlockEntity; +import com.drmangotea.tfmg.content.machinery.metallurgy.casting_basin.CastingBasinBlockEntity; +import com.drmangotea.tfmg.content.machinery.metallurgy.casting_basin.CastingBasinRenderer; +import com.drmangotea.tfmg.content.machinery.metallurgy.coke_oven.CokeOvenBlockEntity; +import com.drmangotea.tfmg.content.machinery.metallurgy.coke_oven.CokeOvenRenderer; +import com.drmangotea.tfmg.content.machinery.misc.air_intake.AirIntakeBlockEntity; +import com.drmangotea.tfmg.content.machinery.misc.air_intake.AirIntakeRenderer; +import com.drmangotea.tfmg.content.machinery.misc.concrete_hose.ConcreteHoseBlockEntity; +import com.drmangotea.tfmg.content.machinery.misc.concrete_hose.ConcreteHoseRenderer; +import com.drmangotea.tfmg.content.machinery.misc.exhaust.ExhaustBlockEntity; +import com.drmangotea.tfmg.content.machinery.misc.firebox.FireboxBlockEntity; +import com.drmangotea.tfmg.content.machinery.misc.flarestack.FlarestackBlockEntity; +import com.drmangotea.tfmg.content.machinery.misc.machine_input.MachineInputBlockEntity; +import com.drmangotea.tfmg.content.machinery.misc.smokestack.SmokestackBlockEntity; +import com.drmangotea.tfmg.content.machinery.misc.winding_machine.WindingMachineBlockEntity; +import com.drmangotea.tfmg.content.machinery.misc.winding_machine.WindingMachineRenderer; +import com.drmangotea.tfmg.content.machinery.misc.winding_machine.WindingMachineVisual; +import com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.controller.DistillationControllerBlockEntity; +import com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.controller.DistillationControllerRenderer; +import com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.output.DistillationOutputBlockEntity; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.base.PumpjackBaseBlockEntity; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.crank.PumpjackCrankBlockEntity; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.crank.PumpjackCrankRenderer; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.PumpjackBlockEntity; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.PumpjackRenderer; +import com.drmangotea.tfmg.content.machinery.oil_processing.surface_scanner.SurfaceScannerBlockEntity; +import com.drmangotea.tfmg.content.machinery.oil_processing.surface_scanner.SurfaceScannerRenderer; +import com.drmangotea.tfmg.content.machinery.vat.base.VatBlockEntity; +import com.drmangotea.tfmg.content.machinery.vat.base.VatRenderer; +import com.drmangotea.tfmg.content.machinery.vat.electrode_holder.ElectrodeHolderBlockEntity; +import com.drmangotea.tfmg.content.machinery.vat.electrode_holder.ElectrodeHolderRenderer; +import com.drmangotea.tfmg.content.machinery.vat.industrial_mixer.IndustrialMixerBlockEntity; +import com.drmangotea.tfmg.content.machinery.vat.industrial_mixer.IndustrialMixerRenderer; +import com.drmangotea.tfmg.content.machinery.vat.industrial_mixer.IndustrialMixerVisual; +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.content.fluids.pipes.FluidPipeBlockEntity; +import com.simibubi.create.content.fluids.pipes.SmartFluidPipeBlockEntity; +import com.simibubi.create.content.fluids.pipes.StraightPipeBlockEntity; +import com.simibubi.create.content.fluids.pipes.TransparentStraightPipeRenderer; +import com.simibubi.create.content.fluids.pipes.valve.FluidValveBlockEntity; +import com.simibubi.create.content.fluids.pipes.valve.FluidValveRenderer; +import com.simibubi.create.content.fluids.pipes.valve.FluidValveVisual; +import com.simibubi.create.content.fluids.pump.PumpBlockEntity; +import com.simibubi.create.content.fluids.pump.PumpRenderer; +import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; +import com.simibubi.create.content.kinetics.base.*; +import com.simibubi.create.content.kinetics.gearbox.GearboxBlockEntity; +import com.simibubi.create.content.kinetics.gearbox.GearboxRenderer; +import com.simibubi.create.content.kinetics.gearbox.GearboxVisual; +import com.simibubi.create.content.kinetics.simpleRelays.BracketedKineticBlockEntity; +import com.simibubi.create.content.kinetics.simpleRelays.SimpleKineticBlockEntity; +import com.simibubi.create.foundation.blockEntity.renderer.SmartBlockEntityRenderer; +import com.tterrag.registrate.util.entry.BlockEntityEntry; + +import static com.drmangotea.tfmg.TFMG.REGISTRATE; + +public class TFMGBlockEntities { + + + public static final BlockEntityEntry DISTILLATION_OUTPUT = REGISTRATE + .blockEntity("distillation_tower_output", DistillationOutputBlockEntity::new) + .validBlocks(TFMGBlocks.STEEL_DISTILLATION_OUTPUT) + .register(); + public static final BlockEntityEntry ELECTRIC_PUMP = REGISTRATE + .blockEntity("electric_pump", ElectricPumpBlockEntity::new) + .validBlocks(TFMGBlocks.ELECTRIC_PUMP) + .register(); + public static final BlockEntityEntry ELECTRIC_SWITCH = REGISTRATE + .blockEntity("electrical_switch", ElectricSwitchBlockEntity::new) + .validBlocks(TFMGBlocks.ELECTRICAL_SWITCH) + .register(); + public static final BlockEntityEntry POLARIZER = REGISTRATE + .blockEntity("polarizer", PolarizerBlockEntity::new) + .validBlocks(TFMGBlocks.POLARIZER) + .renderer(() -> PolarizerRenderer::new) + .register(); + public static final BlockEntityEntry COPYCAT_CABLE = + REGISTRATE.blockEntity("copycat_cable", CopycatCableBlockEntity::new) + .validBlocks(TFMGBlocks.COPYCAT_CABLE_BLOCK) + .register(); + public static final BlockEntityEntry RESISTOR = REGISTRATE + .blockEntity("resistor", ResistorBlockEntity::new) + .validBlocks(TFMGBlocks.RESISTOR) + .register(); + public static final BlockEntityEntry STATOR = REGISTRATE + .blockEntity("stator", StatorBlockEntity::new) + .validBlocks(TFMGBlocks.STATOR) + .register(); + + public static final BlockEntityEntry NEON_TUBE = REGISTRATE + .blockEntity("neon_tube", NeonTubeBlockEntity::new) + .validBlocks(TFMGBlocks.NEON_TUBE) + .renderer(() -> NeonTubeRenderer::new) + .register(); + + public static final BlockEntityEntry DIAGONAL_CABLE_BLOCK = REGISTRATE + .blockEntity("diagonal_cable_block", DiagonalCableBlockEntity::new) + .validBlocks(TFMGBlocks.DIAGONAL_CABLE_BLOCK) + .register(); + + public static final BlockEntityEntry CABLE_TUBE = REGISTRATE + .blockEntity("cable_tube", CableTubeBlockEntity::new) + .validBlocks(TFMGBlocks.CABLE_TUBE, TFMGBlocks.ELECTRIC_POST, + TFMGBlocks.CONCRETE_ENCASED_CABLE_TUBE, TFMGBlocks.CONCRETE_ENCASED_ELECTRIC_POST) + .register(); + + public static final BlockEntityEntry ROTOR = REGISTRATE + .blockEntity("rotor", RotorBlockEntity::new) + .visual(() -> RotorVisual::new) + .validBlocks(TFMGBlocks.ROTOR) + .renderer(() -> RotorRenderer::new) + .register(); + public static final BlockEntityEntry CONCRETE_HOSE = REGISTRATE + .blockEntity("concrete_hose", ConcreteHoseBlockEntity::new) + //.instance(() -> ConcreteHoseInstance::new) + .validBlocks(TFMGBlocks.CONCRETE_HOSE) + .renderer(() -> ConcreteHoseRenderer::new) + .register(); + public static final BlockEntityEntry PUMPJACK_HAMMER = REGISTRATE + .blockEntity("pumpjack_hammer", PumpjackBlockEntity::new) + .validBlocks(TFMGBlocks.PUMPJACK_HAMMER) + .renderer(() -> PumpjackRenderer::new) + .register(); + + public static final BlockEntityEntry PUMPJACK_CRANK = REGISTRATE + .blockEntity("pumpjack_crank", PumpjackCrankBlockEntity::new) + .validBlocks(TFMGBlocks.PUMPJACK_CRANK) + .renderer(() -> PumpjackCrankRenderer::new) + .register(); + + public static final BlockEntityEntry PUMPJACK_BASE = REGISTRATE + .blockEntity("pumpjack_base", PumpjackBaseBlockEntity::new) + .validBlocks(TFMGBlocks.PUMPJACK_BASE) + .register(); + public static final BlockEntityEntry CONVERTER = REGISTRATE + .blockEntity("converter", ConverterBlockEntity::new) + .validBlocks(TFMGBlocks.CONVERTER) + .register(); + public static final BlockEntityEntry CASTING_BASIN = REGISTRATE + .blockEntity("casting_basin", CastingBasinBlockEntity::new) + .validBlocks(TFMGBlocks.CASTING_BASIN) + .renderer(() -> CastingBasinRenderer::new) + .register(); + + public static final BlockEntityEntry SURFACE_SCANNER = REGISTRATE + .blockEntity("surface_scanner", SurfaceScannerBlockEntity::new) + .validBlocks(TFMGBlocks.SURFACE_SCANNER) + .renderer(() -> SurfaceScannerRenderer::new) + .register(); + public static final BlockEntityEntry FIREBOX = REGISTRATE + .blockEntity("firebox", FireboxBlockEntity::new) + .validBlocks(TFMGBlocks.FIREBOX) + .register(); + public static final BlockEntityEntry VOLTAGE_OBSERVER = REGISTRATE + .blockEntity("voltage_observer", VoltageObserverBlockEntity::new) + .validBlocks(TFMGBlocks.VOLTAGE_OBSERVER) + .register(); + public static final BlockEntityEntry DISTILLATION_CONTROLLER = REGISTRATE + .blockEntity("distillation_tower_controller", DistillationControllerBlockEntity::new) + .validBlocks(TFMGBlocks.STEEL_DISTILLATION_CONTROLLER) + .renderer(() -> DistillationControllerRenderer::new) + .register(); + public static final BlockEntityEntry MACHINE_INPUT = REGISTRATE + .blockEntity("machine_input", MachineInputBlockEntity::new) + .visual(() -> OrientedRotatingVisual.of(AllPartialModels.SHAFT_HALF)) + .validBlocks(TFMGBlocks.MACHINE_INPUT) + .renderer(() -> HalfShaftRenderer::new) + .register(); + public static final BlockEntityEntry LIGHT_BULB = REGISTRATE + .blockEntity("light_bulb", LightBulbBlockEntity::new) + .validBlocks(TFMGBlocks.LIGHT_BULB) + .renderer(() -> LightBulbRenderer::new) + .register(); + public static final BlockEntityEntry CIRCULAR_LIGHT = REGISTRATE + .blockEntity("circular_light", LightBulbBlockEntity::new) + .validBlocks(TFMGBlocks.CIRCULAR_LIGHT) + .renderer(() -> CircularLightRenderer::new) + .register(); + public static final BlockEntityEntry MODERN_LIGHT = REGISTRATE + .blockEntity("modern_light", LightBulbBlockEntity::new) + .validBlocks(TFMGBlocks.MODERN_LIGHT) + .renderer(() -> ModernLightRenderer::new) + .register(); + public static final BlockEntityEntry ALUMINUM_LAMP = REGISTRATE + .blockEntity("aluminum_lamp", LightBulbBlockEntity::new) + .validBlocks(TFMGBlocks.ALUMINUM_LAMP) + .renderer(() -> AluminumLampRenderer::new) + .register(); + + public static final BlockEntityEntry ACCUMULATOR = REGISTRATE + .blockEntity("accumulator", AccumulatorBlockEntity::new) + .validBlocks(TFMGBlocks.ACCUMULATOR) + .register(); + + public static final BlockEntityEntry DIODE = REGISTRATE + .blockEntity("electric_diode", ElectricDiodeBlockEntity::new) + .validBlocks(TFMGBlocks.DIODE, TFMGBlocks.ENCASED_DIODE) + .register(); + + + public static final BlockEntityEntry REGULAR_ENGINE = REGISTRATE + .blockEntity("regular_engine", RegularEngineBlockEntity::new) + .visual(() -> RegularEngineVisual::new, true) + .renderer(() -> RegularEngineRenderer::new) + .validBlocks(TFMGBlocks.REGULAR_ENGINE) + .register(); + + public static final BlockEntityEntry TURBINE_ENGINE = REGISTRATE + .blockEntity("turbine_engine", TurbineEngineBlockEntity::new) + .visual(() -> RegularEngineVisual::new, true) + .renderer(() -> EngineRenderer::new) + .validBlocks(TFMGBlocks.TURBINE_ENGINE) + .register(); + + public static final BlockEntityEntry LARGE_ENGINE = REGISTRATE + .blockEntity("large_engine", LargeEngineBlockEntity::new) + .renderer(() -> LargeEngineRenderer::new) + .validBlocks(TFMGBlocks.LARGE_ENGINE, TFMGBlocks.SIMPLE_LARGE_ENGINE) + .register(); + + public static final BlockEntityEntry RADIAL_ENGINE = REGISTRATE + .blockEntity("radial_engine", RadialEngineBlockEntity::new) + .visual(() -> ShaftVisual::new, true) + .renderer(() -> RegularEngineRenderer::new) + .validBlocks(TFMGBlocks.RADIAL_ENGINE) + .register(); + + public static final BlockEntityEntry POTENTIOMETER = REGISTRATE + .blockEntity("potentiometer", PotentiometerBlockEntity::new) + .validBlocks(TFMGBlocks.POTENTIOMETER, TFMGBlocks.ENCASED_POTENTIOMETER) + .register(); + + public static final BlockEntityEntry TFMG_SLIDING_DOOR = + REGISTRATE.blockEntity("tfmg_sliding_door", TFMGSlidingDoorBlockEntity::new) + .renderer(() -> TFMGSlidingDoorRenderer::new) + .validBlocks(TFMGBlocks.HEAVY_CASING_DOOR, TFMGBlocks.STEEL_CASING_DOOR, TFMGBlocks.HEAVY_PLATED_DOOR, TFMGBlocks.ALUMINUM_DOOR) + .register(); + public static final BlockEntityEntry ENGINE_GEARBOX = REGISTRATE + .blockEntity("engine_gearbox", EngineGearboxBlockEntity::new) + .visual(() -> SingleAxisRotatingVisual::shaft) + .validBlocks(TFMGBlocks.ENGINE_GEARBOX) + .renderer(() -> ShaftRenderer::new) + .register(); + + public static final BlockEntityEntry ENGINE_CONTROLLER = REGISTRATE + .blockEntity("engine_controller", EngineControllerBlockEntity::new) + .validBlocks(TFMGBlocks.ENGINE_CONTROLLER) + .renderer(() -> EngineControllerRenderer::new) + .register(); + public static final BlockEntityEntry INDUSTRIAL_MIXER = REGISTRATE + .blockEntity("industrial_mixer", IndustrialMixerBlockEntity::new) + .visual(() -> IndustrialMixerVisual::new, true) + .renderer(() -> IndustrialMixerRenderer::new) + .validBlocks(TFMGBlocks.INDUSTRIAL_MIXER) + .register(); + public static final BlockEntityEntry ELECTRODE_HOLDER = REGISTRATE + .blockEntity("electrode_holder", ElectrodeHolderBlockEntity::new) + .validBlocks(TFMGBlocks.ELECTRODE_HOLDER) + .renderer(() -> ElectrodeHolderRenderer::new) + .register(); + public static final BlockEntityEntry STEEL_FLUID_TANK = REGISTRATE + .blockEntity("steel_fluid_tank", SteelTankBlockEntity::new) + .validBlocks(TFMGBlocks.STEEL_FLUID_TANK) + .renderer(() -> SteelFluidTankRenderer::new) + .register(); + + public static final BlockEntityEntry TFMG_FLUID_TANK = REGISTRATE + .blockEntity("tfmg_fluid_tank", TFMGFluidTankBlockEntity::new) + .validBlocks(TFMGBlocks.ALUMINUM_FLUID_TANK, TFMGBlocks.CAST_IRON_FLUID_TANK) + .renderer(() -> TFMGFluidTankRenderer::new) + .register(); + + + public static final BlockEntityEntry CHEMICAL_VAT = REGISTRATE + .blockEntity("chemical_vat", VatBlockEntity::new) + .validBlocks(TFMGBlocks.STEEL_CHEMICAL_VAT, TFMGBlocks.FIREPROOF_CHEMICAL_VAT, TFMGBlocks.CAST_IRON_CHEMICAL_VAT) + .renderer(() -> VatRenderer::new) + .register(); + public static final BlockEntityEntry BLAST_STOVE = REGISTRATE + .blockEntity("blast_stove", BlastStoveBlockEntity::new) + .validBlocks(TFMGBlocks.BLAST_STOVE) + .register(); + + + public static final BlockEntityEntry CREATIVE_GENERATOR = REGISTRATE + .blockEntity("creative_generator", CreativeGeneratorBlockEntity::new) + .validBlocks(TFMGBlocks.CREATIVE_GENERATOR) + .register(); + + public static final BlockEntityEntry VOLTMETER = REGISTRATE + .blockEntity("voltmeter", VoltMeterBlockEntity::new) + .validBlocks(TFMGBlocks.VOLTMETER) + .renderer(() -> VoltMeterRenderer::new) + .register(); + + public static final BlockEntityEntry TRAFFIC_LIGHT = REGISTRATE + .blockEntity("traffic_light", TrafficLightBlockEntity::new) + .validBlocks(TFMGBlocks.TRAFFIC_LIGHT) + .renderer(() -> TrafficLightRenderer::new) + .register(); + public static final BlockEntityEntry TRANSFORMER = REGISTRATE + .blockEntity("transformer", TransformerBlockEntity::new) + .validBlocks(TFMGBlocks.TRANSFORMER) + .renderer(() -> TransformerRenderer::new) + .register(); + public static final BlockEntityEntry FUSE_BLOCK = REGISTRATE + .blockEntity("fuse_block", FuseBlockEntity::new) + // .validBlocks(TFMGBlocks.FUSE_BLOCK) + .renderer(() -> FuseBlockRenderer::new) + .register(); + public static final BlockEntityEntry SEGMENTED_DISPLAY = REGISTRATE + .blockEntity("segmented_display", SegmentedDisplayBlockEntity::new) + .validBlocks(TFMGBlocks.SEGMENTED_DISPLAY) + .renderer(() -> SegmentedDisplayRenderer::new) + //.onRegister(assignDataBehaviourBE(new SegmentedDisplayTarget())) + //.onRegister(assignDataBehaviourBE(new SegmentedDisplaySource())) + .register(); + + public static final BlockEntityEntry SMOKESTACK = REGISTRATE + .blockEntity("smokestack", SmokestackBlockEntity::new) + .validBlocks(TFMGBlocks.BRICK_SMOKESTACK, TFMGBlocks.METAL_SMOKESTACK, TFMGBlocks.CONCRETE_SMOKESTACK) + .register(); + + public static final BlockEntityEntry EXHAUST = REGISTRATE + .blockEntity("exhaust", ExhaustBlockEntity::new) + .validBlocks(TFMGBlocks.EXHAUST) + .register(); + + public static final BlockEntityEntry FLARESTACK = REGISTRATE + .blockEntity("flarestack", FlarestackBlockEntity::new) + .validBlocks(TFMGBlocks.FLARESTACK) + .register(); + + public static final BlockEntityEntry TFMG_COGWHEEL = REGISTRATE + .blockEntity("tfmg_simple_kinetic", BracketedKineticBlockEntity::new) + .visual(() -> TFMGCogwheelVisual::create, true) + .validBlocks(TFMGBlocks.STEEL_COGWHEEL, TFMGBlocks.LARGE_STEEL_COGWHEEL, TFMGBlocks.ALUMINUM_COGWHEEL, TFMGBlocks.LARGE_ALUMINUM_COGWHEEL) + .renderer(() -> TFMGCogwheelRenderer::new) + .register(); + + public static final BlockEntityEntry ENCASED_STEEL_COGWHEEL = REGISTRATE + .blockEntity("tfmg_encased_steel_cogwheel", SimpleKineticBlockEntity::new) + .visual(() -> TFMGEncasedCogVisual::steelSmall, false) + .validBlocks( + TFMGEncasedBlocks.STEEL_ENCASED_STEEL_COGWHEEL, + TFMGEncasedBlocks.HEAVY_CASING_ENCASED_STEEL_COGWHEEL + ) + .renderer(() -> TFMGEncasedCogRenderer::steelSmall) + .register(); + + public static final BlockEntityEntry ENCASED_LARGE_STEEL_COGWHEEL = REGISTRATE + .blockEntity("encased_large_steel_cogwheel", SimpleKineticBlockEntity::new) + .visual(() -> TFMGEncasedCogVisual::steelLarge, false) + .validBlocks( + TFMGEncasedBlocks.STEEL_ENCASED_LARGE_STEEL_COGWHEEL, + TFMGEncasedBlocks.HEAVY_CASING_ENCASED_LARGE_STEEL_COGWHEEL + ) + .renderer(() -> TFMGEncasedCogRenderer::steellarge) + .register(); + public static final BlockEntityEntry ENCASED_ALUMINUM_COGWHEEL = REGISTRATE + .blockEntity("tfmg_encased_aluminum_cogwheel", SimpleKineticBlockEntity::new) + .visual(() -> TFMGEncasedCogVisual::aluminumSmall, false) + .validBlocks( + TFMGEncasedBlocks.STEEL_ENCASED_ALUMINUM_COGWHEEL, + TFMGEncasedBlocks.HEAVY_CASING_ENCASED_ALUMINUM_COGWHEEL + + ) + .renderer(() -> TFMGEncasedCogRenderer::aluminumSmall) + .register(); + + public static final BlockEntityEntry ENCASED_LARGE_ALUMINUM_COGWHEEL = REGISTRATE + .blockEntity("encased_large_aluminum_cogwheel", SimpleKineticBlockEntity::new) + .visual(() -> TFMGEncasedCogVisual::aluminumLarge, false) + .validBlocks( + TFMGEncasedBlocks.STEEL_ENCASED_LARGE_ALUMINUM_COGWHEEL, + TFMGEncasedBlocks.HEAVY_CASING_ENCASED_LARGE_ALUMINUM_COGWHEEL + ) + .renderer(() -> TFMGEncasedCogRenderer::aluminumlarge) + .register(); + + public static final BlockEntityEntry TFMG_ENCASED_SHAFT = REGISTRATE + .blockEntity("tfmg_encased_shaft", KineticBlockEntity::new) + .visual(() -> SingleAxisRotatingVisual::shaft, false) + .validBlocks(TFMGEncasedBlocks.STEEL_ENCASED_SHAFT, TFMGEncasedBlocks.HEAVY_CASING_ENCASED_SHAFT) + .renderer(() -> ShaftRenderer::new) + .register(); + + public static final BlockEntityEntry STEEL_GEARBOX = REGISTRATE + .blockEntity("steel_gearbox", GearboxBlockEntity::new) + .visual(() -> GearboxVisual::new, false) + .validBlocks(TFMGBlocks.STEEL_GEARBOX) + .renderer(() -> GearboxRenderer::new) + .register(); + + public static final BlockEntityEntry TFMG_FLYWHEEL = REGISTRATE + .blockEntity("steel_flywheel", TFMGFlywheelBlockEntity::new) + .visual(() -> TFMGFlywheelVisual::new, false) + .validBlocks( + TFMGBlocks.STEEL_FLYWHEEL, + TFMGBlocks.ALUMINUM_FLYWHEEL, + TFMGBlocks.CAST_IRON_FLYWHEEL, + TFMGBlocks.LEAD_FLYWHEEL, + TFMGBlocks.NICKEL_FLYWHEEL +// + ) + .renderer(() -> TFMGFlywheelRenderer::new) + .register(); + + public static final BlockEntityEntry BLAST_FURNACE_OUTPUT = REGISTRATE + .blockEntity("blast_furnace_output", BlastFurnaceOutputBlockEntity::new) + .renderer(() -> BlastFurnaceRenderer::new) + .validBlocks(TFMGBlocks.BLAST_FURNACE_OUTPUT) + .register(); + + public static final BlockEntityEntry BLAST_FURNACE_HATCH = REGISTRATE + .blockEntity("blast_furnace_hatch", BlastFurnaceHatchBlockEntity::new) + .validBlocks(TFMGBlocks.BLAST_FURNACE_HATCH) + .register(); + + + + public static final BlockEntityEntry CABLE_HUB = REGISTRATE + .blockEntity("cable_hub", CableHubBlockEntity::new) + .validBlocks(TFMGBlocks.BRASS_CABLE_HUB, + TFMGBlocks.COPPER_CABLE_HUB, + TFMGBlocks.STEEL_CABLE_HUB, + TFMGBlocks.ALUMINUM_CABLE_HUB, + TFMGBlocks.HEAVY_CABLE_HUB, + TFMGBlocks.STEEL_CASING_CABLE_HUB +// + ) + .register(); + + + public static final BlockEntityEntry COKE_OVEN = REGISTRATE + .blockEntity("coke_oven", CokeOvenBlockEntity::new) + .renderer(() -> CokeOvenRenderer::new) + .validBlocks(TFMGBlocks.COKE_OVEN) + .register(); + + public static final BlockEntityEntry GENERATOR = REGISTRATE + .blockEntity("generator", GeneratorBlockEntity::new) + .visual(() -> OrientedRotatingVisual.of(AllPartialModels.SHAFT_HALF)) + .validBlocks(TFMGBlocks.GENERATOR) + .renderer(() -> HalfShaftRenderer::new) + .register(); + + public static final BlockEntityEntry ELECTRIC_MOTOR = REGISTRATE + .blockEntity("electric_motor", ElectricMotorBlockEntity::new) + .visual(() -> OrientedRotatingVisual.of(AllPartialModels.SHAFT_HALF)) + .validBlocks(TFMGBlocks.ELECTRIC_MOTOR) + .renderer(() -> HalfShaftRenderer::new) + .register(); + + public static final BlockEntityEntry AIR_INTAKE = REGISTRATE + .blockEntity("air_intake", AirIntakeBlockEntity::new) + .renderer(() -> AirIntakeRenderer::new) + .validBlocks(TFMGBlocks.AIR_INTAKE) + .register(); + + + public static final BlockEntityEntry CABLE_CONNECTOR = REGISTRATE + .blockEntity("cable_connector", CableConnectorBlockEntity::new) + .renderer(() -> CableConnectorRenderer::new) + .validBlocks(TFMGBlocks.CABLE_CONNECTOR, TFMGBlocks.GLASS_CABLE_CONNECTOR) + .register(); + + public static final BlockEntityEntry WINDING_MACHINE = REGISTRATE + .blockEntity("winding_machine", WindingMachineBlockEntity::new) + .visual(() -> WindingMachineVisual::new,true) + .validBlocks(TFMGBlocks.WINDING_MACHINE) + .renderer(() -> WindingMachineRenderer::new) + .register(); + + + public static final BlockEntityEntry TFMG_PIPE = REGISTRATE + .blockEntity("tfmg_pipe", TFMGPipeBlockEntity::new) + .validBlocks( + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(0), + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(0), + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(0), + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(0), + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(0) + ) + .register(); + + public static final BlockEntityEntry GLASS_TFMG_PIPE = REGISTRATE + .blockEntity("glass_tfmg_pipe", StraightPipeBlockEntity::new) + .validBlocks( + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(2), + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(2), + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(2), + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(2), + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(2) + ) + .renderer(() -> TransparentStraightPipeRenderer::new) + .register(); + + + public static final BlockEntityEntry ENCASED_TFMG_PIPE = REGISTRATE + .blockEntity("encased_tfmg_pipe", FluidPipeBlockEntity::new) + .validBlocks( + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(1), + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(1), + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(1), + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(1), + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(1) + ) + .register(); + + + public static final BlockEntityEntry TFMG_MECHANICAL_PUMP = REGISTRATE + .blockEntity("mechanical_pump", PumpBlockEntity::new) + .visual(() -> SingleAxisRotatingVisual.ofZ(AllPartialModels.MECHANICAL_PUMP_COG)) + .validBlocks( + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(3), + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(3), + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(3), + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(3), + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(3) + ) + .renderer(() -> PumpRenderer::new) + .register(); + + public static final BlockEntityEntry TFMG_SMART_FLUID_PIPE = REGISTRATE + .blockEntity("smart_fluid_pipe", SmartFluidPipeBlockEntity::new) + .validBlocks( + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(4), + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(4), + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(4), + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(4), + TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(4) + ) + .renderer(() -> SmartBlockEntityRenderer::new) + .register(); + + public static final BlockEntityEntry TFMG_FLUID_VALVE = REGISTRATE + .blockEntity("fluid_valve", FluidValveBlockEntity::new) + .visual(() -> FluidValveVisual::new) + .validBlocks( + // TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(5), + // TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(5), + // TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(5), + // TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(5), + // TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(5) + ) + .renderer(() -> FluidValveRenderer::new) + .register(); + + public static void init() { + + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGBlocks.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGBlocks.java new file mode 100644 index 00000000..89bfa751 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGBlocks.java @@ -0,0 +1,1905 @@ +package com.drmangotea.tfmg.registry; + + +import com.drmangotea.tfmg.base.*; +import com.drmangotea.tfmg.base.blocks.TFMGDirectionalBlock; +import com.drmangotea.tfmg.base.blocks.TFMGVanillaBlockStates; +import com.drmangotea.tfmg.config.TFMGStress; +import com.drmangotea.tfmg.content.decoration.*; +import com.drmangotea.tfmg.content.decoration.cogs.TFMGCogWheelBlock; +import com.drmangotea.tfmg.content.decoration.cogs.TFMGCogwheelBlockItem; +import com.drmangotea.tfmg.content.decoration.concrete.*; +import com.drmangotea.tfmg.content.decoration.doors.TFMGSlidingDoorBlock; +import com.drmangotea.tfmg.content.decoration.flywheels.TFMGFlywheelBlock; +import com.drmangotea.tfmg.content.decoration.gearbox.SteelGearboxBlock; +import com.drmangotea.tfmg.content.decoration.tanks.aluminum.AluminumFluidTankModel; +import com.drmangotea.tfmg.content.decoration.tanks.aluminum.AluminumTankBlock; +import com.drmangotea.tfmg.content.decoration.tanks.aluminum.AluminumTankItem; +import com.drmangotea.tfmg.content.decoration.tanks.cast_iron.CastIronFluidTankModel; +import com.drmangotea.tfmg.content.decoration.tanks.cast_iron.CastIronTankBlock; +import com.drmangotea.tfmg.content.decoration.tanks.cast_iron.CastIronTankItem; +import com.drmangotea.tfmg.content.decoration.tanks.steel.SteelFluidTankModel; +import com.drmangotea.tfmg.content.decoration.tanks.steel.SteelTankBlock; +import com.drmangotea.tfmg.content.decoration.tanks.TFMGTankGenerator; +import com.drmangotea.tfmg.content.decoration.tanks.steel.SteelTankItem; +import com.drmangotea.tfmg.content.electricity.connection.cable_hub.CableHubBlock; +import com.drmangotea.tfmg.content.electricity.connection.cables.CableConnectorBlock; +import com.drmangotea.tfmg.content.electricity.connection.cables.CableConnectorGenerator; +import com.drmangotea.tfmg.content.electricity.connection.copycat_cable.CopycatCableBlock; +import com.drmangotea.tfmg.content.electricity.connection.copycat_cable.CopycatCableBlockModel; +import com.drmangotea.tfmg.content.electricity.connection.diagonal.DiagonalCableBlock; +import com.drmangotea.tfmg.content.electricity.connection.diagonal.DiagonalCableGenerator; +import com.drmangotea.tfmg.content.electricity.connection.tube.CableTubeBlock; +import com.drmangotea.tfmg.content.electricity.generators.GeneratorBlock; +import com.drmangotea.tfmg.content.electricity.generators.creative_generator.CreativeGeneratorBlock; +import com.drmangotea.tfmg.content.electricity.generators.large_generator.RotorBlock; +import com.drmangotea.tfmg.content.electricity.generators.large_generator.StatorBlock; +import com.drmangotea.tfmg.content.electricity.generators.large_generator.StatorGenerator; +import com.drmangotea.tfmg.content.electricity.lights.LampGenerator; +import com.drmangotea.tfmg.content.electricity.lights.LightBulbBlock; +import com.drmangotea.tfmg.content.electricity.lights.neon_tube.NeonTubeBlock; +import com.drmangotea.tfmg.content.electricity.measurement.VoltMeterBlock; +import com.drmangotea.tfmg.content.electricity.storage.AccumulatorBlock; +import com.drmangotea.tfmg.content.electricity.storage.AccumulatorItem; +import com.drmangotea.tfmg.content.electricity.storage.CapacitorCTBehavior; +import com.drmangotea.tfmg.content.electricity.utilities.converter.ConverterBlock; +import com.drmangotea.tfmg.content.electricity.utilities.converter.ConverterGenerator; +import com.drmangotea.tfmg.content.electricity.utilities.diode.ElectricDiodeBlock; +import com.drmangotea.tfmg.content.electricity.utilities.diode.EncasedDiodeBlock; +import com.drmangotea.tfmg.content.electricity.utilities.electric_motor.ElectricMotorBlock; +import com.drmangotea.tfmg.content.electricity.utilities.electric_pump.ElectricPumpBlock; +import com.drmangotea.tfmg.content.electricity.utilities.electric_switch.ElectricSwitchBlock; +import com.drmangotea.tfmg.content.electricity.utilities.fuse_block.FuseBlock; +import com.drmangotea.tfmg.content.electricity.utilities.polarizer.PolarizerBlock; +import com.drmangotea.tfmg.content.electricity.utilities.potentiometer.PotentiometerBlock; +import com.drmangotea.tfmg.content.electricity.utilities.potentiometer.EncasedPotentiometerBlock; +import com.drmangotea.tfmg.content.electricity.utilities.resistor.ResistorBlock; +import com.drmangotea.tfmg.content.electricity.utilities.resistor.ResistorBlockItem; +import com.drmangotea.tfmg.content.electricity.utilities.segmented_display.SegmentedDisplayBlock; +import com.drmangotea.tfmg.content.electricity.utilities.segmented_display.SegmentedDisplayCTBehavior; +import com.drmangotea.tfmg.content.electricity.utilities.traffic_light.TrafficLightBlock; +import com.drmangotea.tfmg.content.electricity.utilities.transformer.TransformerBlock; +import com.drmangotea.tfmg.content.electricity.utilities.voltage_observer.VoltageObserverBlock; +import com.drmangotea.tfmg.content.electricity.utilities.voltage_observer.VoltageObserverGenerator; +import com.drmangotea.tfmg.content.engines.base.EngineCTBehavior; +import com.drmangotea.tfmg.content.engines.base.EngineGenerator; +import com.drmangotea.tfmg.content.engines.engine_controller.EngineControllerBlock; +import com.drmangotea.tfmg.content.engines.engine_gearbox.EngineGearboxBlock; +import com.drmangotea.tfmg.content.engines.types.large_engine.LargeEngineBlock; +import com.drmangotea.tfmg.content.engines.types.radial_engine.RadialEngineBlock; +import com.drmangotea.tfmg.content.engines.types.regular_engine.RegularEngineBlock; +import com.drmangotea.tfmg.content.engines.types.turbine_engine.TurbineEngineBlock; +import com.drmangotea.tfmg.content.engines.types.turbine_engine.TurbineEngineGenerator; +import com.drmangotea.tfmg.content.items.CoalCokeBlockItem; +import com.drmangotea.tfmg.content.items.weapons.explosives.napalm.NapalmBombBlock; +import com.drmangotea.tfmg.content.machinery.metallurgy.blast_furnace.BlastFurnaceHatchBlock; +import com.drmangotea.tfmg.content.machinery.metallurgy.blast_furnace.BlastFurnaceOutputBlock; +import com.drmangotea.tfmg.content.machinery.metallurgy.blast_furnace.reinforcement.BlastFurnaceReinforcementBlockItem; +import com.drmangotea.tfmg.content.machinery.metallurgy.blast_furnace.reinforcement.BlastFurnaceReinforcementWallBlock; +import com.drmangotea.tfmg.content.machinery.metallurgy.blast_stove.BlastStoveBlock; +import com.drmangotea.tfmg.content.machinery.metallurgy.blast_stove.BlastStoveItem; +import com.drmangotea.tfmg.content.machinery.metallurgy.blast_stove.MultiblockCTBehavior; +import com.drmangotea.tfmg.content.machinery.metallurgy.casting_basin.CastingBasinBlock; +import com.drmangotea.tfmg.content.machinery.metallurgy.coke_oven.CokeOvenBlock; +import com.drmangotea.tfmg.content.machinery.metallurgy.coke_oven.CokeOvenCTBehavior; +import com.drmangotea.tfmg.content.machinery.metallurgy.coke_oven.CokeOvenGenerator; +import com.drmangotea.tfmg.content.machinery.misc.air_intake.AirIntakeBlock; +import com.drmangotea.tfmg.content.machinery.misc.air_intake.AirIntakeGenerator; +import com.drmangotea.tfmg.content.machinery.misc.concrete_hose.ConcreteHoseBlock; +import com.drmangotea.tfmg.content.machinery.misc.exhaust.ExhaustBlock; +import com.drmangotea.tfmg.content.machinery.misc.firebox.FireboxBlock; +import com.drmangotea.tfmg.content.machinery.misc.flarestack.FlarestackBlock; +import com.drmangotea.tfmg.content.machinery.misc.flarestack.FlarestackGenerator; +import com.drmangotea.tfmg.content.machinery.misc.machine_input.MachineInputBlock; +import com.drmangotea.tfmg.content.machinery.misc.smokestack.SmokestackBlock; +import com.drmangotea.tfmg.content.machinery.misc.smokestack.SmokestackGenerator; +import com.drmangotea.tfmg.content.machinery.misc.winding_machine.WindingMachineBlock; +import com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.IndustrialPipeBlock; +import com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.controller.DistillationControllerBlock; +import com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.output.DistillationOutputBlock; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.base.PumpjackBaseBlock; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.crank.PumpjackCrankBlock; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.PumpjackBlock; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.PumpjackGenerator; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.parts.PumpjackHammerConnectorBlock; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.parts.PumpjackHammerHeadBlock; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.parts.PumpjackHammerPartBlock; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.parts.large.LargePumpjackHammerConnectorBlock; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.parts.large.LargePumpjackHammerHeadBlock; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.hammer.parts.large.LargePumpjackHammerPartBlock; +import com.drmangotea.tfmg.content.machinery.oil_processing.surface_scanner.SurfaceScannerBlock; +import com.drmangotea.tfmg.content.machinery.vat.base.VatBlock; +import com.drmangotea.tfmg.content.machinery.vat.base.VatGenerator; +import com.drmangotea.tfmg.content.machinery.vat.electrode_holder.ElectrodeHolderBlock; +import com.drmangotea.tfmg.content.machinery.vat.industrial_mixer.IndustrialMixerBlock; +import com.simibubi.create.AllItems; +import com.simibubi.create.AllMountedStorageTypes; +import com.simibubi.create.AllTags; +import com.simibubi.create.api.stress.BlockStressValues; +import com.simibubi.create.content.contraptions.bearing.StabilizedBearingMovementBehaviour; +import com.simibubi.create.content.decoration.MetalLadderBlock; +import com.simibubi.create.content.decoration.MetalScaffoldingBlock; +import com.simibubi.create.content.decoration.TrainTrapdoorBlock; +import com.simibubi.create.content.decoration.encasing.CasingBlock; +import com.simibubi.create.content.decoration.encasing.EncasedCTBehaviour; +import com.simibubi.create.content.decoration.encasing.EncasingRegistry; +import com.simibubi.create.content.decoration.slidingDoor.SlidingDoorBlock; +import com.simibubi.create.content.fluids.tank.FluidTankMovementBehavior; +import com.simibubi.create.content.kinetics.gearbox.GearboxBlock; +import com.simibubi.create.content.kinetics.motor.CreativeMotorGenerator; +import com.simibubi.create.content.kinetics.simpleRelays.BracketedKineticBlockModel; +import com.simibubi.create.foundation.block.connected.HorizontalCTBehaviour; +import com.simibubi.create.foundation.data.*; +import com.tterrag.registrate.providers.loot.RegistrateBlockLootTables; +import com.tterrag.registrate.util.DataIngredient; +import com.tterrag.registrate.util.entry.BlockEntry; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.registries.Registries; +import net.minecraft.data.recipes.RecipeCategory; +import net.minecraft.tags.BlockTags; +import net.minecraft.util.ColorRGBA; +import net.minecraft.world.item.enchantment.Enchantment; +import net.minecraft.world.item.enchantment.Enchantments; +import net.minecraft.world.level.block.*; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.material.MapColor; +import net.minecraft.world.level.storage.loot.entries.LootItem; +import net.minecraft.world.level.storage.loot.functions.ApplyBonusCount; +import net.neoforged.neoforge.common.Tags; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import static com.drmangotea.tfmg.TFMG.REGISTRATE; +import static com.drmangotea.tfmg.base.TFMGBuilderTransformers.*; +import static com.drmangotea.tfmg.content.electricity.lights.LightBulbBlock.LIGHT; +import static com.simibubi.create.api.behaviour.movement.MovementBehaviour.movementBehaviour; +import static com.simibubi.create.api.contraption.storage.fluid.MountedFluidStorageType.mountedFluidStorage; +import static com.simibubi.create.foundation.data.BlockStateGen.axisBlock; +import static com.simibubi.create.foundation.data.BlockStateGen.simpleCubeAll; +import static com.simibubi.create.foundation.data.CreateRegistrate.casingConnectivity; +import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures; +import static com.simibubi.create.foundation.data.ModelGen.customItemModel; +import static com.simibubi.create.foundation.data.TagGen.*; +import static com.simibubi.create.foundation.data.TagGen.tagBlockAndItem; + +@SuppressWarnings("removal") +public class TFMGBlocks { + + + public static final String[] TFMG_DECOR_METALS = {"steel", "aluminum", "lead", "cast_iron"}; + + static { + REGISTRATE.setCreativeTab(TFMGCreativeTabs.TFMG_MAIN); + } + + + //------------------ENGINES------------------// + + public static final BlockEntry TURBINE_ENGINE = REGISTRATE.block("turbine_engine", TurbineEngineBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .properties(BlockBehaviour.Properties::noOcclusion) + .addLayer(() -> RenderType::cutoutMipped) + .transform(TFMGStress.setCapacity(100)) + .blockstate(new TurbineEngineGenerator()::generate) + .item() + .transform(customItemModel()) + .register(); + public static final BlockEntry REGULAR_ENGINE = REGISTRATE.block("regular_engine", RegularEngineBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .properties(BlockBehaviour.Properties::noOcclusion) + .onRegister(connectedTextures(() -> new EngineCTBehavior(TFMGSpriteShifts.REGULAR_ENGINE_TOP, TFMGSpriteShifts.REGULAR_ENGINE_BOTTOM, TFMGSpriteShifts.REGULAR_ENGINE_SIDE))) + .blockstate(new EngineGenerator()::generate) + .transform(TFMGStress.setCapacity(100.0)) + .item() + .transform(customItemModel()) + .register(); + public static final BlockEntry RADIAL_ENGINE = REGISTRATE.block("radial_engine", RadialEngineBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .properties(BlockBehaviour.Properties::noOcclusion) + .transform(TFMGStress.setCapacity(100)) + .onRegister(connectedTextures(() -> new EngineCTBehavior(TFMGSpriteShifts.REGULAR_ENGINE_TOP, TFMGSpriteShifts.REGULAR_ENGINE_BOTTOM, TFMGSpriteShifts.REGULAR_ENGINE_SIDE))) + .blockstate(new TurbineEngineGenerator()::generate) + .item() + .transform(customItemModel()) + .register(); + public static final BlockEntry LARGE_ENGINE = REGISTRATE.block("large_engine", LargeEngineBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .properties(BlockBehaviour.Properties::noOcclusion) + .transform(TFMGStress.setCapacity(55)) + .blockstate((c, p) -> p.horizontalFaceBlock(c.get(), AssetLookup.partialBaseModel(c, p))) + .item() + .transform(customItemModel()) + .register(); + public static final BlockEntry SIMPLE_LARGE_ENGINE = REGISTRATE.block("simple_large_engine", LargeEngineBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .properties(BlockBehaviour.Properties::noOcclusion) + .transform(TFMGStress.setCapacity(40)) + .blockstate((c, p) -> p.horizontalFaceBlock(c.get(), AssetLookup.partialBaseModel(c, p))) + .item() + .transform(customItemModel()) + .register(); + + public static final BlockEntry ENGINE_GEARBOX = REGISTRATE.block("engine_gearbox", EngineGearboxBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate(BlockStateGen.horizontalBlockProvider(true)) + .item() + .transform(customItemModel()) + .register(); + + public static final BlockEntry ENGINE_CONTROLLER = REGISTRATE.block("engine_controller", EngineControllerBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate(BlockStateGen.horizontalBlockProvider(true)) + .item() + .transform(customItemModel()) + .register(); + //------------------TANKS------------------// + public static final BlockEntry ALUMINUM_FLUID_TANK = + REGISTRATE.block("aluminum_fluid_tank", AluminumTankBlock::regular) + .initialProperties(SharedProperties::copperMetal) + .properties(p -> p.sound(SoundType.COPPER)) + .properties(BlockBehaviour.Properties::noOcclusion) + .properties(p -> p.isRedstoneConductor((p1, p2, p3) -> true)) + .transform(pickaxeOnly()) + .transform(mountedFluidStorage(TFMGMountedStorageTypes.TFMG_FLUID_TANK)) + .onRegister(movementBehaviour(new FluidTankMovementBehavior())) + .blockstate(new TFMGTankGenerator()::generate) + .onRegister(CreateRegistrate.blockModel(() -> AluminumFluidTankModel::standard)) + .addLayer(() -> RenderType::cutoutMipped) + .item(AluminumTankItem::new) + .model(AssetLookup.customBlockItemModel("_", "block_single_window")) + .build() + .register(); + public static final BlockEntry CAST_IRON_FLUID_TANK = + REGISTRATE.block("cast_iron_fluid_tank", CastIronTankBlock::regular) + .initialProperties(SharedProperties::copperMetal) + .properties(p -> p.sound(SoundType.METAL)) + .properties(BlockBehaviour.Properties::noOcclusion) + .transform(mountedFluidStorage(TFMGMountedStorageTypes.TFMG_FLUID_TANK)) + .onRegister(movementBehaviour(new FluidTankMovementBehavior())) + .properties(p -> p.isRedstoneConductor((p1, p2, p3) -> true)) + .transform(pickaxeOnly()) + .blockstate(new TFMGTankGenerator()::generate) + .onRegister(CreateRegistrate.blockModel(() -> CastIronFluidTankModel::standard)) + .addLayer(() -> RenderType::cutoutMipped) + .item(CastIronTankItem::new) + .model(AssetLookup.customBlockItemModel("_", "block_single_window")) + .build() + .register(); + + //------------------DISTILLATION_TOWER------------------// + public static final BlockEntry STEEL_FLUID_TANK = + REGISTRATE.block("steel_fluid_tank", SteelTankBlock::regular) + .initialProperties(SharedProperties::copperMetal) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .properties(BlockBehaviour.Properties::noOcclusion) + .properties(p -> p.isRedstoneConductor((p1, p2, p3) -> true)) + .transform(pickaxeOnly()) + .blockstate(new TFMGTankGenerator()::generate) + .transform(mountedFluidStorage(TFMGMountedStorageTypes.TFMG_FLUID_TANK)) + .onRegister(movementBehaviour(new FluidTankMovementBehavior())) + .onRegister(CreateRegistrate.blockModel(() -> SteelFluidTankModel::standard)) + .addLayer(() -> RenderType::cutoutMipped) + .item(SteelTankItem::new) + .model(AssetLookup.customBlockItemModel("_", "block_single_window")) + .build() + .register(); + + public static final BlockEntry STEEL_DISTILLATION_OUTPUT = + REGISTRATE.block("steel_distillation_output", DistillationOutputBlock::new) + .initialProperties(SharedProperties::copperMetal) + .blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov))) + .properties(BlockBehaviour.Properties::noOcclusion) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .transform(pickaxeOnly()) + .item() + .build() + .register(); + public static final BlockEntry STEEL_DISTILLATION_CONTROLLER = + REGISTRATE.block("steel_distillation_controller", DistillationControllerBlock::new) + .initialProperties(SharedProperties::copperMetal) + .blockstate(BlockStateGen.horizontalBlockProvider(true)) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .transform(pickaxeOnly()) + .item() + .build() + .register(); + public static final BlockEntry INDUSTRIAL_PIPE = REGISTRATE.block("industrial_pipe", IndustrialPipeBlock::new) + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.requiresCorrectToolForDrops()) + .properties(p -> p.sound(SoundType.STONE)) + .transform(pickaxeOnly()) + .tag(TFMGTags.TFMGBlockTags.INDUSTRIAL_PIPE.tag) + .recipe((c, p) -> p.stonecutting(DataIngredient.tag(AllTags.commonItemTag("ingots/steel")), RecipeCategory.BUILDING_BLOCKS, c::get, 8)) + .blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov))) + .item() + .build() + .register(); + public static final BlockEntry CONCRETE_ENCASED_INDUSTRIAL_PIPE = REGISTRATE.block("concrete_encased_industrial_pipe", Block::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.requiresCorrectToolForDrops().noOcclusion()) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .transform(pickaxeOnly()) + .loot((lt, block) -> lt.dropOther(block, TFMGBlocks.INDUSTRIAL_PIPE.get().asItem())) + .tag(TFMGTags.TFMGBlockTags.INDUSTRIAL_PIPE.tag) + .blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov))) + .register(); + + //------------------PUMPJACK------------------// + public static final BlockEntry PUMPJACK_HAMMER = + REGISTRATE.block("pumpjack_hammer", PumpjackBlock::new) + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .tag(AllTags.AllBlockTags.SAFE_NBT.tag) + .addLayer(() -> RenderType::cutoutMipped) + .blockstate(new PumpjackGenerator()::generate) + .onRegister(movementBehaviour(new StabilizedBearingMovementBehaviour())) + .item() + .transform(customItemModel()) + .lang("Pumpjack Hammer Holder") + .register(); + + + public static final BlockEntry PUMPJACK_CRANK = + REGISTRATE.block("pumpjack_crank", PumpjackCrankBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .blockstate(BlockStateGen.horizontalBlockProvider(true)) + .properties(BlockBehaviour.Properties::noOcclusion) + .item() + .build() + .lang("Pumpjack Crank") + .register(); + + public static final BlockEntry PUMPJACK_HAMMER_PART = REGISTRATE.block("pumpjack_hammer_part", PumpjackHammerPartBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate(BlockStateGen.horizontalBlockProvider(false)) + .tag(TFMGTags.TFMGBlockTags.PUMPJACK_SMALL_PART.tag) + .recipe((c, p) -> p.stonecutting(DataIngredient.tag(AllTags.commonItemTag("storage_blocks/steel")), + RecipeCategory.DECORATIONS, c::get, 2)) + .item() + .build() + .register(); + public static final BlockEntry PUMPJACK_HAMMER_HEAD = REGISTRATE.block("pumpjack_hammer_head", PumpjackHammerHeadBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate(BlockStateGen.horizontalBlockProvider(false)) + .tag(TFMGTags.TFMGBlockTags.PUMPJACK_HEAD.tag) + + + .item() + .build() + .register(); + + public static final BlockEntry PUMPJACK_HAMMER_CONNECTOR = REGISTRATE.block("pumpjack_hammer_connector", PumpjackHammerConnectorBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate(BlockStateGen.horizontalBlockProvider(false)) + .tag(TFMGTags.TFMGBlockTags.PUMPJACK_CONNECTOR.tag) + .item() + .build() + .register(); + public static final BlockEntry LARGE_PUMPJACK_HAMMER_PART = REGISTRATE.block("large_pumpjack_hammer_part", LargePumpjackHammerPartBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .blockstate(BlockStateGen.horizontalBlockProvider(false)) + .tag(TFMGTags.TFMGBlockTags.PUMPJACK_PART.tag) + .recipe((c, p) -> p.stonecutting(DataIngredient.tag(AllTags.commonItemTag("storage_blocks/steel")), + RecipeCategory.DECORATIONS, c::get, 2)) + .item() + .build() + .register(); + + public static final BlockEntry LARGE_PUMPJACK_HAMMER_HEAD = REGISTRATE.block("large_pumpjack_hammer_head", LargePumpjackHammerHeadBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .blockstate(BlockStateGen.horizontalBlockProvider(false)) + .tag(TFMGTags.TFMGBlockTags.PUMPJACK_HEAD.tag) + .item() + .build() + .register(); + public static final BlockEntry LARGE_PUMPJACK_HAMMER_CONNECTOR = REGISTRATE.block("large_pumpjack_hammer_connector", LargePumpjackHammerConnectorBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .blockstate(BlockStateGen.horizontalBlockProvider(false)) + .tag(TFMGTags.TFMGBlockTags.PUMPJACK_CONNECTOR.tag) + .item() + .build() + .register(); + public static final BlockEntry PUMPJACK_BASE = REGISTRATE.block("pumpjack_base", PumpjackBaseBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov))) + .item() + .build() + .register(); + public static final BlockEntry OIL_DEPOSIT = REGISTRATE.block("oil_deposit", Block::new) + .initialProperties(() -> Blocks.BEDROCK) + .properties(p -> p.strength(69696969)) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .tag(TFMGTags.TFMGBlockTags.SURFACE_SCANNER_FINDABLE.tag) + .tag(BlockTags.WITHER_IMMUNE) + .tag(BlockTags.DRAGON_IMMUNE) + .tag(BlockTags.DRAGON_IMMUNE) + .tag(BlockTags.INFINIBURN_OVERWORLD) + .tag(BlockTags.FEATURES_CANNOT_REPLACE) + .tag(AllTags.AllBlockTags.NON_MOVABLE.tag) + .item() + .build() + .register(); + //------------------VAT_MACHINES------------------// + @SuppressWarnings("'addLayer(java.util.function.Supplier>)' is deprecated and marked for removal ") + public static final BlockEntry STEEL_CHEMICAL_VAT = + REGISTRATE.block("steel_chemical_vat", VatBlock::steel) + .initialProperties(SharedProperties::copperMetal) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .properties(BlockBehaviour.Properties::noOcclusion) + .properties(p -> p.isRedstoneConductor((p1, p2, p3) -> true)) + .transform(pickaxeOnly()) + .blockstate(new VatGenerator()::generate) + .onRegister(CreateRegistrate.blockModel(() -> SteelFluidTankModel::steelVat)) + .addLayer(() -> RenderType::cutoutMipped) + .item(SteelTankItem::new) + .model(AssetLookup.customBlockItemModel("_", "block_single_window")) + .build() + .register(); + public static final BlockEntry CAST_IRON_CHEMICAL_VAT = + REGISTRATE.block("cast_iron_chemical_vat", VatBlock::cast_iron) + .initialProperties(SharedProperties::copperMetal) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .properties(BlockBehaviour.Properties::noOcclusion) + .properties(p -> p.isRedstoneConductor((p1, p2, p3) -> true)) + .transform(pickaxeOnly()) + .blockstate(new VatGenerator()::generate) + .onRegister(CreateRegistrate.blockModel(() -> SteelFluidTankModel::castIronVat)) + .addLayer(() -> RenderType::cutoutMipped) + .item(SteelTankItem::new) + .model(AssetLookup.customBlockItemModel("_", "block_single_window")) + .build() + .register(); + public static final BlockEntry FIREPROOF_CHEMICAL_VAT = + REGISTRATE.block("fireproof_chemical_vat", VatBlock::fireproof) + .initialProperties(SharedProperties::copperMetal) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .properties(BlockBehaviour.Properties::noOcclusion) + .properties(p -> p.isRedstoneConductor((p1, p2, p3) -> true)) + .transform(pickaxeOnly()) + .blockstate(new VatGenerator()::generate) + .onRegister(CreateRegistrate.blockModel(() -> SteelFluidTankModel::fireproofVat)) + .addLayer(() -> RenderType::cutoutMipped) + .item(SteelTankItem::new) + .model(AssetLookup.customBlockItemModel("_", "block_single_window")) + .build() + .register(); + + public static final BlockEntry INDUSTRIAL_MIXER = REGISTRATE.block("industrial_mixer", IndustrialMixerBlock::new) + .initialProperties(SharedProperties::softMetal) + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov))) + .item() + .transform(customItemModel()) + .register(); + public static final BlockEntry ELECTRODE_HOLDER = REGISTRATE.block("electrode_holder", ElectrodeHolderBlock::new) + .initialProperties(SharedProperties::softMetal) + .transform(pickaxeOnly()) + .blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov))) + .item() + .transform(customItemModel()) + .register(); + + + //------------------ORES------------------// + public static final BlockEntry LEAD_ORE = REGISTRATE.block("lead_ore", Block::new) + .initialProperties(() -> Blocks.GOLD_ORE) + .properties(p -> p + .requiresCorrectToolForDrops() + .sound(SoundType.STONE)) + .transform(pickaxeOnly()) + .loot((lt, b) -> { + HolderLookup.RegistryLookup enchantmentRegistryLookup = lt.getRegistries().lookupOrThrow(Registries.ENCHANTMENT); + + lt.add(b, + lt.createSilkTouchDispatchTable(b, + lt.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_LEAD.get()) + .apply(ApplyBonusCount.addOreBonusCount(enchantmentRegistryLookup.getOrThrow(Enchantments.FORTUNE)))))); + }) + .tag(BlockTags.NEEDS_STONE_TOOL) + .tag(Tags.Blocks.ORES) + .transform(tagBlockAndItem("ores/lead", "ores_in_ground/stone")) + .tag(Tags.Items.ORES) + .build() + .register(); + + public static final BlockEntry DEEPSLATE_LEAD_ORE = REGISTRATE.block("deepslate_lead_ore", Block::new) + .initialProperties(() -> Blocks.DEEPSLATE_GOLD_ORE) + .properties(p -> p + .requiresCorrectToolForDrops() + .sound(SoundType.DEEPSLATE)) + .transform(pickaxeOnly()) + .loot((lt, b) -> { + HolderLookup.RegistryLookup enchantmentRegistryLookup = lt.getRegistries().lookupOrThrow(Registries.ENCHANTMENT); + + lt.add(b, + lt.createSilkTouchDispatchTable(b, + lt.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_LEAD.get()) + .apply(ApplyBonusCount.addOreBonusCount(enchantmentRegistryLookup.getOrThrow(Enchantments.FORTUNE)))))); + }) + .tag(BlockTags.NEEDS_STONE_TOOL) + .tag(Tags.Blocks.ORES) + .transform(tagBlockAndItem("ores/lead", "ores_in_ground/deepslate")) + .tag(Tags.Items.ORES) + .build() + .register(); + + public static final BlockEntry NICKEL_ORE = REGISTRATE.block("nickel_ore", Block::new) + .initialProperties(() -> Blocks.GOLD_ORE) + .properties(p -> p + .requiresCorrectToolForDrops() + .sound(SoundType.STONE)) + .transform(pickaxeOnly()) + .loot((lt, b) -> { + HolderLookup.RegistryLookup enchantmentRegistryLookup = lt.getRegistries().lookupOrThrow(Registries.ENCHANTMENT); + + lt.add(b, + lt.createSilkTouchDispatchTable(b, + lt.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_NICKEL.get()) + .apply(ApplyBonusCount.addOreBonusCount(enchantmentRegistryLookup.getOrThrow(Enchantments.FORTUNE)))))); + }) + .tag(BlockTags.NEEDS_STONE_TOOL) + .tag(Tags.Blocks.ORES) + .transform(tagBlockAndItem("ores/nickel", "ores_in_ground/stone")) + .tag(Tags.Items.ORES) + .build() + .register(); + + public static final BlockEntry DEEPSLATE_NICKEL_ORE = REGISTRATE.block("deepslate_nickel_ore", Block::new) + .initialProperties(() -> Blocks.DEEPSLATE_GOLD_ORE) + .properties(p -> p + .requiresCorrectToolForDrops() + .sound(SoundType.DEEPSLATE)) + .transform(pickaxeOnly()) + .loot((lt, b) -> { + HolderLookup.RegistryLookup enchantmentRegistryLookup = lt.getRegistries().lookupOrThrow(Registries.ENCHANTMENT); + + lt.add(b, + lt.createSilkTouchDispatchTable(b, + lt.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_NICKEL.get()) + .apply(ApplyBonusCount.addOreBonusCount(enchantmentRegistryLookup.getOrThrow(Enchantments.FORTUNE)))))); + }) + .tag(BlockTags.NEEDS_STONE_TOOL) + .tag(Tags.Blocks.ORES) + .transform(tagBlockAndItem("ores/nickel", "ores_in_ground/deepslate")) + .tag(Tags.Items.ORES) + .build() + .register(); + + public static final BlockEntry LITHIUM_ORE = REGISTRATE.block("lithium_ore", Block::new) + .initialProperties(() -> Blocks.GOLD_ORE) + .properties(p -> p + .requiresCorrectToolForDrops() + .sound(SoundType.STONE)) + .transform(pickaxeOnly()) + .loot((lt, b) -> { + HolderLookup.RegistryLookup enchantmentRegistryLookup = lt.getRegistries().lookupOrThrow(Registries.ENCHANTMENT); + + lt.add(b, + lt.createSilkTouchDispatchTable(b, + lt.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_LITHIUM.get()) + .apply(ApplyBonusCount.addOreBonusCount(enchantmentRegistryLookup.getOrThrow(Enchantments.FORTUNE)))))); + }) + .tag(BlockTags.NEEDS_STONE_TOOL) + .tag(Tags.Blocks.ORES) + .transform(tagBlockAndItem("ores/lithium", "ores_in_ground/stone")) + .tag(Tags.Items.ORES) + .build() + .register(); + + public static final BlockEntry DEEPSLATE_LITHIUM_ORE = REGISTRATE.block("deepslate_lithium_ore", Block::new) + .initialProperties(() -> Blocks.DEEPSLATE_GOLD_ORE) + .properties(p -> p + .requiresCorrectToolForDrops() + .sound(SoundType.DEEPSLATE)) + .transform(pickaxeOnly()) + .loot((lt, b) -> { + HolderLookup.RegistryLookup enchantmentRegistryLookup = lt.getRegistries().lookupOrThrow(Registries.ENCHANTMENT); + + lt.add(b, + lt.createSilkTouchDispatchTable(b, + lt.applyExplosionDecay(b, LootItem.lootTableItem(TFMGItems.RAW_LITHIUM.get()) + .apply(ApplyBonusCount.addOreBonusCount(enchantmentRegistryLookup.getOrThrow(Enchantments.FORTUNE)))))); + }) + .tag(BlockTags.NEEDS_STONE_TOOL) + .tag(Tags.Blocks.ORES) + .transform(tagBlockAndItem("ores/lithium", "ores_in_ground/deepslate")) + .tag(Tags.Items.ORES) + .build() + .register(); + public static final BlockEntry SULFUR = REGISTRATE.block("sulfur", Block::new) + .initialProperties(() -> Blocks.CALCITE) + .transform(pickaxeOnly()) + .item() + .build() + .register(); + public static final BlockEntry LIGNITE = REGISTRATE.block("lignite", Block::new) + .initialProperties(() -> Blocks.CALCITE) + .transform(pickaxeOnly()) + .item() + .build() + .register(); + public static final BlockEntry FIRECLAY = REGISTRATE.block("fireclay", Block::new) + .initialProperties(() -> Blocks.CLAY) + .tag(BlockTags.MINEABLE_WITH_SHOVEL) + .loot((p, b) -> p + .add(b, p.createSingleItemTable(TFMGItems.FIRECLAY_BALL.get()))) + .simpleItem() + .register(); + //------------------MISC------------------// + public static final BlockEntry FOSSILSTONE = REGISTRATE.block("fossilstone", Block::new) + .initialProperties(() -> Blocks.OBSIDIAN) + .properties(p -> p.strength(100f, 1200f)) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .item() + .build() + .lang("Fossilstone") + .register(); + public static final BlockEntry SLAG_BLOCK = + REGISTRATE.block("slag_block", Block::new) + .properties(p -> p + .strength(3.0F) + .requiresCorrectToolForDrops() + .sound(SoundType.CALCITE)) + .transform(pickaxeOnly()) + .simpleItem() + .lang("Block of Slag") + .register(); + public static final BlockEntry RAW_NICKEL_BLOCK = REGISTRATE.block("raw_nickel_block", Block::new) + .initialProperties(() -> Blocks.RAW_GOLD_BLOCK) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .tag(Tags.Blocks.STORAGE_BLOCKS) + .tag(BlockTags.NEEDS_IRON_TOOL) + .lang("Block of Raw Nickel") + .transform(tagBlockAndItem("storage_blocks/raw_nickel")) + .tag(Tags.Items.STORAGE_BLOCKS) + .build() + .register(); + public static final BlockEntry RAW_LEAD_BLOCK = REGISTRATE.block("raw_lead_block", Block::new) + .initialProperties(() -> Blocks.RAW_GOLD_BLOCK) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .tag(Tags.Blocks.STORAGE_BLOCKS) + .tag(BlockTags.NEEDS_IRON_TOOL) + .lang("Block of Raw Lead") + .transform(tagBlockAndItem("storage_blocks/raw_lead")) + .tag(Tags.Items.STORAGE_BLOCKS) + .build() + .register(); + public static final BlockEntry RAW_LITHIUM_BLOCK = REGISTRATE.block("raw_lithium_block", Block::new) + .initialProperties(() -> Blocks.RAW_GOLD_BLOCK) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .tag(Tags.Blocks.STORAGE_BLOCKS) + .tag(BlockTags.NEEDS_IRON_TOOL) + .lang("Block of Raw Lithium") + .transform(tagBlockAndItem("storage_blocks/raw_lithium")) + .tag(Tags.Items.STORAGE_BLOCKS) + .build() + .register(); + + + //------------------MISC_MACHINERY------------------// + public static final BlockEntry AIR_INTAKE = REGISTRATE.block("air_intake", AirIntakeBlock::new) + .initialProperties(SharedProperties::copperMetal) + .properties(BlockBehaviour.Properties::noOcclusion) + .transform(pickaxeOnly()) + .addLayer(() -> RenderType::cutoutMipped) + .blockstate(new AirIntakeGenerator()::generate) + .item() + .transform(customItemModel()) + .register(); + @SuppressWarnings("'addLayer(java.util.function.Supplier>)' is deprecated and marked for removal ") + public static final BlockEntry FIREBOX = + REGISTRATE.block("firebox", FireboxBlock::new) + .initialProperties(SharedProperties::stone) + .properties(p -> p.sound(SoundType.NETHER_BRICKS)) + .transform(pickaxeOnly()) + .onRegister(CreateRegistrate.connectedTextures(() -> new MultiblockCTBehavior(null, TFMGSpriteShifts.FIREBOX_TOP))) + .blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov))) + .item(SteelTankItem::new) + .build() + .register(); + + public static final BlockEntry WINDING_MACHINE = REGISTRATE.block("winding_machine", WindingMachineBlock::new) + .initialProperties(SharedProperties::softMetal) + .properties(BlockBehaviour.Properties::noOcclusion) + .transform(pickaxeOnly()) + .transform(TFMGStress.setImpact(4.0)) + .blockstate(BlockStateGen.horizontalBlockProvider(true)) + .item() + .transform(customItemModel()) + .register(); + + public static final BlockEntry SURFACE_SCANNER = REGISTRATE.block("surface_scanner", SurfaceScannerBlock::new) + .initialProperties(SharedProperties::softMetal) + .properties(BlockBehaviour.Properties::noOcclusion) + .transform(pickaxeOnly()) + .addLayer(() -> RenderType::translucent) + .blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov))) + .item() + .transform(customItemModel()) + .register(); + public static final BlockEntry MACHINE_INPUT = + REGISTRATE.block("machine_input", MachineInputBlock::new) + .properties(BlockBehaviour.Properties::noOcclusion) + .properties(p -> p + .strength(4.5F)) + .transform(axeOrPickaxe()) + .transform(TFMGStress.setImpact(4.0)) + .blockstate(BlockStateGen.directionalBlockProvider(true)) + .item() + .build() + .register(); + + public static final BlockEntry CONCRETE_HOSE = REGISTRATE.block("concrete_hose", ConcreteHoseBlock::new) + .initialProperties(SharedProperties::softMetal) + .properties(BlockBehaviour.Properties::noOcclusion) + .transform(pickaxeOnly()) + .blockstate(BlockStateGen.horizontalBlockProvider(true)) + .transform(TFMGStress.setImpact(4.0)) + .item() + .transform(customItemModel()) + .register(); + + + //------------------METALLURGY------------------// + public static final BlockEntry BLAST_FURNACE_OUTPUT = REGISTRATE.block("blast_furnace_output", BlastFurnaceOutputBlock::new) + .initialProperties(() -> Blocks.NETHER_BRICKS) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .blockstate(BlockStateGen.horizontalBlockProvider(true)) + .tag(BlockTags.NEEDS_STONE_TOOL) + .item() + .transform(customItemModel()) + .register(); + + public static final BlockEntry BLAST_FURNACE_HATCH = REGISTRATE.block("blast_furnace_hatch", BlastFurnaceHatchBlock::new) + .initialProperties(() -> Blocks.NETHER_BRICKS) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .tag(TFMGTags.TFMGBlockTags.BLAST_FURNACE_WALL.tag) + .tag(TFMGTags.TFMGBlockTags.REINFORCED_BLAST_FURNACE_WALL.tag) + .tag(BlockTags.NEEDS_STONE_TOOL) + .simpleItem() + .register(); + public static final BlockEntry FIREPROOF_BRICKS = REGISTRATE.block("fireproof_bricks", Block::new) + .initialProperties(() -> Blocks.NETHER_BRICKS) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .tag(TFMGTags.TFMGBlockTags.BLAST_FURNACE_WALL.tag) + .tag(BlockTags.NEEDS_STONE_TOOL) + .item() + .build() + .register(); + + public static final BlockEntry REINFORCED_FIREPROOF_BRICKS = REGISTRATE.block("reinforced_fireproof_bricks", Block::new) + .initialProperties(() -> Blocks.NETHER_BRICKS) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .tag(TFMGTags.TFMGBlockTags.REINFORCED_BLAST_FURNACE_WALL.tag) + .tag(BlockTags.NEEDS_STONE_TOOL) + .blockstate(simpleCubeAll("fireproof_bricks")) + .loot((lt, block) -> lt.dropOther(block, TFMGBlocks.FIREPROOF_BRICKS.get().asItem())) + .register(); + + public static final BlockEntry BLAST_FURNACE_REINFORCEMENT = REGISTRATE.block("blast_furnace_reinforcement", Block::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .onRegister(connectedTextures(() -> new HorizontalCTBehaviour(TFMGSpriteShifts.BLAST_FURNACE_REINFORCEMENT))) + .tag(TFMGTags.TFMGBlockTags.REINFORCED_BLAST_FURNACE_SUPPORT.tag) + .tag(BlockTags.NEEDS_STONE_TOOL) + .item(BlastFurnaceReinforcementBlockItem::new) + .build() + .register(); + + public static final BlockEntry BLAST_FURNACE_REINFORCEMENT_WALL = REGISTRATE.block("blast_furnace_reinforcement_wall", BlastFurnaceReinforcementWallBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .onRegister(connectedTextures(() -> new HorizontalCTBehaviour(TFMGSpriteShifts.BLAST_FURNACE_REINFORCEMENT))) + .tag(BlockTags.NEEDS_STONE_TOOL) + .blockstate(BlockStateGen.horizontalBlockProvider(false)) + .loot((lt, block) -> lt.dropOther(block, TFMGBlocks.BLAST_FURNACE_REINFORCEMENT.get().asItem())) + .register(); + // + public static final BlockEntry RUSTED_BLAST_FURNACE_REINFORCEMENT = REGISTRATE.block("rusted_blast_furnace_reinforcement", Block::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .onRegister(connectedTextures(() -> new HorizontalCTBehaviour(TFMGSpriteShifts.RUSTED_BLAST_FURNACE_REINFORCEMENT))) + .tag(TFMGTags.TFMGBlockTags.REINFORCED_BLAST_FURNACE_SUPPORT.tag) + .tag(BlockTags.NEEDS_STONE_TOOL) + .item(BlastFurnaceReinforcementBlockItem::new) + .build() + .register(); + + public static final BlockEntry RUSTED_BLAST_FURNACE_REINFORCEMENT_WALL = REGISTRATE.block("rusted_blast_furnace_reinforcement_wall", BlastFurnaceReinforcementWallBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .onRegister(connectedTextures(() -> new HorizontalCTBehaviour(TFMGSpriteShifts.RUSTED_BLAST_FURNACE_REINFORCEMENT))) + .tag(BlockTags.NEEDS_STONE_TOOL) + .blockstate(BlockStateGen.horizontalBlockProvider(false)) + .loot((lt, block) -> lt.dropOther(block, TFMGBlocks.RUSTED_BLAST_FURNACE_REINFORCEMENT.get().asItem())) + .register(); + + + public static final BlockEntry FIREPROOF_BRICK_REINFORCEMENT = REGISTRATE.block("fireproof_brick_reinforcement", WallBlock::new) + .initialProperties(() -> Blocks.NETHER_BRICKS) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .tag(BlockTags.WALLS) + .tag(TFMGTags.TFMGBlockTags.BLAST_FURNACE_SUPPORT.tag) + .blockstate((c, p) -> TFMGVanillaBlockStates.generateWallBlockState(c, p, "fireproof_brick_reinforcement")) + .item() + .transform(b -> TFMGVanillaBlockStates.transformWallItem(b, "fireproof_brick_reinforcement")) + .build() + .register(); + + + public static final BlockEntry COKE_OVEN = REGISTRATE.block("coke_oven", CokeOvenBlock::new) + .initialProperties(() -> Blocks.BRICKS) + .properties(p -> p.requiresCorrectToolForDrops()) + .blockstate(new CokeOvenGenerator()::generate) + .transform(pickaxeOnly()) + .onRegister(connectedTextures(CokeOvenCTBehavior::new)) + .item() + .transform(customItemModel()) + .register(); + @SuppressWarnings("'addLayer(java.util.function.Supplier>)' is deprecated and marked for removal ") + public static final BlockEntry BLAST_STOVE = + REGISTRATE.block("blast_stove", BlastStoveBlock::new) + .initialProperties(SharedProperties::copperMetal) + .transform(pickaxeOnly()) + .blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov))) + .onRegister(CreateRegistrate.connectedTextures(() -> new MultiblockCTBehavior(TFMGSpriteShifts.BLAST_STOVE_SIDE, TFMGSpriteShifts.BLAST_STOVE_TOP))) + .addLayer(() -> RenderType::cutoutMipped) + .item(BlastStoveItem::new) + .build() + .register(); + + public static final BlockEntry CASTING_BASIN = REGISTRATE.block("casting_basin", CastingBasinBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate(BlockStateGen.horizontalBlockProvider(true)) + .item() + .transform(customItemModel()) + .register(); + + + //------------------GADGETS------------------// + + public static final BlockEntry NAPALM_BOMB = REGISTRATE.block("napalm_bomb", NapalmBombBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov))) + .simpleItem() + .register(); + + //------------------ELECTRICITY------------------// + + public static final BlockEntry GENERATOR = + REGISTRATE.block("generator", GeneratorBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .transform(TFMGStress.setImpact(50.0f)) + .blockstate(BlockStateGen.directionalBlockProvider(true)) + .item() + .transform(customItemModel()) + .register(); + + public static final BlockEntry CABLE_CONNECTOR = + REGISTRATE.block("cable_connector", CableConnectorBlock::new) + .initialProperties(() -> Blocks.TERRACOTTA) + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate(new CableConnectorGenerator()::generate) + .lang("Cable Insulator") + .item() + .transform(customItemModel()) + .register(); + + public static final BlockEntry GLASS_CABLE_CONNECTOR = + REGISTRATE.block("glass_cable_insulator", CableConnectorBlock::new) + .initialProperties(() -> Blocks.TERRACOTTA) + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .addLayer(() -> RenderType::translucent) + .blockstate(new CableConnectorGenerator()::generate) + .lang("Glass Cable Insulator") + .item() + .transform(customItemModel()) + .register(); + + public static final BlockEntry RESISTOR = + REGISTRATE.block("resistor", ResistorBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .addLayer(() -> RenderType::cutoutMipped) + .blockstate(BlockStateGen.directionalBlockProvider(true)) + .item(ResistorBlockItem::new) + .transform(customItemModel()) + .register(); + public static final BlockEntry COPYCAT_CABLE_BLOCK = + REGISTRATE.block("copycat_cable_block", CopycatCableBlock::new) + .transform(TFMGBuilderTransformers.copycatCable()) + .properties(BlockBehaviour.Properties::noOcclusion) + .onRegister(CreateRegistrate.blockModel(() -> CopycatCableBlockModel::new)) + .item() + .transform(customItemModel()) + .register(); + + public static final BlockEntry COPYCAT_CABLE_BASE = REGISTRATE.block("copycat_cable_base", Block::new) + .initialProperties(SharedProperties::softMetal) + .addLayer(() -> RenderType::cutoutMipped) + .tag(AllTags.AllBlockTags.FAN_TRANSPARENT.tag) + .transform(pickaxeOnly()) + .blockstate((c, p) -> p.simpleBlock(c.get(), AssetLookup.partialBaseModel(c, p))) + .register(); + public static final BlockEntry BRASS_CABLE_HUB = + REGISTRATE.block("brass_cable_hub", CableHubBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .item() + .build() + .register(); + public static final BlockEntry COPPER_CABLE_HUB = + REGISTRATE.block("copper_cable_hub", CableHubBlock::new) + .initialProperties(() -> Blocks.COPPER_BLOCK) + .properties(p -> p.sound(SoundType.COPPER)) + .transform(pickaxeOnly()) + .item() + .build() + .register(); + public static final BlockEntry STEEL_CABLE_HUB = + REGISTRATE.block("steel_cable_hub", CableHubBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .item() + .build() + .register(); + public static final BlockEntry ALUMINUM_CABLE_HUB = + REGISTRATE.block("aluminum_cable_hub", CableHubBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .item() + .build() + .register(); + public static final BlockEntry STEEL_CASING_CABLE_HUB = + REGISTRATE.block("steel_casing_cable_hub", CableHubBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .item() + .build() + .register(); + public static final BlockEntry HEAVY_CABLE_HUB = + REGISTRATE.block("heavy_cable_hub", CableHubBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .item() + .build() + .register(); + + public static final BlockEntry CABLE_TUBE = + REGISTRATE.block("cable_tube", p -> new CableTubeBlock(p, false)) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .properties(p -> p.noOcclusion()) + .blockstate(BlockStateGen.axisBlockProvider(false)) + .item() + .build() + .register(); + + public static final BlockEntry CONCRETE_ENCASED_CABLE_TUBE = + REGISTRATE.block("concrete_encased_cable_tube", p -> new CableTubeBlock(p, true)) + .initialProperties(() -> Blocks.STONE) + .blockstate(BlockStateGen.axisBlockProvider(false)) + .transform(pickaxeOnly()) + .loot((lt, block) -> lt.dropOther(block, TFMGBlocks.CABLE_TUBE.get().asItem())) + .register(); + + public static final BlockEntry ELECTRIC_POST = + REGISTRATE.block("electric_post", p -> new CableTubeBlock(p, false)) + .initialProperties(() -> Blocks.IRON_BLOCK) + .blockstate(BlockStateGen.axisBlockProvider(false)) + .transform(pickaxeOnly()) + .item() + .build() + .register(); + + public static final BlockEntry CONCRETE_ENCASED_ELECTRIC_POST = + REGISTRATE.block("concrete_encased_electric_post", p -> new CableTubeBlock(p, true)) + .initialProperties(() -> Blocks.STONE) + .blockstate(BlockStateGen.axisBlockProvider(false)) + .transform(pickaxeOnly()) + .loot((lt, block) -> lt.dropOther(block, TFMGBlocks.ELECTRIC_POST.get().asItem())) + .register(); + + public static final BlockEntry DIAGONAL_CABLE_BLOCK = + REGISTRATE.block("diagonal_cable_block", DiagonalCableBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .addLayer(() -> RenderType::cutoutMipped) + .blockstate(new DiagonalCableGenerator()::generate) + .properties(p -> p.noOcclusion()) + .item() + .transform(customItemModel()) + .register(); + + public static final BlockEntry ELECTRIC_MOTOR = + REGISTRATE.block("electric_motor", ElectricMotorBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate(new CreativeMotorGenerator()::generate) + .transform(TFMGStress.setCapacity(45.0)) + .onRegister(BlockStressValues.setGeneratorSpeed(64, true)) + .item() + .transform(customItemModel()) + .register(); + + public static final BlockEntry CREATIVE_GENERATOR = REGISTRATE.block("creative_generator", CreativeGeneratorBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .simpleItem() + .register(); + + public static final BlockEntry ACCUMULATOR = + REGISTRATE.block("accumulator", AccumulatorBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .onRegister(connectedTextures(() -> new CapacitorCTBehavior(TFMGSpriteShifts.ACCUMULATOR))) + .blockstate(BlockStateGen.directionalBlockProvider(true)) + .item(AccumulatorItem::new) + .build() + .register(); + ; + public static final BlockEntry LIGHT_BULB = + REGISTRATE.block("light_bulb", p -> new LightBulbBlock(p, TFMGBlockEntities.LIGHT_BULB, TFMGShapes.LIGHT_BULB)) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.lightLevel(s -> s.getValue(LIGHT))) + .transform(pickaxeOnly()) + .addLayer(() -> RenderType::cutoutMipped) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate(BlockStateGen.directionalBlockProvider(true)) + .item() + .transform(customItemModel()) + .register(); + public static final BlockEntry CIRCULAR_LIGHT = + REGISTRATE.block("circular_light", p -> new LightBulbBlock(p, TFMGBlockEntities.CIRCULAR_LIGHT, TFMGShapes.CIRCULAR_LIGHT)) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.lightLevel(s -> s.getValue(LIGHT))) + .transform(pickaxeOnly()) + .addLayer(() -> RenderType::cutoutMipped) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate(new LampGenerator()::generate) + .lang("Circular Lamp") + .item() + .transform(customItemModel()) + .register(); + public static final BlockEntry MODERN_LIGHT = + REGISTRATE.block("modern_light", p -> new LightBulbBlock(p, TFMGBlockEntities.MODERN_LIGHT, TFMGShapes.MODERN_LIGHT)) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.lightLevel(s -> s.getValue(LIGHT))) + .transform(pickaxeOnly()) + .addLayer(() -> RenderType::cutoutMipped) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate(new LampGenerator()::generate) + .lang("Light Panel") + .item() + .transform(customItemModel()) + .register(); + public static final BlockEntry ALUMINUM_LAMP = + REGISTRATE.block("aluminum_lamp", p -> new LightBulbBlock(p, TFMGBlockEntities.ALUMINUM_LAMP, TFMGShapes.ALUMINUM_LAMP)) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.lightLevel(s -> s.getValue(LIGHT))) + .transform(pickaxeOnly()) + .addLayer(() -> RenderType::cutoutMipped) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate(new LampGenerator()::generate) + .lang("Aluminum Lamp") + .item() + .transform(customItemModel()) + .register(); + + public static final BlockEntry NEON_TUBE = + REGISTRATE.block("neon_tube", NeonTubeBlock::new) + .initialProperties(() -> Blocks.GLASS) + .properties(p -> p.lightLevel(s -> s.getValue(LIGHT))) + .transform(pickaxeOnly()) + .addLayer(() -> RenderType::cutoutMipped) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate(TFMGBuilderTransformers::generateNeonTubeBlockState) + .item() + .transform(customItemModel()) + .register(); + + public static final BlockEntry DIODE = + REGISTRATE.block("electric_diode", ElectricDiodeBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate(new CreativeMotorGenerator()::generate) + .lang("Diode") + .item() + .transform(customItemModel()) + .register(); + public static final BlockEntry ENCASED_DIODE = + REGISTRATE.block("encased_diode", EncasedDiodeBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .transform(EncasingRegistry.addVariantTo(DIODE)) + .blockstate(BlockStateGen.directionalBlockProvider(false)) + .register(); + + public static final BlockEntry POTENTIOMETER = + REGISTRATE.block("potentiometer", PotentiometerBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate(new CreativeMotorGenerator()::generate) + .item() + .transform(customItemModel()) + .register(); + public static final BlockEntry ELECTRICAL_SWITCH = + REGISTRATE.block("electrical_switch", ElectricSwitchBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .blockstate(BlockStateGen.directionalBlockProvider(true)) + .lang("Electric Switch") + .item() + .transform(customItemModel()) + .register(); + public static final BlockEntry ENCASED_POTENTIOMETER = + REGISTRATE.block("encased_potentiometer", EncasedPotentiometerBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .transform(EncasingRegistry.addVariantTo(POTENTIOMETER)) + .blockstate(BlockStateGen.directionalBlockProvider(false)) + .register(); + public static final BlockEntry ELECTRIC_PUMP = + REGISTRATE.block("electric_pump", ElectricPumpBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate(BlockStateGen.directionalBlockProvider(true)) + .item() + .transform(customItemModel()) + .register(); + public static final BlockEntry VOLTAGE_OBSERVER = + REGISTRATE.block("voltage_observer", VoltageObserverBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate(new VoltageObserverGenerator()::generate) + .item() + .transform(customItemModel()) + .register(); + public static final BlockEntry VOLTMETER = + REGISTRATE.block("voltmeter", VoltMeterBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate(BlockStateGen.horizontalBlockProvider(true)) + .lang("Electric Gauge") + .item() + .transform(customItemModel()) + .register(); + public static final BlockEntry POLARIZER = + REGISTRATE.block("polarizer", PolarizerBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .addLayer(() -> RenderType::cutoutMipped) + .blockstate(BlockStateGen.horizontalBlockProvider(true)) + .item() + .transform(customItemModel()) + .register(); + public static final BlockEntry ROTOR = + REGISTRATE.block("rotor", RotorBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate(BlockStateGen.axisBlockProvider(true)) + .transform(TFMGStress.setImpact(240)) + .item() + .transform(customItemModel()) + .register(); + + public static final BlockEntry STATOR = + REGISTRATE.block("stator", StatorBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .addLayer(() -> RenderType::cutoutMipped) + .properties(BlockBehaviour.Properties::noOcclusion) + .blockstate(new StatorGenerator()::generate) + .item() + .transform(customItemModel()) + .register(); + public static final BlockEntry TRAFFIC_LIGHT = + REGISTRATE.block("traffic_light", TrafficLightBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .properties(BlockBehaviour.Properties::noOcclusion) + .addLayer(() -> RenderType::cutoutMipped) + .blockstate(BlockStateGen.horizontalBlockProvider(true)) + .item() + .transform(customItemModel()) + .register(); + public static final BlockEntry SEGMENTED_DISPLAY = + REGISTRATE.block("segmented_display", SegmentedDisplayBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .onRegister(connectedTextures(SegmentedDisplayCTBehavior::new)) + .blockstate(BlockStateGen.horizontalBlockProvider(true)) + .item() + .transform(customItemModel()) + .register(); + + public static final BlockEntry TRANSFORMER = + REGISTRATE.block("transformer", TransformerBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .blockstate(BlockStateGen.horizontalBlockProvider(true)) + .properties(BlockBehaviour.Properties::noOcclusion) + .item() + .transform(customItemModel()) + .register(); + + + public static final BlockEntry CONVERTER = + REGISTRATE.block("converter", ConverterBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .transform(pickaxeOnly()) + .blockstate(new ConverterGenerator()::generate) + .properties(BlockBehaviour.Properties::noOcclusion) + .item() + .transform(customItemModel()) + .register(); + + //public static final BlockEntry FUSE_BLOCK = + // REGISTRATE.block("fuse_block", FuseBlock::new) + // .initialProperties(() -> Blocks.IRON_BLOCK) + // .transform(pickaxeOnly()) + // .properties(BlockBehaviour.Properties::noOcclusion) + // .addLayer(() -> RenderType::cutoutMipped) + // .blockstate(BlockStateGen.horizontalBlockProvider(true)) + // .item() + // .transform(customItemModel()) + // .register(); + + + //------------------EXHAUST/WASTE_REMOVAL------------------// + public static final BlockEntry BRICK_SMOKESTACK = REGISTRATE.block("brick_smokestack", SmokestackBlock::new) + .initialProperties(() -> Blocks.BRICKS) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .blockstate(new SmokestackGenerator()::generate) + .item() + .transform(customItemModel()) + .register(); + + public static final BlockEntry METAL_SMOKESTACK = REGISTRATE.block("metal_smokestack", SmokestackBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .blockstate(new SmokestackGenerator()::generate) + .item() + .transform(customItemModel()) + .register(); + + public static final BlockEntry CONCRETE_SMOKESTACK = REGISTRATE.block("concrete_smokestack", SmokestackBlock::new) + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .blockstate(new SmokestackGenerator()::generate) + .item() + .transform(customItemModel()) + .register(); + + public static final BlockEntry EXHAUST = + REGISTRATE.block("exhaust", ExhaustBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .addLayer(() -> RenderType::cutoutMipped) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .blockstate(BlockStateGen.directionalBlockProvider(false)) + .properties(p -> p.noOcclusion()) + .transform(pickaxeOnly()) + .item() + .transform(customItemModel()) + .register(); + + + public static final BlockEntry FLARESTACK = + REGISTRATE.block("flarestack", FlarestackBlock::new) + .initialProperties(SharedProperties::copperMetal) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .addLayer(() -> RenderType::cutoutMipped) + .properties(p -> p + .lightLevel(s -> s.getValue(FlarestackBlock.LIT) ? 15 : 0) + .noOcclusion()) + .blockstate(new FlarestackGenerator()::generate) + .transform(pickaxeOnly()) + .item() + .transform(customItemModel()) + .register(); + + //------------------COGWHEELS------------------// + + public static final BlockEntry STEEL_COGWHEEL = + REGISTRATE.block("steel_cogwheel", TFMGCogWheelBlock::small) + .initialProperties(SharedProperties::stone) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .transform(TFMGStress.setNoImpact()) + .transform(axeOrPickaxe()) + .blockstate(BlockStateGen.axisBlockProvider(false)) + .onRegister(CreateRegistrate.blockModel(() -> BracketedKineticBlockModel::new)) + .item(TFMGCogwheelBlockItem::new) + .build() + .register(); + + public static final BlockEntry LARGE_STEEL_COGWHEEL = + REGISTRATE.block("large_steel_cogwheel", TFMGCogWheelBlock::large) + .initialProperties(SharedProperties::stone) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .transform(axeOrPickaxe()) + .transform(TFMGStress.setNoImpact()) + .blockstate(BlockStateGen.axisBlockProvider(false)) + .onRegister(CreateRegistrate.blockModel(() -> BracketedKineticBlockModel::new)) + .item(TFMGCogwheelBlockItem::new) + .build() + .register(); + // + public static final BlockEntry ALUMINUM_COGWHEEL = + REGISTRATE.block("aluminum_cogwheel", TFMGCogWheelBlock::small) + .initialProperties(SharedProperties::stone) + .properties(p -> p.sound(SoundType.COPPER)) + .addLayer(() -> RenderType::cutoutMipped) + .transform(TFMGStress.setNoImpact()) + .transform(axeOrPickaxe()) + .blockstate(BlockStateGen.axisBlockProvider(false)) + .onRegister(CreateRegistrate.blockModel(() -> BracketedKineticBlockModel::new)) + .item(TFMGCogwheelBlockItem::new) + .build() + .register(); + + public static final BlockEntry LARGE_ALUMINUM_COGWHEEL = + REGISTRATE.block("large_aluminum_cogwheel", TFMGCogWheelBlock::large) + .initialProperties(SharedProperties::stone) + .properties(p -> p.sound(SoundType.COPPER)) + .addLayer(() -> RenderType::cutoutMipped) + .transform(axeOrPickaxe()) + .transform(TFMGStress.setNoImpact()) + .blockstate(BlockStateGen.axisBlockProvider(false)) + .onRegister(CreateRegistrate.blockModel(() -> BracketedKineticBlockModel::new)) + .item(TFMGCogwheelBlockItem::new) + .build() + .register(); + + //------------------CASINGS------------------// + + public static final BlockEntry STEEL_CASING = REGISTRATE.block("steel_casing", CasingBlock::new) + .transform(BuilderTransformers.casing(() -> TFMGSpriteShifts.STEEL_CASING)) + .register(); + public static final BlockEntry HEAVY_MACHINERY_CASING = REGISTRATE.block("heavy_machinery_casing", CasingBlock::new) + .tag(TFMGTags.TFMGBlockTags.SURFACE_SCANNER_FINDABLE.tag) + .transform(BuilderTransformers.casing(() -> TFMGSpriteShifts.HEAVY_MACHINERY_CASING)) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .register(); + public static final BlockEntry ALUMINUM_CASING = REGISTRATE.block("industrial_aluminum_casing", CasingBlock::new) + .transform(BuilderTransformers.casing(() -> TFMGSpriteShifts.INDUSTRIAL_ALUMINUM_CASING)) + .properties(p -> p.sound(SoundType.COPPER)) + .lang("Aluminum Casing") + .register(); + //------------------STORAGE_BLOCKS------------------// + public static final BlockEntry STEEL_BLOCK = REGISTRATE.block("steel_block", Block::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + + .properties(p -> p.requiresCorrectToolForDrops()) + .onRegister(connectedTextures(() -> new EncasedCTBehaviour(TFMGSpriteShifts.STEEL_BLOCK))) + .onRegister(casingConnectivity((block, cc) -> cc.makeCasing(block, TFMGSpriteShifts.STEEL_BLOCK))) + .transform(pickaxeOnly()) + .blockstate(simpleCubeAll("steel_block")) + .tag(BlockTags.NEEDS_IRON_TOOL) + .tag(TFMGTags.TFMGBlockTags.REINFORCED_BLAST_FURNACE_WALL.tag) + .tag(TFMGTags.TFMGBlockTags.REINFORCED_BLAST_FURNACE_SUPPORT.tag) + .tag(Tags.Blocks.STORAGE_BLOCKS) + .tag(BlockTags.BEACON_BASE_BLOCKS) + .transform(tagBlockAndItem("storage_blocks/steel")) + .tag(Tags.Items.STORAGE_BLOCKS) + .build() + .lang("Block of Steel") + .register(); + public static final BlockEntry CAST_IRON_BLOCK = REGISTRATE.block("cast_iron_block", Block::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + + .properties(p -> p.requiresCorrectToolForDrops()) + .onRegister(connectedTextures(() -> new EncasedCTBehaviour(TFMGSpriteShifts.CAST_IRON_BLOCK))) + .onRegister(casingConnectivity((block, cc) -> cc.makeCasing(block, TFMGSpriteShifts.CAST_IRON_BLOCK))) + .transform(pickaxeOnly()) + .blockstate(simpleCubeAll("cast_iron_block")) + .tag(BlockTags.NEEDS_IRON_TOOL) + .tag(Tags.Blocks.STORAGE_BLOCKS) + .tag(BlockTags.BEACON_BASE_BLOCKS) + .transform(tagBlockAndItem("storage_blocks/cast_iron")) + .tag(Tags.Items.STORAGE_BLOCKS) + .build() + .lang("Block of Cast Iron") + .register(); + + public static final BlockEntry ALUMINUM_BLOCK = REGISTRATE.block("aluminum_block", Block::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + + .properties(p -> p.requiresCorrectToolForDrops()) + .onRegister(connectedTextures(() -> new EncasedCTBehaviour(TFMGSpriteShifts.CAST_IRON_BLOCK))) + .onRegister(casingConnectivity((block, cc) -> cc.makeCasing(block, TFMGSpriteShifts.CAST_IRON_BLOCK))) + .transform(pickaxeOnly()) + .blockstate(simpleCubeAll("aluminum_block")) + .tag(BlockTags.NEEDS_IRON_TOOL) + .tag(Tags.Blocks.STORAGE_BLOCKS) + .tag(BlockTags.BEACON_BASE_BLOCKS) + .transform(tagBlockAndItem("storage_blocks/aluminum")) + .tag(Tags.Items.STORAGE_BLOCKS) + .build() + .lang("Block of Aluminum") + .register(); + public static final BlockEntry PLASTIC_BLOCK = REGISTRATE.block("plastic_block", Block::new) + .initialProperties(() -> Blocks.QUARTZ_BLOCK) + + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .blockstate(simpleCubeAll("plastic_block")) + .tag(BlockTags.NEEDS_STONE_TOOL) + .tag(Tags.Blocks.STORAGE_BLOCKS) + .transform(tagBlockAndItem("storage_blocks/plastic")) + .tag(Tags.Items.STORAGE_BLOCKS) + .build() + .lang("Block of Plastic") + .register(); + + public static final BlockEntry LEAD_BLOCK = REGISTRATE.block("lead_block", Block::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.requiresCorrectToolForDrops()) + .onRegister(connectedTextures(() -> new EncasedCTBehaviour(TFMGSpriteShifts.LEAD_BLOCK))) + .onRegister(casingConnectivity((block, cc) -> cc.makeCasing(block, TFMGSpriteShifts.LEAD_BLOCK))) + .transform(pickaxeOnly()) + .blockstate(simpleCubeAll("lead_block")) + .tag(BlockTags.NEEDS_IRON_TOOL) + .tag(Tags.Blocks.STORAGE_BLOCKS) + .tag(BlockTags.BEACON_BASE_BLOCKS) + .transform(tagBlockAndItem("storage_blocks/lead")) + .tag(Tags.Items.STORAGE_BLOCKS) + .build() + .lang("Block of Lead") + .register(); + + public static final BlockEntry CONSTANTAN_BLOCK = REGISTRATE.block("constantan_block", Block::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .blockstate(simpleCubeAll("constantan_block")) + .tag(BlockTags.NEEDS_IRON_TOOL) + .tag(Tags.Blocks.STORAGE_BLOCKS) + .tag(BlockTags.BEACON_BASE_BLOCKS) + .transform(tagBlockAndItem("storage_blocks/constantan")) + .tag(Tags.Items.STORAGE_BLOCKS) + .build() + .lang("Block of Constantan") + .register(); + + public static final BlockEntry NICKEL_BLOCK = REGISTRATE.block("nickel_block", Block::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.requiresCorrectToolForDrops()) + .onRegister(connectedTextures(() -> new EncasedCTBehaviour(TFMGSpriteShifts.LEAD_BLOCK))) + .onRegister(casingConnectivity((block, cc) -> cc.makeCasing(block, TFMGSpriteShifts.LEAD_BLOCK))) + .transform(pickaxeOnly()) + .tag(BlockTags.NEEDS_IRON_TOOL) + .tag(Tags.Blocks.STORAGE_BLOCKS) + .tag(BlockTags.BEACON_BASE_BLOCKS) + .transform(tagBlockAndItem("storage_blocks/nickel")) + .tag(Tags.Items.STORAGE_BLOCKS) + .build() + .lang("Block of Nickel") + .register(); + + public static final BlockEntry LITHIUM_BLOCK = REGISTRATE.block("lithium_block", LithiumBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.requiresCorrectToolForDrops()) + .onRegister(connectedTextures(() -> new EncasedCTBehaviour(TFMGSpriteShifts.LEAD_BLOCK))) + .onRegister(casingConnectivity((block, cc) -> cc.makeCasing(block, TFMGSpriteShifts.LEAD_BLOCK))) + .transform(pickaxeOnly()) + .blockstate(simpleCubeAll("lithium_block")) + .tag(BlockTags.NEEDS_IRON_TOOL) + .tag(Tags.Blocks.STORAGE_BLOCKS) + .tag(BlockTags.BEACON_BASE_BLOCKS) + .tag(AllTags.commonBlockTag("storage_blocks/lithium")) + .item() + .tag(AllTags.commonItemTag("storage_blocks/lithium")) + .tag(Tags.Items.STORAGE_BLOCKS) + .build() + .lang("Block of Lithium") + .register(); + + + public static final BlockEntry COAL_COKE_BLOCK = REGISTRATE.block("coal_coke_block", Block::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .blockstate(simpleCubeAll("coal_coke_block")) + .tag(AllTags.commonBlockTag("storage_blocks/coal_coke")) + .tag(BlockTags.NEEDS_STONE_TOOL) + .tag(Tags.Blocks.STORAGE_BLOCKS) + .item(CoalCokeBlockItem::new) + .tag(AllTags.commonItemTag("storage_blocks/coal_coke")) + .tag(Tags.Items.STORAGE_BLOCKS) + .build() + .lang("Block of Coal Coke") + .register(); + + public static final BlockEntry CEMENT = REGISTRATE.block("cement", p->new ColoredFallingBlock(new ColorRGBA(-8356741),p)) + .initialProperties(() -> Blocks.CLAY) + .tag(BlockTags.MINEABLE_WITH_SHOVEL) + .item() + .build() + .register(); + + //------------------DOOR------------------// + public static final BlockEntry HEAVY_CASING_DOOR = + REGISTRATE.block("heavy_casing_door", p -> new TFMGSlidingDoorBlock(p, SlidingDoorBlock.GLASS_SET_TYPE.get(), false)) + .transform(TFMGBuilderTransformers.slidingDoor("heavy_casing")) + .properties(p -> p + .sound(SoundType.COPPER) + .noOcclusion()) + .register(); + public static final BlockEntry STEEL_CASING_DOOR = + REGISTRATE.block("steel_door", p -> new TFMGSlidingDoorBlock(p, SlidingDoorBlock.GLASS_SET_TYPE.get(), true)) + .transform(TFMGBuilderTransformers.slidingDoor("steel")) + .properties(p -> p + .sound(SoundType.COPPER) + .noOcclusion()) + .register(); + + public static final BlockEntry ALUMINUM_DOOR = + REGISTRATE.block("aluminum_door", p -> new TFMGSlidingDoorBlock(p, SlidingDoorBlock.GLASS_SET_TYPE.get(), false)) + .transform(TFMGBuilderTransformers.slidingDoor("aluminum")) + .properties(p -> p + .sound(SoundType.COPPER) + .noOcclusion()) + .register(); + public static final BlockEntry HEAVY_PLATED_DOOR = + REGISTRATE.block("heavy_plated_door", p -> new TFMGSlidingDoorBlock(p, SlidingDoorBlock.GLASS_SET_TYPE.get(), false)) + .transform(TFMGBuilderTransformers.slidingDoor("heavy_plated")) + .properties(p -> p + .sound(SoundType.COPPER) + .noOcclusion()) + .register(); + + + + + + static { + REGISTRATE.setCreativeTab(TFMGCreativeTabs.TFMG_DECORATION); + } + + //------------------GEARBOXES------------------// + public static final BlockEntry STEEL_GEARBOX = REGISTRATE.block("steel_gearbox", SteelGearboxBlock::new) + .initialProperties(SharedProperties::stone) + .transform(TFMGStress.setNoImpact()) + .transform(axeOrPickaxe()) + .properties(p -> p.noOcclusion()) + .onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCTBehaviour(TFMGSpriteShifts.HEAVY_MACHINERY_CASING))) + .onRegister(CreateRegistrate.casingConnectivity((block, cc) -> cc.make(block, TFMGSpriteShifts.HEAVY_MACHINERY_CASING, + (s, f) -> f.getAxis() == s.getValue(GearboxBlock.AXIS)))) + .blockstate((c, p) -> axisBlock(c, p, $ -> AssetLookup.partialBaseModel(c, p), true)) + .item() + .transform(customItemModel()) + .register(); + + //------------------BARS------------------// + public static final BlockEntry STEEL_BARS = TFMGMetalBarsGen.createBars("steel", true, + () -> DataIngredient.tag(AllTags.commonItemTag("ingots/steel")), MapColor.TERRACOTTA_CYAN); + public static final BlockEntry ALUMINUM_BARS = TFMGMetalBarsGen.createBars("aluminum", true, + () -> DataIngredient.tag(AllTags.commonItemTag("ingots/aluminum")), MapColor.TERRACOTTA_WHITE); + + public static final BlockEntry CAST_IRON_BARS = TFMGMetalBarsGen.createBars("cast_iron", true, + () -> DataIngredient.tag(AllTags.commonItemTag("ingots/cast_iron")), MapColor.COLOR_BLACK); + + public static final BlockEntry LEAD_BARS = TFMGMetalBarsGen.createBars("lead", true, + () -> DataIngredient.tag(AllTags.commonItemTag("ingots/lead")), MapColor.TERRACOTTA_BLUE); + + public static final BlockEntry NICKEL_BARS = TFMGMetalBarsGen.createBars("nickel", true, + () -> DataIngredient.tag(AllTags.commonItemTag("ingots/nickel")), MapColor.TERRACOTTA_YELLOW); + + //------------------LADDERS------------------// + public static final BlockEntry STEEL_LADDER = + REGISTRATE.block("steel_ladder", MetalLadderBlock::new) + .transform(BuilderTransformers.ladder("steel", + () -> DataIngredient.tag(AllTags.commonItemTag("ingots/steel")), MapColor.TERRACOTTA_CYAN)) + .register(); + public static final BlockEntry ALUMINUM_LADDER = + REGISTRATE.block("aluminum_ladder", MetalLadderBlock::new) + .transform(BuilderTransformers.ladder("aluminum", + () -> DataIngredient.tag(AllTags.commonItemTag("ingots/aluminum")), MapColor.TERRACOTTA_WHITE)) + .register(); + + public static final BlockEntry CAST_IRON_LADDER = + REGISTRATE.block("cast_iron_ladder", MetalLadderBlock::new) + .transform(BuilderTransformers.ladder("cast_iron", + () -> DataIngredient.tag(AllTags.commonItemTag("ingots/cast_iron")), MapColor.TERRACOTTA_WHITE)) + .register(); + + public static final BlockEntry LEAD_LADDER = + REGISTRATE.block("lead_ladder", MetalLadderBlock::new) + .transform(BuilderTransformers.ladder("lead", + () -> DataIngredient.tag(AllTags.commonItemTag("ingots/lead")), MapColor.TERRACOTTA_WHITE)) + .lang("Leadder") + .register(); + + public static final BlockEntry NICKEL_LADDER = + REGISTRATE.block("nickel_ladder", MetalLadderBlock::new) + .transform(BuilderTransformers.ladder("nickel", + () -> DataIngredient.tag(AllTags.commonItemTag("ingots/nickel")), MapColor.TERRACOTTA_WHITE)) + .register(); + public static final BlockEntry CONSTANTAN_LADDER = + REGISTRATE.block("constantan_ladder", MetalLadderBlock::new) + .transform(BuilderTransformers.ladder("constantan", + () -> DataIngredient.tag(AllTags.commonItemTag("ingots/constantan")), MapColor.TERRACOTTA_WHITE)) + .register(); + //------------------SCAFFOLDINGS------------------// + public static final BlockEntry STEEL_SCAFFOLD = + REGISTRATE.block("steel_scaffolding", MetalScaffoldingBlock::new) + .properties(p -> p + .strength(4.0F) + .requiresCorrectToolForDrops()) + .transform(BuilderTransformers.scaffold("steel", + () -> DataIngredient.tag(AllTags.commonItemTag("ingots/steel")), MapColor.TERRACOTTA_CYAN, + TFMGSpriteShifts.STEEL_SCAFFOLD, TFMGSpriteShifts.STEEL_SCAFFOLD_INSIDE, TFMGSpriteShifts.STEEL_CASING)) + .register(); + + public static final BlockEntry ALUMINUM_SCAFFOLD = + REGISTRATE.block("aluminum_scaffolding", MetalScaffoldingBlock::new) + .properties(p -> p + .strength(3.0F) + .requiresCorrectToolForDrops()) + + .transform(BuilderTransformers.scaffold("aluminum", + () -> DataIngredient.tag(AllTags.commonItemTag("ingots/aluminum")), MapColor.TERRACOTTA_CYAN, + TFMGSpriteShifts.ALUMINUM_SCAFFOLD, TFMGSpriteShifts.ALUMINUM_SCAFFOLD_INSIDE, TFMGSpriteShifts.ALUMINUM_SCAFFOLD_TOP)) + .register(); + //------------------DECOR------------------// + public static final BlockEntry SLAG_BRICKS = + REGISTRATE.block("slag_bricks", Block::new) + .properties(p -> p + .strength(3.0F) + .requiresCorrectToolForDrops() + .sound(SoundType.CALCITE)) + .recipe((c, p) -> p.stonecutting(DataIngredient.items(TFMGBlocks.SLAG_BLOCK.asItem()), RecipeCategory.BUILDING_BLOCKS, c::get, 4)) + .transform(pickaxeOnly()) + .simpleItem() + .register(); + + public static final BlockEntry CINDER_BLOCK = + REGISTRATE.block("cinder_block", Block::new) + .properties(p -> p + .strength(3.0F) + .requiresCorrectToolForDrops() + .sound(SoundType.BASALT)) + .blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov))) + .transform(pickaxeOnly()) + .item() + .transform(customItemModel()) + .register(); + + public static final BlockEntry CINDERFLOUR_BLOCK = + REGISTRATE.block("cinderflour_block", Block::new) + .properties(p -> p + .strength(3.0F) + .requiresCorrectToolForDrops() + .sound(SoundType.NETHERRACK)) + .blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov))) + .transform(pickaxeOnly()) + .item() + .transform(customItemModel()) + .register(); + + //public static final MaterialSet SLAG_BRICKS_SET = makeVariants(SLAG_BRICKS, true); + public static final BlockEntry LITHIUM_TORCH = + REGISTRATE.block("lithium_torch", LithiumTorchBlock::new) + .initialProperties(() -> Blocks.TORCH) + .properties(p -> p.lightLevel(s -> 14).instabreak().noOcclusion()) + .addLayer(() -> RenderType::cutoutMipped) + .blockstate(new LithiumTorchGenerator()::generate) + .item() + .transform(customItemModel()) + .register(); + + public static final BlockEntry FACTORY_FLOOR = + REGISTRATE.block("factory_floor", Block::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p + .strength(3.0F) + .requiresCorrectToolForDrops() + .sound(SoundType.NETHERITE_BLOCK)) + .recipe((c, p) -> p.stonecutting(DataIngredient.tag(AllTags.commonItemTag("ingots/aluminum")), RecipeCategory.BUILDING_BLOCKS, c::get, 1)) + .transform(pickaxeOnly()) + .simpleItem() + .register(); + + // public static final MaterialSet FACTORY_FLOOR_SET = makeVariants(FACTORY_FLOOR, true); + + public static final BlockEntry HARDENED_PLANKS = + REGISTRATE.block("hardened_planks", Block::new) + .initialProperties(() -> Blocks.OAK_PLANKS) + .properties(p -> p + .strength(2.0F) + .sound(SoundType.CHERRY_WOOD)) + .transform(axeOnly()) + .simpleItem() + .register(); + + // public static final MaterialSet HARDENED_PLANKS_SET = makeVariants(HARDENED_PLANKS, true); + + public static final BlockEntry STEEL_TRAPDOOR = + REGISTRATE.block("steel_trapdoor", TrainTrapdoorBlock::new) + .initialProperties(SharedProperties::softMetal) + .properties(p -> p.mapColor(MapColor.TERRACOTTA_CYAN) + .sound(SoundType.NETHERITE_BLOCK)) + .transform(BuilderTransformers.trapdoor(true)) + .register(); + + + //------------------FLYWHEELS------------------// + public static final BlockEntry + STEEL_FLYWHEEL = flywheel("steel", TFMGFlywheelBlock::steel), + LEAD_FLYWHEEL = flywheel("lead", TFMGFlywheelBlock::lead), + CAST_IRON_FLYWHEEL = flywheel("cast_iron", TFMGFlywheelBlock::cast_iron), + ALUMINUM_FLYWHEEL = flywheel("aluminum", TFMGFlywheelBlock::aluminum), + NICKEL_FLYWHEEL = flywheel("nickel", TFMGFlywheelBlock::nickel); + + public static String[] DECOR_METALS = {"steel", "aluminum", "cast_iron", "lead", "nickel", "constantan", "copper", "zinc", "brass"}; + + public static final List> TRUSSES = new ArrayList<>(); + public static final List> FRAMES = new ArrayList<>(); + + static { + //------------------TRUSSES------------------// + for (String metal : DECOR_METALS) { + + TRUSSES.add(truss(metal)); + FRAMES.add(frame(metal)); + } + //------------------CAUTION_BLOCKS------------------// + generateCautionBlocks(); + } + + + //------------------CONCRETE------------------// + public static final BlockEntry REBAR_BLOCK = + REGISTRATE.block("rebar_block", SimpleConcreteloggedBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.noOcclusion()) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .addLayer(() -> RenderType::cutoutMipped) + .blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov))) + .item() + .transform(customItemModel()) + .register(); + public static final BlockEntry REBAR_FLOOR = + REGISTRATE.block("rebar_floor", RebarFloorBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.noOcclusion()) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .addLayer(() -> RenderType::cutoutMipped) + .blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov))) + .item() + .transform(customItemModel()) + .register(); + public static final BlockEntry REBAR_WALL = + REGISTRATE.block("rebar_wall", RebarWallBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.noOcclusion()) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .addLayer(() -> RenderType::cutoutMipped) + .blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov))) + .item() + .transform(customItemModel()) + .register(); + public static final BlockEntry REBAR_PILE = + REGISTRATE.block("rebar_pile", TFMGDirectionalBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .addLayer(() -> RenderType::cutoutMipped) + .blockstate(BlockStateGen.directionalBlockProvider(true)) + .item() + .transform(customItemModel()) + .register(); + public static final BlockEntry REBAR_STAIRS = + REGISTRATE.block("rebar_stairs", p -> new RebarStairsBlock(REBAR_PILE.getDefaultState(), p)) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.noOcclusion()) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .addLayer(() -> RenderType::cutoutMipped) + .blockstate(new RebarStairsGenerator()::generate) + .item() + .transform(customItemModel()) + .register(); + + public static final BlockEntry REBAR_PILLAR = + REGISTRATE.block("rebar_pillar", RebarPillarBlock::new) + .initialProperties(() -> Blocks.IRON_BLOCK) + .properties(p -> p.noOcclusion()) + .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) + .addLayer(() -> RenderType::cutoutMipped) + .blockstate(BlockStateGen.directionalBlockProvider(true)) + .item() + .transform(customItemModel()) + .register(); + + + public static final MaterialSet CONCRETE = generateConcrete(false); + public static final MaterialSet REBAR_CONCRETE = generateConcrete(true); + + + public static final Map COLORED_CONCRETE = generateColoredConcrete(false); + public static final Map COLORED_REBAR_CONCRETE = generateColoredConcrete(true); + + + public static final BlockEntry ASPHALT = REGISTRATE.block("asphalt", Block::new) + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.requiresCorrectToolForDrops()) + .transform(pickaxeOnly()) + .tag(BlockTags.NEEDS_STONE_TOOL) + .item() + .build() + .register(); + public static final MaterialSet ASPHALT_SET = makeVariants(ASPHALT); + + static { + REGISTRATE.setCreativeTab(TFMGCreativeTabs.TFMG_MAIN); + } + + + public static void init() { + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGDataComponents.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGDataComponents.java new file mode 100644 index 00000000..e7326fe4 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGDataComponents.java @@ -0,0 +1,126 @@ +package com.drmangotea.tfmg.registry; + +import java.util.List; +import java.util.UUID; +import java.util.function.UnaryOperator; + +import com.drmangotea.tfmg.TFMG; +import org.jetbrains.annotations.ApiStatus.Internal; + +import com.mojang.serialization.Codec; +import com.simibubi.create.content.equipment.clipboard.ClipboardEntry; +import com.simibubi.create.content.equipment.clipboard.ClipboardOverrides.ClipboardType; +import com.simibubi.create.content.equipment.sandPaper.SandPaperItemComponent; +import com.simibubi.create.content.equipment.symmetryWand.mirror.SymmetryMirror; +import com.simibubi.create.content.equipment.zapper.PlacementPatterns; +import com.simibubi.create.content.equipment.zapper.terrainzapper.PlacementOptions; +import com.simibubi.create.content.equipment.zapper.terrainzapper.TerrainBrushes; +import com.simibubi.create.content.equipment.zapper.terrainzapper.TerrainTools; +import com.simibubi.create.content.fluids.potion.PotionFluid.BottleType; +import com.simibubi.create.content.logistics.box.PackageItem.PackageOrderData; +import com.simibubi.create.content.logistics.filter.AttributeFilterWhitelistMode; +import com.simibubi.create.content.logistics.item.filter.attribute.ItemAttribute.ItemAttributeEntry; +import com.simibubi.create.content.logistics.redstoneRequester.AutoRequestData; +import com.simibubi.create.content.logistics.stockTicker.PackageOrderWithCrafts; +import com.simibubi.create.content.logistics.tableCloth.ShoppingListItem.ShoppingList; +import com.simibubi.create.content.processing.sequenced.SequencedAssemblyRecipe.SequencedAssembly; +import com.simibubi.create.content.redstone.displayLink.ClickToLinkBlockItem.ClickToLinkData; +import com.simibubi.create.content.schematics.cannon.SchematicannonBlockEntity.SchematicannonOptions; +import com.simibubi.create.content.trains.track.BezierTrackPointLocation; +import com.simibubi.create.content.trains.track.TrackPlacement.ConnectingFrom; + +import net.createmod.catnip.codecs.stream.CatnipStreamCodecBuilders; +import net.createmod.catnip.codecs.stream.CatnipStreamCodecs; +import net.minecraft.core.BlockPos; +import net.minecraft.core.UUIDUtil; +import net.minecraft.core.Vec3i; +import net.minecraft.core.component.DataComponentType; +import net.minecraft.core.component.DataComponentType.Builder; +import net.minecraft.core.registries.Registries; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.util.ExtraCodecs; +import net.minecraft.util.Unit; +import net.minecraft.world.item.component.ItemContainerContents; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Mirror; +import net.minecraft.world.level.block.Rotation; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.neoforge.registries.DeferredRegister; + +public class TFMGDataComponents { + private static final DeferredRegister.DataComponents DATA_COMPONENTS = DeferredRegister.createDataComponents(Registries.DATA_COMPONENT_TYPE, TFMG.MOD_ID); + + public static final DataComponentType FUELS = register( + "fuels", + builder -> builder.persistent(CompoundTag.CODEC).networkSynchronized(ByteBufCodecs.COMPOUND_TAG) + ); + public static final DataComponentType FUEL_TAGS = register( + "fuel_tags", + builder -> builder.persistent(CompoundTag.CODEC).networkSynchronized(ByteBufCodecs.COMPOUND_TAG) + ); + public static final DataComponentType SPOOL_AMOUNT = register( + "spool_amount", + builder -> builder.persistent(ExtraCodecs.NON_NEGATIVE_INT).networkSynchronized(ByteBufCodecs.VAR_INT) + ); + public static final DataComponentType COIL_TURNS = register( + "coil_turns", + builder -> builder.persistent(ExtraCodecs.NON_NEGATIVE_INT).networkSynchronized(ByteBufCodecs.VAR_INT) + ); + public static final DataComponentType CONFIGURATION_WRENCH_NUMBER = register( + "number", + builder -> builder.persistent(Codec.INT).networkSynchronized(ByteBufCodecs.VAR_INT) + ); + public static final DataComponentType LITHIUM_BLADE_TIMER = register( + "timer", + builder -> builder.persistent(Codec.INT).networkSynchronized(ByteBufCodecs.VAR_INT) + ); + public static final DataComponentType FLAMETHROWER_FUEL = register( + "flamethrower_fuel", + builder -> builder.persistent(Codec.STRING).networkSynchronized(ByteBufCodecs.STRING_UTF8) + ); + public static final DataComponentType ACCUMULATOR_STORAGE = register( + "storage", + builder -> builder.persistent(Codec.INT).networkSynchronized(ByteBufCodecs.VAR_INT) + ); + public static final DataComponentType RESISTANCE = register( + "resistance", + builder -> builder.persistent(Codec.INT).networkSynchronized(ByteBufCodecs.VAR_INT) + ); + public static final DataComponentType AMOUNT = register( + "amount", + builder -> builder.persistent(Codec.INT).networkSynchronized(ByteBufCodecs.VAR_INT) + ); + public static final DataComponentType POSITION = register( + "position", + builder -> builder.persistent(Codec.LONG).networkSynchronized(ByteBufCodecs.VAR_LONG) + ); + + public static final DataComponentType X_POS = register( + "x_pos", + builder -> builder.persistent(Codec.INT).networkSynchronized(ByteBufCodecs.VAR_INT) + ); + public static final DataComponentType Y_POS = register( + "y_pos", + builder -> builder.persistent(Codec.INT).networkSynchronized(ByteBufCodecs.VAR_INT) + ); + public static final DataComponentType Z_POS = register( + "z_pos", + builder -> builder.persistent(Codec.INT).networkSynchronized(ByteBufCodecs.VAR_INT) + ); + + + + private static DataComponentType register(String name, UnaryOperator> builder) { + DataComponentType type = builder.apply(DataComponentType.builder()).build(); + DATA_COMPONENTS.register(name, () -> type); + return type; + } + + @Internal + public static void register(IEventBus modEventBus) { + DATA_COMPONENTS.register(modEventBus); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGEncasedBlocks.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGEncasedBlocks.java new file mode 100644 index 00000000..7030b453 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGEncasedBlocks.java @@ -0,0 +1,118 @@ +package com.drmangotea.tfmg.registry; + +import com.drmangotea.tfmg.base.TFMGBuilderTransformers; +import com.drmangotea.tfmg.base.TFMGSpriteShifts; +import com.drmangotea.tfmg.content.decoration.encased.TFMGEncasedCogwheelBlock; +import com.drmangotea.tfmg.content.decoration.encased.TFMGEncasedShaftBlock; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.content.decoration.encasing.EncasingRegistry; +import com.simibubi.create.content.kinetics.simpleRelays.encased.EncasedCogCTBehaviour; +import com.simibubi.create.foundation.data.CreateRegistrate; +import com.tterrag.registrate.util.entry.BlockEntry; +import net.createmod.catnip.data.Couple; + +import static com.drmangotea.tfmg.TFMG.REGISTRATE; +import static com.drmangotea.tfmg.content.decoration.encased.TFMGEncasedCogwheelBlock.aluminum; +import static com.drmangotea.tfmg.content.decoration.encased.TFMGEncasedCogwheelBlock.steel; +import static com.simibubi.create.foundation.data.TagGen.axeOrPickaxe; + +public class TFMGEncasedBlocks { + + public static final BlockEntry STEEL_ENCASED_SHAFT = + REGISTRATE.block("steel_encased_shaft", p -> new TFMGEncasedShaftBlock(p, TFMGBlocks.STEEL_CASING::get)) + .transform(TFMGBuilderTransformers.encasedShaft("steel", () -> TFMGSpriteShifts.STEEL_CASING)) + // .transform(EncasingRegistry.addVariantTo(AllBlocks.SHAFT)) + .transform(axeOrPickaxe()) + .register(); + + public static final BlockEntry HEAVY_CASING_ENCASED_SHAFT = + REGISTRATE.block("heavy_casing_encased_shaft", p -> new TFMGEncasedShaftBlock(p, TFMGBlocks.HEAVY_MACHINERY_CASING::get)) + .transform(TFMGBuilderTransformers.encasedShaft("heavy_casing", () -> TFMGSpriteShifts.HEAVY_MACHINERY_CASING)) + //.transform(EncasingRegistry.addVariantTo(AllBlocks.SHAFT)) + .transform(axeOrPickaxe()) + .register(); + + public static final BlockEntry STEEL_ENCASED_STEEL_COGWHEEL = + REGISTRATE.block("steel_encased_steel_cogwheel", p -> steel(p, false, TFMGBlocks.STEEL_CASING::get)) + + .transform(TFMGBuilderTransformers.encasedCogwheel("steel", () -> TFMGSpriteShifts.STEEL_CASING)) + .transform(EncasingRegistry.addVariantTo(TFMGBlocks.STEEL_COGWHEEL)) + .onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCogCTBehaviour(TFMGSpriteShifts.STEEL_CASING, + Couple.create(TFMGSpriteShifts.STEEL_ENCASED_COGWHEEL_SIDE, + TFMGSpriteShifts.STEEL_ENCASED_COGWHEEL_OTHERSIDE)))) + .transform(axeOrPickaxe()) + .register(); + + public static final BlockEntry HEAVY_CASING_ENCASED_STEEL_COGWHEEL = + REGISTRATE.block("heavy_casing_encased_steel_cogwheel", p -> steel(p, false, TFMGBlocks.HEAVY_MACHINERY_CASING::get)) + + .transform(TFMGBuilderTransformers.encasedCogwheel("heavy_casing", () -> TFMGSpriteShifts.HEAVY_MACHINERY_CASING)) + .transform(EncasingRegistry.addVariantTo(TFMGBlocks.STEEL_COGWHEEL)) + .onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCogCTBehaviour(TFMGSpriteShifts.HEAVY_MACHINERY_CASING, + Couple.create(TFMGSpriteShifts.HEAVY_CASING_ENCASED_COGWHEEL_SIDE, + TFMGSpriteShifts.HEAVY_CASING_ENCASED_COGWHEEL_OTHERSIDE)))) + .transform(axeOrPickaxe()) + .register(); + + ////// + public static final BlockEntry STEEL_ENCASED_LARGE_STEEL_COGWHEEL = REGISTRATE + .block("steel_encased_large_steel_cogwheel", + p -> steel(p, true, TFMGBlocks.STEEL_CASING::get)) + + .transform(TFMGBuilderTransformers.encasedLargeCogwheel("steel", () -> TFMGSpriteShifts.STEEL_CASING)) + .transform(EncasingRegistry.addVariantTo(TFMGBlocks.LARGE_STEEL_COGWHEEL)) + .transform(axeOrPickaxe()) + .register(); + + public static final BlockEntry HEAVY_CASING_ENCASED_LARGE_STEEL_COGWHEEL = REGISTRATE + .block("heavy_casing_encased_large_steel_cogwheel", p -> steel(p, true, TFMGBlocks.HEAVY_MACHINERY_CASING::get)) + + .transform(TFMGBuilderTransformers.encasedLargeCogwheel("heavy_casing", () -> TFMGSpriteShifts.HEAVY_MACHINERY_CASING)) + .transform(EncasingRegistry.addVariantTo(TFMGBlocks.LARGE_STEEL_COGWHEEL)) + .transform(axeOrPickaxe()) + .register(); + + + //////////////////////////// + public static final BlockEntry STEEL_ENCASED_ALUMINUM_COGWHEEL = + REGISTRATE.block("steel_encased_aluminum_cogwheel", p -> aluminum(p, false, TFMGBlocks.STEEL_CASING::get)) + .transform(TFMGBuilderTransformers.encasedCogwheel("steel", () -> TFMGSpriteShifts.STEEL_CASING)) + .transform(EncasingRegistry.addVariantTo(TFMGBlocks.ALUMINUM_COGWHEEL)) + .onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCogCTBehaviour(TFMGSpriteShifts.STEEL_CASING, + Couple.create(TFMGSpriteShifts.STEEL_ENCASED_COGWHEEL_SIDE, + TFMGSpriteShifts.STEEL_ENCASED_COGWHEEL_OTHERSIDE)))) + .transform(axeOrPickaxe()) + .register(); + + public static final BlockEntry HEAVY_CASING_ENCASED_ALUMINUM_COGWHEEL = + REGISTRATE.block("heavy_casing_encased_aluminum_cogwheel", p -> aluminum(p, false, TFMGBlocks.HEAVY_MACHINERY_CASING::get)) + + .transform(TFMGBuilderTransformers.encasedCogwheel("heavy_casing", () -> TFMGSpriteShifts.HEAVY_MACHINERY_CASING)) + .transform(EncasingRegistry.addVariantTo(TFMGBlocks.ALUMINUM_COGWHEEL)) + .onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCogCTBehaviour(TFMGSpriteShifts.HEAVY_MACHINERY_CASING, + Couple.create(TFMGSpriteShifts.HEAVY_CASING_ENCASED_COGWHEEL_SIDE, + TFMGSpriteShifts.HEAVY_CASING_ENCASED_COGWHEEL_OTHERSIDE)))) + .transform(axeOrPickaxe()) + .register(); + + ////// + public static final BlockEntry STEEL_ENCASED_LARGE_ALUMINUM_COGWHEEL = REGISTRATE + .block("steel_encased_large_aluminum_cogwheel", + p -> aluminum(p, true, TFMGBlocks.STEEL_CASING::get)) + + .transform(TFMGBuilderTransformers.encasedLargeCogwheel("steel", () -> TFMGSpriteShifts.STEEL_CASING)) + .transform(EncasingRegistry.addVariantTo(TFMGBlocks.LARGE_ALUMINUM_COGWHEEL)) + .transform(axeOrPickaxe()) + .register(); + + public static final BlockEntry HEAVY_CASING_ENCASED_LARGE_ALUMINUM_COGWHEEL = REGISTRATE + .block("heavy_casing_encased_large_aluminum_cogwheel", p -> aluminum(p, true, TFMGBlocks.HEAVY_MACHINERY_CASING::get)) + + .transform(TFMGBuilderTransformers.encasedLargeCogwheel("heavy_casing", () -> TFMGSpriteShifts.HEAVY_MACHINERY_CASING)) + .transform(EncasingRegistry.addVariantTo(TFMGBlocks.LARGE_ALUMINUM_COGWHEEL)) + .transform(axeOrPickaxe()) + .register(); + + public static void init() {} + +} diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGEntityTypes.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGEntityTypes.java new file mode 100644 index 00000000..0508e128 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGEntityTypes.java @@ -0,0 +1,99 @@ +package com.drmangotea.tfmg.registry; + + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.spark.*; +import com.drmangotea.tfmg.content.items.weapons.advanced_potato_cannon.projectile.NapalmPotato; +import com.drmangotea.tfmg.content.items.weapons.advanced_potato_cannon.projectile.NapalmPotatoRenderer; +import com.drmangotea.tfmg.content.items.weapons.explosives.napalm.NapalmBombEntity; +import com.drmangotea.tfmg.content.items.weapons.explosives.napalm.NapalmBombRenderer; +import com.drmangotea.tfmg.content.items.weapons.explosives.pipe_bomb.PipeBomb; +import com.drmangotea.tfmg.content.items.weapons.explosives.pipe_bomb.PipeBombRenderer; +import com.drmangotea.tfmg.content.items.weapons.explosives.thermite_grenades.ThermiteGrenade; +import com.drmangotea.tfmg.content.items.weapons.explosives.thermite_grenades.ThermiteGrenadeRenderer; +import com.drmangotea.tfmg.content.items.weapons.lithium_blade.LithiumSpark; +import com.drmangotea.tfmg.content.items.weapons.lithium_blade.LithiumSparkRenderer; +import com.simibubi.create.foundation.data.CreateEntityBuilder; + +import com.simibubi.create.foundation.utility.CreateLang; +import com.tterrag.registrate.util.entry.EntityEntry; +import com.tterrag.registrate.util.nullness.NonNullConsumer; +import com.tterrag.registrate.util.nullness.NonNullFunction; +import com.tterrag.registrate.util.nullness.NonNullSupplier; +import net.minecraft.client.renderer.entity.EntityRenderer; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.ItemEntityRenderer; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.MobCategory; + +public class TFMGEntityTypes { + + + + + + + public static final EntityEntry PIPE_BOMB = + register("pipe_bomb", PipeBomb::new, () -> PipeBombRenderer::new, + MobCategory.MISC, 4, 20, true, true, PipeBomb::build).register(); + + public static final EntityEntry NAPALM_POTATO = + register("napalm_potato", NapalmPotato::new, () -> NapalmPotatoRenderer::new, + MobCategory.MISC, 4, 20, true, true, NapalmPotato::build).register(); + + public static final EntityEntry THERMITE_GRENADE = + register("thermite_grenade", ThermiteGrenade::new, () -> ThermiteGrenadeRenderer::regular, + MobCategory.MISC, 4, 20, true, true, ThermiteGrenade::build).register(); + public static final EntityEntry ZINC_GRENADE = + register("zinc_grenade", ThermiteGrenade::new, () -> ThermiteGrenadeRenderer::green, + MobCategory.MISC, 4, 20, true, true, ThermiteGrenade::build).register(); + public static final EntityEntry COPPER_GRENADE = + register("copper_grenade", ThermiteGrenade::new, () -> ThermiteGrenadeRenderer::blue, + MobCategory.MISC, 4, 20, true, true, ThermiteGrenade::build).register(); + public static final EntityEntry NAPALM_BOMB = + register("napalm_bomb_entity", NapalmBombEntity::new, () -> NapalmBombRenderer::new, + MobCategory.MISC, 4, 20, true, true, NapalmBombEntity::build).register(); + + public static final EntityEntry SPARK = + register("spark", Spark::new, () -> SparkRenderer::new, + MobCategory.MISC, 4, 20, true, true, Spark::build).register(); + public static final EntityEntry GREEN_SPARK = + register("green_spark", GreenSpark::new, () -> GreenSparkRenderer::new, + MobCategory.MISC, 4, 20, true, true, GreenSpark::build).register(); + public static final EntityEntry BLUE_SPARK = + register("blue_spark", BlueSpark::new, () -> BlueSparkRenderer::new, + MobCategory.MISC, 4, 20, true, true, BlueSpark::build).register(); + + public static final EntityEntry LITHIUM_SPARK = + register("lithium_spark", LithiumSpark::new, () -> LithiumSparkRenderer::new, + MobCategory.MISC, 80, 20, true, true, LithiumSpark::build).register(); + + + + + + private static CreateEntityBuilder register(String name, EntityType.EntityFactory factory, + NonNullSupplier>> renderer, + MobCategory group, int range, int updateFrequency, boolean sendVelocity, boolean immuneToFire, + NonNullConsumer> propertyBuilder) { + String id = CreateLang.asId(name); + return (CreateEntityBuilder) TFMG.REGISTRATE + .entity(id, factory, group) + .properties(b -> b.setTrackingRange(range) + .setUpdateInterval(updateFrequency) + .setShouldReceiveVelocityUpdates(sendVelocity)) + .properties(propertyBuilder) + .properties(b -> { + if (immuneToFire) + b.fireImmune(); + }) + .renderer(renderer); + } + + + + public static void init(){ + + } +} diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGFluids.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGFluids.java new file mode 100644 index 00000000..d588b6c6 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGFluids.java @@ -0,0 +1,254 @@ +package com.drmangotea.tfmg.registry; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.base.fluid.AcidFluidType; +import com.drmangotea.tfmg.base.fluid.AsphaltFluid; +import com.drmangotea.tfmg.base.fluid.ConcreteFluid; +import com.drmangotea.tfmg.base.fluid.HotFluidType; +import com.simibubi.create.AllFluids; +import com.simibubi.create.AllTags; +import com.simibubi.create.content.fluids.VirtualFluid; +import com.tterrag.registrate.builders.FluidBuilder; +import com.tterrag.registrate.util.entry.FluidEntry; +import com.tterrag.registrate.util.nullness.NonNullFunction; +import net.createmod.catnip.theme.Color; +import net.minecraft.core.BlockPos; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.TagKey; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.material.Fluid; +import net.minecraft.world.level.material.FluidState; +import net.neoforged.neoforge.fluids.BaseFlowingFluid; +import net.neoforged.neoforge.fluids.FluidStack; +import org.joml.Vector3f; + +import java.util.function.Supplier; + +import static com.drmangotea.tfmg.TFMG.REGISTRATE; +import static com.drmangotea.tfmg.base.TFMGUtils.toHumanReadable; + +public class TFMGFluids { + + + public static final FluidEntry + LPG = gasFuel("lpg", 0xfff5e687, TFMGTags.TFMGFluidTags.LPG.tag, TFMGTags.TFMGFluidTags.FIREBOX_FUEL.tag), + BUTANE = gasFuel("butane", 0xffad77d4, TFMGTags.TFMGFluidTags.FIREBOX_FUEL.tag), + PROPANE = gasFuel("propane", 0xff88bf80, TFMGTags.TFMGFluidTags.FIREBOX_FUEL.tag), + HYDROGEN = gasFuel("hydrogen", 0xffd0f2f5), + FURNACE_GAS = gasFuel("furnace_gas", 0xff5c5555, TFMGTags.TFMGFluidTags.BLAST_STOVE_FUEL.tag, TFMGTags.TFMGFluidTags.FURNACE_GAS.tag), + ETHYLENE = gas("ethylene", 0xffbcadcc), + PROPYLENE = gas("propylene", 0xffc0d1b4), + NEON = gas("neon", 0xff9dede9), + CARBON_DIOXIDE = gas("carbon_dioxide", 0xff525252), + AIR = gas("air", 0xffdfe6e5, TFMGTags.TFMGFluidTags.AIR.tag), + HOT_AIR = gas("hot_air", 0xffe8e1d5); + + + public static final FluidEntry + CRUDE_OIL = fluid("crude_oil", 0x010101, TFMGTags.TFMGFluidTags.CRUDE_OIL.tag, TFMGTags.TFMGFluidTags.FLAMMABLE.tag), + HEAVY_OIL = fluid("heavy_oil", 0x010101, TFMGTags.TFMGFluidTags.HEAVY_OIL.tag, TFMGTags.TFMGFluidTags.FLAMMABLE.tag), + GASOLINE = fuel("gasoline", 0xCCB17D, TFMGTags.TFMGFluidTags.GASOLINE.tag), + DIESEL = fuel("diesel", 0xBE9C84, TFMGTags.TFMGFluidTags.DIESEL.tag, TFMGTags.TFMGFluidTags.FIREBOX_FUEL.tag), + NAPHTHA = fuel("naphtha", 0x683525, TFMGTags.TFMGFluidTags.NAPHTHA.tag, TFMGTags.TFMGFluidTags.FIREBOX_FUEL.tag), + KEROSENE = fuel("kerosene", 0x7C82D5, TFMGTags.TFMGFluidTags.KEROSENE.tag, TFMGTags.TFMGFluidTags.FIREBOX_FUEL.tag), + CREOSOTE = fuel("creosote", 0x010101, TFMGTags.TFMGFluidTags.CREOSOTE.tag, TFMGTags.TFMGFluidTags.BLAST_STOVE_FUEL.tag), + MOLTEN_STEEL = hotFluid("molten_steel", 0xFFF760, TFMGTags.TFMGFluidTags.MOLTEN_STEEL.tag), + MOLTEN_SLAG = hotFluid("molten_slag", 0xFFF760), + MOLTEN_PLASTIC = hotFluid("molten_plastic", 0xDEE4FF), + LIQUID_SILICON = hotFluid("liquid_silicon", 0xFFF760), + LUBRICATION_OIL = fluid("lubrication_oil", 0x9D945F, TFMGTags.TFMGFluidTags.LUBRICATION_OIL.tag, TFMGTags.TFMGFluidTags.FLAMMABLE.tag), + COOLING_FLUID = fluid("cooling_fluid", 0x7BC1C1, TFMGTags.TFMGFluidTags.COOLING_FLUID.tag), + NAPALM = fluid("napalm", 0xC0CA97), + SULFURIC_ACID = acidFluid("sulfuric_acid", 0xE9E7CC), + LIQUID_CONCRETE = concreteFluid("liquid_concrete", 0x5B5B59, ConcreteFluid.Source::new), + LIQUID_ASPHALT = concreteFluid("liquid_asphalt", 0x010101, AsphaltFluid.Source::new); + + + @SafeVarargs + private static FluidEntry fluid(String name, int fogColor, TagKey... tags) { + return REGISTRATE.fluid(name, getLocation(name), getLocationFlow(name), + SolidRenderedPlaceableFluidType.create(fogColor, () -> 1f / 32f)) + .lang(toHumanReadable(name)) + .properties(b -> b.viscosity(1000) + .density(1000)) + .fluidProperties(p -> p.levelDecreasePerBlock(1) + .tickRate(10) + .slopeFindDistance(5) + .explosionResistance(100f)) + .tag(tags) + .source(BaseFlowingFluid.Source::new) + .bucket() + .tag(AllTags.commonItemTag("buckets/" + name)) + .build() + .register(); + } + @SafeVarargs + private static FluidEntry acidFluid(String name, int fogColor, TagKey... tags) { + return REGISTRATE.fluid(name, getLocation(name), getLocationFlow(name), + AcidFluidType.create(fogColor, () -> 1f / 32f)) + .lang(toHumanReadable(name)) + .properties(b -> b.viscosity(1000) + .density(1000)) + .fluidProperties(p -> p.levelDecreasePerBlock(1) + .tickRate(10) + .slopeFindDistance(5) + .explosionResistance(100f)) + .tag(tags) + .source(BaseFlowingFluid.Source::new) + .bucket() + .tag(AllTags.commonItemTag("buckets/" + name)) + .build() + .register(); + } + + @SafeVarargs + private static FluidEntry fuel(String name, int fogColor, TagKey... tags) { + return REGISTRATE.fluid(name, getLocation(name), getLocationFlow(name), + SolidRenderedPlaceableFluidType.create(fogColor, () -> 1f / 32f)) + .lang(toHumanReadable(name)) + .properties(b -> b.viscosity(1000) + .density(1000)) + .fluidProperties(p -> p.levelDecreasePerBlock(1) + .tickRate(10) + .slopeFindDistance(5) + .explosionResistance(100f)) + .tag(tags) + .tag(TFMGTags.TFMGFluidTags.FUEL.tag, TFMGTags.TFMGFluidTags.FLAMMABLE.tag) + .source(BaseFlowingFluid.Source::new) + .bucket() + .tag(AllTags.commonItemTag("buckets/" + name)) + .build() + .register(); + } + + @SafeVarargs + private static FluidEntry hotFluid(String name, int fogColor, TagKey... tags) { + return REGISTRATE.fluid(name, getLocation(name), getLocationFlow(name), + HotFluidType.create(fogColor, () -> 1f / 32f)) + .lang(toHumanReadable(name)) + .properties(b -> b.viscosity(1000) + .density(1000)) + .fluidProperties(p -> p.levelDecreasePerBlock(1) + .tickRate(3) + .slopeFindDistance(3) + .explosionResistance(100f)) + .tag(tags) + .source(BaseFlowingFluid.Source::new) + .bucket() + .tag(AllTags.commonItemTag("buckets/" + name)) + .build() + .register(); + } + + @SafeVarargs + private static FluidEntry concreteFluid(String name, int fogColor, NonNullFunction factory, TagKey... tags) { + return REGISTRATE.fluid(name, getLocation(name), getLocationFlow(name), + SolidRenderedPlaceableFluidType.create(fogColor, () -> 1f / 32f)) + .lang(toHumanReadable(name)) + .properties(b -> b.viscosity(5000) + .density(2500)) + .fluidProperties(p -> p.levelDecreasePerBlock(1) + .tickRate(99999) + .slopeFindDistance(1) + .explosionResistance(1000f)) + .tag(tags) + .source(factory) + .bucket() + .tag(AllTags.commonItemTag("buckets/" + name)) + .build() + .register(); + } + + + @SafeVarargs + public static FluidEntry gas(String name, int color, TagKey... tags) { + return REGISTRATE.gasFluid(name, color) + .lang(TFMGUtils.fromId(name)) + .tag(tags) + .tag(TFMGTags.TFMGFluidTags.GAS.tag) + .bucket() + .lang(TFMGUtils.fromId(name) + " Tank") + .tag(AllTags.commonItemTag("buckets/" + name)) + .build() + .register(); + } + + @SafeVarargs + public static FluidEntry gasFuel(String name, int color, TagKey... tags) { + return REGISTRATE.gasFluid(name, color) + .lang(TFMGUtils.fromId(name)) + .tag(tags) + .tag(TFMGTags.TFMGFluidTags.GAS.tag) + .tag(TFMGTags.TFMGFluidTags.FUEL.tag) + .tag(TFMGTags.TFMGFluidTags.FLAMMABLE.tag) + .bucket() + .lang(TFMGUtils.fromId(name) + " Tank") + .tag(AllTags.commonItemTag("buckets/" + name)) + .build() + .register(); + } + + public static ResourceLocation getGasLocation(String name) { + return TFMG.asResource("fluid/" + name); + } + + public static ResourceLocation getGasTexture() { + return TFMG.asResource("fluid/gas_texture"); + } + + public static ResourceLocation getLocation(String name) { + return TFMG.asResource("fluid/" + name + "_still"); + } + + public static ResourceLocation getLocationFlow(String name) { + return TFMG.asResource("fluid/" + name + "_flow"); + } + + public static class SolidRenderedPlaceableFluidType extends AllFluids.TintedFluidType { + + private Vector3f fogColor; + private Supplier fogDistance; + + + public static FluidBuilder.FluidTypeFactory create(int fogColor, Supplier fogDistance) { + return (p, s, f) -> { + SolidRenderedPlaceableFluidType fluidType = new SolidRenderedPlaceableFluidType(p, s, f); + fluidType.fogColor = new Color(fogColor, false).asVectorF(); + fluidType.fogDistance = fogDistance; + return fluidType; + }; + } + + public SolidRenderedPlaceableFluidType(Properties properties, ResourceLocation stillTexture, + ResourceLocation flowingTexture) { + super(properties, stillTexture, flowingTexture); + } + + @Override + protected int getTintColor(net.neoforged.neoforge.fluids.FluidStack stack) { + return NO_TINT; + } + + + @Override + public int getTintColor(FluidState state, BlockAndTintGetter world, BlockPos pos) { + return 0x00ffffff; + } + + @Override + protected Vector3f getCustomFogColor() { + return fogColor; + } + + @Override + protected float getFogDistanceModifier() { + return fogDistance.get(); + } + + } + + + public static void init() { + } +} diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGGuiTextures.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGGuiTextures.java new file mode 100644 index 00000000..d05dfe13 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGGuiTextures.java @@ -0,0 +1,81 @@ +package com.drmangotea.tfmg.registry; + + +import com.drmangotea.tfmg.TFMG; +import com.mojang.blaze3d.systems.RenderSystem; +import net.createmod.catnip.gui.UIRenderHelper; +import net.createmod.catnip.gui.element.ScreenElement; +import net.createmod.catnip.theme.Color; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.resources.ResourceLocation; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; + + +public enum TFMGGuiTextures implements ScreenElement { + + + // SCREENS + ELECTRICIANS_WRENCH("electricians_wrench", 0, 0, 188, 101), + ENGINE_CONTROLLER("engine_controller", 0, 0, 179, 109), + // JEI + DISTILLATION_TOWER_TOP("distillation_tower", 0, 0, 44, 12), + DISTILLATION_TOWER_MIDDLE("distillation_tower", 0, 12, 44, 24), + DISTILLATION_TOWER_BOTTOM("distillation_tower", 0, 36, 44, 24), + DISTILLATION_TOWER_FIRE("distillation_tower", 0, 60, 44, 12), + BLAST_STOVE("distillation_tower", 60, 0, 45, 105), + VAT("chemical_vat", 0, 0, 110, 84), + VAT_MACHINE("chemical_vat", 112, 0, 24, 24), + SLOT("chemical_vat", 112, 24, 20, 20), + MIXER("chemical_vat", 136, 0, 38, 37), + ELECTRODE("chemical_vat", 189, 0, 8, 29), + GRAPHITE_ELECTRODE("chemical_vat", 176, 0, 8, 29), + FIREPROOF_BRICK_OVERLAY("chemical_vat", 0, 84, 96, 72), + VAT_HEATER("chemical_vat", 112, 44, 20, 14), + + ; + + + + + public final ResourceLocation location; + public int width, height; + public int startX, startY; + + private TFMGGuiTextures(String location, int width, int height) { + this(location, 0, 0, width, height); + } + + private TFMGGuiTextures(int startX, int startY) { + this("icons", startX * 16, startY * 16, 16, 16); + } + + private TFMGGuiTextures(String location, int startX, int startY, int width, int height) { + this(TFMG.MOD_ID, location, startX, startY, width, height); + } + + private TFMGGuiTextures(String namespace, String location, int startX, int startY, int width, int height) { + this.location = ResourceLocation.fromNamespaceAndPath(namespace, "textures/gui/" + location + ".png"); + this.width = width; + this.height = height; + this.startX = startX; + this.startY = startY; + } + + @OnlyIn(Dist.CLIENT) + public void bind() { + RenderSystem.setShaderTexture(0, location); + } + + @OnlyIn(Dist.CLIENT) + public void render(GuiGraphics graphics, int x, int y) { + graphics.blit(location, x, y, startX, startY, width, height); + } + + @OnlyIn(Dist.CLIENT) + public void render(GuiGraphics graphics, int x, int y, Color c) { + bind(); + UIRenderHelper.drawColoredTexture(graphics, c, x, y, startX, startY, width, height); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGItems.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGItems.java new file mode 100644 index 00000000..dd112f2a --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGItems.java @@ -0,0 +1,465 @@ +package com.drmangotea.tfmg.registry; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.TFMGArmorMaterials; +import com.drmangotea.tfmg.base.TFMGTiers; +import com.drmangotea.tfmg.content.decoration.gearbox.SteelVerticalGearboxItem; +import com.drmangotea.tfmg.content.electricity.configuration_wrench.ElectriciansWrenchItem; +import com.drmangotea.tfmg.content.electricity.connection.cables.CableConnection; +import com.drmangotea.tfmg.content.electricity.debug.DebugCinderBlockItem; +import com.drmangotea.tfmg.content.electricity.measurement.MultimeterItem; +import com.drmangotea.tfmg.content.electricity.utilities.polarizer.MagnetItem; +import com.drmangotea.tfmg.content.electricity.utilities.resistor.ResistorItem; +import com.drmangotea.tfmg.content.electricity.utilities.transformer.ElectromagneticCoilItem; +import com.drmangotea.tfmg.content.engines.CylinderItem; +import com.drmangotea.tfmg.content.engines.FluidContainingItem; +import com.drmangotea.tfmg.content.engines.upgrades.TransmissionItem; +import com.drmangotea.tfmg.content.items.CoalCokeItem; +import com.drmangotea.tfmg.content.items.ScrewdriverItem; +import com.drmangotea.tfmg.content.items.weapons.LeadAxeItem; +import com.drmangotea.tfmg.content.items.weapons.LeadSwordItem; +import com.drmangotea.tfmg.content.items.weapons.advanced_potato_cannon.AdvancedPotatoCannonItem; +import com.drmangotea.tfmg.content.items.weapons.explosives.pipe_bomb.PipeBombItem; +import com.drmangotea.tfmg.content.items.weapons.explosives.thermite_grenades.ThermiteGrenade; +import com.drmangotea.tfmg.content.items.weapons.explosives.thermite_grenades.ThermiteGrenadeItem; +import com.drmangotea.tfmg.content.items.weapons.flamethrover.FlamethrowerItem; +import com.drmangotea.tfmg.content.items.weapons.lithium_blade.LitLithiumBladeItem; +import com.drmangotea.tfmg.content.items.weapons.lithium_blade.LithiumBladeItem; +import com.drmangotea.tfmg.content.items.weapons.quad_potato_cannon.QuadPotatoCannonItem; +import com.drmangotea.tfmg.content.machinery.misc.winding_machine.SpoolItem; +import com.drmangotea.tfmg.content.machinery.oil_processing.OilHammerItem; +import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.pumpjack.base.DepositItem; +import com.simibubi.create.AllTags; +import com.simibubi.create.content.equipment.tool.AllToolMaterials; +import com.simibubi.create.content.processing.sequenced.SequencedAssemblyItem; +import com.simibubi.create.foundation.data.AssetLookup; +import com.simibubi.create.foundation.data.CreateRegistrate; +import com.tterrag.registrate.builders.ItemBuilder; +import com.tterrag.registrate.util.DataIngredient; +import com.tterrag.registrate.util.entry.ItemEntry; +import com.tterrag.registrate.util.entry.RegistryEntry; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import net.minecraft.core.Holder; +import net.minecraft.data.recipes.RecipeCategory; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.*; +import net.minecraft.world.level.block.Blocks; +import net.neoforged.neoforge.common.Tags; +import net.neoforged.neoforge.registries.DeferredHolder; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static com.drmangotea.tfmg.TFMG.REGISTRATE; +import static com.drmangotea.tfmg.base.TFMGBuilderTransformers.COLORS; +import static com.drmangotea.tfmg.content.items.weapons.explosives.thermite_grenades.ThermiteGrenade.ChemicalColor.*; +import static com.simibubi.create.AllTags.AllItemTags.CREATE_INGOTS; +import static com.simibubi.create.AllTags.commonItemTag; + +public class TFMGItems { + + + //materials + + + public static final ItemEntry + STEEL_INGOT = taggedIngredient("steel_ingot", commonItemTag("ingots/steel"), CREATE_INGOTS.tag), + CAST_IRON_INGOT = taggedIngredient("cast_iron_ingot", commonItemTag("ingots/cast_iron"), CREATE_INGOTS.tag), + ALUMINUM_INGOT = taggedIngredient("aluminum_ingot", commonItemTag("ingots/aluminum"), CREATE_INGOTS.tag), + PLASTIC_SHEET = taggedIngredient("plastic_sheet", commonItemTag("ingots/plastic"), CREATE_INGOTS.tag), + HEAVY_PLATE = taggedIngredient("heavy_plate", commonItemTag("plates/steel")), + ALUMINUM_SHEET = taggedIngredient("aluminum_sheet", commonItemTag("plates/aluminum")), + NICKEL_SHEET = taggedIngredient("nickel_sheet", commonItemTag("plates/nickel")), + CAST_IRON_SHEET = taggedIngredient("cast_iron_sheet", commonItemTag("plates/cast_iron")), + LEAD_SHEET = taggedIngredient("lead_sheet", commonItemTag("plates/lead")), + LEAD_INGOT = taggedIngredient("lead_ingot", commonItemTag("ingots/lead"), CREATE_INGOTS.tag), + NICKEL_INGOT = taggedIngredient("nickel_ingot", commonItemTag("ingots/nickel"), CREATE_INGOTS.tag), + CONSTANTAN_INGOT = taggedIngredient("constantan_ingot", commonItemTag("ingots/constantan"), CREATE_INGOTS.tag), + LITHIUM_INGOT = taggedIngredient("lithium_ingot", commonItemTag("ingots/lithium"), CREATE_INGOTS.tag), + ALUMINUM_NUGGET = taggedIngredient("aluminum_nugget", commonItemTag("nuggets/aluminum")), + STEEL_NUGGET = taggedIngredient("steel_nugget", commonItemTag("nuggets/steel")), + CAST_IRON_NUGGET = taggedIngredient("cast_iron_nugget", commonItemTag("nuggets/cast_iron")), + CONSTANTAN_NUGGET = taggedIngredient("constantan_nugget", commonItemTag("nuggets/constantan")), + LEAD_NUGGET = taggedIngredient("lead_nugget", commonItemTag("nuggets/lead")), + NICKEL_NUGGET = taggedIngredient("nickel_nugget", commonItemTag("nuggets/nickel")), + LITHIUM_NUGGET = taggedIngredient("lithium_nugget", commonItemTag("nuggets/lithium")), + RAW_LEAD = taggedIngredient("raw_lead", commonItemTag("raw_materials/lead"), commonItemTag("raw_materials")), + RAW_NICKEL = taggedIngredient("raw_nickel", commonItemTag("raw_materials/nickel"), commonItemTag("raw_materials")), + RAW_LITHIUM = taggedIngredient("raw_lithium", commonItemTag("raw_materials/lithium"), commonItemTag("raw_materials")), + SYNTHETIC_LEATHER = taggedIngredient("synthetic_leather", Tags.Items.LEATHERS, AllTags.commonItemTag("leather")), + LIMESAND = taggedIngredient("limesand", TFMGTags.TFMGItemTags.FLUX.tag), + SULFUR_DUST = taggedIngredient("sulfur_dust", commonItemTag("dusts/sulfur")), + RUBBER_SHEET = taggedIngredient("rubber_sheet", commonItemTag("ingots/rubber")), + SILICON_INGOT = taggedIngredient("silicon_ingot", commonItemTag("ingots/silicon")); + + + public static final ItemEntry + REBAR = REGISTRATE.item("rebar", Item::new) + .tag(AllTags.commonItemTag("rods/steel")) + .recipe((c, p) -> p.stonecutting(DataIngredient.tag(AllTags.commonItemTag("ingots/steel")), RecipeCategory.BUILDING_BLOCKS, c::get, 4)) + .register(), + SYNTHETIC_STRING = REGISTRATE.item("synthetic_string", Item::new) + .tag(Tags.Items.STRINGS, AllTags.commonItemTag("string")) + .recipe((c, p) -> p.stonecutting(DataIngredient.tag(AllTags.commonItemTag("ingots/rubber")), RecipeCategory.MISC, c::get, 4)) + .register(); + + public static final ItemEntry + COPPER_WIRE = REGISTRATE.item("copper_wire", Item::new).tag(AllTags.commonItemTag("wires/copper")) + .recipe((c, p) -> p.stonecutting(DataIngredient.tag(AllTags.commonItemTag("ingots/copper")), RecipeCategory.BUILDING_BLOCKS, c::get, 2)).register(), + ALUMINUM_WIRE = REGISTRATE.item("aluminum_wire", Item::new).tag(AllTags.commonItemTag("wires/aluminum")) + .recipe((c, p) -> p.stonecutting(DataIngredient.tag(AllTags.commonItemTag("ingots/aluminum")), RecipeCategory.BUILDING_BLOCKS, c::get, 2)).register(), + CONSTANTAN_WIRE = REGISTRATE.item("constantan_wire", Item::new).tag(AllTags.commonItemTag("wires/constantan")) + .recipe((c, p) -> p.stonecutting(DataIngredient.tag(AllTags.commonItemTag("ingots/constantan")), RecipeCategory.BUILDING_BLOCKS, c::get, 2)).register(); + + public static final ItemEntry + SPARK_PLUG = REGISTRATE.item("spark_plug", Item::new).register(), + SLAG = REGISTRATE.item("slag", Item::new).register(), + BITUMEN = REGISTRATE.item("bitumen", Item::new).register(), + FIREPROOF_BRICK = REGISTRATE.item("fireproof_brick", Item::new).register(), + FIRECLAY_BALL = REGISTRATE.item("fireclay_ball", Item::new).register(), + SCREW = REGISTRATE.item("screw", Item::new) + .recipe((c, p) -> p.stonecutting(DataIngredient.tag(AllTags.commonItemTag("ingots/steel")), RecipeCategory.BUILDING_BLOCKS, c::get, 4)) + .lang("Screws") + .register(), + THERMITE_POWDER = REGISTRATE.item("thermite_powder", Item::new).register(), + STEEL_MECHANISM = REGISTRATE.item("steel_mechanism", Item::new).register(), + NITRATE_DUST = REGISTRATE.item("nitrate_dust", Item::new).register(), + CONCRETE_MIXTURE = REGISTRATE.item("concrete_mixture", Item::new).register(), + ASPHALT_MIXTURE = REGISTRATE.item("asphalt_mixture", Item::new).register(), + MAGNETIC_ALLOY_INGOT = REGISTRATE.item("magnetic_alloy_ingot", Item::new).register(), + BAUXITE_POWDER = REGISTRATE.item("bauxite_powder", Item::new).register(), + + EMPTY_CIRCUIT_BOARD = REGISTRATE.item("empty_circuit_board", Item::new).register(), + COATED_CIRCUIT_BOARD = REGISTRATE.item("coated_circuit_board", Item::new).register(), + ETCHED_CIRCUIT_BOARD = REGISTRATE.item("etched_circuit_board", Item::new).register(), + CIRCUIT_BOARD = REGISTRATE.item("circuit_board", Item::new).register(), + TRANSISTOR = REGISTRATE.item("transistor_item", Item::new).lang("Transistor").register(), + CAPACITOR = REGISTRATE.item("capacitor_item", Item::new).lang("Capacitor").register(), + COPPER_SULFATE = REGISTRATE.item("copper_sulfate", Item::new).register(), + LITHIUM_CHARGE = REGISTRATE.item("lithium_charge", Item::new).register(), + TURBO = REGISTRATE.item("turbo", Item::new).register(), + GOLDEN_TURBO = REGISTRATE.item("golden_turbo", Item::new).register(), + CINDERBLOCK = REGISTRATE.item("cinderblock", Item::new) + .recipe((c, p) -> p.stonecutting(DataIngredient.items(TFMGBlocks.CONCRETE.block.asItem()), RecipeCategory.BUILDING_BLOCKS, c::get, 8)) + .register(), + CINDERFLOURBLOCK = REGISTRATE.item("cinderflourblock", Item::new).register(), + NAPALM_POTATO = REGISTRATE.item("napalm_potato", Item::new).register(), + MIXER_BLADE = REGISTRATE.item("mixer_blade", Item::new).register(), + CENTRIFUGE = REGISTRATE.item("centrifuge", Item::new).register(), + CRANKSHAFT = REGISTRATE.item("crankshaft", Item::new) + .model((c, p) -> p.withExistingParent(c.getName(), TFMG.asResource("item/crankshaft_model"))) + .register(), + P_SEMICONDUCTOR = REGISTRATE.item("p_semiconductor", Item::new) + .lang("P-Semiconductor").register(), + N_SEMICONDUCTOR = REGISTRATE.item("n_semiconductor", Item::new) + .lang("N-Semiconductor").register(), + UNFINISHED_ELECTROMAGNETIC_COIL = REGISTRATE.item("unfinished_electromagnetic_coil", Item::new).register(), + COPPER_ELECTRODE = REGISTRATE.item("copper_electrode", Item::new) + .properties(p -> p.stacksTo(1)) + .recipe((c, p) -> p.stonecutting(DataIngredient.tag(AllTags.commonItemTag("storage_blocks/copper")), RecipeCategory.BUILDING_BLOCKS, c::get, 1)) + .model((c, p) -> p.withExistingParent(c.getName(), TFMG.asResource("item/copper_electrode_model"))).register(), + ZINC_ELECTRODE = REGISTRATE.item("zinc_electrode", Item::new) + .properties(p -> p.stacksTo(1)) + .recipe((c, p) -> p.stonecutting(DataIngredient.tag(AllTags.commonItemTag("storage_blocks/zinc")), RecipeCategory.BUILDING_BLOCKS, c::get, 1)) + .model((c, p) -> p.withExistingParent(c.getName(), TFMG.asResource("item/zinc_electrode_model"))).register(), + GRAPHITE_ELECTRODE = REGISTRATE.item("graphite_electrode", Item::new) + .properties(p -> p.stacksTo(1)) + .recipe((c, p) -> p.stonecutting(DataIngredient.tag(AllTags.commonItemTag("storage_blocks/coal_coke")), RecipeCategory.BUILDING_BLOCKS, c::get, 1)) + .model((c, p) -> p.withExistingParent(c.getName(), TFMG.asResource("item/graphite_electrode_model"))).register(), + UNFIRED_INSULATOR = REGISTRATE.item("unfired_insulator", Item::new) + .model((c, p) -> p.withExistingParent(c.getName(), TFMG.asResource("item/unfired_insulator_model"))) + .recipe((c, p) -> p.stonecutting(DataIngredient.items(Blocks.CLAY.asItem()), RecipeCategory.BUILDING_BLOCKS, c::get, 1)) + .register(), + UNFINISHED_INSULATOR = REGISTRATE.item("unfinished_insulator", Item::new) + .model((c, p) -> p.withExistingParent(c.getName(), TFMG.asResource("item/unfinished_insulator_model"))).register(), + GLASS_INSULATOR_SEGMENT = REGISTRATE.item("glass_insulator_segment", Item::new) + .model((c, p) -> p.withExistingParent(c.getName(), TFMG.asResource("item/glass_insulator_segment_model"))).register(); + public static final ItemEntry + TRANSMISSION = REGISTRATE.item("transmission", TransmissionItem::new) + .properties(p -> p.stacksTo(1)) + .model((c, p) -> p.withExistingParent(c.getName(), TFMG.asResource("item/transmission_model"))).register(); + public static final ItemEntry + MAGNET = REGISTRATE.item("magnet", MagnetItem::new).register(); + + public static final ItemEntry + UNFINISHED_RESISTOR = REGISTRATE.item("unfinished_resistor", ResistorItem::new).register(); + public static final ItemEntry + DIESEL_ENGINE_CYLINDER = REGISTRATE.item("diesel_engine_cylinder", CylinderItem::new).register(), + SIMPLE_ENGINE_CYLINDER = REGISTRATE.item("simple_engine_cylinder", CylinderItem::new).register(), + ENGINE_CYLINDER = REGISTRATE.item("engine_cylinder", CylinderItem::new).register(), + TURBINE_BLADE = REGISTRATE.item("turbine_blade", CylinderItem::new).register(); + public static final ItemEntry + EMPTY_SPOOL = spoolItem("empty", null, 0x000000, CableConnection.CableType.NONE) + .recipe((c, p) -> p.stonecutting(DataIngredient.items(TFMGBlocks.HARDENED_PLANKS.asItem()), RecipeCategory.BUILDING_BLOCKS, c::get, 1)) + .register(), + COPPER_SPOOL = spoolItem("copper", TFMGPartialModels.COPPER_SPOOL, 0xD8735A, CableConnection.CableType.COPPER) + .register(), + ALUMINUM_SPOOL = spoolItem("aluminum", TFMGPartialModels.ALUMINUM_SPOOL, 0xEDEFEF, CableConnection.CableType.ALUMINUM) + .register(), + CONSTANTAN_SPOOL = spoolItem("constantan", TFMGPartialModels.CONSTANTAN_SPOOL, 0xCFC2A8, CableConnection.CableType.CONSTANTAN) + .register(); + + public static final ItemEntry ELECTROMAGNETIC_COIL = + REGISTRATE.item("electromagnetic_coil", ElectromagneticCoilItem::new) + .properties(p -> p.stacksTo(1)) + .register(); + //public static final ItemEntry FUSE = REGISTRATE.item("fuse", FuseItem::new) + // .properties(p -> p.stacksTo(1)) + // .register(); + public static final ItemEntry COAL_COKE_DUST = REGISTRATE.item("coal_coke_dust", CoalCokeItem::new) + .tag(commonItemTag("dusts/coal_coke"), TFMGTags.TFMGItemTags.BLAST_FURNACE_FUEL.tag) + .register(); + + public static final ItemEntry OIL_HAMMER = REGISTRATE.item("oil_hammer", OilHammerItem::new) + .register(); + + public static final ItemEntry COAL_COKE = REGISTRATE.item("coal_coke", CoalCokeItem::new) + .register(); + + public static final ItemEntry DEBUG_CINDERBLOCK = REGISTRATE.item("debug_cinderblock", DebugCinderBlockItem::new) + .properties(p -> p.rarity(Rarity.EPIC).stacksTo(1)) + .register(); + public static final ItemEntry SCREWDRIVER = REGISTRATE.item("screwdriver", ScrewdriverItem::new) + .properties(p -> p.stacksTo(1) + .durability(256)) + .register(); + + public static final ItemEntry DEPOSIT_ITEM = REGISTRATE.item("deposit_item", DepositItem::new) + .properties(p -> p.stacksTo(1) + .durability(1)) + .register(); + // public static final ItemEntry + // STEEL_HELMET = armor("steel_helmet", TFMGArmorMaterials.STEEL, ArmorItem.Type.HELMET), + // STEEL_CHESTPLATE = armor("steel_chestplate", TFMGArmorMaterials.STEEL, ArmorItem.Type.CHESTPLATE), + // STEEL_LEGGINGS = armor("steel_leggings", TFMGArmorMaterials.STEEL, ArmorItem.Type.LEGGINGS), + // STEEL_BOOTS = armor("steel_boots", TFMGArmorMaterials.STEEL, ArmorItem.Type.BOOTS); + + public static final List> + STEEL_TOOLS = toolset("steel", TFMGTiers.STEEL), + ALUMINUM_TOOLS = toolset("aluminum", TFMGTiers.ALUMINUM); + + public static final List> LEAD_TOOLS = leadToolset(); + + public static final ItemEntry LITHIUM_BLADE = + REGISTRATE.item("lithium_blade", p -> new LithiumBladeItem(TFMGTiers.STEEL, p)) + .properties(p -> p.attributes(AxeItem.createAttributes(TFMGTiers.STEEL, 2, -2.4F))) + .model((ctx, prov) -> prov + .withExistingParent("lithium_blade", "minecraft:item/handheld") + .texture("layer0", "tfmg:item/lithium_blade")) + .register(); + public static final ItemEntry LIT_LITHIUM_BLADE = + REGISTRATE.item("lit_lithium_blade", p -> new LitLithiumBladeItem(TFMGTiers.STEEL, p)) + .properties(p -> p.attributes(AxeItem.createAttributes(TFMGTiers.STEEL, 3, -2.4F))) + .model((ctx, prov) -> prov + .withExistingParent("lit_lithium_blade", "minecraft:item/handheld") + .texture("layer0", "tfmg:item/lithium_blade_lit")) + .lang("Lithium Blade") + .register(); + + + public static final ItemEntry ADVANCED_POTATO_CANNON = + REGISTRATE.item("advanced_potato_cannon", AdvancedPotatoCannonItem::new) + .model(AssetLookup.itemModelWithPartials()) + .register(); + + public static final ItemEntry FLAMETHROWER = + REGISTRATE.item("flamethrower", FlamethrowerItem::new) + .model(AssetLookup.itemModelWithPartials()) + .properties(p -> p.stacksTo(1)) + .register(); + + + public static final Map> MULTIMETERS = multimeters(); + + public static final ItemEntry MULTIMETER = REGISTRATE.item("multimeter", MultimeterItem::new) + .register(); + + public static final ItemEntry + UNFINISHED_POTENTIOMETER = sequencedIngredient("unfinished_potentiometer", "block/potentiometer/unfinished"), + UNFINISHED_ELECTRIC_MOTOR = sequencedIngredient("unfinished_electric_motor", "block/electric_motor/unfinished"), + UNFINISHED_GENERATOR = sequencedIngredient("unfinished_generator", "item/unfinished_generator_model"), + UNFINISHED_STEEL_MECHANISM = sequencedIngredient("unfinished_steel_mechanism"), + UNFINISHED_TRANSISTOR = sequencedIngredient("unfinished_transistor"), + UNFINISHED_CAPACITOR = sequencedIngredient("unfinished_capacitor"), + UNFINISHED_CIRCUIT_BOARD = sequencedIngredient("unfinished_circuit_board"), + UNPROCESSED_HEAVY_PLATE = sequencedIngredient("unprocessed_heavy_plate"); + + + public static final ItemEntry QUAD_POTATO_CANNON = + REGISTRATE.item("quad_potato_cannon", QuadPotatoCannonItem::new) + .model(AssetLookup.itemModelWithPartials()) + .register(); + + public static final ItemEntry + PIPE_BOMB = REGISTRATE.item("pipe_bomb", PipeBombItem::new) + .register(); + + public static final ItemEntry + OIL_CAN = REGISTRATE.item("oil_can", p -> new FluidContainingItem(p, TFMGFluids.LUBRICATION_OIL)) + .properties(p -> p.stacksTo(1)) + .model((c, p) -> p.withExistingParent(c.getName(), TFMG.asResource("item/oil_can_model"))) + .register(), + COOLING_FLUID_BOTTLE = REGISTRATE.item("cooling_fluid_bottle", p -> new FluidContainingItem(p, TFMGFluids.COOLING_FLUID)) + .properties(p -> p.stacksTo(1)) + .register(); + public static final ItemEntry + CONFIGURATION_WRENCH = REGISTRATE.item("electricians_wrench", ElectriciansWrenchItem::new) + .lang("Configuration Wrench") + .register(); + + public static final ItemEntry + THERMITE_GRENADE = thermiteGrenade("thermite_grenade", BASE); + public static final ItemEntry + ZINC_GRENADE = thermiteGrenade("zinc_grenade", GREEN); + public static final ItemEntry + COPPER_GRENADE = thermiteGrenade("copper_grenade", BLUE); + + /// ///////////////////////// + + private static ItemEntry sequencedIngredient(String name, String model) { + return REGISTRATE.item(name, SequencedAssemblyItem::new) + .model((c, p) -> p.withExistingParent(c.getName(), TFMG.asResource(model))) + .register(); + } + + private static ItemEntry sequencedIngredient(String name) { + return REGISTRATE.item(name, SequencedAssemblyItem::new) + .register(); + } + + private static ItemEntry armor(String name, Holder material, ArmorItem.Type slot) { + return REGISTRATE.item(name, p -> new ArmorItem(material, slot, p)).register(); + } + + private static List> toolset(String material, Tier tier) { + + List> list = new ArrayList<>(); + + list.add(REGISTRATE.item(material + "_sword", p -> new SwordItem(tier, p)) + .properties(p -> p.attributes(SwordItem.createAttributes(tier, 2, -2.4F))) + .model((ctx, prov) -> prov + .withExistingParent(material + "_sword", "minecraft:item/handheld") + .texture("layer0", "tfmg:item/" + material + "_sword")) + .register()); + list.add(REGISTRATE.item(material + "_pickaxe", p -> new PickaxeItem(tier, p)) + .properties(p -> p.attributes(PickaxeItem.createAttributes(tier, 1, 1))) + .model((ctx, prov) -> prov + .withExistingParent(material + "_pickaxe", "minecraft:item/handheld") + .texture("layer0", "tfmg:item/" + material + "_pickaxe")) + .register()); + list.add(REGISTRATE.item(material + "_axe", p -> new AxeItem(tier, p)) + .properties(p -> p.attributes(AxeItem.createAttributes(tier, 6.0F, -3.2F))) + .model((ctx, prov) -> prov + .withExistingParent(material + "_axe", "minecraft:item/handheld") + .texture("layer0", "tfmg:item/" + material + "_axe")) + .register()); + list.add(REGISTRATE.item(material + "_shovel", p -> new ShovelItem(tier, p)) + .properties(p -> p.attributes(ShovelItem.createAttributes(tier, 1, 1))) + .model((ctx, prov) -> prov + .withExistingParent(material + "_shovel", "minecraft:item/handheld") + .texture("layer0", "tfmg:item/" + material + "_shovel")) + .register()); + list.add(REGISTRATE.item(material + "_hoe", p -> new HoeItem(tier, p)) + .properties(p -> p.attributes(HoeItem.createAttributes(tier, 1, 1))) + .model((ctx, prov) -> prov + .withExistingParent(material + "_hoe", "minecraft:item/handheld") + .texture("layer0", "tfmg:item/" + material + "_hoe")) + .register()); + + + return list; + } + + public static final ItemEntry STEEL_VERTICAL_GEARBOX = + REGISTRATE.item("steel_vertical_gearbox", SteelVerticalGearboxItem::new) + .model(AssetLookup.customBlockItemModel("steel_gearbox", "item_vertical")) + .lang("Steel Vertical Gearbox") + .register(); + + + private static List> leadToolset() { + List> list = new ArrayList<>(); + list.add(REGISTRATE.item("lead_sword", p -> new LeadSwordItem(TFMGTiers.LEAD, p)) + .properties(p -> p.attributes(SwordItem.createAttributes(TFMGTiers.LEAD, 2, -2.4F))) + .model((ctx, prov) -> prov + .withExistingParent("lead_sword", "minecraft:item/handheld") + .texture("layer0", "tfmg:item/lead_sword")) + .register()); + list.add(REGISTRATE.item("lead_pickaxe", p -> new PickaxeItem(TFMGTiers.LEAD, p)) + .properties(p -> p.attributes(AxeItem.createAttributes(TFMGTiers.LEAD, 1,1))) + .model((ctx, prov) -> prov + .withExistingParent("lead_pickaxe", "minecraft:item/handheld") + .texture("layer0", "tfmg:item/lead_pickaxe")) + .register()); + list.add(REGISTRATE.item("lead_axe", p -> new LeadAxeItem(TFMGTiers.LEAD, p)) + .properties(p -> p.attributes(AxeItem.createAttributes(TFMGTiers.LEAD, 6.0F, -3.2F))) + .model((ctx, prov) -> prov + .withExistingParent("lead_axe", "minecraft:item/handheld") + .texture("layer0", "tfmg:item/lead_axe")) + .register()); + list.add(REGISTRATE.item("lead_shovel", p -> new ShovelItem(TFMGTiers.LEAD, p)) + .properties(p -> p.attributes(AxeItem.createAttributes(TFMGTiers.LEAD, 1,1))) + .model((ctx, prov) -> prov + .withExistingParent("lead_shovel", "minecraft:item/handheld") + .texture("layer0", "tfmg:item/lead_shovel")) + .register()); + list.add(REGISTRATE.item("lead_hoe", p -> new HoeItem(TFMGTiers.LEAD, p)) + .properties(p -> p.attributes(AxeItem.createAttributes(TFMGTiers.LEAD, 1,1))) + .model((ctx, prov) -> prov + .withExistingParent("lead_hoe", "minecraft:item/handheld") + .texture("layer0", "tfmg:item/lead_hoe")) + .register()); + + + return list; + } + + + @SafeVarargs + private static ItemEntry taggedIngredient(String name, TagKey... tags) { + return REGISTRATE.item(name, Item::new) + .tag(tags) + .register(); + } + + public static ItemEntry item(String name) { + return REGISTRATE.item(name, Item::new) + .register(); + } + + + public static ItemEntry assemblyItem(String name) { + return REGISTRATE.item(name, SequencedAssemblyItem::new) + .register(); + } + + public static Map> multimeters() { + Map> map = new HashMap<>(); + + for (String color : COLORS) { + + map.put(color, REGISTRATE.item(color + "_multimeter", MultimeterItem::new) + .register()); + } + + return map; + } + + public static ItemBuilder spoolItem(String name, PartialModel model, int barColor, CableConnection.CableType type) { + return REGISTRATE.item(name + "_spool", p -> new SpoolItem(p, model, barColor, type)) + .tag(TFMGTags.TFMGItemTags.SPOOLS.tag) + .properties(p -> p.stacksTo(1)); + + } + + + private static ItemEntry thermiteGrenade(String name, ThermiteGrenade.ChemicalColor color) { + return REGISTRATE.item(name, p -> new ThermiteGrenadeItem(p, color)) + .register(); + } + + public static void init() { + } +} diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGKeys.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGKeys.java new file mode 100644 index 00000000..c96ce677 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGKeys.java @@ -0,0 +1,106 @@ +package com.drmangotea.tfmg.registry; + +import com.drmangotea.tfmg.TFMG; +import com.mojang.blaze3d.platform.InputConstants; +import net.minecraft.client.KeyMapping; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.screens.Screen; + + +import net.neoforged.api.distmarker.Dist; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.EventBusSubscriber; +import net.neoforged.neoforge.client.event.RegisterKeyMappingsEvent; +import org.lwjgl.glfw.GLFW; + +import java.util.function.BiConsumer; + +@EventBusSubscriber(value = Dist.CLIENT, bus = EventBusSubscriber.Bus.MOD) +public enum TFMGKeys { + + TRANSMISSION_SHIFT_UP("transmission_shift_up", GLFW.GLFW_KEY_V, "Increases transmission shift"), + TRANSMISSION_SHIFT_DOWN("transmission_shift_down", GLFW.GLFW_KEY_C, "Decreases transmission shift"), + ENGINE_CONTROLLER_CUSTOM_BUTTON("custom_button", GLFW.GLFW_KEY_B, "Button for custom engine controls feature"), + ENGINE_START("engine_start", GLFW.GLFW_KEY_I, "Starts and stops the engine"), + + ; + + private KeyMapping keybind; + private final String description; + private final String translation; + private final int key; + private final boolean modifiable; + + TFMGKeys(int defaultKey) { + this("", defaultKey, ""); + } + + TFMGKeys(String description, int defaultKey, String translation) { + this.description = TFMG.MOD_ID + ".keyinfo." + description; + this.key = defaultKey; + this.modifiable = !description.isEmpty(); + this.translation = translation; + } + + public static void provideLang(BiConsumer consumer) { + for (TFMGKeys key : values()) + if (key.modifiable) + consumer.accept(key.description, key.translation); + } + + @SubscribeEvent + public static void register(RegisterKeyMappingsEvent event) { + for (TFMGKeys key : values()) { + key.keybind = new KeyMapping(key.description, key.key, "Create: The Factory Must Grow"); + if (!key.modifiable) + continue; + + event.register(key.keybind); + } + } + + public KeyMapping getKeybind() { + return keybind; + } + + public boolean isPressed() { + if (!modifiable) + return isKeyDown(key); + return keybind.isDown(); + } + + public String getBoundKey() { + return keybind.getTranslatedKeyMessage() + .getString() + .toUpperCase(); + } + + public int getBoundCode() { + return keybind.getKey() + .getValue(); + } + + public static boolean isKeyDown(int key) { + return InputConstants.isKeyDown(Minecraft.getInstance() + .getWindow() + .getWindow(), key); + } + + public static boolean isMouseButtonDown(int button) { + return GLFW.glfwGetMouseButton(Minecraft.getInstance() + .getWindow() + .getWindow(), button) == 1; + } + + public static boolean ctrlDown() { + return Screen.hasControlDown(); + } + + public static boolean shiftDown() { + return Screen.hasShiftDown(); + } + + public static boolean altDown() { + return Screen.hasAltDown(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGMenuTypes.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGMenuTypes.java new file mode 100644 index 00000000..577fc230 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGMenuTypes.java @@ -0,0 +1,30 @@ +package com.drmangotea.tfmg.registry; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.engines.engine_controller.EngineControllerMenu; +import com.drmangotea.tfmg.content.engines.engine_controller.EngineControllerScreen; +import com.simibubi.create.Create; +import com.tterrag.registrate.builders.MenuBuilder.ForgeMenuFactory; +import com.tterrag.registrate.builders.MenuBuilder.ScreenFactory; +import com.tterrag.registrate.util.entry.MenuEntry; +import com.tterrag.registrate.util.nullness.NonNullSupplier; +import net.minecraft.client.gui.screens.Screen; +import net.minecraft.client.gui.screens.inventory.MenuAccess; +import net.minecraft.world.inventory.AbstractContainerMenu; + +public class TFMGMenuTypes { + + public static final MenuEntry ENGINE_CONTROLLER = + init("engine_controller", EngineControllerMenu::new, () -> EngineControllerScreen::new); + + + private static > MenuEntry init( + String name, ForgeMenuFactory factory, NonNullSupplier> screenFactory) { + return TFMG.REGISTRATE + .menu(name, factory, screenFactory) + .register(); + } + + public static void init() {} + +} diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGMobEffects.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGMobEffects.java new file mode 100644 index 00000000..4aaee3bf --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGMobEffects.java @@ -0,0 +1,26 @@ +package com.drmangotea.tfmg.registry; + + + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.HellFireEffect; +import net.minecraft.core.registries.Registries; +import net.minecraft.world.effect.MobEffect; +import net.minecraft.world.effect.MobEffectCategory; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.neoforge.registries.DeferredHolder; +import net.neoforged.neoforge.registries.DeferredRegister; + + +import java.awt.*; + +public class TFMGMobEffects { + public static final DeferredRegister MOB_EFFECTS = DeferredRegister.create(Registries.MOB_EFFECT, TFMG.MOD_ID); + + public static final DeferredHolder HELLFIRE = MOB_EFFECTS.register("hellfire", () -> new HellFireEffect(MobEffectCategory.HARMFUL, new Color(150, 0, 0, 200).getRGB())); + + + public static void register(IEventBus modEventBus){ + MOB_EFFECTS.register(modEventBus); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGMountedStorageTypes.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGMountedStorageTypes.java new file mode 100644 index 00000000..e4de7246 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGMountedStorageTypes.java @@ -0,0 +1,22 @@ +package com.drmangotea.tfmg.registry; + +import com.simibubi.create.api.contraption.storage.fluid.MountedFluidStorageType; +import com.simibubi.create.content.fluids.tank.storage.FluidTankMountedStorageType; +import com.tterrag.registrate.util.entry.RegistryEntry; + +import java.util.function.Supplier; + +import static com.drmangotea.tfmg.TFMG.REGISTRATE; + +public class TFMGMountedStorageTypes { + + public static final RegistryEntry,FluidTankMountedStorageType> TFMG_FLUID_TANK = simpleFluid("tfmg_fluid_tank", FluidTankMountedStorageType::new); + + + private static > RegistryEntry, T> simpleFluid(String name, Supplier supplier) { + return REGISTRATE.mountedFluidStorage(name, supplier).register(); + } + + public static void register() { + } +} diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGPackets.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGPackets.java new file mode 100644 index 00000000..48738e76 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGPackets.java @@ -0,0 +1,73 @@ +package com.drmangotea.tfmg.registry; + + +import com.drmangotea.tfmg.content.electricity.base.ConnectNeightborsPacket; +import com.drmangotea.tfmg.content.electricity.base.ConnectionPacket; +import com.drmangotea.tfmg.content.electricity.base.NetworkUpdatePacket; +import com.drmangotea.tfmg.content.electricity.base.UpdateInFrontPacket; +import com.drmangotea.tfmg.content.electricity.connection.cables.CablePlacePacket; +import com.drmangotea.tfmg.content.electricity.configuration_wrench.ElectriciansWrenchPacket; +import com.drmangotea.tfmg.content.engines.engine_controller.TransmissionRemovePacket; +import com.drmangotea.tfmg.content.engines.engine_controller.packets.*; +import com.drmangotea.tfmg.content.items.weapons.advanced_potato_cannon.AdvancedPotatoCannonPacket; +import com.drmangotea.tfmg.content.machinery.metallurgy.coke_oven.CokeOvenPacket; +import com.drmangotea.tfmg.content.machinery.vat.base.VatEvaluationPacket; +import com.simibubi.create.AllPackets; +import com.simibubi.create.Create; +import net.createmod.catnip.net.base.BasePacketPayload; +import net.createmod.catnip.net.base.CatnipPacketRegistry; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; + +import java.util.Locale; + + +public enum TFMGPackets implements BasePacketPayload.PacketTypeProvider { + + ADVANCED_POTATO_CANNON(AdvancedPotatoCannonPacket.class, AdvancedPotatoCannonPacket.STREAM_CODEC), + //QUAD_POTATO_CANNON(QuadPotatoCannonPacket.class, QuadPotatoCannonPacket::new, PLAY_TO_CLIENT), + CONNECT_NEIGHBORS(ConnectNeightborsPacket.class, ConnectNeightborsPacket.STREAM_CODEC), + NETWORK_UPDATE(NetworkUpdatePacket.class, NetworkUpdatePacket.STREAM_CODEC), + CONNECTION_PACKET(ConnectionPacket.class, ConnectionPacket.STREAM_CODEC), + VAT_EVALUATION(VatEvaluationPacket.class, VatEvaluationPacket.STREAM_CODEC), + COKE_OVEN_PACKET(CokeOvenPacket.class, CokeOvenPacket.STREAM_CODEC), + UPDATE_IN_FRONT_PACKET(UpdateInFrontPacket.class, UpdateInFrontPacket.STREAM_CODEC), + TRANSMISSION_REMOVE(TransmissionRemovePacket.class, TransmissionRemovePacket.STREAM_CODEC), + CABLE_PLACE_PACKET(CablePlacePacket.class, CablePlacePacket.STREAM_CODEC), + + + + ELECTRICIANS_WRENCH_PACKET(ElectriciansWrenchPacket.class, ElectriciansWrenchPacket.STREAM_CODEC), + ENGINE_CONTROLLER_INPUT(EngineControllerInputPacket.class, EngineControllerInputPacket.STREAM_CODEC), + // ENGINE_CONTROLLER_BIND(EngineControllerBindPacket.class, EngineControllerBindPacket::new, PLAY_TO_SERVER), + ENGINE_TRANSMISSION_PACKET(TransmissionShiftPacket.class, TransmissionShiftPacket.STREAM_CODEC), + ENGINE_CONTROLLER_STOP_CONTROL(EngineControllerStopControllerPacket.class, EngineControllerStopControllerPacket.STREAM_CODEC), + ENGINE_START(EngineStartPacket.class, EngineStartPacket.STREAM_CODEC), + ; + + + private final CatnipPacketRegistry.PacketType type; + + TFMGPackets(Class clazz, StreamCodec codec) { + String name = this.name().toLowerCase(Locale.ROOT); + this.type = new CatnipPacketRegistry.PacketType<>( + new CustomPacketPayload.Type<>(Create.asResource(name)), + clazz, codec + ); + } + + @Override + @SuppressWarnings("unchecked") + public CustomPacketPayload.Type getType() { + return (CustomPacketPayload.Type) this.type.type(); + } + + public static void register() { + CatnipPacketRegistry packetRegistry = new CatnipPacketRegistry(Create.ID, 1); + for (TFMGPackets packet : TFMGPackets.values()) { + packetRegistry.registerPacket(packet.type); + } + packetRegistry.registerAllPackets(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGPaletteBlocks.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGPaletteBlocks.java new file mode 100644 index 00000000..42db1f2a --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGPaletteBlocks.java @@ -0,0 +1,15 @@ +package com.drmangotea.tfmg.registry; + + +import static com.drmangotea.tfmg.TFMG.REGISTRATE; + +public class TFMGPaletteBlocks { + + + static { + TFMGPaletteStoneTypes.register(REGISTRATE); + } + + public static void init() {} + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGPaletteStoneTypes.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGPaletteStoneTypes.java new file mode 100644 index 00000000..64e2367e --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGPaletteStoneTypes.java @@ -0,0 +1,69 @@ +package com.drmangotea.tfmg.registry; + + + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.palettes.TFMGPaletteBlockPattern; +import com.drmangotea.tfmg.base.palettes.TFMGPalettesVariantEntry; +import com.simibubi.create.AllTags; +import com.simibubi.create.foundation.data.CreateRegistrate; + +import com.simibubi.create.foundation.utility.CreateLang; +import com.tterrag.registrate.util.nullness.NonNullSupplier; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; + +import java.util.function.Function; + +import static com.drmangotea.tfmg.base.palettes.TFMGPaletteBlockPattern.STANDARD_RANGE; + +public enum TFMGPaletteStoneTypes { + + + BAUXITE(STANDARD_RANGE, r -> r.paletteStoneBlock("bauxite", () -> Blocks.DEEPSLATE, true, true) + .properties(p -> p.destroyTime(1.25f)) + .register()), + + + GALENA(STANDARD_RANGE, r -> r.paletteStoneBlock("galena", () -> Blocks.CALCITE, true, true) + .properties(p -> p.destroyTime(1.25f)) + .register()), + + ; + + private Function> factory; + private TFMGPalettesVariantEntry variants; + + public NonNullSupplier baseBlock; + public TFMGPaletteBlockPattern[] variantTypes; + public TagKey materialTag; + + private TFMGPaletteStoneTypes(TFMGPaletteBlockPattern[] variantTypes, + Function> factory) { + this.factory = factory; + this.variantTypes = variantTypes; + } + + public NonNullSupplier getBaseBlock() { + return baseBlock; + } + + public TFMGPalettesVariantEntry getVariants() { + return variants; + } + + public static void register(CreateRegistrate registrate) { + for (TFMGPaletteStoneTypes paletteStoneVariants : values()) { + NonNullSupplier baseBlock = paletteStoneVariants.factory.apply(registrate); + paletteStoneVariants.baseBlock = baseBlock; + String id = CreateLang.asId(paletteStoneVariants.name()); + paletteStoneVariants.materialTag = + AllTags.optionalTag(BuiltInRegistries.ITEM, TFMG.asResource("stone_types/" + id)); + paletteStoneVariants.variants = new TFMGPalettesVariantEntry(id, paletteStoneVariants); + } + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGPartialModels.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGPartialModels.java new file mode 100644 index 00000000..21f50f36 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGPartialModels.java @@ -0,0 +1,171 @@ +package com.drmangotea.tfmg.registry; + + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipes; +import com.simibubi.create.content.fluids.FluidTransportBehaviour; + +import com.simibubi.create.foundation.utility.CreateLang; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import net.createmod.catnip.data.Couple; +import net.createmod.catnip.data.Iterate; +import net.minecraft.core.Direction; +import net.minecraft.resources.ResourceLocation; + +import java.util.*; + + +public class TFMGPartialModels { + + public static final PartialModel + AIR_INTAKE_FAN = block("air_intake/fan"), + AIR_INTAKE_FAN_MEDIUM = block("air_intake/fan_medium"), + AIR_INTAKE_FAN_LARGE = block("air_intake/fan_large"), + AIR_INTAKE_FRAME = block("air_intake/frame"), + AIR_INTAKE_FRAME_CLOSED = block("air_intake/frame_closed"), + AIR_INTAKE_MEDIUM = block("air_intake/block_medium"), + AIR_INTAKE_LARGE = block("air_intake/block_large"), + COKE_OVEN_DOOR_LEFT = block("coke_oven/door_left"), + COKE_OVEN_DOOR_RIGHT = block("coke_oven/door_right"), + COKE_OVEN_DOOR_LEFT_BOTTOM = block("coke_oven/door_left_bottom"), + COKE_OVEN_DOOR_RIGHT_BOTTOM = block("coke_oven/door_right_bottom"), + COKE_OVEN_DOOR_LEFT_MIDDLE = block("coke_oven/door_left_middle"), + COKE_OVEN_DOOR_RIGHT_MIDDLE = block("coke_oven/door_right_middle"), + COKE_OVEN_DOOR_LEFT_TOP = block("coke_oven/door_left_top"), + COKE_OVEN_DOOR_RIGHT_TOP = block("coke_oven/door_right_top"), + COAL_COKE_DUST_LAYER = block("coal_coke_dust_layer"), + POLARIZER_DIAL = block("polarizer/dial"), + STEEL_FLYWHEEL = block("steel_flywheel/block"), + ALUMINUM_FLYWHEEL = block("aluminum_flywheel/block"), + CAST_IRON_FLYWHEEL = block("cast_iron_flywheel/block"), + LEAD_FLYWHEEL = block("lead_flywheel/block"), + NICKEL_FLYWHEEL = block("nickel_flywheel/block"), + DISTILLATION_CONTROLLER_DIAL = block("steel_distillation_controller/dial"), + PUMPJACK_HAMMER = block("pumpjack/hammer_holder"), + PUMPJACK_FRONT_ROPE = block("pumpjack/pumpjack_front_rope"), + PUMPJACK_CONNECTOR = block("pumpjack/pumpjack_connector"), + PUMPJACK_CRANK_BLOCK = block("pumpjack/pumpjack_crank_block"), + PUMPJACK_CRANK = block("pumpjack_crank/crank"), + PUMPJACK_CONNECTORS = block("pumpjack_crank/connectors"), + TOWER_GAUGE = block("distillation_tower/gauge"), + SURFACE_SCANNER_DIAL = block("surface_scanner/dial"), + SURFACE_SCANNER_FLAG = block("surface_scanner/flag"), + ROTOR = block("rotor/block"), + INGOT_MOLD = block("casting_basin/mold_base"), + BlOCK_MOLD = block("casting_basin/block_mold"), + STATOR_OUTPUT = block("stator/output"), + VOLTMETER_DIAL = block("voltmeter/dial"), + LIGHT_BULB = block("light_bulb/light"), + ALUMINUM_LAMP = block("aluminum_lamp/light"), + CIRCULAR_LIGHT = block("circular_light/light"), + MODERN_LIGHT = block("modern_light/light"), + TRAFFIC_LIGHT = block("traffic_light/light"), + NEON_TUBE_LIGHT_CENTER = block("neon_tube/light_center"), + NEON_TUBE_LIGHT_SIDE = block("neon_tube/light_side"), + LARGE_ENGINE_LINKAGE = block("large_engine/linkage"), + LARGE_ENGINE_PISTON = block("large_engine/piston"), + SIMPLE_LARGE_ENGINE_LINKAGE = block("simple_large_engine/linkage"), + SIMPLE_LARGE_ENGINE_PISTON = block("simple_large_engine/piston"), + STEEL_COGHWEEL = block("steel_cogwheel"), + LARGE_STEEL_COGHWEEL = block("large_steel_cogwheel_shaftless"), + ALUMINUM_COGHWEEL = block("aluminum_cogwheel"), + LARGE_ALUMINUM_COGHWEEL = block("large_aluminum_cogwheel"), + SHAFTLESS_ALUMINUM_COGHWEEL = block("aluminum_cogwheel_shaftless"), + SHAFTLESS_STEEL_COGHWEEL = block("steel_cogwheel_shaftless"), + SHAFTLESS_LARGE_ALUMINUM_COGHWEEL = block("large_aluminum_cogwheel_shaftless"), + SHAFTLESS_LARGE_STEEL_COGHWEEL = block("large_steel_cogwheel_shaftless"), + SPOOL = block("winding_machine/spool"), + COPPER_SPOOL = block("winding_machine/copper_spool"), + ALUMINUM_SPOOL = block("winding_machine/aluminum_spool"), + CONSTANTAN_SPOOL = block("winding_machine/constantan_spool"), + CYLINDER = block("regular_engine/cylinder"), + RADIAL_ENGINE_CYLINDER = block("radial_engine/cylinder"), + SMALL_CYLINDER = block("regular_engine/cylinder_small"), + TRANSFORMER_COIL = block("transformer/coil"), + FUSE = block("fuse_block/fuse"), + CONNNECTING_WIRE = block("winding_machine/connecting_wire"), + CONNNECTING_WIRE_ANIMATED = block("winding_machine/connecting_wire_animated"), + SMALL_MIXER = block("industrial_mixer/mixer_small"), + MIXER = block("industrial_mixer/mixer"), + MIXER_SHAFT = block("industrial_mixer/mixer_shaft"), + ENGINE_GENERATOR = block("engine_upgrades/generator"), + TRANSMISSION = PartialModel.of(TFMG.asResource("item/transmission_model")), + TURBO = block("engine_upgrades/turbo"), + TURBO_PROPELLER = block("engine_upgrades/turbo_propeller"), + GOLDEN_TURBO = block("engine_upgrades/golden_turbo"), + GOLDEN_TURBO_PROPELLER = block("engine_upgrades/golden_turbo_propeller"), + STEERING_WHEEL = block("engine_controller/wheel"), + PEDAL = block("engine_controller/pedal"), + ENGINE_CONTROLLER_DIAL = block("engine_controller/dial"), + TRANSMISSION_LEVER = block("engine_controller/transmission_lever"), + SMALL_CENTRIFUGE_BOTTOM = block("industrial_mixer/small_centrifuge_bottom"), + SMALL_CENTRIFUGE_MIDDLE = block("industrial_mixer/small_centrifuge_middle"), + SMALL_CENTRIFUGE_TOP = block("industrial_mixer/small_centrifuge_top"), + SMALL_CENTRIFUGE_ALONE = block("industrial_mixer/small_centrifuge_alone"), + LARGE_CENTRIFUGE_BOTTOM = block("industrial_mixer/large_centrifuge_bottom"), + LARGE_CENTRIFUGE_MIDDLE = block("industrial_mixer/large_centrifuge_middle"), + LARGE_CENTRIFUGE_TOP = block("industrial_mixer/large_centrifuge_top"), + LARGE_CENTRIFUGE_ALONE = block("industrial_mixer/large_centrifuge_alone"), + COPPER_ELECTRODE = block("electrode_holder/copper_electrode"), + ZINC_ELECTRODE = block("electrode_holder/zinc_electrode"), + GRAPHITE_ELECTRODE = block("electrode_holder/graphite_electrode"), + GRAPHITE_ELECTRODE_SUPERHEATED = block("electrode_holder/superheated_graphite_electrode"), + SURFACE_SCANNER_LIGHT = block("surface_scanner/light"); + + //Display Segments + + public static final List SEGMENTS = new ArrayList<>(); + public static final Map PIPE_CASINGS = new HashMap<>(); + public static final Map> FOLDING_DOORS = new HashMap<>(); + public static final Map>> PIPE_ATTACHMENTS = new HashMap<>(); + + static { + + for (int i = 0; i < 21; i++) { + + SEGMENTS.add(block("segmented_display/segments/" + i)); + + } + + + } + + static { + + for (TFMGPipes.PipeMaterial material : TFMGPipes.PipeMaterial.values()) { + + Map> attachments = new EnumMap<>(FluidTransportBehaviour.AttachmentTypes.ComponentPartials.class); + + for (FluidTransportBehaviour.AttachmentTypes.ComponentPartials type : FluidTransportBehaviour.AttachmentTypes.ComponentPartials.values()) { + Map map = new HashMap<>(); + for (Direction d : Iterate.directions) { + String asId = CreateLang.asId(type.name()); + map.put(d, block(material.name + "_pipe/" + asId + "/" + CreateLang.asId(d.getSerializedName()))); + } + attachments.put(type, map); + } + + PIPE_ATTACHMENTS.put(material, attachments); + + PIPE_CASINGS.put(material, block(material.name + "_pipe/casing")); + + } + //////////////// + putFoldingDoor("steel_door"); + + } + + + private static void putFoldingDoor(String path) { + FOLDING_DOORS.put(TFMG.asResource(path), + Couple.create(block(path + "/fold_left"), block(path + "/fold_right"))); + } + + private static PartialModel block(String path) { + return PartialModel.of(TFMG.asResource("block/" + path)); + } + + public static void init() { + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGParticleTypes.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGParticleTypes.java new file mode 100644 index 00000000..452a885c --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGParticleTypes.java @@ -0,0 +1,73 @@ +package com.drmangotea.tfmg.registry; + + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.spark.ElectricSparkParticle; +import com.simibubi.create.foundation.particle.ICustomParticleData; + +import com.simibubi.create.foundation.utility.CreateLang; +import net.minecraft.core.particles.ParticleOptions; +import net.minecraft.core.particles.ParticleType; +import net.minecraft.core.registries.Registries; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.neoforge.client.event.RegisterParticleProvidersEvent; +import net.neoforged.neoforge.registries.DeferredHolder; +import net.neoforged.neoforge.registries.DeferredRegister; + +import java.util.function.Supplier; + +public enum TFMGParticleTypes { + + ELECTRIC_SPARK(ElectricSparkParticle.Data::new); + + + private final ParticleEntry entry; + + TFMGParticleTypes(Supplier> typeFactory) { + String name = CreateLang.asId(name()); + entry = new ParticleEntry<>(name, typeFactory); + } + + public static void register(IEventBus modEventBus) { + ParticleEntry.REGISTER.register(modEventBus); + } + + @OnlyIn(Dist.CLIENT) + public static void registerFactories(RegisterParticleProvidersEvent event) { + for (TFMGParticleTypes particle : values()) + particle.entry.registerFactory(event); + } + + public ParticleType get() { + return entry.object.get(); + } + + public String parameter() { + return entry.name; + } + + private static class ParticleEntry { + private static final DeferredRegister> REGISTER = DeferredRegister.create(Registries.PARTICLE_TYPE, TFMG.MOD_ID); + + private final String name; + private final Supplier> typeFactory; + private final DeferredHolder, ParticleType> object; + + public ParticleEntry(String name, Supplier> typeFactory) { + this.name = name; + this.typeFactory = typeFactory; + + object = REGISTER.register(name, () -> this.typeFactory.get().createType()); + } + + @OnlyIn(Dist.CLIENT) + public void registerFactory(RegisterParticleProvidersEvent event) { + typeFactory.get() + .register(object.get(), event); + } + + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGRecipeTypes.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGRecipeTypes.java new file mode 100644 index 00000000..8c707ff8 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGRecipeTypes.java @@ -0,0 +1,144 @@ +package com.drmangotea.tfmg.registry; + + +import com.drmangotea.tfmg.recipes.*; +import com.mojang.serialization.Codec; +import com.simibubi.create.AllRecipeTypes; +import com.simibubi.create.AllTags; +import com.simibubi.create.Create; +import com.simibubi.create.content.processing.recipe.ProcessingRecipe; +import com.simibubi.create.content.processing.recipe.StandardProcessingRecipe; +import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; +import net.createmod.catnip.lang.Lang; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.StringRepresentable; +import net.minecraft.world.item.crafting.*; +import net.minecraft.world.level.Level; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.neoforge.registries.DeferredHolder; +import net.neoforged.neoforge.registries.DeferredRegister; +import org.jetbrains.annotations.ApiStatus; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.Optional; +import java.util.function.Predicate; +import java.util.function.Supplier; + +public enum TFMGRecipeTypes implements IRecipeTypeInfo, StringRepresentable { + + CASTING(CastingRecipe::new), + INDUSTRIAL_BLASTING(IndustrialBlastingRecipe::new), + COKING(CokingRecipe::new), + DISTILLATION(DistillationRecipe::new), + WINDING(WindingRecipe::new), + HOT_BLAST(HotBlastRecipe::new), + VAT_MACHINE_RECIPE(VatMachineRecipe::new), + POLARIZING(PolarizingRecipe::new), + + ; + + + public static final Predicate> CAN_BE_AUTOMATED = r -> !r.id() + .getPath() + .endsWith("_manual_only"); + + public final ResourceLocation id; + public final Supplier> serializerSupplier; + private final DeferredHolder, RecipeSerializer> serializerObject; + @Nullable + private final DeferredHolder, RecipeType> typeObject; + private final Supplier> type; + + private boolean isProcessingRecipe; + + public static final Codec CODEC = StringRepresentable.fromEnum(AllRecipeTypes::values); + + TFMGRecipeTypes(Supplier> serializerSupplier, Supplier> typeSupplier, boolean registerType) { + String name = Lang.asId(name()); + id = Create.asResource(name); + this.serializerSupplier = serializerSupplier; + serializerObject = Registers.SERIALIZER_REGISTER.register(name, serializerSupplier); + if (registerType) { + typeObject = Registers.TYPE_REGISTER.register(name, typeSupplier); + type = typeObject; + } else { + typeObject = null; + type = typeSupplier; + } + isProcessingRecipe = false; + } + + TFMGRecipeTypes(Supplier> serializerSupplier) { + String name = Lang.asId(name()); + id = Create.asResource(name); + this.serializerSupplier = serializerSupplier; + serializerObject = Registers.SERIALIZER_REGISTER.register(name, serializerSupplier); + typeObject = Registers.TYPE_REGISTER.register(name, () -> RecipeType.simple(id)); + type = typeObject; + isProcessingRecipe = false; + } + + TFMGRecipeTypes(StandardProcessingRecipe.Factory processingFactory) { + this(() -> new StandardProcessingRecipe.Serializer<>(processingFactory)); + isProcessingRecipe = true; + } + + TFMGRecipeTypes(ProcessingRecipe.Factory industrialBlastingFactory) { + this(() -> new IndustrialBlastingRecipe.Serializer<>(industrialBlastingFactory)); + isProcessingRecipe = true; + } + TFMGRecipeTypes(ProcessingRecipe.Factory vatRecipeFactory, byte... i) { + this(() -> new VatMachineRecipe.Serializer<>(vatRecipeFactory)); + isProcessingRecipe = true; + } + + @ApiStatus.Internal + public static void register(IEventBus modEventBus) { + ShapedRecipePattern.setCraftingSize(9, 9); + Registers.SERIALIZER_REGISTER.register(modEventBus); + Registers.TYPE_REGISTER.register(modEventBus); + } + + @Override + public ResourceLocation getId() { + return id; + } + + @SuppressWarnings("unchecked") + @Override + public > T getSerializer() { + return (T) serializerObject.get(); + } + + @SuppressWarnings("unchecked") + @Override + public > RecipeType getType() { + return (RecipeType) type.get(); + } + + public > Optional> find(I inv, Level world) { + return world.getRecipeManager() + .getRecipeFor(getType(), inv, world); + } + + public static boolean shouldIgnoreInAutomation(RecipeHolder recipe) { + RecipeSerializer serializer = recipe.value().getSerializer(); + if (serializer != null && AllTags.AllRecipeSerializerTags.AUTOMATION_IGNORE.matches(serializer)) + return true; + return !CAN_BE_AUTOMATED.test(recipe); + } + + @Override + public @NotNull String getSerializedName() { + return id.toString(); + } + + private static class Registers { + private static final DeferredRegister> SERIALIZER_REGISTER = DeferredRegister.create(BuiltInRegistries.RECIPE_SERIALIZER, Create.ID); + private static final DeferredRegister> TYPE_REGISTER = DeferredRegister.create(Registries.RECIPE_TYPE, Create.ID); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGSoundEvents.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGSoundEvents.java new file mode 100644 index 00000000..19957657 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGSoundEvents.java @@ -0,0 +1,447 @@ +package com.drmangotea.tfmg.registry; + +import com.drmangotea.tfmg.TFMG; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; + +import net.minecraft.core.Holder; +import net.minecraft.core.Vec3i; +import net.minecraft.core.registries.Registries; +import net.minecraft.data.CachedOutput; +import net.minecraft.data.DataGenerator; +import net.minecraft.data.DataProvider; +import net.minecraft.data.PackOutput; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.level.Level; +import net.minecraft.world.phys.Vec3; +import net.neoforged.neoforge.registries.DeferredHolder; +import net.neoforged.neoforge.registries.RegisterEvent; + +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.CompletableFuture; +import java.util.function.BiConsumer; +import java.util.function.Supplier; + + +public class TFMGSoundEvents { + + public static final Map ALL = new HashMap<>(); + + public static final SoundEntry + + + ENGINE = create("engine") + .subtitle("Engine Sounds") + .category(SoundSource.BLOCKS) + .attenuationDistance(10) + .build(), + + DIESEL_ENGINE = create("diesel_engine") + .subtitle("Diesel Engine Sounds") + .category(SoundSource.BLOCKS) + .attenuationDistance(10) + .build(); + + private static TFMGSoundEvents.SoundEntryBuilder create(String name) { + return create(TFMG.asResource(name)); + } + + public static TFMGSoundEvents.SoundEntryBuilder create(ResourceLocation id) { + return new TFMGSoundEvents.SoundEntryBuilder(id); + } + + public static void prepare() { + for (TFMGSoundEvents.SoundEntry entry : ALL.values()) + entry.prepare(); + } + + public static void register(RegisterEvent event) { + event.register(Registries.SOUND_EVENT, helper -> { + for (TFMGSoundEvents.SoundEntry entry : ALL.values()) + entry.register(helper); + }); + } + + public static void provideLang(BiConsumer consumer) { + for (TFMGSoundEvents.SoundEntry entry : ALL.values()) + if (entry.hasSubtitle()) + consumer.accept(entry.getSubtitleKey(), entry.getSubtitle()); + } + + public static TFMGSoundEvents.SoundEntryProvider provider(DataGenerator generator) { + return new TFMGSoundEvents.SoundEntryProvider(generator); + } + + public static void playItemPickup(Player player) { + player.level() + .playSound(null, player.blockPosition(), SoundEvents.ITEM_PICKUP, SoundSource.PLAYERS, .2f, + 1f + player.level().random.nextFloat()); + } + +// @SubscribeEvent +// public static void cancelSubtitlesOfCompoundedSounds(PlaySoundEvent event) { +// ResourceLocation soundLocation = event.getSound().getSoundLocation(); +// if (!soundLocation.getNamespace().equals(TFMG.ID)) +// return; +// if (soundLocation.getPath().contains("_compounded_") +// event.setResultSound(); +// +// } + + public static class SoundEntryProvider implements DataProvider { + + private PackOutput output; + + public SoundEntryProvider(DataGenerator generator) { + output = generator.getPackOutput(); + } + + @Override + public CompletableFuture run(CachedOutput cache) { + return generate(output.getOutputFolder(), cache); + } + + @Override + public String getName() { + return "TFMG's Custom Sounds"; + } + + public CompletableFuture generate(Path path, CachedOutput cache) { + path = path.resolve("assets/create"); + JsonObject json = new JsonObject(); + ALL.entrySet() + .stream() + .sorted(Map.Entry.comparingByKey()) + .forEach(entry -> { + entry.getValue() + .write(json); + }); + return DataProvider.saveStable(cache, json, path.resolve("sounds.json")); + } + + } + + public record ConfiguredSoundEvent(Supplier event, float volume, float pitch) {} + + public static class SoundEntryBuilder { + + protected ResourceLocation id; + protected String subtitle = "unregistered"; + protected SoundSource category = SoundSource.BLOCKS; + protected List wrappedEvents; + protected List variants; + protected int attenuationDistance; + + public SoundEntryBuilder(ResourceLocation id) { + wrappedEvents = new ArrayList<>(); + variants = new ArrayList<>(); + this.id = id; + } + + public TFMGSoundEvents.SoundEntryBuilder subtitle(String subtitle) { + this.subtitle = subtitle; + return this; + } + + public TFMGSoundEvents.SoundEntryBuilder attenuationDistance(int distance) { + this.attenuationDistance = distance; + return this; + } + + public TFMGSoundEvents.SoundEntryBuilder noSubtitle() { + this.subtitle = null; + return this; + } + + public TFMGSoundEvents.SoundEntryBuilder category(SoundSource category) { + this.category = category; + return this; + } + + public TFMGSoundEvents.SoundEntryBuilder addVariant(String name) { + return addVariant(TFMG.asResource(name)); + } + + public TFMGSoundEvents.SoundEntryBuilder addVariant(ResourceLocation id) { + variants.add(id); + return this; + } + + public TFMGSoundEvents.SoundEntryBuilder playExisting(Supplier event, float volume, float pitch) { + wrappedEvents.add(new TFMGSoundEvents.ConfiguredSoundEvent(event, volume, pitch)); + return this; + } + + public TFMGSoundEvents.SoundEntryBuilder playExisting(SoundEvent event, float volume, float pitch) { + return playExisting(() -> event, volume, pitch); + } + + public TFMGSoundEvents.SoundEntryBuilder playExisting(SoundEvent event) { + return playExisting(event, 1, 1); + } + + public TFMGSoundEvents.SoundEntryBuilder playExisting(Holder event) { + return playExisting(event::value, 1, 1); + } + + public TFMGSoundEvents.SoundEntry build() { + TFMGSoundEvents.SoundEntry entry = + wrappedEvents.isEmpty() ? new TFMGSoundEvents.CustomSoundEntry(id, variants, subtitle, category, attenuationDistance) + : new TFMGSoundEvents.WrappedSoundEntry(id, subtitle, wrappedEvents, category, attenuationDistance); + ALL.put(entry.getId(), entry); + return entry; + } + + } + + public static abstract class SoundEntry { + + protected ResourceLocation id; + protected String subtitle; + protected SoundSource category; + protected int attenuationDistance; + + public SoundEntry(ResourceLocation id, String subtitle, SoundSource category, int attenuationDistance) { + this.id = id; + this.subtitle = subtitle; + this.category = category; + this.attenuationDistance = attenuationDistance; + } + + public abstract void prepare(); + + public abstract void register(RegisterEvent.RegisterHelper registry); + + public abstract void write(JsonObject json); + + public abstract Holder getMainEventHolder(); + + public abstract SoundEvent getMainEvent(); + + public String getSubtitleKey() { + return id.getNamespace() + ".subtitle." + id.getPath(); + } + + public ResourceLocation getId() { + return id; + } + + public boolean hasSubtitle() { + return subtitle != null; + } + + public String getSubtitle() { + return subtitle; + } + + public void playOnServer(Level world, Vec3i pos) { + playOnServer(world, pos, 1, 1); + } + + public void playOnServer(Level world, Vec3i pos, float volume, float pitch) { + play(world, null, pos, volume, pitch); + } + + public void play(Level world, Player entity, Vec3i pos) { + play(world, entity, pos, 1, 1); + } + + public void playFrom(Entity entity) { + playFrom(entity, 1, 1); + } + + public void playFrom(Entity entity, float volume, float pitch) { + if (!entity.isSilent()) + play(entity.level(), null, entity.blockPosition(), volume, pitch); + } + + public void play(Level world, Player entity, Vec3i pos, float volume, float pitch) { + play(world, entity, pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, volume, pitch); + } + + public void play(Level world, Player entity, Vec3 pos, float volume, float pitch) { + play(world, entity, pos.x(), pos.y(), pos.z(), volume, pitch); + } + + public abstract void play(Level world, Player entity, double x, double y, double z, float volume, float pitch); + + public void playAt(Level world, Vec3i pos, float volume, float pitch, boolean fade) { + playAt(world, pos.getX() + .5, pos.getY() + .5, pos.getZ() + .5, volume, pitch, fade); + } + + public void playAt(Level world, Vec3 pos, float volume, float pitch, boolean fade) { + playAt(world, pos.x(), pos.y(), pos.z(), volume, pitch, fade); + } + + public abstract void playAt(Level world, double x, double y, double z, float volume, float pitch, boolean fade); + + } + + private static class WrappedSoundEntry extends TFMGSoundEvents.SoundEntry { + + private List wrappedEvents; + private List compiledEvents; + + public WrappedSoundEntry(ResourceLocation id, String subtitle, + List wrappedEvents, SoundSource category, int attenuationDistance) { + super(id, subtitle, category, attenuationDistance); + this.wrappedEvents = wrappedEvents; + compiledEvents = new ArrayList<>(); + } + + @Override + public void prepare() { + for (int i = 0; i < wrappedEvents.size(); i++) { + TFMGSoundEvents.ConfiguredSoundEvent wrapped = wrappedEvents.get(i); + ResourceLocation location = getIdOf(i); + DeferredHolder event = DeferredHolder.create(Registries.SOUND_EVENT, location); + compiledEvents.add(new TFMGSoundEvents.WrappedSoundEntry.CompiledSoundEvent(event, wrapped.volume(), wrapped.pitch())); + } + } + + @Override + public void register(RegisterEvent.RegisterHelper helper) { + for (TFMGSoundEvents.WrappedSoundEntry.CompiledSoundEvent compiledEvent : compiledEvents) { + ResourceLocation location = compiledEvent.event().getId(); + helper.register(location, SoundEvent.createVariableRangeEvent(location)); + } + } + + @Override + public Holder getMainEventHolder() { + return compiledEvents.getFirst().event(); + } + + @Override + public SoundEvent getMainEvent() { + return compiledEvents.getFirst().event().get(); + } + + protected ResourceLocation getIdOf(int i) { + return ResourceLocation.fromNamespaceAndPath(id.getNamespace(), i == 0 ? id.getPath() : id.getPath() + "_compounded_" + i); + } + + @Override + public void write(JsonObject json) { + for (int i = 0; i < wrappedEvents.size(); i++) { + TFMGSoundEvents.ConfiguredSoundEvent event = wrappedEvents.get(i); + JsonObject entry = new JsonObject(); + JsonArray list = new JsonArray(); + JsonObject s = new JsonObject(); + s.addProperty("name", event.event() + .get() + .getLocation() + .toString()); + s.addProperty("type", "event"); + if (attenuationDistance != 0) + s.addProperty("attenuation_distance", attenuationDistance); + list.add(s); + entry.add("sounds", list); + if (i == 0 && hasSubtitle()) + entry.addProperty("subtitle", getSubtitleKey()); + json.add(getIdOf(i).getPath(), entry); + } + } + + @Override + public void play(Level world, Player entity, double x, double y, double z, float volume, float pitch) { + for (TFMGSoundEvents.WrappedSoundEntry.CompiledSoundEvent event : compiledEvents) { + world.playSound(entity, x, y, z, event.event().get(), category, event.volume() * volume, + event.pitch() * pitch); + } + } + + @Override + public void playAt(Level world, double x, double y, double z, float volume, float pitch, boolean fade) { + for (TFMGSoundEvents.WrappedSoundEntry.CompiledSoundEvent event : compiledEvents) { + world.playLocalSound(x, y, z, event.event().get(), category, event.volume() * volume, + event.pitch() * pitch, fade); + } + } + + private record CompiledSoundEvent(DeferredHolder event, float volume, float pitch) { + } + + } + + private static class CustomSoundEntry extends TFMGSoundEvents.SoundEntry { + + protected List variants; + protected DeferredHolder event; + + public CustomSoundEntry(ResourceLocation id, List variants, String subtitle, + SoundSource category, int attenuationDistance) { + super(id, subtitle, category, attenuationDistance); + this.variants = variants; + } + + @Override + public void prepare() { + event = DeferredHolder.create(Registries.SOUND_EVENT, id); + } + + @Override + public void register(RegisterEvent.RegisterHelper helper) { + ResourceLocation location = event.getId(); + helper.register(location, SoundEvent.createVariableRangeEvent(location)); + } + + @Override + public Holder getMainEventHolder() { + return event; + } + + @Override + public SoundEvent getMainEvent() { + return event.get(); + } + + @Override + public void write(JsonObject json) { + JsonObject entry = new JsonObject(); + JsonArray list = new JsonArray(); + + JsonObject s = new JsonObject(); + s.addProperty("name", id.toString()); + s.addProperty("type", "file"); + if (attenuationDistance != 0) + s.addProperty("attenuation_distance", attenuationDistance); + list.add(s); + + for (ResourceLocation variant : variants) { + s = new JsonObject(); + s.addProperty("name", variant.toString()); + s.addProperty("type", "file"); + if (attenuationDistance != 0) + s.addProperty("attenuation_distance", attenuationDistance); + list.add(s); + } + + entry.add("sounds", list); + if (hasSubtitle()) + entry.addProperty("subtitle", getSubtitleKey()); + json.add(id.getPath(), entry); + } + + @Override + public void play(Level world, Player entity, double x, double y, double z, float volume, float pitch) { + world.playSound(entity, x, y, z, event.get(), category, volume, pitch); + } + + @Override + public void playAt(Level world, double x, double y, double z, float volume, float pitch, boolean fade) { + world.playLocalSound(x, y, z, event.get(), category, volume, pitch, fade); + } + + } + +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGTags.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGTags.java new file mode 100644 index 00000000..9ad6e729 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGTags.java @@ -0,0 +1,241 @@ +package com.drmangotea.tfmg.registry; + + +import com.drmangotea.tfmg.TFMG; + +import com.simibubi.create.foundation.utility.CreateLang; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.BlockTags; +import net.minecraft.tags.FluidTags; +import net.minecraft.tags.ItemTags; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.material.Fluid; +import net.minecraft.world.level.material.FluidState; + + +import static com.drmangotea.tfmg.registry.TFMGTags.NameSpace.COMMON; +import static com.drmangotea.tfmg.registry.TFMGTags.NameSpace.MOD; +import static com.simibubi.create.AllTags.optionalTag; + + +public class TFMGTags { + + + public enum NameSpace { + + MOD(TFMG.MOD_ID, false, true), + COMMON("c") + + + ; + + public final String id; + public final boolean optionalDefault; + public final boolean alwaysDatagenDefault; + + NameSpace(String id) { + this(id, true, false); + } + + NameSpace(String id, boolean optionalDefault, boolean alwaysDatagenDefault) { + this.id = id; + this.optionalDefault = optionalDefault; + this.alwaysDatagenDefault = alwaysDatagenDefault; + } + } + + public enum TFMGBlockTags { + BLAST_FURNACE_WALL, + REINFORCED_BLAST_FURNACE_WALL, + BLAST_FURNACE_SUPPORT, + INDUSTRIAL_PIPE, + REINFORCED_BLAST_FURNACE_SUPPORT, + SURFACE_SCANNER_FINDABLE, + PUMPJACK_PART, + PUMPJACK_HEAD, + PUMPJACK_CONNECTOR, + PUMPJACK_SMALL_PART + ; + + public final TagKey tag; + public final boolean alwaysDatagen; + + TFMGBlockTags() { + this(MOD); + } + + TFMGBlockTags(NameSpace namespace) { + this(namespace, namespace.optionalDefault, namespace.alwaysDatagenDefault); + } + + TFMGBlockTags(NameSpace namespace, String path) { + this(namespace, path, namespace.optionalDefault, namespace.alwaysDatagenDefault); + } + + TFMGBlockTags(NameSpace namespace, boolean optional, boolean alwaysDatagen) { + this(namespace, null, optional, alwaysDatagen); + } + + TFMGBlockTags(NameSpace namespace, String path, boolean optional, boolean alwaysDatagen) { + ResourceLocation id = ResourceLocation.fromNamespaceAndPath(namespace.id, path == null ? CreateLang.asId(name()) : path); + if (optional) { + tag = optionalTag(BuiltInRegistries.BLOCK, id); + } else { + tag = BlockTags.create(id); + } + this.alwaysDatagen = alwaysDatagen; + } + + @SuppressWarnings("deprecation") + public boolean matches(Block block) { + return block.builtInRegistryHolder() + .is(tag); + } + + public boolean matches(ItemStack stack) { + return stack != null && stack.getItem() instanceof BlockItem blockItem && matches(blockItem.getBlock()); + } + + public boolean matches(BlockState state) { + return state.is(tag); + } + + private static void init() {} + + } + public enum TFMGItemTags { + + FLUX, + SPOOLS, + BLAST_FURNACE_FUEL, + RODS, + IRON_PLATES(COMMON, "plates/iron"), + ALUMINUM_PLATES(COMMON, "plates/aluminum") + + ; + + public final TagKey tag; + public final boolean alwaysDatagen; + + TFMGItemTags() { + this(NameSpace.MOD); + } + + TFMGItemTags(NameSpace namespace) { + this(namespace, namespace.optionalDefault, namespace.alwaysDatagenDefault); + } + + TFMGItemTags(NameSpace namespace, String path) { + this(namespace, path, namespace.optionalDefault, namespace.alwaysDatagenDefault); + } + + TFMGItemTags(NameSpace namespace, boolean optional, boolean alwaysDatagen) { + this(namespace, null, optional, alwaysDatagen); + } + + TFMGItemTags(NameSpace namespace, String path, boolean optional, boolean alwaysDatagen) { + ResourceLocation id = ResourceLocation.fromNamespaceAndPath(namespace.id, path == null ? CreateLang.asId(name()) : path); + if (optional) { + tag = optionalTag(BuiltInRegistries.ITEM, id); + } else { + tag = ItemTags.create(id); + } + this.alwaysDatagen = alwaysDatagen; + } + + @SuppressWarnings("deprecation") + public boolean matches(Item item) { + return item.builtInRegistryHolder() + .is(tag); + } + + public boolean matches(ItemStack stack) { + return stack.is(tag); + } + + private static void init() {} + + } + public enum TFMGFluidTags { + GAS(MOD), + + FLAMMABLE(MOD), + FIREBOX_FUEL(MOD), + BLAST_STOVE_FUEL(MOD), + AIR(NameSpace.COMMON), + COOLING_FLUID(NameSpace.COMMON), + + GASOLINE(NameSpace.COMMON), + DIESEL(NameSpace.COMMON), + KEROSENE(NameSpace.COMMON), + + CREOSOTE(NameSpace.COMMON), + FURNACE_GAS(NameSpace.COMMON), + + LPG(NameSpace.COMMON), + HEAVY_OIL(NameSpace.COMMON), + LUBRICATION_OIL(NameSpace.COMMON), + NAPHTHA(NameSpace.COMMON), + CRUDE_OIL(NameSpace.COMMON), + MOLTEN_STEEL(NameSpace.COMMON), + FUEL(NameSpace.COMMON) + + ; + + public final TagKey tag; + public final boolean alwaysDatagen; + + TFMGFluidTags() { + this(MOD); + } + + TFMGFluidTags(NameSpace namespace) { + this(namespace, namespace.optionalDefault, namespace.alwaysDatagenDefault); + } + + TFMGFluidTags(NameSpace namespace, String path) { + this(namespace, path, namespace.optionalDefault, namespace.alwaysDatagenDefault); + } + + TFMGFluidTags(NameSpace namespace, boolean optional, boolean alwaysDatagen) { + this(namespace, null, optional, alwaysDatagen); + } + + TFMGFluidTags(NameSpace namespace, String path, boolean optional, boolean alwaysDatagen) { + ResourceLocation id = ResourceLocation.fromNamespaceAndPath(namespace.id, path == null ? CreateLang.asId(name()) : path); + if (optional) { + tag = optionalTag(BuiltInRegistries.FLUID, id); + } else { + tag = FluidTags.create(id); + } + this.alwaysDatagen = alwaysDatagen; + } + + + public boolean matches(Fluid fluid) { + return fluid.is(tag); + } + + public boolean matches(FluidState state) { + return state.is(tag); + } + + private static void init() {} + + } + + + public static void init() { + TFMGBlockTags.init(); + // TFMGItemTags.init(); + TFMGFluidTags.init(); + //TFMGEntityTags.init(); + //TFMGRecipeSerializerTags.init(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/worldgen/TFMGBiomeModifiers.java b/src/main/java/com/drmangotea/tfmg/worldgen/TFMGBiomeModifiers.java new file mode 100644 index 00000000..51798cd9 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/worldgen/TFMGBiomeModifiers.java @@ -0,0 +1,71 @@ +package com.drmangotea.tfmg.worldgen; + +import com.drmangotea.tfmg.TFMG; +import net.minecraft.core.Holder; +import net.minecraft.core.HolderGetter; +import net.minecraft.core.HolderSet; +import net.minecraft.core.registries.Registries; +import net.minecraft.data.worldgen.BootstrapContext; +import net.minecraft.resources.ResourceKey; +import net.minecraft.tags.BiomeTags; +import net.minecraft.world.level.biome.Biome; +import net.minecraft.world.level.levelgen.GenerationStep; +import net.minecraft.world.level.levelgen.placement.PlacedFeature; +import net.neoforged.neoforge.common.world.BiomeModifier; +import net.neoforged.neoforge.common.world.BiomeModifiers; +import net.neoforged.neoforge.registries.NeoForgeRegistries; + +public class TFMGBiomeModifiers { + public static final ResourceKey + OIL_DEPOSIT = key("oil_deposit"), + OIL_WELL = key("oil_well"), + LEAD_ORE = key("lead_ore"), + NICKEL_ORE = key("nickel_ore"), + LITHIUM_ORE = key("lithium_ore"), + TFMG_STRIATED_ORES_OVERWORLD = key("tfmg_striated_ores_overworld"), + TFMG_STRIATED_ORES_NETHER = key("tfmg_striated_ores_nether"); + + private static ResourceKey key(String name) { + return ResourceKey.create(NeoForgeRegistries.Keys.BIOME_MODIFIERS, TFMG.asResource(name)); + } + + public static void bootstrap(BootstrapContext ctx) { + HolderGetter biomeLookup = ctx.lookup(Registries.BIOME); + HolderSet isOverworld = biomeLookup.getOrThrow(BiomeTags.IS_OVERWORLD); + HolderSet isNether = biomeLookup.getOrThrow(BiomeTags.IS_NETHER); + + + HolderSet isDesert = biomeLookup.getOrThrow(BiomeTags.HAS_DESERT_PYRAMID); + HolderGetter featureLookup = ctx.lookup(Registries.PLACED_FEATURE); + + Holder oilDeposit = featureLookup.getOrThrow(TFMGPlacedFeatures.OIL_DEPOSIT); + Holder oilWell = featureLookup.getOrThrow(TFMGPlacedFeatures.OIL_WELL); + + Holder leadOre = featureLookup.getOrThrow(TFMGPlacedFeatures.LEAD_ORE); + Holder nickelOre = featureLookup.getOrThrow(TFMGPlacedFeatures.NICKEL_ORE); + Holder lithiumOre = featureLookup.getOrThrow(TFMGPlacedFeatures.LITHIUM_ORE); + Holder striatedOresOverworld = featureLookup.getOrThrow(TFMGPlacedFeatures.TFMG_STRIATED_ORES_OVERWORLD); + Holder striatedOresNether = featureLookup.getOrThrow(TFMGPlacedFeatures.TFMG_STRIATED_ORES_NETHER); + + + ctx.register(OIL_DEPOSIT,addOre(isOverworld,oilDeposit)); + + ctx.register(OIL_WELL,addOilWell(isDesert,oilWell)); + + ctx.register(LEAD_ORE, addOre(isOverworld, leadOre)); + ctx.register(NICKEL_ORE, addOre(isOverworld, nickelOre)); + ctx.register(LITHIUM_ORE, addOre(isOverworld, lithiumOre)); + ctx.register(TFMG_STRIATED_ORES_OVERWORLD, addOre(isOverworld, striatedOresOverworld)); + ctx.register(TFMG_STRIATED_ORES_NETHER, addOre(isNether, striatedOresNether)); + } + + private static BiomeModifiers.AddFeaturesBiomeModifier addOre(HolderSet biomes, Holder feature) { + return new BiomeModifiers.AddFeaturesBiomeModifier(biomes, HolderSet.direct(feature), GenerationStep.Decoration.UNDERGROUND_ORES); + } + + + private static BiomeModifiers.AddFeaturesBiomeModifier addOilWell(HolderSet biomes, Holder feature) { + return new BiomeModifiers.AddFeaturesBiomeModifier(biomes, HolderSet.direct(feature), GenerationStep.Decoration.FLUID_SPRINGS); + } + +} diff --git a/src/main/java/com/drmangotea/tfmg/worldgen/TFMGConfiguredFeatures.java b/src/main/java/com/drmangotea/tfmg/worldgen/TFMGConfiguredFeatures.java new file mode 100644 index 00000000..d5ffd0f8 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/worldgen/TFMGConfiguredFeatures.java @@ -0,0 +1,87 @@ +package com.drmangotea.tfmg.worldgen; + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.simibubi.create.infrastructure.worldgen.AllFeatures; +import com.simibubi.create.infrastructure.worldgen.LayerPattern; +import com.simibubi.create.infrastructure.worldgen.LayeredOreConfiguration; +import net.minecraft.core.registries.Registries; +import net.minecraft.data.worldgen.BootstrapContext; +import net.minecraft.resources.ResourceKey; +import net.minecraft.tags.BlockTags; +import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; +import net.minecraft.world.level.levelgen.feature.Feature; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import net.minecraft.world.level.levelgen.feature.configurations.OreConfiguration; +import net.minecraft.world.level.levelgen.structure.templatesystem.RuleTest; +import net.minecraft.world.level.levelgen.structure.templatesystem.TagMatchTest; + +import java.util.List; + +import static net.minecraft.data.worldgen.features.FeatureUtils.register; + +public class TFMGConfiguredFeatures { + public static final ResourceKey> + OIL_DEPOSIT = key("oil_deposit"), + OIL_WELL = key("oil_well"), + LEAD_ORE = key("lead_ore"), + NICKEL_ORE = key("nickel_ore"), + LITHIUM_ORE = key("lithium_ore"), + TFMG_STRIATED_ORES_OVERWORLD = key("tfmg_striated_ores_overworld"), + TFMG_STRIATED_ORES_NETHER = key("tfmg_striated_ores_nether"); + + private static ResourceKey> key(String name) { + return ResourceKey.create(Registries.CONFIGURED_FEATURE, TFMG.asResource(name)); + } + + public static void bootstrap(BootstrapContext> ctx) { + RuleTest stoneOreReplaceables = new TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES); + RuleTest deepslateOreReplaceables = new TagMatchTest(BlockTags.DEEPSLATE_ORE_REPLACEABLES); + + + + List leadTargetStates = List.of( + OreConfiguration.target(stoneOreReplaceables, TFMGBlocks.LEAD_ORE.get() + .defaultBlockState()), + OreConfiguration.target(deepslateOreReplaceables, TFMGBlocks.DEEPSLATE_LEAD_ORE.get() + .defaultBlockState()) + ); + List nickelTargetStates = List.of( + OreConfiguration.target(stoneOreReplaceables, TFMGBlocks.NICKEL_ORE.get() + .defaultBlockState()), + OreConfiguration.target(deepslateOreReplaceables, TFMGBlocks.DEEPSLATE_NICKEL_ORE.get() + .defaultBlockState()) + ); + List lithiumTargetStates = List.of( + OreConfiguration.target(stoneOreReplaceables, TFMGBlocks.LITHIUM_ORE.get() + .defaultBlockState()), + OreConfiguration.target(deepslateOreReplaceables, TFMGBlocks.DEEPSLATE_LITHIUM_ORE.get() + .defaultBlockState()) + ); + + + register(ctx, OIL_DEPOSIT, TFMGFeatures.OIL_DEPOSIT.get(),new NoneFeatureConfiguration()); + register(ctx, OIL_WELL, TFMGFeatures.OIL_WELL.get(),new NoneFeatureConfiguration()); + + register(ctx, LEAD_ORE, Feature.ORE, new OreConfiguration(leadTargetStates, 12)); + register(ctx, NICKEL_ORE, Feature.ORE, new OreConfiguration(nickelTargetStates, 10)); + register(ctx, LITHIUM_ORE, Feature.ORE, new OreConfiguration(lithiumTargetStates, 7)); + + List overworldLayerPatterns = List.of( + TFMGLayeredPatterns.BAUXITE.get(), + TFMGLayeredPatterns.GALENA.get(), + TFMGLayeredPatterns.LIGNITE.get(), + TFMGLayeredPatterns.FIRECLAY.get() + + ); + + register(ctx, TFMG_STRIATED_ORES_OVERWORLD, AllFeatures.LAYERED_ORE.get(), new LayeredOreConfiguration(overworldLayerPatterns, 32, 0)); + + List netherLayerPatterns = List.of( + TFMGLayeredPatterns.SULFUR.get(), + TFMGLayeredPatterns.FIRECLAY_NETHER.get() + ); + + register(ctx, TFMG_STRIATED_ORES_NETHER, AllFeatures.LAYERED_ORE.get(), new LayeredOreConfiguration(netherLayerPatterns, 32, 0)); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/worldgen/TFMGFeatures.java b/src/main/java/com/drmangotea/tfmg/worldgen/TFMGFeatures.java new file mode 100644 index 00000000..a41b0e58 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/worldgen/TFMGFeatures.java @@ -0,0 +1,29 @@ +package com.drmangotea.tfmg.worldgen; + + +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.worldgen.deposits.OilDepositFeature; +import com.drmangotea.tfmg.worldgen.deposits.OilWellFeature; +import net.minecraft.core.registries.Registries; +import net.minecraft.world.level.levelgen.feature.Feature; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.neoforge.registries.DeferredHolder; +import net.neoforged.neoforge.registries.DeferredRegister; + + +public class TFMGFeatures { + + + public static final DeferredRegister> FEATURES = DeferredRegister.create(Registries.FEATURE, TFMG.MOD_ID); + + public static final DeferredHolder, OilDepositFeature> OIL_DEPOSIT = + FEATURES.register("oil_deposit", () -> new OilDepositFeature(NoneFeatureConfiguration.CODEC)); + + public static final DeferredHolder, OilWellFeature> OIL_WELL = + FEATURES.register("oil_well", () -> new OilWellFeature(NoneFeatureConfiguration.CODEC)); + + public static void register(IEventBus modEventBus) { + FEATURES.register(modEventBus); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/worldgen/TFMGLayeredPatterns.java b/src/main/java/com/drmangotea/tfmg/worldgen/TFMGLayeredPatterns.java new file mode 100644 index 00000000..f4090a71 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/worldgen/TFMGLayeredPatterns.java @@ -0,0 +1,126 @@ +package com.drmangotea.tfmg.worldgen; + + +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGPaletteStoneTypes; +import com.simibubi.create.content.decoration.palettes.AllPaletteStoneTypes; +import com.simibubi.create.infrastructure.worldgen.LayerPattern; +import com.tterrag.registrate.util.nullness.NonNullSupplier; +import net.minecraft.world.level.block.Blocks; + +public class TFMGLayeredPatterns { + + public static final NonNullSupplier + + BAUXITE = () -> LayerPattern.builder() + .layer(l -> l.weight(1) + .passiveBlock()) + .layer(l -> l.weight(2) + .block(TFMGPaletteStoneTypes.BAUXITE.getBaseBlock()) + .size(1, 3)) + .layer(l -> l.weight(1) + .block(Blocks.SMOOTH_BASALT) + .block(Blocks.GRANITE) + .size(2, 2)) + .layer(l -> l.weight(1) + .blocks(Blocks.GRANITE, Blocks.SMOOTH_BASALT)) + .layer(l -> l.weight(1) + .block(AllPaletteStoneTypes.ANDESITE.getBaseBlock())) + .build(); + + + public static final NonNullSupplier + + LIGNITE = () -> LayerPattern.builder() + .layer(l -> l.weight(1) + .passiveBlock()) + .layer(l -> l.weight(2) + .block(TFMGBlocks.LIGNITE.get()) + .size(1, 3)) + .layer(l -> l.weight(1) + .block(Blocks.TUFF) + .block(Blocks.DEEPSLATE) + .size(2, 2)) + .layer(l -> l.weight(1) + .blocks(Blocks.DEEPSLATE, Blocks.TUFF)) + .layer(l -> l.weight(1) + .block(AllPaletteStoneTypes.SCORIA.getBaseBlock())) + .build(); + + public static final NonNullSupplier + + GALENA = () -> LayerPattern.builder() + .layer(l -> l.weight(1) + .passiveBlock()) + .layer(l -> l.weight(2) + .block(TFMGPaletteStoneTypes.GALENA.getBaseBlock()) + .size(1, 3)) + .layer(l -> l.weight(1) + .block(Blocks.SMOOTH_BASALT) + .block(Blocks.DRIPSTONE_BLOCK) + .size(2, 2)) + .layer(l -> l.weight(1) + .blocks(Blocks.DRIPSTONE_BLOCK, Blocks.SMOOTH_BASALT)) + .layer(l -> l.weight(1) + .block(AllPaletteStoneTypes.DEEPSLATE.getBaseBlock())) + .build(); + + + public static final NonNullSupplier + + FIRECLAY = () -> LayerPattern.builder() + .layer(l -> l.weight(2) + .passiveBlock()) + .layer(l -> l.weight(2) + .block(TFMGBlocks.FIRECLAY.get()) + .size(1, 2)) + .layer(l -> l.weight(2) + .block(Blocks.SAND) + .block(Blocks.GRAVEL) + .size(1, 3)) + .layer(l -> l.weight(1) + .block(AllPaletteStoneTypes.CRIMSITE.getBaseBlock())) + .build(); + + public static final NonNullSupplier + + SULFUR = () -> LayerPattern.builder() + .inNether() + .layer(l -> l.weight(2) + .passiveBlock()) + .layer(l -> l.weight(4) + .block(TFMGBlocks.SULFUR.get()) + .size(1, 2)) + .layer(l -> l.weight(3) + .block(AllPaletteStoneTypes.SCORCHIA.getBaseBlock()) + .block(Blocks.BLACKSTONE) + .size(1, 3)) + .layer(l -> l.weight(1) + .block(Blocks.MAGMA_BLOCK)) + .layer(l -> l.weight(2) + .block(Blocks.BASALT) + .block(Blocks.SMOOTH_BASALT)) + .build(); + + public static final NonNullSupplier + + FIRECLAY_NETHER = () -> LayerPattern.builder() + .inNether() + .layer(l -> l.weight(2) + .passiveBlock()) + .layer(l -> l.weight(5) + .block(TFMGBlocks.FIRECLAY.get()) + .size(1, 2)) + .layer(l -> l.weight(3) + .block(AllPaletteStoneTypes.SCORCHIA.getBaseBlock()) + .block(Blocks.GRAVEL) + .size(1, 3)) + .layer(l -> l.weight(1) + .block(Blocks.MAGMA_BLOCK)) + .layer(l -> l.weight(2) + .block(Blocks.SOUL_SOIL) + .block(Blocks.SOUL_SAND)) + .build(); + + +} diff --git a/src/main/java/com/drmangotea/tfmg/worldgen/TFMGPlacedFeatures.java b/src/main/java/com/drmangotea/tfmg/worldgen/TFMGPlacedFeatures.java new file mode 100644 index 00000000..b2078f6d --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/worldgen/TFMGPlacedFeatures.java @@ -0,0 +1,73 @@ +package com.drmangotea.tfmg.worldgen; + +import com.drmangotea.tfmg.TFMG; +import com.simibubi.create.infrastructure.worldgen.AllConfiguredFeatures; +import com.simibubi.create.infrastructure.worldgen.ConfigPlacementFilter; +import net.minecraft.core.Holder; +import net.minecraft.core.HolderGetter; +import net.minecraft.core.registries.Registries; +import net.minecraft.data.worldgen.BootstrapContext; +import net.minecraft.resources.ResourceKey; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.levelgen.VerticalAnchor; +import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; +import net.minecraft.world.level.levelgen.placement.*; + +import java.util.List; + +import static net.minecraft.data.worldgen.placement.PlacementUtils.register; + +public class TFMGPlacedFeatures { + public static final ResourceKey + OIL_DEPOSIT = key("oil_deposit"), + OIL_WELL = key("oil_well"), + LEAD_ORE = key("lead_ore"), + NICKEL_ORE = key("nickel_ore"), + LITHIUM_ORE = key("lithium_ore"), + TFMG_STRIATED_ORES_OVERWORLD = key("tfmg_striated_ores_overworld"), + TFMG_STRIATED_ORES_NETHER = key("tfmg_striated_ores_nether"); + + private static ResourceKey key(String name) { + return ResourceKey.create(Registries.PLACED_FEATURE, TFMG.asResource(name)); + } + + public static void bootstrap(BootstrapContext ctx) { + HolderGetter> featureLookup = ctx.lookup(Registries.CONFIGURED_FEATURE); + + Holder> oilDeposit = featureLookup.getOrThrow(TFMGConfiguredFeatures.OIL_DEPOSIT); + Holder> oilWell = featureLookup.getOrThrow(TFMGConfiguredFeatures.OIL_WELL); + + Holder> leadOre = featureLookup.getOrThrow(TFMGConfiguredFeatures.LEAD_ORE); + Holder> nickelOre = featureLookup.getOrThrow(TFMGConfiguredFeatures.NICKEL_ORE); + Holder> lithiumOre = featureLookup.getOrThrow(TFMGConfiguredFeatures.LITHIUM_ORE); + Holder> striatedOresOverworld = featureLookup.getOrThrow(TFMGConfiguredFeatures.TFMG_STRIATED_ORES_OVERWORLD); + Holder> striatedOresNether = featureLookup.getOrThrow(TFMGConfiguredFeatures.TFMG_STRIATED_ORES_NETHER); + + register(ctx, OIL_DEPOSIT,oilDeposit,oilPlacement(RarityFilter.onAverageOnceEvery(4))); + + register(ctx, OIL_WELL,oilWell,oilPlacement(RarityFilter.onAverageOnceEvery(500))); + + register(ctx, LEAD_ORE, leadOre, placement(CountPlacement.of(5), -15, 80)); + register(ctx, NICKEL_ORE, nickelOre, placement(CountPlacement.of(5), -63, 20)); + register(ctx, LITHIUM_ORE, lithiumOre, placement(CountPlacement.of(3), -63, -5)); + register(ctx, TFMG_STRIATED_ORES_OVERWORLD, striatedOresOverworld, placement(RarityFilter.onAverageOnceEvery(18), -30, 70)); + register(ctx, TFMG_STRIATED_ORES_NETHER, striatedOresNether, placement(RarityFilter.onAverageOnceEvery(18), 40, 90)); + } + + private static List placement(PlacementModifier frequency, int minHeight, int maxHeight) { + return List.of( + frequency, + InSquarePlacement.spread(), + HeightRangePlacement.uniform(VerticalAnchor.absolute(minHeight), VerticalAnchor.absolute(maxHeight)), + ConfigPlacementFilter.INSTANCE + ); + } + private static List oilPlacement(PlacementModifier frequency) { + return List.of( + frequency, + InSquarePlacement.spread(), + HeightRangePlacement.uniform(VerticalAnchor.absolute(-64), VerticalAnchor.absolute(-64)), + ConfigPlacementFilter.INSTANCE + ); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/worldgen/deposits/OilDepositFeature.java b/src/main/java/com/drmangotea/tfmg/worldgen/deposits/OilDepositFeature.java new file mode 100644 index 00000000..4a1eb40c --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/worldgen/deposits/OilDepositFeature.java @@ -0,0 +1,65 @@ +package com.drmangotea.tfmg.worldgen.deposits; + + +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.mojang.serialization.Codec; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.levelgen.feature.Feature; +import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; + + +public class OilDepositFeature extends Feature { + public OilDepositFeature(Codec p_65786_) { + super(p_65786_); + } + + @Override + public boolean place(FeaturePlaceContext context) { + + BlockPos startingPos = context.origin(); + WorldGenLevel level = context.level(); + BlockPos pos = startingPos; + RandomSource randomsource = context.random(); + + if (randomsource.nextInt(20) != 0) + return false; + + for (int i = 0; i < randomsource.nextInt(6) + 1; i++) { + placeDeposit(pos, level, randomsource); + pos = pos.north(randomsource.nextInt(40) - 20); + pos = pos.west(randomsource.nextInt(40) - 20); + } + + return true; + } + + public void placeDeposit(BlockPos startingPos, WorldGenLevel level, RandomSource randomsource) { + BlockPos pos = startingPos; + level.setBlock(startingPos, TFMGBlocks.OIL_DEPOSIT.getDefaultState(), 2); + + + for (int i = 0; i < randomsource.nextInt(25); i++) { + pos = pos.above(); + + level.setBlock(pos, TFMGFluids.CRUDE_OIL.get().getSource().defaultFluidState().createLegacyBlock(), 2); + + + Direction direction1 = Direction.getRandom(randomsource); + if (direction1.getAxis().isHorizontal()) + level.setBlock(pos.relative(direction1), TFMGFluids.CRUDE_OIL.get().getSource().defaultFluidState().createLegacyBlock(), 2); + + if (i < 4) { + Direction direction2 = Direction.getRandom(randomsource); + if (direction2.getAxis().isHorizontal()) + level.setBlock(pos.relative(direction2), TFMGBlocks.FOSSILSTONE.getDefaultState(), 2); + } + + } + } +} diff --git a/src/main/java/com/drmangotea/tfmg/worldgen/deposits/OilWellFeature.java b/src/main/java/com/drmangotea/tfmg/worldgen/deposits/OilWellFeature.java new file mode 100644 index 00000000..e824ddfd --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/worldgen/deposits/OilWellFeature.java @@ -0,0 +1,109 @@ +package com.drmangotea.tfmg.worldgen.deposits; + + +import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.drmangotea.tfmg.registry.TFMGFluids; +import com.mojang.serialization.Codec; +import net.createmod.catnip.data.Iterate; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.chunk.ChunkGenerator; +import net.minecraft.world.level.levelgen.Heightmap; +import net.minecraft.world.level.levelgen.feature.Feature; +import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import net.minecraft.world.level.material.Fluids; +import net.minecraft.world.phys.AABB; +import net.neoforged.neoforge.common.Tags; + +public class OilWellFeature extends Feature { + public OilWellFeature(Codec pCodec) { + super(pCodec); + } + + @Override + public boolean place(FeaturePlaceContext context) { + + BlockPos startingPos = context.origin(); + WorldGenLevel level = context.level(); + BlockPos pos = startingPos; + RandomSource randomsource = context.random(); + + ChunkGenerator chunkGenerator = context.chunkGenerator(); + + int height = level.getHeight(Heightmap.Types.WORLD_SURFACE_WG,pos.getX(),pos.getZ())+70+randomsource.nextInt(12); + + + + + + for(int i = 0; i < height;i++){ + + if(i==0) { + level.setBlock(startingPos, TFMGBlocks.OIL_DEPOSIT.getDefaultState(), 2); + pos = pos.above(); + continue; + } + + + +// if(randomsource.nextInt(10)==7) { + + + + for(Direction direction : Iterate.directions){ + if(randomsource.nextInt(3)==1) + if(direction.getAxis().isHorizontal()&&level.getBlockState(pos.relative(direction)).is(Blocks.STONE)){ + level.setBlock(pos.relative(direction), TFMGBlocks.FOSSILSTONE.getDefaultState(), 2); + } + //if(i------------------------] Game Elements [------------------------<-", + + "block.tfmg.accumulator": "Akkumulator", + "block.tfmg.air_intake": "Lufteinlass", + "block.tfmg.aluminum_bars": "Aluminiumgitter", + "block.tfmg.aluminum_block": "Aluminiumblock", + "block.tfmg.aluminum_cable_hub": "Aluminium-Kabelnabe", + "block.tfmg.aluminum_cogwheel": "Aluminiumzahnrad", + "block.tfmg.aluminum_fluid_valve": "Aluminiumflüssigkeitsventil", + "block.tfmg.aluminum_flywheel": "Aluminiumschwungrad", + "block.tfmg.aluminum_frame": "Aluminumrahmen", + "block.tfmg.aluminum_ladder": "Aluminiumleiter", + "block.tfmg.aluminum_mechanical_pump": "Mechanische Aluminiumpumpe", + "block.tfmg.aluminum_pipe": "Aluminiumrohr", + "block.tfmg.aluminum_scaffolding": "Aluminuimgerüst", + "block.tfmg.aluminum_smart_fluid_pipe": "Schlaues Aluminiumrohr", + "block.tfmg.aluminum_truss": "Aluminiumfachwerk", + "block.tfmg.asphalt": "Asphalt", + "block.tfmg.bauxite": "Bauxit", + "block.tfmg.bauxite_pillar": "Bauxitsäule", + "block.tfmg.black_concrete": "Schwarzer Beton", + "block.tfmg.black_concrete_slab": "Schwarze Betonplatte", + "block.tfmg.black_concrete_stairs": "Schwarze Betontreppe", + "block.tfmg.black_concrete_wall": "Schwarze Betonwand", + "block.tfmg.blast_furnace_output": "Hochofenauslass", + "block.tfmg.blue_caution_block": "Blauer Warnstreifenblock", + "block.tfmg.blue_concrete": "Blauer Beton", + "block.tfmg.blue_concrete_slab": "Blaue Betonplatte", + "block.tfmg.blue_concrete_stairs": "Blaue Betontreppe", + "block.tfmg.blue_concrete_wall": "Blaue Betonwand", + "block.tfmg.brass_cable_hub": "Messing-Kabelnabe", + "block.tfmg.brass_fluid_valve": "Messingflüssigkeitsventil", + "block.tfmg.brass_frame": "Messingrahmen", + "block.tfmg.brass_mechanical_pump": "Mechanische Messingpumpe", + "block.tfmg.brass_pipe": "Messingrohr", + "block.tfmg.brass_smart_fluid_pipe": "Schlaues Messingrohr", + "block.tfmg.brass_truss": "Messinggerüst", + "block.tfmg.brown_caution_block": "Brauner Warnstreifenblock", + "block.tfmg.brown_concrete": "Brauner Beton", + "block.tfmg.brown_concrete_slab": "Braune Betonplatte", + "block.tfmg.brown_concrete_stairs": "Braune Betontreppe", + "block.tfmg.brown_concrete_wall": "Braune Betonwand", + "block.tfmg.cable_connector": "Kabelanschluss", + "block.tfmg.cable_tube": "Kabelröhre", + "block.tfmg.capacitor": "Kondensator", + "block.tfmg.cast_iron_bars": "Gusseisengitter", + "block.tfmg.cast_iron_block": "Gusseisenblock", + "block.tfmg.cast_iron_fluid_valve": "Gusseisenrohr", + "block.tfmg.cast_iron_flywheel": "Gusseisenschwungrad", + "block.tfmg.cast_iron_frame": "Gusseisenrahmen", + "block.tfmg.cast_iron_ladder": "Gusseisenleiter", + "block.tfmg.cast_iron_mechanical_pump": "Mechanische Gusseisenpumpe", + "block.tfmg.cast_iron_pipe": "Gusseisenrohr", + "block.tfmg.cast_iron_smart_fluid_pipe": "Schlaues Gusseisenrohr", + "block.tfmg.cast_iron_truss": "Gusseisenfachwerk", + "block.tfmg.casting_basin": "Gießbecken", + "block.tfmg.casting_spout": "Gießtülle", + "block.tfmg.cement": "Zement", + "block.tfmg.cinder_block": "Hohlblocksteinblock", + "block.tfmg.cinderflour_block": "Zindermehlsteinblock", + "block.tfmg.coal_coke_block": "Koksblock", + "block.tfmg.coke_oven": "Koksofen", + "block.tfmg.compact_engine": "Kompakter Motor", + "block.tfmg.concrete": "Beton", + "block.tfmg.concrete_slab": "Betonplatte", + "block.tfmg.concrete_stairs": "Betontreppe", + "block.tfmg.concrete_wall": "Betonwand", + "block.tfmg.converter": "Konverter", + "block.tfmg.cooling_fluid": "Kühlflüssigkeit", + "block.tfmg.copper_cable_hub": "Kupfer-Kabelnabe", + "block.tfmg.copper_coil": "Kupferspule", + "block.tfmg.copper_encased_aluminum_pipe": "Kupferumhülltes Aluminiumrohr", + "block.tfmg.copper_encased_brass_pipe": "Kupferumhülltes Messingrohr", + "block.tfmg.copper_encased_cast_iron_pipe": "Kupferumhülltes Gusseisenrohr", + "block.tfmg.copper_encased_plastic_pipe": "Kupferumhülltes Plastikrohr", + "block.tfmg.copper_encased_steel_pipe": "Kupferumhülltes Stahlrohr", + "block.tfmg.copper_frame": "Kupferrahmen", + "block.tfmg.copper_truss": "Kupferfachwerk", + "block.tfmg.copycat_cable_base": "Copycat Kabelbasis", + "block.tfmg.copycat_cable_block": "Copycat Kabelblock", + "block.tfmg.creative_generator": "Kreativer Generator", + "block.tfmg.creosote": "Kreosot", + "block.tfmg.crude_oil": "Rohöl", + "block.tfmg.cut_bauxite": "Geschnittenes Bauxit", + "block.tfmg.cut_bauxite_brick_slab": "Geschnittene Bauxitziegelstufe", + "block.tfmg.cut_bauxite_brick_stairs": "Geschnittene Bauxitziegeltreppe", + "block.tfmg.cut_bauxite_brick_wall": "Geschnittene Bauxitziegelwand", + "block.tfmg.cut_bauxite_bricks": "Geschnittene Bauxitziegel", + "block.tfmg.cut_bauxite_slab": "Geschnittene Bauxitplatte", + "block.tfmg.cut_bauxite_stairs": "Geschnittene Bauxittreppe", + "block.tfmg.cut_bauxite_wall": "Geschnittene Bauxitwand", + "block.tfmg.cut_galena": "Geschnittenes Galenit", + "block.tfmg.cut_galena_brick_slab": "Geschnittene Galenitziegelstufe", + "block.tfmg.cut_galena_brick_stairs": "Geschnittene Galenitziegeltreppe", + "block.tfmg.cut_galena_brick_wall": "Geschnittene Galenitziegelwand", + "block.tfmg.cut_galena_bricks": "Geschnittene Galenitziegel", + "block.tfmg.cut_galena_slab": "Geschnittene Galenitstufe", + "block.tfmg.cut_galena_stairs": "Geschnittene Galenittreppe", + "block.tfmg.cut_galena_wall": "Geschnittene Galenitwand", + "block.tfmg.cyan_caution_block": "Türkiser Warnstreifenblock", + "block.tfmg.cyan_concrete": "Türkiser Beton", + "block.tfmg.cyan_concrete_slab": "Türkise Betonstufe", + "block.tfmg.cyan_concrete_stairs": "Türkise Betontreppe", + "block.tfmg.cyan_concrete_wall": "Türkise Betonwand", + "block.tfmg.deepslate_lead_ore": "Tiefenschiefer-Bleierz", + "block.tfmg.deepslate_lithium_ore": "Tiefenschiefer-Lithiumerz", + "block.tfmg.deepslate_nickel_ore": "Tiefenschiefer-Nickelerz", + "block.tfmg.diagonal_cable_block": "Diagonaler Kabelblock", + "block.tfmg.diesel": "Diesel", + "block.tfmg.diesel_engine": "Dieselmotor", + "block.tfmg.diesel_engine_expansion": "Dieselmotorerweiterung", + "block.tfmg.electric_casing": "Electrorahmen", + "block.tfmg.electric_motor": "Electromotor", + "block.tfmg.energy_meter": "Energiezähler", + "block.tfmg.exhaust": "Auspuff", + "block.tfmg.factory_floor": "Fabrikboden", + "block.tfmg.factory_floor_slab": "Fabrikbodenstufe", + "block.tfmg.factory_floor_stairs": "Fabrikbodentreppe", + "block.tfmg.firebox": "Feuerraum", + "block.tfmg.fireclay": "Schamotte", + "block.tfmg.fireproof_brick_reinforcement": "Schamottziegel-Verstärkung", + "block.tfmg.fireproof_bricks": "Schamottziegel", + "block.tfmg.flarestack": "Gasfackel", + "block.tfmg.formwork_block": "Schalungsblock", + "block.tfmg.fossilstone": "Fossilstein", + "block.tfmg.galena": "Galenit", + "block.tfmg.galena_pillar": "Galenitsäule", + "block.tfmg.gasoline": "Benzin", + "block.tfmg.gasoline_engine": "Benzinmotor", + "block.tfmg.gasoline_engine_back": "Benzinmotor-Hinterteil", + "block.tfmg.generator": "Generator", + "block.tfmg.glass_aluminum_pipe": "Gläsernes Aluminiumrohr", + "block.tfmg.glass_brass_pipe": "Gläsernes Messingrohr", + "block.tfmg.glass_cast_iron_pipe": "Gläsernes Gusseisenrohr", + "block.tfmg.glass_plastic_pipe": "Gläsernes Plastikrohr", + "block.tfmg.glass_steel_pipe": "Gläsernes Stahlrohr", + "block.tfmg.gray_caution_block": "Grauer Warnstreifenblock", + "block.tfmg.gray_concrete": "Grauer Beton", + "block.tfmg.gray_concrete_slab": "Graue Betonstufe", + "block.tfmg.gray_concrete_stairs": "Graue Betontreppe", + "block.tfmg.gray_concrete_wall": "Graue Betonwand", + "block.tfmg.green_caution_block": "Grüner Warnstreifenblock", + "block.tfmg.green_concrete": "Grüner Beton", + "block.tfmg.green_concrete_slab": "Grüne Betonstufe", + "block.tfmg.green_concrete_stairs": "Grüne Betontreppe", + "block.tfmg.green_concrete_wall": "Grüne Betonwand", + "block.tfmg.hardened_planks": "Behandeltes Holz", + "block.tfmg.hardened_planks_slab": "Behandelte Holzstufe", + "block.tfmg.heavy_cable_hub": "Schwermaschinen-Kabelnabe", + "block.tfmg.heavy_casing_door": "Schwermaschinerierahmentür", + "block.tfmg.heavy_casing_encased_aluminum_cogwheel": "Schwerumhülltes Aluminiumzahnrad", + "block.tfmg.heavy_casing_encased_cogwheel": "Schwerumhülltes Zahnrad", + "block.tfmg.heavy_casing_encased_large_aluminum_cogwheel": "Schwerumhülltes großes Aluminiumzahnrad", + "block.tfmg.heavy_casing_encased_large_cogwheel": "Schwerumhülltes großes Zahnrad", + "block.tfmg.heavy_casing_encased_large_steel_cogwheel": "Schwerumhülltes großes Stahlzahnrad", + "block.tfmg.heavy_casing_encased_shaft": "Schwerumhüllte Achse", + "block.tfmg.heavy_casing_encased_steel_cogwheel": "Schwerumhülltes Stahlzahnrad", + "block.tfmg.heavy_machinery_casing": "Schwermaschinerierahmen", + "block.tfmg.heavy_oil": "Schweröl", + "block.tfmg.industrial_pipe": "Industrielles Rohr", + "block.tfmg.kerosene": "Kerosin", + "block.tfmg.large_aluminum_cogwheel": "Großes Aluminiumzahnrad", + "block.tfmg.large_pumpjack_hammer_connector": "Großer Balancierantrieb", + "block.tfmg.large_pumpjack_hammer_head": "Großer Pferdekopf", + "block.tfmg.large_pumpjack_hammer_part": "Großes Balancierteil", + "block.tfmg.large_radial_engine": "Großer Sternmotor", + "block.tfmg.large_steel_cogwheel": "Großes Stahlzahnrad", + "block.tfmg.layered_bauxite": "Geschichtetes Bauxit", + "block.tfmg.layered_galena": "Geschichtetes Galenit", + "block.tfmg.lead_bars": "Bleigitter", + "block.tfmg.lead_block": "Bleiblock", + "block.tfmg.lead_flywheel": "Bleischwungrad", + "block.tfmg.lead_frame": "Bleirahmen", + "block.tfmg.lead_glass": "Bleiglas", + "block.tfmg.lead_ladder": "Bleiter", + "block.tfmg.lead_ore": "Bleierz", + "block.tfmg.lead_truss": "Bleifachwerk", + "block.tfmg.light_blue_caution_block": "Hellblauer Warnstreifenblock", + "block.tfmg.light_blue_concrete": "Hellblauer Beton", + "block.tfmg.light_blue_concrete_slab": "Hellblaue Betonstufe", + "block.tfmg.light_blue_concrete_stairs": "Hellblaue Betontreppe", + "block.tfmg.light_blue_concrete_wall": "Hellblaue Betonwand", + "block.tfmg.light_bulb": "Glühbirne", + "block.tfmg.light_gray_caution_block": "Hellgrauer Warnstreifenblock", + "block.tfmg.light_gray_concrete": "Hellgrauer Beton", + "block.tfmg.light_gray_concrete_slab": "Hellgraue Betonstufe", + "block.tfmg.light_gray_concrete_stairs": "Hellgraue Betontreppe", + "block.tfmg.light_gray_concrete_wall": "Hellgraue Betonwand", + "block.tfmg.lignite": "Braunkohle", + "block.tfmg.lime_caution_block": "Hellgrüner Warnstreifenblock", + "block.tfmg.lime_concrete": "Hellgrüner Beton", + "block.tfmg.lime_concrete_slab": "Hellgrüne Betonstufe", + "block.tfmg.lime_concrete_stairs": "Hellgrüne Betontreppe", + "block.tfmg.lime_concrete_wall": "Hellgrüne Betonwand", + "block.tfmg.liquid_asphalt": "Flüssiger Asphalt", + "block.tfmg.liquid_concrete": "Flüssiger Beton", + "block.tfmg.liquid_plastic": "Flüssiges Plastik", + "block.tfmg.lithium_block": "Lithiumblock", + "block.tfmg.lithium_ore": "Lithiumerz", + "block.tfmg.lithium_torch": "Lithium Fackel", + "block.tfmg.low_grade_fuel_engine": "Kreosotmotor", + "block.tfmg.lpg_engine": "LPG-Motor", + "block.tfmg.lpg_engine_back": "LPG-Motor Hinterteil", + "block.tfmg.lubrication_oil": "Schmieröl", + "block.tfmg.machine_input": "Maschinenantrieb", + "block.tfmg.magenta_caution_block": "Telekom Warnstreifenblock", + "block.tfmg.magenta_concrete": "Telekom Beton", + "block.tfmg.magenta_concrete_slab": "Telekom Betonplatte", + "block.tfmg.magenta_concrete_stairs": "Telekom Betontreppe", + "block.tfmg.magenta_concrete_wall": "Telekom Betonwand", + "block.tfmg.molten_metal": "Geschmolzenes Metall", + "block.tfmg.molten_slag": "Geschmolzene Schlacke", + "block.tfmg.molten_steel": "Geschmolzener Stahl", + "block.tfmg.napalm": "Napalm", + "block.tfmg.napalm_bomb": "Napalmbombe", + "block.tfmg.naphtha": "Naphtha", + "block.tfmg.neon_tube": "Neonröhre", + "block.tfmg.nickel_bars": "Nickelgitter", + "block.tfmg.nickel_block": "Nickelblock", + "block.tfmg.nickel_flywheel": "Nickelschwungrad", + "block.tfmg.nickel_frame": "Nickelrahmen", + "block.tfmg.nickel_ladder": "Nickelleiter", + "block.tfmg.nickel_ore": "Nickelerz", + "block.tfmg.nickel_truss": "Nickelfachwerk", + "block.tfmg.oil_deposit": "Ölvorkommen", + "block.tfmg.orange_caution_block": "Orangener Warnstreifenblock", + "block.tfmg.orange_concrete": "Orangener Beton", + "block.tfmg.orange_concrete_slab": "Orangene Betonstufe", + "block.tfmg.orange_concrete_stairs": "Orangene Betontreppe", + "block.tfmg.orange_concrete_wall": "Orangene Betonwand", + "block.tfmg.pink_caution_block": "Pinker Warnstreifenblock", + "block.tfmg.pink_concrete": "Pinker Beton", + "block.tfmg.pink_concrete_slab": "Pinke Betonstufe", + "block.tfmg.pink_concrete_stairs": "Pinke Betontreppe", + "block.tfmg.pink_concrete_wall": "Pinke Betonwand", + "block.tfmg.plastic_block": "Plastikblock", + "block.tfmg.plastic_fluid_valve": "Plastik-Flüssigkeitsventil", + "block.tfmg.plastic_mechanical_pump": "Mechanische Plastikpumpe", + "block.tfmg.plastic_pipe": "Plastikrohr", + "block.tfmg.plastic_smart_fluid_pipe": "Schlaues Plastikrohr", + "block.tfmg.polarizer": "Polarisator", + "block.tfmg.polished_cut_bauxite": "Poliertes geschnittenes Bauxit", + "block.tfmg.polished_cut_bauxite_slab": "Polierte geschnittene Bauxitstufe", + "block.tfmg.polished_cut_bauxite_stairs": "Polierte geschnittene Bauxittreppe", + "block.tfmg.polished_cut_bauxite_wall": "Polierte geschnittene Bauxitwand", + "block.tfmg.polished_cut_galena": "Poliertes geschnittenes Galenit", + "block.tfmg.polished_cut_galena_slab": "Polierte geschnittene Galenitstufe", + "block.tfmg.polished_cut_galena_stairs": "Polierte geschnittene Galenittreppe", + "block.tfmg.polished_cut_galena_wall": "Polierte geschnittene Galenitwand", + "block.tfmg.pumpjack_base": "Bohrloch-Anschluss", + "block.tfmg.pumpjack_crank": "Pumpenantrieb", + "block.tfmg.pumpjack_hammer": "Balancier", + "block.tfmg.pumpjack_hammer_connector": "Balancierantrieb", + "block.tfmg.pumpjack_hammer_head": "Pferdekopf", + "block.tfmg.pumpjack_hammer_part": "Balancierteil", + "block.tfmg.purple_caution_block": "Lila Warnstreifenblock", + "block.tfmg.purple_concrete": "Lila Beton", + "block.tfmg.purple_concrete_slab": "Lila Betonplatte", + "block.tfmg.purple_concrete_stairs": "Lila Betontreppe", + "block.tfmg.purple_concrete_wall": "Lila Betonwand", + "block.tfmg.radial_engine": "Sternmotor", + "block.tfmg.radial_engine_input": "Sternmotoranschluss", + "block.tfmg.radial_engine_input_ponder": "Sternmotoranschlussanleitung", + "block.tfmg.rebar_concrete": "Stahlbeton", + "block.tfmg.rebar_concrete_slab": "Stahlbetonstufe", + "block.tfmg.rebar_concrete_stairs": "Stahlbetontreppe", + "block.tfmg.rebar_concrete_wall": "Stahlbetonwand", + "block.tfmg.rebar_formwork_block": "Verstärkter Schalungsblock", + "block.tfmg.red_caution_block": "Roter Warnstreifenblock", + "block.tfmg.red_concrete": "Roter Beton", + "block.tfmg.red_concrete_slab": "Rote Betonstufe", + "block.tfmg.red_concrete_stairs": "Rote Betontreppe", + "block.tfmg.red_concrete_wall": "Rote Betonwand", + "block.tfmg.resistor": "Widerstand", + "block.tfmg.rgb_light_bulb": "RGB Glühbirne", + "block.tfmg.rotor": "Rotor", + "block.tfmg.small_bauxite_brick_slab": "Kleine Bauxitziegelstufe", + "block.tfmg.small_bauxite_brick_stairs": "Kleine Bauxitziegeltreppe", + "block.tfmg.small_bauxite_brick_wall": "Kleine Bauxitziegelwand", + "block.tfmg.small_bauxite_bricks": "Kleine Bauxitziegel", + "block.tfmg.small_galena_brick_slab": "Kleine Galenitziegelstufe", + "block.tfmg.small_galena_brick_stairs": "Kleine Galenitziegeltreppe", + "block.tfmg.small_galena_brick_wall": "Kleine Galenitziegelwand", + "block.tfmg.small_galena_bricks": "Kleine Galenitziegel", + "block.tfmg.stator": "Stator", + "block.tfmg.steel_bars": "Stahlgitter", + "block.tfmg.steel_block": "Stahlblock", + "block.tfmg.steel_cable_hub": "Stahl-Kabelnabe", + "block.tfmg.steel_casing": "Stahlrahmen", + "block.tfmg.steel_casing_cable_hub": "Stahlrahmen-Kabelnabe", + "block.tfmg.steel_cogwheel": "Stahlzahnrad", + "block.tfmg.steel_distillation_controller": "Stählerner Destillationsregler", + "block.tfmg.steel_distillation_output": "Stahldestillationsausgabe", + "block.tfmg.steel_door": "Stahltür", + "block.tfmg.steel_encased_aluminum_cogwheel": "Stahlumhülltes Aluminiumzahnrad", + "block.tfmg.steel_encased_cogwheel": "Stahlumhülltes Zahnrad", + "block.tfmg.steel_encased_large_aluminum_cogwheel": "Stahlumhülltes großes Aluminiumzahnrad", + "block.tfmg.steel_encased_large_cogwheel": "Stahlumhülltes großes Zahnrad", + "block.tfmg.steel_encased_large_steel_cogwheel": "Stahlumhülltes großes Stahlzahnrad", + "block.tfmg.steel_encased_shaft": "Stahlumhüllte Achse", + "block.tfmg.steel_encased_steel_cogwheel": "Stahlumhülltes Stahlzahnrad", + "block.tfmg.steel_fluid_tank": "Stahlflüssigkeitstank", + "block.tfmg.steel_fluid_valve": "Stahlflüssigkeitsventil", + "block.tfmg.steel_flywheel": "Stahlschwungrad", + "block.tfmg.steel_frame": "Stahlrahmen", + "block.tfmg.steel_gearbox": "Stahlgetriebe", + "block.tfmg.steel_ladder": "Stahlleiter", + "block.tfmg.steel_mechanical_pump": "Mechanische Stahlpumpe", + "block.tfmg.steel_pipe": "Stahlrohr", + "block.tfmg.steel_scaffolding": "Stahlgrüst", + "block.tfmg.steel_smart_fluid_pipe": "Schlaues Stahlrohr", + "block.tfmg.steel_truss": "Stahlfachwerk", + "block.tfmg.sulfur": "Schwefel", + "block.tfmg.sulfuric_acid": "Schwefelsäure", + "block.tfmg.surface_scanner": "Oberflächenscanner", + "block.tfmg.turbine_engine": "Turbinenmotor", + "block.tfmg.turbine_engine_back": "Turbinenmotor-Hinterteil", + "block.tfmg.voltage_cube": "Spannungskubus", + "block.tfmg.voltmeter": "Spannungsmeter", + "block.tfmg.white_caution_block": "Weißer Warnstreifenblock", + "block.tfmg.white_concrete": "Weißer Beton", + "block.tfmg.white_concrete_slab": "Weiße Betonstufe", + "block.tfmg.white_concrete_stairs": "Weiße Betontreppe", + "block.tfmg.white_concrete_wall": "Weiße Betonwand", + "block.tfmg.yellow_caution_block": "Gelber Warnstreifenblock", + "block.tfmg.yellow_concrete": "Gelber Beton", + "block.tfmg.yellow_concrete_slab": "Gelbe Betonstufe", + "block.tfmg.yellow_concrete_stairs": "Gelbe Betontreppe", + "block.tfmg.yellow_concrete_wall": "Gelbe Betonwand", + "block.tfmg.zinc_frame": "Zinkrahmen", + "block.tfmg.zinc_truss": "Zinkfachwerk", + + "entity.tfmg.blue_spark": "Blauer Funke", + "entity.tfmg.copper_grenade": "Kupfergranate", + "entity.tfmg.green_spark": "Grüner Funke", + "entity.tfmg.lithium_spark": "Lithium Funke", + "entity.tfmg.napalm_bomb_entity": "Napalmbombenentität", + "entity.tfmg.napalm_potato": "Napalmkartoffel", + "entity.tfmg.pipe_bomb": "Rohrbombe", + "entity.tfmg.spark": "Funke", + "entity.tfmg.thermite_grenade": "Thermitgranate", + "entity.tfmg.zinc_grenade": "Zinkgranate", + + "fluid.tfmg.air": "Luft", + "fluid.tfmg.butane": "Butan", + "fluid.tfmg.carbon_dioxide": "Kohlendioxid", + "fluid.tfmg.cooling_fluid": "Kühlflüssigkeit", + "fluid.tfmg.creosote": "Kreosot", + "fluid.tfmg.crude_oil": "Rohöl", + "fluid.tfmg.diesel": "Diesel", + "fluid.tfmg.ethylene": "Ethylen", + "fluid.tfmg.gasoline": "Benzin", + "fluid.tfmg.heavy_oil": "Schweröl", + "fluid.tfmg.kerosene": "Kerosin", + "fluid.tfmg.liquid_asphalt": "Flüssiger Asphalt", + "fluid.tfmg.liquid_concrete": "Flüssiger Beton", + "fluid.tfmg.liquid_plastic": "Flüssiges Plastik", + "fluid.tfmg.lpg": "LPG", + "fluid.tfmg.lubrication_oil": "Schmieröl", + "fluid.tfmg.molten_slag": "Geschmolzene Schlacke", + "fluid.tfmg.molten_steel": "Geschmolzener Stahl", + "fluid.tfmg.napalm": "Napalm", + "fluid.tfmg.naphtha": "Naphtha", + "fluid.tfmg.neon": "Neon", + "fluid.tfmg.propane": "Propan", + "fluid.tfmg.propylene": "Propylen", + "fluid.tfmg.sulfuric_acid": "Schwefelsäure", + + "item.tfmg.advanced_potato_cannon": "Fortschrittliche Kartoffelkanone", + "item.tfmg.air_bucket": "Lufttank", + "item.tfmg.aluminum_axe": "Aluminiumaxt", + "item.tfmg.aluminum_hoe": "Aluminiumhacke", + "item.tfmg.aluminum_ingot": "Aluminiumbarren", + "item.tfmg.aluminum_pickaxe": "Aluminiumspitzhacke", + "item.tfmg.aluminum_shovel": "Aluminiumschaufel", + "item.tfmg.aluminum_sword": "Aluminiumschwert", + "item.tfmg.aluminum_wire": "Aluminiumdraht", + "item.tfmg.bitumen": "Bitumen", + "item.tfmg.blasting_mixture": "Hochofengemisch", + "item.tfmg.block_mold": "Blockgussform", + "item.tfmg.bottle_of_battery_acid": "Flasche mit Batteriesäure", + "item.tfmg.bottle_of_concrete": "Flasche mit Beton", + "item.tfmg.butane_bucket": "Butantank", + "item.tfmg.capacitor_": "Kondensator", + "item.tfmg.carbon_dioxide_bucket": "Kohlendioxidtank", + "item.tfmg.cast_iron_ingot": "Gusseisenbarren", + "item.tfmg.cinderblock": "Hohlblockstein", + "item.tfmg.cinderflourblock": "Zindermehlstein", + "item.tfmg.coal_coke": "Koks", + "item.tfmg.coal_coke_dust": "Koksstaub", + "item.tfmg.concrete_mixture": "Betonmischung", + "item.tfmg.cooling_fluid_bucket": "Kühlflüssigkeitseimer", + "item.tfmg.copper_cable": "Kupferkabel", + "item.tfmg.copper_grenade": "Kupfergranate", + "item.tfmg.copper_sulfate": "Kupfersulfat", + "item.tfmg.copper_wire": "Kupferdraht", + "item.tfmg.creosote_bucket": "Kreosoteimer", + "item.tfmg.crude_oil_bucket": "Rohöleimer", + "item.tfmg.diesel_bucket": "Dieseleimer", + "item.tfmg.engine_base": "Motorrohling", + "item.tfmg.engine_chamber": "Brennraum", + "item.tfmg.ethylene_bucket": "Ethylentank", + "item.tfmg.fireclay_ball": "Schamottklumpen", + "item.tfmg.fireproof_brick": "Schamottziegel", + "item.tfmg.flamethrower": "Flammenwerfer", + "item.tfmg.gasoline_bucket": "Benzineimer", + "item.tfmg.heavy_oil_bucket": "Schweröleimer", + "item.tfmg.heavy_plate": "Stahlplatte", + "item.tfmg.ingot_mold": "Barrengussform", + "item.tfmg.kerosene_bucket": "Kerosineimer", + "item.tfmg.lead_axe": "Bleiaxt", + "item.tfmg.lead_hoe": "Bleihacke", + "item.tfmg.lead_ingot": "Bleibarren", + "item.tfmg.lead_pickaxe": "Bleispitzhacke", + "item.tfmg.lead_shovel": "Bleischaufel", + "item.tfmg.lead_sword": "Bleischwert", + "item.tfmg.limesand": "Kalksand", + "item.tfmg.liquid_asphalt_bucket": "Eimer mit flüssigem Asphalt", + "item.tfmg.liquid_concrete_bucket": "Eimer mit flüssigem Beton", + "item.tfmg.liquid_plastic_bucket": "Eimer mit flüssigem Plastik", + "item.tfmg.lit_lithium_blade": "Lithiumklinge", + "item.tfmg.lithium_blade": "Lithiumklinge", + "item.tfmg.lithium_charge": "Lithium-Ladung", + "item.tfmg.lithium_ingot": "Lithiumbarren", + "item.tfmg.lpg_bucket": "LPG-Tank", + "item.tfmg.lubrication_oil_bucket": "Schmieröleimer", + "item.tfmg.magnetic_ingot": "Magnetbarren", + "item.tfmg.molten_slag_bucket": "Eimer mit geschmolzener Schlacke", + "item.tfmg.molten_steel_bucket": "Eimer mit geschmolzenem Stahl", + "item.tfmg.napalm_bucket": "Napalmeimer", + "item.tfmg.napalm_potato": "Napalm-Kartoffel", + "item.tfmg.naphtha_bucket": "Naphthaeimer", + "item.tfmg.neon_bucket": "Neontank", + "item.tfmg.nickel_ingot": "Nickelbarren", + "item.tfmg.nitrate_dust": "Nitratstaub", + "item.tfmg.pipe_bomb": "Rohrbombe", + "item.tfmg.plastic_sheet": "Plastikplatte", + "item.tfmg.propane_bucket": "Propantank", + "item.tfmg.propylene_bucket": "Propylentank", + "item.tfmg.quad_potato_cannon": "Quattrokartoffelkanone", + "item.tfmg.raw_lead": "Rohblei", + "item.tfmg.raw_lithium": "Rohlithium", + "item.tfmg.raw_nickel": "Rohnickel", + "item.tfmg.rebar": "Bewehrungsstahl", + "item.tfmg.resistor_": "Widerstand", + "item.tfmg.screw": "Schraube", + "item.tfmg.screwdriver": "Schraubendreher", + "item.tfmg.slag": "Schlacke", + "item.tfmg.spark_plug": "Zündkerze", + "item.tfmg.steel_axe": "Stahlaxt", + "item.tfmg.steel_boots": "Stahlstiefel", + "item.tfmg.steel_chestplate": "Stahlbrustpanzer", + "item.tfmg.steel_helmet": "Stahlhelm", + "item.tfmg.steel_hoe": "Stahlhacke", + "item.tfmg.steel_ingot": "Stahlbarren", + "item.tfmg.steel_leggings": "Stahlhose", + "item.tfmg.steel_mechanism": "Stahlmechanismus", + "item.tfmg.steel_pickaxe": "Stahlspitzhacke", + "item.tfmg.steel_shovel": "Stahlschaufel", + "item.tfmg.steel_sword": "Stahlschwert", + "item.tfmg.steel_vertical_gearbox": "Vertikales Stahlgetriebe", + "item.tfmg.sulfur_dust": "Schwefelstaub", + "item.tfmg.sulfuric_acid_bucket": "Eimer mit Schwefelsäure", + "item.tfmg.synthetic_leather": "Kunstleder", + "item.tfmg.synthetic_string": "Kunstfaser", + "item.tfmg.thermite_grenade": "Thermitgranate", + "item.tfmg.thermite_powder": "Thermitpulver", + "item.tfmg.turbine_blade": "Turbinenschaufel", + "item.tfmg.unfinished_gasoline_engine": "Unfertiger Benzinmotor", + "item.tfmg.unfinished_lpg_engine": "Unfertiger LPG-Motor", + "item.tfmg.unfinished_steel_mechanism": "Unfertiger Stahlmechanismus", + "item.tfmg.unfinished_turbine_engine": "Unfertiger Turbinenmotor", + "item.tfmg.unprocessed_heavy_plate": "Unfertige Stahlplatte", + "item.tfmg.zinc_grenade": "Zinkgranate", + "item.tfmg.zinc_sulfate": "Zinksulfat", + + "itemGroup.tfmg.base": "Create: The Factory Must Grow", + "itemGroup.tfmg.building": "Create: TFMG Baublöcke", + + "create.goggles.misc.number": "%1$s", + "create.goggles.misc.percent_symbol": "%", + "create.goggles.misc.dot_one": ".", + "create.goggles.misc.dot_two": "..", + "create.goggles.misc.dot_three": "...", + "create.goggles.misc.storage_info": "Lagerinfo:", + "create.goggles.fluid_in_tank": "Tankinhalt:", + "create.goggles.surface_scanner.no_rotation": "Keine Energie", + "create.goggles.surface_scanner.no_deposit": "Kein Vorkommen gefunden", + "create.goggles.surface_scanner.deposit_found": "Vorkommen gefunden!", + "create.goggles.surface_scanner.distance": "Distanz: %1$s Blöcke", + "create.goggles.surface_scanner.scanning_surface": "Scannen der Oberfläche", + "create.goggles.distillation_tower.status": "Informationen zum Destillationsturm:", + "create.goggles.distillation_tower.tank_not_found": "Stahlflüssigkeitstank nicht gefunden", + "create.goggles.distillation_tower.level": "Wärmestufe: %1$s", + "create.goggles.distillation_tower.found_outputs": "Ausgabenmenge: %1$s", + "create.goggles.distillation_tower.no_outputs": "Keine Ausgabenblöcke gefunden", + "create.goggles.blast_furnace.stats": "Hochofen:", + "create.goggles.blast_furnace.fuel_amount": "Brennstoffmenge: %1$s", + "create.goggles.blast_furnace.item_count": "Inhaltsmenge: %1$s", + "create.goggles.blast_furnace.height": "Höhe: %1$s", + "create.goggles.blast_furnace.nothing_lol": "", + "create.goggles.blast_furnace.status.off": "Status: Untätig", + "create.goggles.blast_furnace.status.running": "Status: In betrieb", + "create.goggles.blast_furnace.diameter.one": "Durchmesser: 1", + "create.goggles.blast_furnace.diameter.two": "Durchmesser: 2", + "create.goggles.blast_furnace.invalid": "Hochofen ungültig", + "create.goggles.coke_oven.status": "Koksofen:", + "create.goggles.coke_oven.fluid_amount_output": "Interner Tankinhalt: %1$s mB", + "create.goggles.coke_oven.fluid_amount_exhaust": "Kohlendioxid: %1$s mB", + "create.goggles.coke_oven.item_count": "Interne Speichermänge: %1$s", + "create.goggles.coke_oven.invalid": "Koksofen ungültig", + "create.goggles.coke_oven.tank_full": "Interner Tank ist voll", + "create.goggles.coke_oven.progress": "Fortschritt: %1$s", + "create.goggles.engine_stats": "Motoreigenschaften:", + "create.goggles.engine_exhaust_stats": "Motorauspuffeigenschaften:", + "create.goggles.fuel_container": "Flüssigkeitsspeicher", + "create.goggles.engine.backpartmissing": "Hinterteil fehlt:", + "create.goggles.engine_redstone_input": "Geschwindigkeit:", + "create.goggles.engine.efficiency": "Effizienz:", + + "create.tooltip.engine_analog_strength": "%1$s/15", + + "create.goggles.get_engine_efficiency": "%1$s", + "create.goggles.engine.stress": "%1$ssu", + "create.goggles.diesel_engine.info": "Dieselmotor:", + "create.goggles.pumpjack_info": "Tiefpumpeninfo:", + "create.goggles.pumpjack.part_missing": "Pferdekopf oder Antrieb fehlt", + "create.goggles.pumpjack.wrong_rotation1": "Der Bohrloch-Anschluss ist inkorrekt Orientiert, die rote Markierung", + "create.goggles.pumpjack.wrong_rotation2": "muss weg vom Balancierantrieb zeigen", + "create.goggles.pumpjack_fluid_storage": "Flüssigkeitsspeicherinfo:", + "create.goggles.pumpjack.fluid_amount": "Flüssigkeitsmenge:", + "create.goggles.pumpjack.deposit_info": "Bohrlochinfo:", + + "create.pumpjack_deposit_amount": "%1$s B", + + "create.goggles.zero": "Maschine ungültig", + "create.goggles.machine_input.info": "Maschinenantriebsinfo", + "create.goggles.machine_input.no_rot": "Keine Energie!", + "create.goggles.machine_input.power_level": "Leistungsstufe: ", + "create.goggles.electric_machine.no_power": "Kein Strom", + "create.goggles.electricity.insufficient_voltage": "Unzureichende Spannung", + "create.goggles.voltmeter": "Spannungsmeter:", + "create.goggles.voltmeter.voltage": " Messwert: %1$s V", + "create.goggles.voltmeter.range": " Messbereich: %1$s V", + "create.goggles.energy_meter": "Energiezähler:", + "create.goggles.energy_meter.energy": " Energie: %1$s FE", + "create.goggles.motor.usage": "Stromverbrauch: %1$s FE/t", + "create.goggles.generator.production": "Stromgeneration: %1$s FE/t", + + "create.resistor.allowed_voltage": "Erlaubte Spannung", + + "create.creative_generator.voltage_generation": "Spannungsgeneration", + + "death.attack.tfmg.concrete": "%1$s hat versucht, Beton zu essen", + "death.attack.tfmg.concrete.player": "%1$s Bekam einen schweren Magen", + "death.attack.tfmg.acid": "%1$s hat in Säure gebadet", + "death.attack.tfmg.acid.player": "%1$s hat in Säure gebadet", + + "create.recipe.distillation": "Distillation", + "create.recipe.advanced_distillation": "Fortschrittline Distillation", + "create.recipe.industrial_blasting": "Industrielle Stahlerzeugung", + "create.recipe.casting": "Gießen", + "create.recipe.coking": "Verkokung", + + "item.minecraft.potion.effect.hellfire_potion": "Trank des Höllenfeuers", + "item.minecraft.splash_potion.effect.hellfire_potion": "Wurftrank des Höllenfeuers", + "item.minecraft.lingering_potion.effect.hellfire_potion": "Verweiltrank des Höllenfeuers", + "item.minecraft.tipped_arrow.effect.hellfire_potion": "Pfeil des Höllenfeuers", + + "effect.tfmg.hellfire": "Höllenfeuer", + + "create.wires.removed_data": "Daten entfernt", + + "create.voltage": "Spannung: %1$s", + + "create.fe": "FE: %1$s", + + "create.network": "Netz: %1$s", + + "create.network_true": "Netzsteuerung: An", + + "create.network_false": "Netzsteuerung: Aus", + + "tfmg.subtitle.engine_sounds": "Motorgeräusche", + "tfmg.subtitle.diesel_engine_sounds": "Dieselmotorgeräusche", + + "._.": "-_-", + + "item.tfmg.quad_potato_cannon.tooltip.summary": "Feuert 4 deiner selbst angebauten Gemüsesorten auf Feinde. Kann mit _Luftdruck_ aus einem _Rückentank_ betrieben werden", + "item.tfmg.quad_potato_cannon.tooltip.condition1": "Beim Rechtsklicken", + "item.tfmg.quad_potato_cannon.tooltip.behaviour1": "_Schießt_ einen geeigneten Gegenstand aus deinem _Inventar_.", + "item.tfmg.quad_potato_cannon.tooltip.condition2": "Bei Rückentanknutzung", + "item.tfmg.quad_potato_cannon.tooltip.behaviour2": "_Keine_ _Haltbarkeit_ wird verbraucht. Stattdessen wird _Luftdruck_ aus dem _Rückentank_ verbraucht", + "item.tfmg.advanced_potato_cannon.tooltip.summary": "Feuert _Napalm-Kartoffeln_ auf Feinde ab. Kann mit _Luftdruck_ aus einem _Rückentank_ betrieben werden", + "item.tfmg.advanced_potato_cannon.tooltip.condition1": "Beim Rechtsklicken", + "item.tfmg.advanced_potato_cannon.tooltip.behaviour1": "_Schießt_ eine _Napalm__-Kartoffel_ aus deinem _Inventar_.", + "item.tfmg.advanced_potato_cannon.tooltip.condition2": "Bei Rückentanknutzung", + "item.tfmg.advanced_potato_cannon.tooltip.behaviour2": "_Keine_ _Haltbarkeit_ wird verbraucht. Stattdessen wird _Luftdruck_ aus dem _Rückentank_ verbraucht.", + "item.tfmg.flamethrower.tooltip.summary": "Verbrennt brennbare _Gase_ und _Flüssigkeiten_ um eine Flamme auf Feinde zu schießen", + "item.tfmg.flamethrower.tooltip.condition1": "Beim Rechtsklicken", + "item.tfmg.flamethrower.tooltip.behaviour1": "_Wirft Flammen_ ", + "item.tfmg.flamethrower.tooltip.condition2": "Beim Rechtsklicken eines Flüssigkeitstanks mit brennbarem Inhalt", + "item.tfmg.flamethrower.tooltip.behaviour2": "Der _Brennstoff_ wird aus dem Tank genommen. _Reichweite_ und _Sprühbreite_ ändern sich anhand des gewählte _Brennstoffs_", + "item.tfmg.lithium_blade.tooltip.summary": "Die nutzung von _Lithium-Ladungen_ setzt die Klinge in Flammen, welche Feinde verbrennt und Funken aus _Höllenfeuer_ schießen kann", + "item.tfmg.lithium_blade.tooltip.condition1": "Beim Rechtsklicken im normalen Zustand", + "item.tfmg.lithium_blade.tooltip.behaviour1": "Wird auf _Höllenfeuer_ gestellt, was eine _Lithium-Ladung_ verbraucht. Die Flamme zündet Feinde für eine bestimmte Zeit an, dieses Feuer wird bleiben, selbst nachdem der Feind sich in Wasser gelöscht hat", + "item.tfmg.lithium_blade.tooltip.condition2": "Beim Rechtsklicken im aktiven Zustand", + "item.tfmg.lithium_blade.tooltip.behaviour2": "Schießt mehrere _Höllenfeuer_funken, welche die Klingenladung verbrauchen", + "item.tfmg.pipebomb.tooltip.summary": "So cool", + "item.tfmg.screwdriver.tooltip.summary": "Kann Rohre an Ort und Stelle sperren", + "item.tfmg.screwdriver.tooltip.condition1": "Beim Rechtsklicken eines Rohres", + "item.tfmg.screwdriver.tooltip.behaviour1": "Sperrt das _Rohr_ in der momentanen Drehung, was erlaubt, _Rohre_ nebeneinander zu platzieren, _ohne das diese sich verbinden_", + "block.tfmg.formwork_block.tooltip.summary": "Hält flüssigen Beton bis dieser zu Betonblöcken härtet", + "block.tfmg.formwork_block.tooltip.condition1": "Wenn Beton eingepumpt wird", + "block.tfmg.formwork_block.tooltip.behaviour1": "Füllt sich mit _flüssigem Beton, welcher nach einiger Zeit zu festen Betonblöcken härtet", + "block.tfmg.rebar_formwork_block.tooltip.summary": "Hält flüssigen Beton bis dieser zu Stahlbetonblöcken härtet", + "block.tfmg.rebar_formwork_block.tooltip.condition1": "Wenn Beton eingepumpt wird", + "block.tfmg.rebar_formwork_block.tooltip.behaviour1": "Füllt sich mit _flüssigem Beton, welcher nach einiger Zeit zu festen Stahlbetonblöcken härtet", + "block.tfmg.firebox.tooltip.summary": "Nutzt Brennstoffe um als Lohenbrenner zu agieren", + "block.tfmg.firebox.condition1": "Wenn Brennstoff eingegeben wird", + "block.tfmg.firebox.tooltip.behaviour1": "Der _Feuerraum_ wird als _Lohenbrenner_ agieren bis dieser keinen Brennstoff mehr hat. Es gibt keine Möglichkeit, diesen zu überhitzen", + "block.tfmg.polarizer.tooltip.summary": "Macht Magnetbarren aus Stahl", + "block.tfmg.polarizer.condition1": "Wenn mit Energie versorgt", + "block.tfmg.polarizer.tooltip.behaviour1": "Wird ein _Stahlbarren_ zu einem _Magnetbarren_ verwandeln, wenn mit mit einem _Stahlbarren_ darauf gerechtsklickt wird", + "block.tfmg.energy_meter.tooltip.summary": "Misst Energie", + "block.tfmg.energy_meter.condition1": "Wenn auf einer Stromquelle plaziert", + "block.tfmg.energy_meter.tooltip.behaviour1": "Misst die _Energie_ der _Stromquelle_", + "block.tfmg.energy_meter.condition2": "Wenn mit Ingenieursbrille angeschaut", + "block.tfmg.energy_meter.tooltip.behaviour2": "Zeigt detaillierte Info über die _Energie_ der Stromquelle", + "block.tfmg.voltmeter.tooltip.summary": "Misst Spannung", + "block.tfmg.voltmeter.condition1": "Wenn auf einer Stromquelle plaziert", + "block.tfmg.voltmeter.tooltip.behaviour1": "Misst die _Spannung_ der _Stromquelle_. Die maximale Messspannung des _Spannungsmeters_ wird von dem _Messbereich_ bestimmt", + "block.tfmg.voltmeter.condition2": "Wenn mit Ingenieursbrille angeschaut", + "block.tfmg.voltmeter.tooltip.behaviour2": "Zeigt detaillierte Info über die _Spannung_ der Stromquelle und über den _Messbereich_ des Spannungsmeters", + "block.tfmg.voltmeter.condition3": "Beim Rechtsklicken mit dem Schraubenschlüssel", + "block.tfmg.voltmeter.tooltip.behaviour3": "Ändert den _Messbereich_", + "block.tfmg.converter.tooltip.summary": "Macht andere Mods mit TFMG kompatibel, indem er Spannung hinzufügt", + "block.tfmg.converter.condition1": "Wenn FE von unten eingegeben werden", + "block.tfmg.converter.behaviour1": "Der _obere_ Anschluss gibt FE mit _Spannung_ raus, welches diese für TFMG brauchbar macht", + "block.tfmg.light_bulb.tooltip.summary": "Leuchtet unter Strom", + "block.tfmg.light_bulb.condition1": "Wenn auf einer Stromquelle plaziert", + "block.tfmg.light_bulb.behaviour1": "Die Glühbirne wird _leuchten_ wenn _Spannung_ und _Energie_ ausgelichen sind. Je höher die _Spannung_, desto stärker das Licht", + "block.tfmg.rgb_light_bulb.tooltip.summary": "Leuchtet in einer bestimmten Farbe under Strom", + "block.tfmg.rgb_light_bulb.condition1": "Wenn auf einer Stromquelle plaziert", + "block.tfmg.rgb_light_bulb.behaviour1": "Die Glühbirne wird _leuchten_ wenn _Spannung_ und _Energie_ ausgelichen sind. Je höher die _Spannung_, desto stärker das Licht", + "block.tfmg.rgb_light_bulb.condition2": "Beim Rechtsklicken mit dem Schraubenschlüssel", + "block.tfmg.rgb_light_bulb.behaviour2": "Wechselt durch die Farben", + "block.tfmg.creative_generator.tooltip.summary": "Gibt Energie heraus, die mit dem Steuerpanel eingestellt werden kann", + "block.tfmg.cable connector.tooltip.summary": "Rechtsklicke 2 Kabelanschlüsse mit einem _Kupferkabel_, welches diese _Energie_ übertragen lässt", + "block.tfmg.lithium_torch.tooltip.summary": "Funktioniert Unterwasser und kann Kopfüber platziert werden", + "block.tfmg.cable_tube.tooltip.summary": "Transportiert Energie wie ein Kabel", + "block.tfmg.diagonal_cable_block.tooltip.summary": "Transportiert Energie wie ein Kabel (aber diagonal)", + "block.tfmg.capacitor.tooltip.summary": "Hält eine kleine menge Energy (eingegeben von Unten) welche schnell von Oben herausgegeben werden kann", + "block.tfmg.accumulator.tooltip.summary": "Hält eine große menge Energy (eingegeben von Unten) welche langsam von Oben herausgegeben werden kann", + "block.tfmg.electric_motor.tooltip.summary": "Nutzt Energie um Drehbewegung zu produzieren (UPM sind an der Seite konfigurierbar)", + "block.tfmg.generator.tooltip.summary": "Nutzt Drehbewegung um Energie zu produzieren", + "block.tfmg.copper_coil.tooltip.summary": "Erhöht Spannung", + "block.tfmg.copper_coil.tooltip.behaviour1": "Um die Spannung zu ehöhen braucht man zwei Spulentürme entweder nebeneinander oder einen Block außeinander, ein Turm mindestens 1 Block größer als der andere Turm, beide Türme maximal 5 Blöcke hoch und mit dem obersten Block behrürend. Rechtsklicke den obersten Block im größeren Turm mit einem Schraubenschlüssel um diesen die Ausgabe zu machen. Energie wird ein- und ausgegeben an der oberen Seite der jeweiligen Türme.", + "block.tfmg.flarestack.tooltip.summary": "Verbrennt ungebrauchte Ölprodukte", + "block.tfmg.flarestack.tooltip.condition1": "Wenn brennbare Flüssigkeiten/Gase von unten eingepumpt werden", + "block.tfmg.flarestack.tooltip.behaviour1": "Verbrennt es, was eingepumpt wird", + "block.tfmg.resistor.tooltip.summary": "Reduziert Spannung", + "block.tfmg.resistor.tooltip.condition1": "Wenn Energie von der Rückseite (wo der Bleistreifen oben kleiner ist) eingegeben wird", + "block.tfmg.resistor.tooltip.behaviour1": "Gibt er an der Vorderseite Energie mit der erlaubten Spannung (oben konfigurierbar) heraus", + "block.tfmg.galvanic_cell.tooltip.summary": "Beinhaltet eine kleine Menge unaufladbarer Energie. Ideal für den Einstieg in die Elektrizität", + "block.tfmg.neon_tube.tooltip.summary": "Leuchtet in einer bestimmten Farbe under Strom", + "block.tfmg.neon_tube.condition1": "Wenn auf einer Stromquelle plaziert", + "block.tfmg.neon_tube.behaviour1": "Wird die Röhre _leuchten_ ", + "block.tfmg.neon_tube.condition2": "Beim Rechtsklicken mit Farbstoff", + "block.tfmg.neon_tube.behaviour2": "Ändert die Farbe", + "block.tfmg.low_grade_fuel_engine.tooltip.summary": "Nutzt Kreosot um Drehbewegung zu produzieren", + "block.tfmg.low_grade_fuel_engine.condition1": "Wenn Kreosot eingepumpt wird", + "block.tfmg.low_grade_fuel_engine.behaviour1": "Wird eine langsame _Drehbewegung_ ausgeben, welche von der Stärke des eingegebenen _Redstone-Signals_ abhängig ist", + "block.tfmg.compact_engine.tooltip.summary": "Nutzt Benzin um Drehbewegung zu produzieren", + "block.tfmg.compact_engine.condition1": "Wenn Benzin eingepumpt wird", + "block.tfmg.compact_engine.behaviour1": "Wird eine _Drehbewegung_ ausgeben, welche von der Stärke des eingegebenen _Redstone-Signals_ abhängig ist", + "block.tfmg.fireclay.tooltip.summary": "Wird in unterirdischen Mineraladern in der Overworld gefunden", + "block.tfmg.copper_cable_hub.tooltip.summary": "Kann mit Redstone ausgeschalten werden", + "block.tfmg.aluminium_cable_hub.tooltip.summary": "Kann mit Redstone ausgeschalten werden", + "block.tfmg.brass_cable_hub.tooltip.summary": "Kann mit Redstone ausgeschalten werden", + "block.tfmg.steel_cable_hub.tooltip.summary": "Kann mit Redstone ausgeschalten werden", + "block.tfmg.heavy_cable_hub.tooltip.summary": "Kann mit Redstone ausgeschalten werden", + "block.tfmg.steel_casing_cable_hub.tooltip.summary": "Kann mit Redstone ausgeschalten werden", + "block.tfmg.copycat_cable_block.tooltip.summary": "Kann mit Redstone ausgeschalten werden", + + "tfmg.ponder.small_engines.text_1": "Um einen kleinen Motor zu bauen, platziere ein Vorder- und Hinterteil hintereinander", + "tfmg.ponder.small_engines.text_2": "Kraftstoff wird Vorne eingegeben, und Abgase müssen von Hinten mit Rohren und einem Auspuff entfernt werden", + "tfmg.ponder.small_engines.text_3": "Wenn Vorne ein Redstone-Signal eingegeben wird, startet der Motor", + "tfmg.ponder.small_engines.text_4": "Kleine Motoren sind LPG-, Kerosin- und Benzinmotoren", + "tfmg.ponder.diesel_engine.text_1": "Dieselmotoren werden gebaut indem man eine Achse vor einem Dieselmotorblock plaziert", + "tfmg.ponder.diesel_engine.text_2": "Der Motor produzier Abgase, welche mit Rohren und einem Auspuff entfernt werden müssen", + "tfmg.ponder.diesel_engine.text_3": "Luft wird benötigt, dass der Motor läuft, also braucht man einen Lufteinlass", + "tfmg.ponder.diesel_engine_expansion.text_1": "Dieselmotorerweiterungen können einem Dieselmotor zwei weitere einlässe für Schmieröl und Kühlflüssigkeit geben", + "tfmg.ponder.surface_scanner.text_1": "Der Oberflächenscanner wird genutzt, um Rohölvorkommen zu orten", + "tfmg.ponder.surface_scanner.text_2": "Wenn man die Maschine mit Drehbewegung versorgt, scannt diese nach dem nächsten Vorkommen", + "tfmg.ponder.surface_scanner.text_3": "Wenn ein Vorkommen gefunden ist, zeigt Kompass in dessen Richtung", + "tfmg.ponder.pumpjack.text_1": "Um Öl zu extrahieren, muss man als erstes eine Pipeline mit industriellen Rohren auf dem Vorkommen bauen", + "tfmg.ponder.pumpjack.text_2": "Danach baut man eine Tiefpumpe auf der Pipeline indem man als erstes einen Bohrloch-Anschluss plaziert...", + "tfmg.ponder.pumpjack.text_3": "Danach einen Balancierhalter dahinter...", + "tfmg.ponder.pumpjack.text_4": "Nächster Schritt ist es, den Balancierantrieb und den Pferdekopf über dem Antrieb und dem Anschluss zu bauen", + "tfmg.ponder.pumpjack.text_5": "Jetzt müssen diese mit Balancierteilen verbunden werden. Superkleber wird gebraucht, um die Struktur fertig zu machen", + "tfmg.ponder.pumpjack.text_6": "Und zuletzt muss ein Maschinenantrieb mit einem Pumpenantrieb oben drauf plaziert werden, wie gezeigt", + "tfmg.ponder.distillation_tower.text_1": "Ein Stahlflüssigkeitstank von zureichender Größe kann zu einem Destillationsturm verwandelt werden", + "tfmg.ponder.distillation_tower.text_2": "Der Turm wird gebaut, indem man zuerst einen Stählerner Destillationsregler neben dem Tank plaziert...", + "tfmg.ponder.distillation_tower.text_3": "Und bus zu 6 Stahldestillationsausgaben, alle mit industriellen Rohren verbunden, darüber plaziert", + "tfmg.ponder.distillation_tower.text_4": "Lohenbrenner werden benötigt, um die den Destillationsturm zum laufen zu bringen. Die Anzeige zeigt den momentanen Leistungswert", + "tfmg.ponder.distillation_tower.text_5": "Um Rohöl einzugeben, muss dieses in den Reglerblock eingepumpt werden", + "tfmg.ponder.distillation_tower.text_6": "Jeder Ausgabenblock gibt eines der Ölprodukte raus", + "tfmg.ponder.distillation_tower.text_7": "LPG", + "tfmg.ponder.distillation_tower.text_8": "Benzin", + "tfmg.ponder.distillation_tower.text_9": "Naphtha", + "tfmg.ponder.distillation_tower.text_10": "Kerosin", + "tfmg.ponder.distillation_tower.text_11": "Diesel", + "tfmg.ponder.distillation_tower.text_12": "Schweröl", + "tfmg.ponder.blast_furnace.text_1": "Die Basis des Hochofens ist ein Hochofenauslassblock", + "tfmg.ponder.blast_furnace.text_2": "Um einen Hochofen zu bauen, konstruiere ein Schornstein aus Schamottziegeln wie gezeigt", + "tfmg.ponder.blast_furnace.text_3": "Die untere Hälfte des Schornsteins muss Verstärkt werden", + "tfmg.ponder.blast_furnace.text_4": "Brennstoff und andere Gegenstände werden durch die Öffnung oben eingegeben", + "tfmg.ponder.coke_oven.text_1": "Der Koksofen wird gebaut, indem man Koksofenblöcke wie hier gezeigt plaziert und auf die Seite mit einem Schraubenschlüssel klickt", + "tfmg.ponder.coke_oven.text_2": "Der Verkokungsprozess ist langsam, deswegen ist es Effizienter, lange Reihen gleichzeitig arbeitender Öfen zu bauen", + "tfmg.ponder.coke_oven.text_3": "Kohle kann von jeder Seite eingegeben werden", + "tfmg.ponder.coke_oven.text_4": "Während dem Betrieb produziert der Ofen Kreosot und CO2, welche für den weiteren Betrieb rausgepumpt werden müssen", + "tfmg.ponder.coke_oven.text_5": "Sobald der Prozess fertig ist, wird Koks aus der Öffnung ausgeworfen", + "tfmg.ponder.casting.text_1": "Beim Gießen wird flüssiges Metall mit einer Gießtülle in ein Gießbecken gegossen ", + "tfmg.ponder.casting.text_2": "Das Gießbecken braucht, selbstverständlicherweise, eine Gussform um genutzt zu werden", + "tfmg.ponder.radial_engines.text_1": "Sternmotoren sind eine besondere Art von Motor, welche keinen Auspuff brauchen und eine Achse auf beiden Seiten haben", + "tfmg.ponder.radial_engines.text_2": "Wenn man auf eine Seite des Motors klickt, entsteht ein Anschluss, welcher Kraftstoff und Redstone-Signale akzeptiert", + "tfmg.ponder.radial_engines.text_3": "Normale Sternmotoren nutzen Benzin als Kraftstoff", + "tfmg.ponder.radial_engines.text_4": "Der Motor startet wenn ein Redstone-Signal an den Anschluss oder den Motor selber gegeben wird", + "tfmg.ponder.radial_engines.text_5": "Die zweite Variante eines Sternmotors ist der große Sternmotor, welcher Kerosin als Kraftstoff nutzt", + "tfmg.ponder.large_generator.text_1": "Der Hauptteil eines großen Generators ist der Rotor", + "tfmg.ponder.large_generator.text_2": "Um einen großen Generator zu vervollständigen muss man Statorblöcke um den Rotor plazieren", + "tfmg.ponder.large_generator.text_3": "Wenn man den Rotor mit Drehbewegung versorgt, wird Elektrizität erzeugt", + "tfmg.ponder.large_generator.text_4": "Wenn man auf eine Seite mit dem Schraubenschlüssel klickt, entsteht dort ein Energieauslass", + + "tfmg.ponder.distillation_tower.header": "Aufbau eines Destillationsturms", + + "tfmg.ponder.pumpjack.header": "Aufbau einer Tiefpumpe", + + "tfmg.ponder.surface_scanner.header": "Ölsuche", + + "tfmg.ponder.diesel_engine.header": "Aufbau eines Dieselmotors", + + "tfmg.ponder.diesel_engine_expansion.header": "Erweitern eines Dieselmotors", + + "tfmg.ponder.small_engines.header": "Aufbau kleiner Motoren", + + "tfmg.ponder.radial_engines.header": "Gebrauch von Sternmotoren", + + "tfmg.ponder.large_generator.header": "Aufbau eines großen Generators", + + "tfmg.ponder.coke_oven.header": "Aufbau eines Koksofens", + + "tfmg.ponder.blast_furnace.header": "Aufbau eines Hochofens", + + "tfmg.ponder.casting.header": "Metallgießen", + "tfmg.ponder.tag.oil": "Ölmaschinerie", + "tfmg.ponder.tag.metallurgy": "Metallverarbeitung", + "tfmg.ponder.tag.oil.description": "Maschinen die Rohöl und dessen Nebenprodukte extrahieren, verarbeiten oder benutzen", + "tfmg.ponder.tag.metallurgy.description": "Maschinen die Metalle und andere Rohmaterialien Produzieren, verarbeiten oder benutzen", + + + "_": "->------------------------] UI & Messages [------------------------<-", + + "itemGroup.tfmg.base": "Create: The Factory Must Grow", + "itemGroup.tfmg.building": "Create: TFMG Baublöcke", + + "create.goggles.misc.number": "%1$s", + "create.goggles.misc.percent_symbol": "%", + "create.goggles.misc.dot_one": ".", + "create.goggles.misc.dot_two": "..", + "create.goggles.misc.dot_three": "...", + "create.goggles.misc.storage_info": "Lagerinfo:", + "create.goggles.fluid_in_tank": "Tankinhalt:", + "create.goggles.surface_scanner.no_rotation": "Keine Energie", + "create.goggles.surface_scanner.no_deposit": "Kein Vorkommen gefunden", + "create.goggles.surface_scanner.deposit_found": "Vorkommen gefunden!", + "create.goggles.surface_scanner.distance": "Distanz: %1$s Blöcke", + "create.goggles.surface_scanner.scanning_surface": "Scannen der Oberfläche", + "create.goggles.distillation_tower.status": "Informationen zum Destillationsturm:", + "create.goggles.distillation_tower.tank_not_found": "Stahlflüssigkeitstank nicht gefunden", + "create.goggles.distillation_tower.level": "Wärmestufe: %1$s", + "create.goggles.distillation_tower.found_outputs": "Ausgabenmenge: %1$s", + "create.goggles.distillation_tower.no_outputs": "Keine Ausgabenblöcke gefunden", + "create.goggles.blast_furnace.stats": "Hochofen:", + "create.goggles.blast_furnace.fuel_amount": "Brennstoffmenge: %1$s", + "create.goggles.blast_furnace.item_count": "Inhaltsmenge: %1$s", + "create.goggles.blast_furnace.height": "Höhe: %1$s", + "create.goggles.blast_furnace.nothing_lol": "", + "create.goggles.blast_furnace.status.off": "Status: Untätig", + "create.goggles.blast_furnace.status.running": "Status: In betrieb", + "create.goggles.blast_furnace.diameter.one": "Durchmesser: 1", + "create.goggles.blast_furnace.diameter.two": "Durchmesser: 2", + "create.goggles.blast_furnace.invalid": "Hochofen ungültig", + "create.goggles.coke_oven.status": "Koksofen:", + "create.goggles.coke_oven.fluid_amount_output": "Interner Tankinhalt: %1$s mB", + "create.goggles.coke_oven.fluid_amount_exhaust": "Kohlendioxid: %1$s mB", + "create.goggles.coke_oven.item_count": "Interne Speichermänge: %1$s", + "create.goggles.coke_oven.invalid": "Koksofen ungültig", + "create.goggles.coke_oven.tank_full": "Interner Tank ist voll", + "create.goggles.coke_oven.progress": "Fortschritt: %1$s", + "create.goggles.engine_stats": "Motoreigenschaften:", + "create.goggles.engine_exhaust_stats": "Motorauspuffeigenschaften:", + "create.goggles.fuel_container": "Flüssigkeitsspeicher", + "create.goggles.engine.backpartmissing": "Hinterteil fehlt:", + "create.goggles.engine_redstone_input": "Geschwindigkeit:", + "create.goggles.engine.efficiency": "Effizienz:", + + "create.tooltip.engine_analog_strength": "%1$s/15", + + "create.goggles.get_engine_efficiency": "%1$s", + "create.goggles.engine.stress": "%1$ssu", + "create.goggles.diesel_engine.info": "Dieselmotor:", + "create.goggles.pumpjack_info": "Tiefpumpeninfo:", + "create.goggles.pumpjack.part_missing": "Pferdekopf oder Antrieb fehlt", + "create.goggles.pumpjack.wrong_rotation1": "Der Bohrloch-Anschluss ist inkorrekt Orientiert, die rote Markierung", + "create.goggles.pumpjack.wrong_rotation2": "muss weg vom Balancierantrieb zeigen", + "create.goggles.pumpjack_fluid_storage": "Flüssigkeitsspeicherinfo:", + "create.goggles.pumpjack.fluid_amount": "Flüssigkeitsmenge:", + "create.goggles.pumpjack.deposit_info": "Bohrlochinfo:", + + "create.pumpjack_deposit_amount": "%1$s B", + + "create.goggles.zero": "Maschine ungültig", + "create.goggles.machine_input.info": "Maschinenantriebsinfo", + "create.goggles.machine_input.no_rot": "Keine Energie!", + "create.goggles.machine_input.power_level": "Leistungsstufe: ", + "create.goggles.electric_machine.no_power": "Kein Strom", + "create.goggles.electricity.insufficient_voltage": "Unzureichende Spannung", + "create.goggles.voltmeter": "Spannungsmeter:", + "create.goggles.voltmeter.voltage": " Messwert: %1$s V", + "create.goggles.voltmeter.range": " Messbereich: %1$s V", + "create.goggles.energy_meter": "Energiezähler:", + "create.goggles.energy_meter.energy": " Energie: %1$s FE", + "create.goggles.motor.usage": "Stromverbrauch: %1$s FE/t", + "create.goggles.generator.production": "Stromgeneration: %1$s FE/t", + + "create.resistor.allowed_voltage": "Erlaubte Spannung", + + "create.creative_generator.voltage_generation": "Spannungsgeneration", + + "death.attack.tfmg.concrete": "%1$s hat versucht, Beton zu essen", + "death.attack.tfmg.concrete.player": "%1$s Bekam einen schweren Magen", + "death.attack.tfmg.acid": "%1$s hat in Säure gebadet", + "death.attack.tfmg.acid.player": "%1$s hat in Säure gebadet", + + "create.recipe.distillation": "Distillation", + "create.recipe.advanced_distillation": "Fortschrittline Distillation", + "create.recipe.industrial_blasting": "Industrielle Stahlerzeugung", + "create.recipe.casting": "Gießen", + "create.recipe.coking": "Verkokung", + + "item.minecraft.potion.effect.hellfire_potion": "Trank des Höllenfeuers", + "item.minecraft.splash_potion.effect.hellfire_potion": "Wurftrank des Höllenfeuers", + "item.minecraft.lingering_potion.effect.hellfire_potion": "Verweiltrank des Höllenfeuers", + "item.minecraft.tipped_arrow.effect.hellfire_potion": "Pfeil des Höllenfeuers", + + "effect.tfmg.hellfire": "Höllenfeuer", + + "create.wires.removed_data": "Daten entfernt", + + "create.voltage": "Spannung: %1$s", + + "create.fe": "FE: %1$s", + + "create.network": "Netz: %1$s", + + "create.network_true": "Netzsteuerung: An", + + "create.network_false": "Netzsteuerung: Aus", + + "tfmg.subtitle.engine_sounds": "Motorgeräusche", + "tfmg.subtitle.diesel_engine_sounds": "Dieselmotorgeräusche", + + + "_": "->------------------------] Tooltips [------------------------<-", + + "OwO": "-_-", + + "item.tfmg.quad_potato_cannon.tooltip.summary": "Feuert 4 deiner selbst angebauten Gemüsesorten auf Feinde. Kann mit _Luftdruck_ aus einem _Rückentank_ betrieben werden", + "item.tfmg.quad_potato_cannon.tooltip.condition1": "Beim Rechtsklicken", + "item.tfmg.quad_potato_cannon.tooltip.behaviour1": "_Schießt_ einen geeigneten Gegenstand aus deinem _Inventar_.", + "item.tfmg.quad_potato_cannon.tooltip.condition2": "Bei Rückentanknutzung", + "item.tfmg.quad_potato_cannon.tooltip.behaviour2": "_Keine_ _Haltbarkeit_ wird verbraucht. Stattdessen wird _Luftdruck_ aus dem _Rückentank_ verbraucht", + "item.tfmg.advanced_potato_cannon.tooltip.summary": "Feuert _Napalm-Kartoffeln_ auf Feinde ab. Kann mit _Luftdruck_ aus einem _Rückentank_ betrieben werden", + "item.tfmg.advanced_potato_cannon.tooltip.condition1": "Beim Rechtsklicken", + "item.tfmg.advanced_potato_cannon.tooltip.behaviour1": "_Schießt_ eine _Napalm__-Kartoffel_ aus deinem _Inventar_.", + "item.tfmg.advanced_potato_cannon.tooltip.condition2": "Bei Rückentanknutzung", + "item.tfmg.advanced_potato_cannon.tooltip.behaviour2": "_Keine_ _Haltbarkeit_ wird verbraucht. Stattdessen wird _Luftdruck_ aus dem _Rückentank_ verbraucht.", + "item.tfmg.flamethrower.tooltip.summary": "Verbrennt brennbare _Gase_ und _Flüssigkeiten_ um eine Flamme auf Feinde zu schießen", + "item.tfmg.flamethrower.tooltip.condition1": "Beim Rechtsklicken", + "item.tfmg.flamethrower.tooltip.behaviour1": "_Wirft Flammen_ ", + "item.tfmg.flamethrower.tooltip.condition2": "Beim Rechtsklicken eines Flüssigkeitstanks mit brennbarem Inhalt", + "item.tfmg.flamethrower.tooltip.behaviour2": "Der _Brennstoff_ wird aus dem Tank genommen. _Reichweite_ und _Sprühbreite_ ändern sich anhand des gewählte _Brennstoffs_", + "item.tfmg.lithium_blade.tooltip.summary": "Die nutzung von _Lithium-Ladungen_ setzt die Klinge in Flammen, welche Feinde verbrennt und Funken aus _Höllenfeuer_ schießen kann", + "item.tfmg.lithium_blade.tooltip.condition1": "Beim Rechtsklicken im normalen Zustand", + "item.tfmg.lithium_blade.tooltip.behaviour1": "Wird auf _Höllenfeuer_ gestellt, was eine _Lithium-Ladung_ verbraucht. Die Flamme zündet Feinde für eine bestimmte Zeit an, dieses Feuer wird bleiben, selbst nachdem der Feind sich in Wasser gelöscht hat", + "item.tfmg.lithium_blade.tooltip.condition2": "Beim Rechtsklicken im aktiven Zustand", + "item.tfmg.lithium_blade.tooltip.behaviour2": "Schießt mehrere _Höllenfeuer_funken, welche die Klingenladung verbrauchen", + "item.tfmg.pipebomb.tooltip.summary": "So cool", + "item.tfmg.screwdriver.tooltip.summary": "Kann Rohre an Ort und Stelle sperren", + "item.tfmg.screwdriver.tooltip.condition1": "Beim Rechtsklicken eines Rohres", + "item.tfmg.screwdriver.tooltip.behaviour1": "Sperrt das _Rohr_ in der momentanen Drehung, was erlaubt, _Rohre_ nebeneinander zu platzieren, _ohne das diese sich verbinden_", + "block.tfmg.formwork_block.tooltip.summary": "Hält flüssigen Beton bis dieser zu Betonblöcken härtet", + "block.tfmg.formwork_block.tooltip.condition1": "Wenn Beton eingepumpt wird", + "block.tfmg.formwork_block.tooltip.behaviour1": "Füllt sich mit _flüssigem Beton, welcher nach einiger Zeit zu festen Betonblöcken härtet", + "block.tfmg.rebar_formwork_block.tooltip.summary": "Hält flüssigen Beton bis dieser zu Stahlbetonblöcken härtet", + "block.tfmg.rebar_formwork_block.tooltip.condition1": "Wenn Beton eingepumpt wird", + "block.tfmg.rebar_formwork_block.tooltip.behaviour1": "Füllt sich mit _flüssigem Beton, welcher nach einiger Zeit zu festen Stahlbetonblöcken härtet", + "block.tfmg.firebox.tooltip.summary": "Nutzt Brennstoffe um als Lohenbrenner zu agieren", + "block.tfmg.firebox.condition1": "Wenn Brennstoff eingegeben wird", + "block.tfmg.firebox.tooltip.behaviour1": "Der _Feuerraum_ wird als _Lohenbrenner_ agieren bis dieser keinen Brennstoff mehr hat. Es gibt keine Möglichkeit, diesen zu überhitzen", + "block.tfmg.polarizer.tooltip.summary": "Macht Magnetbarren aus Stahl", + "block.tfmg.polarizer.condition1": "Wenn mit Energie versorgt", + "block.tfmg.polarizer.tooltip.behaviour1": "Wird ein _Stahlbarren_ zu einem _Magnetbarren_ verwandeln, wenn mit mit einem _Stahlbarren_ darauf gerechtsklickt wird", + "block.tfmg.energy_meter.tooltip.summary": "Misst Energie", + "block.tfmg.energy_meter.condition1": "Wenn auf einer Stromquelle plaziert", + "block.tfmg.energy_meter.tooltip.behaviour1": "Misst die _Energie_ der _Stromquelle_", + "block.tfmg.energy_meter.condition2": "Wenn mit Ingenieursbrille angeschaut", + "block.tfmg.energy_meter.tooltip.behaviour2": "Zeigt detaillierte Info über die _Energie_ der Stromquelle", + "block.tfmg.voltmeter.tooltip.summary": "Misst Spannung", + "block.tfmg.voltmeter.condition1": "Wenn auf einer Stromquelle plaziert", + "block.tfmg.voltmeter.tooltip.behaviour1": "Misst die _Spannung_ der _Stromquelle_. Die maximale Messspannung des _Spannungsmeters_ wird von dem _Messbereich_ bestimmt", + "block.tfmg.voltmeter.condition2": "Wenn mit Ingenieursbrille angeschaut", + "block.tfmg.voltmeter.tooltip.behaviour2": "Zeigt detaillierte Info über die _Spannung_ der Stromquelle und über den _Messbereich_ des Spannungsmeters", + "block.tfmg.voltmeter.condition3": "Beim Rechtsklicken mit dem Schraubenschlüssel", + "block.tfmg.voltmeter.tooltip.behaviour3": "Ändert den _Messbereich_", + "block.tfmg.converter.tooltip.summary": "Macht andere Mods mit TFMG kompatibel, indem er Spannung hinzufügt", + "block.tfmg.converter.condition1": "Wenn FE von unten eingegeben werden", + "block.tfmg.converter.behaviour1": "Der _obere_ Anschluss gibt FE mit _Spannung_ raus, welches diese für TFMG brauchbar macht", + "block.tfmg.light_bulb.tooltip.summary": "Leuchtet unter Strom", + "block.tfmg.light_bulb.condition1": "Wenn auf einer Stromquelle plaziert", + "block.tfmg.light_bulb.behaviour1": "Die Glühbirne wird _leuchten_ wenn _Spannung_ und _Energie_ ausgelichen sind. Je höher die _Spannung_, desto stärker das Licht", + "block.tfmg.rgb_light_bulb.tooltip.summary": "Leuchtet in einer bestimmten Farbe under Strom", + "block.tfmg.rgb_light_bulb.condition1": "Wenn auf einer Stromquelle plaziert", + "block.tfmg.rgb_light_bulb.behaviour1": "Die Glühbirne wird _leuchten_ wenn _Spannung_ und _Energie_ ausgelichen sind. Je höher die _Spannung_, desto stärker das Licht", + "block.tfmg.rgb_light_bulb.condition2": "Beim Rechtsklicken mit dem Schraubenschlüssel", + "block.tfmg.rgb_light_bulb.behaviour2": "Wechselt durch die Farben", + "block.tfmg.creative_generator.tooltip.summary": "Gibt Energie heraus, die mit dem Steuerpanel eingestellt werden kann", + "block.tfmg.cable connector.tooltip.summary": "Rechtsklicke 2 Kabelanschlüsse mit einem _Kupferkabel_, welches diese _Energie_ übertragen lässt", + "block.tfmg.lithium_torch.tooltip.summary": "Funktioniert Unterwasser und kann Kopfüber platziert werden", + "block.tfmg.cable_tube.tooltip.summary": "Transportiert Energie wie ein Kabel", + "block.tfmg.diagonal_cable_block.tooltip.summary": "Transportiert Energie wie ein Kabel (aber diagonal)", + "block.tfmg.capacitor.tooltip.summary": "Hält eine kleine menge Energy (eingegeben von Unten) welche schnell von Oben herausgegeben werden kann", + "block.tfmg.accumulator.tooltip.summary": "Hält eine große menge Energy (eingegeben von Unten) welche langsam von Oben herausgegeben werden kann", + "block.tfmg.electric_motor.tooltip.summary": "Nutzt Energie um Drehbewegung zu produzieren (UPM sind an der Seite konfigurierbar)", + "block.tfmg.generator.tooltip.summary": "Nutzt Drehbewegung um Energie zu produzieren", + "block.tfmg.copper_coil.tooltip.summary": "Erhöht Spannung", + "block.tfmg.copper_coil.tooltip.behaviour1": "Um die Spannung zu ehöhen braucht man zwei Spulentürme entweder nebeneinander oder einen Block außeinander, ein Turm mindestens 1 Block größer als der andere Turm, beide Türme maximal 5 Blöcke hoch und mit dem obersten Block behrürend. Rechtsklicke den obersten Block im größeren Turm mit einem Schraubenschlüssel um diesen die Ausgabe zu machen. Energie wird ein- und ausgegeben an der oberen Seite der jeweiligen Türme.", + "block.tfmg.flarestack.tooltip.summary": "Verbrennt ungebrauchte Ölprodukte", + "block.tfmg.flarestack.tooltip.condition1": "Wenn brennbare Flüssigkeiten/Gase von unten eingepumpt werden", + "block.tfmg.flarestack.tooltip.behaviour1": "Verbrennt es, was eingepumpt wird", + "block.tfmg.resistor.tooltip.summary": "Reduziert Spannung", + "block.tfmg.resistor.tooltip.condition1": "Wenn Energie von der Rückseite (wo der Bleistreifen oben kleiner ist) eingegeben wird", + "block.tfmg.resistor.tooltip.behaviour1": "Gibt er an der Vorderseite Energie mit der erlaubten Spannung (oben konfigurierbar) heraus", + "block.tfmg.galvanic_cell.tooltip.summary": "Beinhaltet eine kleine Menge unaufladbarer Energie. Ideal für den Einstieg in die Elektrizität", + "block.tfmg.neon_tube.tooltip.summary": "Leuchtet in einer bestimmten Farbe under Strom", + "block.tfmg.neon_tube.condition1": "Wenn auf einer Stromquelle plaziert", + "block.tfmg.neon_tube.behaviour1": "Wird die Röhre _leuchten_ ", + "block.tfmg.neon_tube.condition2": "Beim Rechtsklicken mit Farbstoff", + "block.tfmg.neon_tube.behaviour2": "Ändert die Farbe", + "block.tfmg.low_grade_fuel_engine.tooltip.summary": "Nutzt Kreosot um Drehbewegung zu produzieren", + "block.tfmg.low_grade_fuel_engine.condition1": "Wenn Kreosot eingepumpt wird", + "block.tfmg.low_grade_fuel_engine.behaviour1": "Wird eine langsame _Drehbewegung_ ausgeben, welche von der Stärke des eingegebenen _Redstone-Signals_ abhängig ist", + "block.tfmg.compact_engine.tooltip.summary": "Nutzt Benzin um Drehbewegung zu produzieren", + "block.tfmg.compact_engine.condition1": "Wenn Benzin eingepumpt wird", + "block.tfmg.compact_engine.behaviour1": "Wird eine _Drehbewegung_ ausgeben, welche von der Stärke des eingegebenen _Redstone-Signals_ abhängig ist", + "block.tfmg.fireclay.tooltip.summary": "Wird in unterirdischen Mineraladern in der Overworld gefunden", + "block.tfmg.copper_cable_hub.tooltip.summary": "Kann mit Redstone ausgeschalten werden", + "block.tfmg.aluminium_cable_hub.tooltip.summary": "Kann mit Redstone ausgeschalten werden", + "block.tfmg.brass_cable_hub.tooltip.summary": "Kann mit Redstone ausgeschalten werden", + "block.tfmg.steel_cable_hub.tooltip.summary": "Kann mit Redstone ausgeschalten werden", + "block.tfmg.heavy_cable_hub.tooltip.summary": "Kann mit Redstone ausgeschalten werden", + "block.tfmg.steel_casing_cable_hub.tooltip.summary": "Kann mit Redstone ausgeschalten werden", + "block.tfmg.copycat_cable_block.tooltip.summary": "Kann mit Redstone ausgeschalten werden", + + + "_": "->------------------------] Ponders [------------------------<-", + + "tfmg.ponder.small_engines.text_1": "Um einen kleinen Motor zu bauen, platziere ein Vorder- und Hinterteil hintereinander", + "tfmg.ponder.small_engines.text_2": "Kraftstoff wird Vorne eingegeben, und Abgase müssen von Hinten mit Rohren und einem Auspuff entfernt werden", + "tfmg.ponder.small_engines.text_3": "Wenn Vorne ein Redstone-Signal eingegeben wird, startet der Motor", + "tfmg.ponder.small_engines.text_4": "Kleine Motoren sind LPG-, Kerosin- und Benzinmotoren", + "tfmg.ponder.diesel_engine.text_1": "Dieselmotoren werden gebaut indem man eine Achse vor einem Dieselmotorblock plaziert", + "tfmg.ponder.diesel_engine.text_2": "Der Motor produzier Abgase, welche mit Rohren und einem Auspuff entfernt werden müssen", + "tfmg.ponder.diesel_engine.text_3": "Luft wird benötigt, dass der Motor läuft, also braucht man einen Lufteinlass", + "tfmg.ponder.diesel_engine_expansion.text_1": "Dieselmotorerweiterungen können einem Dieselmotor zwei weitere einlässe für Schmieröl und Kühlflüssigkeit geben", + "tfmg.ponder.surface_scanner.text_1": "Der Oberflächenscanner wird genutzt, um Rohölvorkommen zu orten", + "tfmg.ponder.surface_scanner.text_2": "Wenn man die Maschine mit Drehbewegung versorgt, scannt diese nach dem nächsten Vorkommen", + "tfmg.ponder.surface_scanner.text_3": "Wenn ein Vorkommen gefunden ist, zeigt Kompass in dessen Richtung", + "tfmg.ponder.pumpjack.text_1": "Um Öl zu extrahieren, muss man als erstes eine Pipeline mit industriellen Rohren auf dem Vorkommen bauen", + "tfmg.ponder.pumpjack.text_2": "Danach baut man eine Tiefpumpe auf der Pipeline indem man als erstes einen Bohrloch-Anschluss plaziert...", + "tfmg.ponder.pumpjack.text_3": "Danach einen Balancierhalter dahinter...", + "tfmg.ponder.pumpjack.text_4": "Nächster Schritt ist es, den Balancierantrieb und den Pferdekopf über dem Antrieb und dem Anschluss zu bauen", + "tfmg.ponder.pumpjack.text_5": "Jetzt müssen diese mit Balancierteilen verbunden werden. Superkleber wird gebraucht, um die Struktur fertig zu machen", + "tfmg.ponder.pumpjack.text_6": "Und zuletzt muss ein Maschinenantrieb mit einem Pumpenantrieb oben drauf plaziert werden, wie gezeigt", + "tfmg.ponder.distillation_tower.text_1": "Ein Stahlflüssigkeitstank von zureichender Größe kann zu einem Destillationsturm verwandelt werden", + "tfmg.ponder.distillation_tower.text_2": "Der Turm wird gebaut, indem man zuerst einen Stählerner Destillationsregler neben dem Tank plaziert...", + "tfmg.ponder.distillation_tower.text_3": "Und bus zu 6 Stahldestillationsausgaben, alle mit industriellen Rohren verbunden, darüber plaziert", + "tfmg.ponder.distillation_tower.text_4": "Lohenbrenner werden benötigt, um die den Destillationsturm zum laufen zu bringen. Die Anzeige zeigt den momentanen Leistungswert", + "tfmg.ponder.distillation_tower.text_5": "Um Rohöl einzugeben, muss dieses in den Reglerblock eingepumpt werden", + "tfmg.ponder.distillation_tower.text_6": "Jeder Ausgabenblock gibt eines der Ölprodukte raus", + "tfmg.ponder.distillation_tower.text_7": "LPG", + "tfmg.ponder.distillation_tower.text_8": "Benzin", + "tfmg.ponder.distillation_tower.text_9": "Naphtha", + "tfmg.ponder.distillation_tower.text_10": "Kerosin", + "tfmg.ponder.distillation_tower.text_11": "Diesel", + "tfmg.ponder.distillation_tower.text_12": "Schweröl", + "tfmg.ponder.blast_furnace.text_1": "Die Basis des Hochofens ist ein Hochofenauslassblock", + "tfmg.ponder.blast_furnace.text_2": "Um einen Hochofen zu bauen, konstruiere ein Schornstein aus Schamottziegeln wie gezeigt", + "tfmg.ponder.blast_furnace.text_3": "Die untere Hälfte des Schornsteins muss Verstärkt werden", + "tfmg.ponder.blast_furnace.text_4": "Brennstoff und andere Gegenstände werden durch die Öffnung oben eingegeben", + "tfmg.ponder.coke_oven.text_1": "Der Koksofen wird gebaut, indem man Koksofenblöcke wie hier gezeigt plaziert und auf die Seite mit einem Schraubenschlüssel klickt", + "tfmg.ponder.coke_oven.text_2": "Der Verkokungsprozess ist langsam, deswegen ist es Effizienter, lange Reihen gleichzeitig arbeitender Öfen zu bauen", + "tfmg.ponder.coke_oven.text_3": "Kohle kann von jeder Seite eingegeben werden", + "tfmg.ponder.coke_oven.text_4": "Während dem Betrieb produziert der Ofen Kreosot und CO2, welche für den weiteren Betrieb rausgepumpt werden müssen", + "tfmg.ponder.coke_oven.text_5": "Sobald der Prozess fertig ist, wird Koks aus der Öffnung ausgeworfen", + "tfmg.ponder.casting.text_1": "Beim Gießen wird flüssiges Metall mit einer Gießtülle in ein Gießbecken gegossen ", + "tfmg.ponder.casting.text_2": "Das Gießbecken braucht, selbstverständlicherweise, eine Gussform um genutzt zu werden", + "tfmg.ponder.radial_engines.text_1": "Sternmotoren sind eine besondere Art von Motor, welche keinen Auspuff brauchen und eine Achse auf beiden Seiten haben", + "tfmg.ponder.radial_engines.text_2": "Wenn man auf eine Seite des Motors klickt, entsteht ein Anschluss, welcher Kraftstoff und Redstone-Signale akzeptiert", + "tfmg.ponder.radial_engines.text_3": "Normale Sternmotoren nutzen Benzin als Kraftstoff", + "tfmg.ponder.radial_engines.text_4": "Der Motor startet wenn ein Redstone-Signal an den Anschluss oder den Motor selber gegeben wird", + "tfmg.ponder.radial_engines.text_5": "Die zweite Variante eines Sternmotors ist der große Sternmotor, welcher Kerosin als Kraftstoff nutzt", + "tfmg.ponder.large_generator.text_1": "Der Hauptteil eines großen Generators ist der Rotor", + "tfmg.ponder.large_generator.text_2": "Um einen großen Generator zu vervollständigen muss man Statorblöcke um den Rotor plazieren", + "tfmg.ponder.large_generator.text_3": "Wenn man den Rotor mit Drehbewegung versorgt, wird Elektrizität erzeugt", + "tfmg.ponder.large_generator.text_4": "Wenn man auf eine Seite mit dem Schraubenschlüssel klickt, entsteht dort ein Energieauslass", + + "tfmg.ponder.distillation_tower.header": "Aufbau eines Destillationsturms", + + "tfmg.ponder.pumpjack.header": "Aufbau einer Tiefpumpe", + + "tfmg.ponder.surface_scanner.header": "Ölsuche", + + "tfmg.ponder.diesel_engine.header": "Aufbau eines Dieselmotors", + + "tfmg.ponder.diesel_engine_expansion.header": "Erweitern eines Dieselmotors", + + "tfmg.ponder.small_engines.header": "Aufbau kleiner Motoren", + + "tfmg.ponder.radial_engines.header": "Gebrauch von Sternmotoren", + + "tfmg.ponder.large_generator.header": "Aufbau eines großen Generators", + + "tfmg.ponder.coke_oven.header": "Aufbau eines Koksofens", + + "tfmg.ponder.blast_furnace.header": "Aufbau eines Hochofens", + + "tfmg.ponder.casting.header": "Metallgießen", + "tfmg.ponder.tag.oil": "Ölmaschinerie", + "tfmg.ponder.tag.metallurgy": "Metallverarbeitung", + "tfmg.ponder.tag.oil.description": "Maschinen die Rohöl und dessen Nebenprodukte extrahieren, verarbeiten oder benutzen", + "tfmg.ponder.tag.metallurgy.description": "Maschinen die Metalle und andere Rohmaterialien Produzieren, verarbeiten oder benutzen", + + "_": "Danke für die Übersetzung von Create: The Factory Must Grow!" + +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/lang/default/interface.json b/src/main/resources/assets/tfmg/lang/default/interface.json new file mode 100644 index 00000000..c5309ecf --- /dev/null +++ b/src/main/resources/assets/tfmg/lang/default/interface.json @@ -0,0 +1,172 @@ +{ + "creative_tab.tfmg_main": "Create: The Factory Must Grow", + "creative_tab.tfmg_decoration": "Create: TFMG Building Blocks", + + "create.goggles.fluid_storage": "Fluid Storage:", + "create.goggles.item_storage": "Item Storage:", + "create.goggles.item_storage_empty": "*Empty*", + + "create.goggles.surface_scanner.header": "Surface Scanner", + "create.goggles.surface_scanner.no_deposit": "No Deposits Found", + "create.goggles.surface_scanner.no_rotation": "Not Enough Rotation (Needs 64rpm)", + "create.goggles.surface_scanner.deposits_found": " Chunks With Oil Deposits Found", + + "create.goggles.distillation_tower.status": "Distillation Tower Info:", + "create.goggles.distillation_tower.tank_not_found": "Steel Fluid Tank Not Found", + "create.goggles.distillation_tower.level": "Heat Level: %1$s", + "create.goggles.distillation_tower.found_outputs": "Output Count: %1$s", + "create.goggles.distillation_tower.no_outputs": "No Output Blocks Found", + + "create.goggles.blast_furnace.stats": "Blast Furnace:", + "create.goggles.blast_furnace.fuel_amount": " Fuel : %1$s", + "create.goggles.blast_furnace.height": " Height: %1$s", + "create.goggles.blast_furnace.reinforced": "Reinforced", + "create.goggles.blast_furnace.timer": "Time Left: %1$s", + "create.goggles.blast_furnace.modifier": "Production Time: %1$s", + + "create.goggles.blast_stove.header": "Blast Stove: ", + "create.goggles.blast_stove.tank1": "Input Tank: ", + "create.goggles.blast_stove.tank2": "Fuel Tank: ", + "create.goggles.blast_stove.tank3": "Output Tank 1: ", + "create.goggles.blast_stove.tank4": "Output Tank 2: ", + + "create.goggles.coke_oven.header": "Coke Oven:", + "create.goggles.coke_oven.progress": "Progress: %1$s", + + "create.goggles.pumpjack_info": "Pumpjack Info:", + "create.goggles.pumpjack.reserves": "Deposit Reserves: ", + "create.goggles.pumpjack.part_missing": "Hammer or Crank Missing", + "create.goggles.pumpjack.wrong_rotation1": "The Pumpjack Base is oriented incorrectly, the red marker must", + "create.goggles.pumpjack.wrong_rotation2": "face away from the Pumpjack Hammer Holder", + "create.goggles.pumpjack_fluid_storage": "Fluid Tank Info:", + "create.goggles.pumpjack.fluid_amount": "Fluid Amount:", + "create.goggles.pumpjack.deposit_info": "Deposit Info:", + "create.pumpjack_deposit_amount": "%1$s Buckets", + "create.goggles.zero": "Machine Invalid", + + "create.voltage": "Voltage: %1$s", + "create.fe": "FE: %1$s", + "create.network": "Network: %1$s", + + "create.goggles.machine_input.info": "Machine Input Info", + "create.goggles.machine_input.no_rot": "No Rotation Provided!", + "create.goggles.machine_input.power_level": "Power Level: ", + + "create.goggles.winding_machine.header": "Winding Machine", + "create.goggles.winding_machine.turns": "Turns Left: ", + "create.goggles.winding_machine.progress": "Progress: ", + + "create.goggles.polarizer.header": "Polarizer", + "create.goggles.polarizer.charge": "Charge: ", + "create.goggles.polarizer.insufficient_power": "Not Enough Power (Needs 2000W)", + + "create.goggles.electric_machine.no_power": "No Power", + "create.goggles.electricity.insufficient_voltage": "Insufficient Voltage", + + "create.goggles.voltmeter": "Voltmeter:", + "create.goggles.gauge.value": " Measured Voltage:", + "create.goggles.voltmeter.range": " Range: %1$s", + + "create.goggles.engine.header": "Engine Info", + "create.goggles.engine.type": " Type: ", + "create.goggles.engine.rpm": " Speed: ", + "create.goggles.engine.signal": " Signal: ", + "create.goggles.engine.torque": " Torque:", + "create.goggles.engine.fuel_consumption": " Fuel Consumption:", + "create.goggles.engine.oil": "Oil: ", + "create.goggles.engine.cooling_fluid": "Cooling Fluid: ", + "create.goggles.engine.unfinished": "Engine Unfinished", + "create.goggles.engine.next_component": " Next Component: ", + "create.goggles.engine.pistons_missing": "Pistons Missing", + "create.goggles.engine.turbines_missing": "Turbines Missing", + + "create.goggles.electrode_holder.min_amps": "Not Enough Current (Needs ", + + "create.goggles.vat.header": "Chemical Vat", + "create.goggles.vat.attachments": "Attachments:", + "create.goggles.vat.contents": "Vat Contents:", + "create.goggles.vat.heat_status": "Heat Status: ", + "create.goggles.vat.no_heat": "No Heat", + "create.goggles.vat.heated": "Heated", + "create.goggles.vat.superheated": "Superheated", + "create.goggles.vat.tfmg.graphite_electrode": " Graphite Electrode", + "create.goggles.vat.tfmg.electrode": " Electrode", + "create.goggles.vat.tfmg.mixing": " Mixer", + "create.goggles.vat.tfmg.centrifuge": " Centrifuge", + + + "create.goggles.ammeter": "Ammeter:", + "create.goggles.ammeter.amps": " Measured Amps: %1$s V", + + "create.goggles.motor.usage": "Energy Usage: %1$s fe/t", + "create.goggles.generator.production": "Energy Production: %1$s fe/t", + + "create.resistor.allowed_voltage": "Percentage of Voltage Allowed", + "create.winding_machine.turn_percentage": "Allowed Turn Percentage (From 1000)", + "create.creative_generator.voltage_generation": "Voltage Generation", + + "create.distillation_output.when_tank_is_full": "When Internal Tank is Full", + "create.distillation_output.mode.keep_fluid": "Stop Distillation Process", + "create.distillation_output.mode.void_when_full": "Void Excess Fluid", + + "death.attack.tfmg.concrete": "%1$s tried to eat Concrete", + "death.attack.tfmg.concrete.player": "%1$s tried to eat Concrete", + + "death.attack.tfmg.acid": "%1$s took an acid bath", + "death.attack.tfmg.acid.player": "%1$s took an acid bath", + + "death.attack.tfmg.blast_furnace": "%1$s was turned in carbon steel", + "death.attack.tfmg.blast_furnace.player": "%1$s was thrown into a blast furnace", + + "create.tooltip.fuse": "Rating: %1$s", + "create.tooltip.resistor": "Resistance: %1$s", + "create.tooltip.coils": "Turns: %1$s", + "create.tooltip.cylinder": "Supported Fuels:", + "create.tooltip.fluid_item": "Fluid Amount: %1$s", + + "create.recipe.assembly.winding": "Wind a Spool", + + "create.recipe.distillation": "Distillation", + "create.recipe.advanced_distillation": "Advanced Distillation", + "create.recipe.industrial_blasting": "Industrial Blasting", + "create.recipe.casting": "Casting", + "create.recipe.coking": "Coking", + "create.recipe.polarizing": "Polarizing", + "create.recipe.chemical_vat": "Chemical Vat", + "create.recipe.hot_blast": "Air Blasting", + "create.recipe.winding": "Winding", + + "tfmg.keyinfo.custom_button": "Engine Controller Custom Button", + "tfmg.keyinfo.engine_start": "Start Engine", + "tfmg.keyinfo.transmission_shift_up": "Transmission Shift Up", + "tfmg.keyinfo.transmission_shift_down": "Transmission Shift Down", + + "create.multimeter.header": "Multimeter Data:", + "create.multimeter.additional_values": "Additional Values:", + "create.multimeter.power_usage": " Power Usage: ", + "create.multimeter.group": " Group: ", + "create.multimeter.voltage_generated": " Voltage Generated: ", + "create.multimeter.power_generated": " Power Generated: ", + "create.multimeter.power_percentage": " Grid Strength: ", + "create.multimeter.energy_usage": " Energy Usage: ", + "create.multimeter.energy_stored": " Energy Stored: ", + "create.multimeter.transformer_ratio": " Turn Ratio: ", + + "item.minecraft.potion.effect.hellfire_potion": "Potion of Hellfire", + "item.minecraft.splash_potion.effect.hellfire_potion": "Splash Potion of Hellfire", + "item.minecraft.lingering_potion.effect.hellfire_potion": "Lingering Potion of Hellfire", + "item.minecraft.tipped_arrow.effect.hellfire_potion": "Arrow of Hellfire", + + "effect.tfmg.hellfire": "Hellfire", + + "create.wires.removed_data": "Data Removed", + + "create.oil_hammer.reserves": "Oil Reserves: %1$s", + + + + "tfmg.subtitle.engine_sounds": "Engine Sounds", + "tfmg.subtitle.diesel_engine_sounds": "Diesel Engine Sounds" + + +} diff --git a/src/main/resources/assets/tfmg/lang/default/tooltips.json b/src/main/resources/assets/tfmg/lang/default/tooltips.json new file mode 100644 index 00000000..36cbbe24 --- /dev/null +++ b/src/main/resources/assets/tfmg/lang/default/tooltips.json @@ -0,0 +1,260 @@ +{ + + + "OwO": "UwU", + + "item.tfmg.multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.white_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.white_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.white_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.white_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.white_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.light_gray_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.light_gray_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.light_gray_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.light_gray_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.light_gray_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.gray_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.gray_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.gray_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.gray_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.gray_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.black_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.black_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.black_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.black_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.black_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.red_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.red_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.red_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.red_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.red_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.orange_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.orange_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.orange_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.orange_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.orange_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.yellow_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.yellow_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.yellow_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.yellow_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.yellow_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.lime_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.lime_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.lime_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.lime_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.lime_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.green_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.green_multimeter_.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.green_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.green_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.green_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.light_blue_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.light_blue_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.light_blue_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.light_blue_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.light_blue_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.cyan_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.cyan_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.cyan_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.cyan_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.cyan_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.blue_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.blue_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.blue_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.blue_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.blue_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.purple_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.purple_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.purple_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.purple_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.purple_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.magenta_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.magenta_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.magenta_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.magenta_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.magenta_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.pink_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.pink_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.pink_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.pink_multimeter.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.pink_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "item.tfmg.brown_multimeter.tooltip.summary": "Shows data about an electrical block and its network", + "item.tfmg.brown_multimeter.tooltip.condition1": "When looking at an electric component NOTE: It does not work while wearing Engineers Goggles", + "item.tfmg.brown_multimeter.tooltip.behaviour1": "Shows resistance, voltage, current and power in ohms, volts, amperes and kilowatts respectively along with the components group", + "item.tfmg.brown_multimeter_cannon.tooltip.condition2": "When looking at an electric component while crouching", + "item.tfmg.brown_multimeter.tooltip.behaviour2": "Additionally to the previously mentioned stats the multimeter shows the networks total power generation and consumption", + + "block.tfmg.firebox.tooltip.summary": "Heats machinery when fuel is pumped inside", + "block.tfmg.firebox.tooltip.condition1": "When filled with lpg, butane, diesel, propane, naphta or kerosene with carbon dioxide being pumped out", + "block.tfmg.firebox.tooltip.behaviour1": "Heats machinery above it acting as a blaze burner", + + "block.tfmg.winding_machine.tooltip.summary": "Changes the amount of turns on spools and the resistance on resistors", + "block.tfmg.winding_machine.tooltip.behaviour1": "Right click with your desired item (Electromagnetic Coil or Resistor) and then right click with either a Copper spool for Coils and an Aluminium one for resistors. Interact with it to set the amount of turns/ohms and power with rotation. Use the Engineers goggles to see when your winding is finished.", + + "block.tfmg.surface_scanner.tooltip.summary": "Helps to find chunks with oil", + "block.tfmg.surface_scanner.tooltip.condition1": "When powered from below with a Machine Input", + "block.tfmg.surface_scanner.tooltip.behaviour1": "The machines top 5x5 grid shows the surrounding chunks with its chunk in the center, the chunks that have atleast 1 oil deposit in them should glow. If the surface does not start to glow within a few seconds then it is likely that there are no oil deposits nearby. Chunks can be seen ingame with F3+G", + + "block.tfmg.casting_basin.tooltip.summary": "Casts ingots", + "block.tfmg.casting_basin.tooltip.condition1": "When supplied with molten steel", + "block.tfmg.casting_basin.tooltip.behaviour1": "Creates steel ingots which must have a sufficent output as the internal storage of the basin is limited", + + "block.tfmg.neon_tube.tooltip.summary": "Glows", + "block.tfmg.neon_tube.tooltip.condition1": "When provided with power", + "block.tfmg.neon_tube.tooltip.behaviour1": "Glows relative to the amount of power its receiving", + "block.tfmg.neon_tube.tooltip.condition2": "When interacted with a dye", + "block.tfmg.neon_tube.tooltip.behaviour2": "Changes color to the color of the light when glowing", + "block.tfmg.neon_tube.tooltip.condition3": "When interacted with a Wrench", + "block.tfmg.neon_tube.tooltip.behaviour3": "Changes shape providing a space to power the tube", + + "block.tfmg.light_bulb.tooltip.summary": "Glows", + "block.tfmg.light_bulb.tooltip.condition1": "When provided with power", + "block.tfmg.light_bulb.tooltip.behaviour1": "Glows relative to the amount of power its receiving", + "block.tfmg.light_bulb.tooltip.condition2": "When interacted with a dye", + "block.tfmg.light_bulb.tooltip.behaviour2": "Changes color to the color of the light when glowing", + + "block.tfmg.circular_light.tooltip.summary": "Glows", + "block.tfmg.circular_light.tooltip.condition1": "When provided with power", + "block.tfmg.circular_light.tooltip.behaviour1": "Glows relative to the amount of power its receiving", + "block.tfmg.circular_light.tooltip.condition2": "When interacted with a dye", + "block.tfmg.circular_light.tooltip.behaviour2": "Changes color to the color of the light when glowing", + + "block.tfmg.modern_light.tooltip.summary": "Glows", + "block.tfmg.modern_light.tooltip.condition1": "When provided with power", + "block.tfmg.modern_light.tooltip.behaviour1": "Glows relative to the amount of power its receiving", + "block.tfmg.modern_light.tooltip.condition2": "When interacted with a dye", + "block.tfmg.modern_light.tooltip.behaviour2": "Changes color to the color of the light when glowing", + + "block.tfmg.aluminum_lamp.tooltip.summary": "Glows", + "block.tfmg.aluminum_lamp.tooltip.condition1": "When provided with power", + "block.tfmg.aluminum_lamp.tooltip.behaviour1": "Glows relative to the amount of power its receiving", + "block.tfmg.aluminum_lamp.tooltip.condition2": "When interacted with a dye", + "block.tfmg.aluminum_lamp.tooltip.behaviour2": "Changes color to the color of the light when glowing", + + "item.tfmg.oil_can.tooltip.summary": "Adds lubrication oil to engines", + "item.tfmg.oil_can.tooltip.condition1": "When Right Clicking a tank with lubrication oil inside", + "item.tfmg.oil_can.tooltip.behaviour1": "Fills the can with lubrication oil", + "item.tfmg.oil_can.tooltip.condition2": "When Right Clicking an engine", + "item.tfmg.oil_can.tooltip.behaviour2": "Fills the engine with lubrication oil", + + "block.tfmg.cable_connector.tooltip.summary": "Transfers power", + "block.tfmg.cable_connector.tooltip.condition1": "When 2 cable insulators are right clicked with a copper/aluminum/constantan spool", + "block.tfmg.cable_connector.tooltip.behaviour1": "Created a connection between the 2 insulators transferring power between them", + + "block.tfmg.glass_cable_insulator.tooltip.summary": "Transfers power", + "block.tfmg.glass_cable_insulator.tooltip.condition1": "When 2 cable insulators are right clicked with a copper/aluminum/constantan spool", + "block.tfmg.glass_cable_insulator.tooltip.behaviour1": "Created a connection between the 2 insulators transferring power between them", + + "block.tfmg.transformer.tooltip.summary": "Changes the voltage in a circuit", + "block.tfmg.transformer.tooltip.behaviour1": "Needs 2 electromagnetic coils of different turn amounts that have to be put on the transformer where the output (indicated by a small line of copper) outputs voltage based on the ratio of the 2 coils (for example if the input has a coil with 50 turns and the output has one with a 100 then the voltage is doubled since 100/50 = 2)", + + "block.tfmg.diode.tooltip.summary": "Functions as a one way gateway for power to flow through", + "block.tfmg.diode.tooltip.condition1": "When provided with power from its darker side", + "block.tfmg.diode.tooltip.behaviour1": "The power will be outputted on its lighter side acting as a one way pathway for power (meaning any power that would be coming from its lighter side would not be outputted on the darker one)", + + "block.tfmg.blast_stove.tooltip.summary": "Heats Air", + "block.tfmg.blast_stove.tooltip.behaviour1": "When 3 blast stoves are placed on top of eachother (or in a 3x2 shape) the smallest version of a blast stove is created, to add further internal storage you can add more stove blocks on top which is generally reccomended. A Blast Stove requires 2 things to be pumped in. Air, from the side of the bottom block and Creosote or Furnace gas from the bottom. Carbon dioxide must be pumped out from the side of the bottom block and finally heated air must be pumped out from the machines top.", + + "block.tfmg.resistor.tooltip.summary": "Adds resistance to a network", + "block.tfmg.resistor.tooltip.condition1": "When placed on a block within a group", + "block.tfmg.resistor.tooltip.behaviour1": "Adds the resistors respective resistance (to see how to change its resistance look at the winding machines tooltip) to whatever electric group its target block is in", + + "block.tfmg.electrical_switch.tooltip.summary": "Lets power through when powered with redstone", + + "block.tfmg.potentiometer.tooltip.summary": "Lets through a only a set amount of voltage", + "block.tfmg.potentiometer.tooltip.behaviour1": "Based on what pecentage you set, this machine only lets through a certain amount of voltage outputted by its output (its output can be seen by the arrow like pattern on its top pointing to it)", + + "block.tfmg.fireclay.tooltip.summary": "Spawns in underground veins located in the overworld", + + "item.tfmg.advanced_potato_cannon.tooltip.summary": "Launches _Napalm Potatoes_ at Enemies. Can be powered with _Air_ _Pressure_ from a _Backtank_", + "item.tfmg.advanced_potato_cannon.tooltip.condition1": "When R-Clicked", + "item.tfmg.advanced_potato_cannon.tooltip.behaviour1": "_Shoots_ a _Napalm Potato_ from your _Inventory_.", + "item.tfmg.advanced_potato_cannon.tooltip.condition2": "While wearing Backtank", + "item.tfmg.advanced_potato_cannon.tooltip.behaviour2": "_No_ _Durability_ will be used. Instead, _Air_ _pressure_ is drained from the Tank", + + "item.tfmg.flamethrower.tooltip.summary": "Burns burnable _Gases_ and _Fluids_ to shoot out a burst of flame to burn your Enemies", + "item.tfmg.flamethrower.tooltip.condition1": "When R-Clicked", + "item.tfmg.flamethrower.tooltip.behaviour1": "_Shoots out Flames_ ", + "item.tfmg.flamethrower.tooltip.condition2": "When R-Clicking a Fluid Tank with Gasoline, Diesel, Kerosene, Naphtha, LPG, Molten Slag or Napalm inside", + "item.tfmg.flamethrower.tooltip.behaviour2": "The _Fuel_ will be consumed from the tank. _Range_ and _Spread_ change according to your _Fuel_ of choice", + + "item.tfmg.pipebomb.tooltip.summary": "So cool", + + "item.tfmg.screwdriver.tooltip.summary": "Can lock pipes in place", + "item.tfmg.screwdriver.tooltip.condition1": "When R-Clicking pipe", + "item.tfmg.screwdriver.tooltip.behaviour1": "Locks _Pipe_ in its current rotation allowing for _Pipes_ to be placed next to eachother _Without Connecting_", + + "block.tfmg.polarizer.tooltip.summary": "Makes Magnetis out of Magnetic Ingots", + "block.tfmg.polarizer.tooltip.condition1": "When powered", + "block.tfmg.polarizer.tooltip.behaviour1": "Will turn a _Magnetic Ingot_ into a _Magnet_ when right clicked with a _Magnetic Ingot_ after a bit of time", + + "item.tfmg.magnetic_alloy_ingot.tooltip.summary": "Striking this with a lightning might do something...", + + "item.tfmg.lithium_blade.tooltip.summary": "Using _Steel Ingot_Lithium Charges_, this Blade is set aflame burning enemies and shooting out Bolts of _Hellfire_", + "item.tfmg.lithium_blade.tooltip.condition1": "When R-Clicked when Off", + "item.tfmg.lithium_blade.tooltip.behaviour1": "Is set on hellfire, consuming a _Lithium Charge_. Its flame sets enemies on fire for a set amount of time, this fire is renewed even after Enemy extinguishes themself in water ", + "item.tfmg.lithium_blade.tooltip.condition2": "When R-Clicking when On", + "item.tfmg.lithium_blade.tooltip.behaviour2": "Shoots out several bolts of _Hellfire_ consuming the blades charge", + + "block.tfmg.accumulator.tooltip.summary": "Holds a Large Amount of energy (inserted from bottom) that can be outputted Slowly from the Top", + + "item.tfmg.electrictians_wrench.tooltip.summary": "Changes the electrical group of a component", + "item.tfmg.electrictians_wrench.tooltip.condition1": "When R-Clicking electrical block", + "item.tfmg.electrictians_wrench.tooltip.behaviour1": "Opens up a menu where you can choose the group of set block. Groups are explained within the generators ponder", + + "block.tfmg.flarestack.tooltip.summary": "Burns unneeded oil products", + "block.tfmg.flarestack.tooltip.condition1": "When Pumped burnable Fluids/Gases into from the bottom", + "block.tfmg.flarestack.tooltip.behaviour1": "Deletes what is pumped inside", + + "block.tfmg.large_engine.tooltip.summary": "Creates rotation from less refined fuels", + "block.tfmg.large_engine.tooltip.behaviour1": "To function it requires air and fuel to be pumped in (Diesel, Kerosene, Naphta, Furnace Gas) and co2 to be pumped out (needs an exhaust) to generate rotation (a shaft needs to be attached similiar to a steam engine)", + + "block.tfmg.simple_large_engine.tooltip.summary": "Creates rotation (less effectively than its regular counterpart) from less refined fuels", + "block.tfmg.simple_large_engine.tooltip.behaviour1": "To function it requires air and fuel to be pumped in (Diesel, Kerosene, Naphta, Furnace Gas) and co2 to be pumped out (needs an exhaust) to generate rotation (a shaft needs to be attached similiar to a steam engine)", + + "block.tfmg.engine_controller.tooltip.summary": "Controls the speed and direction of rotation generated by various types of engine", + "block.tfmg.engine_controller.tooltip.condition1": "How to link to an engine", + "block.tfmg.engine_controller.tooltip.behaviour1": "R-Click the controller with a transmission item and then do the same with the engine.", + "block.tfmg.engine_controller.tooltip.condition2": "How to control an engine", + "block.tfmg.engine_controller.tooltip.behaviour2": "Look in the Keybinds part of the minecraft settings specifically in the Create: The Factory Must Grow section", + + "block.tfmg.voltmeter.tooltip.summary": "Shows various different values about an electric component", + "block.tfmg.voltmeter.tooltip.behaviour1": "To use put this block on an electric block/component. By default it will measure voltage from 0 to 500 volts. To see what its currently measuring look at it with engineers goggles. To choose from various options of what it can measure R-Click with a wrench.", + + "block.tfmg.converter.tooltip.summary": "Converts FE to TFMG energy and vice versa", + "block.tfmg.converter.tooltip.behaviour1": "The block has a TFMG input (copper) and an FE one (redstone) by default it converts TFMG energy to FE with a wrench you can make the converter convert FE to TFMG energy. Voltage of the tfmg output may be abjusted by opening a menu on the side of the Converter", + + "block.tfmg.cocrete_hose.tooltip.summary": "Pumps concrete like a hose pulley into rebar blocks. Set concrete dries as rebar concrete", + + "block.tfmg.voltage_observer.tooltip.summary": "Powers redstone when any voltage is detected", + + "item.tfmg.quad_potato_cannon.tooltip.summary": "Launches 4 of your home-grown vegetables at Enemies. Can be powered with _Air_ _Pressure_ from a _Backtank_", + "item.tfmg.quad_potato_cannon.tooltip.condition1": "When R-Clicked", + "item.tfmg.quad_potato_cannon.tooltip.behaviour1": "_Shoots_ a suitable item from your _Inventory_.", + "item.tfmg.quad_potato_cannon.tooltip.condition2": "While wearing Backtank", + "item.tfmg.quad_potato_cannon.tooltip.behaviour2": "_No_ _Durability_ will be used. Instead, _Air_ _pressure_ is drained from the Tank" + + + +} diff --git a/src/main/resources/assets/tfmg/lang/es_es.json b/src/main/resources/assets/tfmg/lang/es_es.json new file mode 100644 index 00000000..c2af530a --- /dev/null +++ b/src/main/resources/assets/tfmg/lang/es_es.json @@ -0,0 +1,438 @@ +{ + + "_": "->------------------------] Game Elements [------------------------<-", + + "block.tfmg.air_intake": "Entrada de aire", + "block.tfmg.aluminum_bars": "Barras de aluminio", + "block.tfmg.aluminum_block": "Bloque de aluminio", + "block.tfmg.aluminum_fluid_valve": "Válvula de fluidos de aluminio", + "block.tfmg.aluminum_flywheel": "Rueda de inercia de aluminio", + "block.tfmg.aluminum_ladder": "Escalera de aluminio", + "block.tfmg.aluminum_mechanical_pump": "Bomba mecánica de aluminio", + "block.tfmg.aluminum_pipe": "Tubería de aluminio", + "block.tfmg.aluminum_scaffolding": "Andamio de aluminio", + "block.tfmg.aluminum_smart_fluid_pipe": "Tubería de fluidos inteligente de aluminio", + "block.tfmg.aluminum_truss": "Armazón de aluminio", + "block.tfmg.asphalt": "Asfalto", + "block.tfmg.bauxite": "Bauxita", + "block.tfmg.bauxite_pillar": "Pilar de bauxita", + "block.tfmg.black_concrete": "Hormigón negro", + "block.tfmg.black_concrete_slab": "Losa de hormigón negro", + "block.tfmg.black_concrete_stairs": "Escaleras de hormigón negro", + "block.tfmg.black_concrete_wall": "Muro de hormigón negro", + "block.tfmg.blast_furnace_output": "Salida del alto horno", + "block.tfmg.blue_concrete": "Hormigón azul", + "block.tfmg.blue_concrete_slab": "Losa de hormigón azul", + "block.tfmg.blue_concrete_stairs": "Escaleras de hormigón azul", + "block.tfmg.blue_concrete_wall": "Muro de hormigón azul", + "block.tfmg.brass_fluid_valve": "Válvula de fluidos de latón", + "block.tfmg.brass_mechanical_pump": "Bomba mecánica de latón", + "block.tfmg.brass_pipe": "Tubería de latón", + "block.tfmg.brass_smart_fluid_pipe": "Tubería de fluidos inteligente de latón", + "block.tfmg.brown_concrete": "Hormigón marrón", + "block.tfmg.brown_concrete_slab": "Losa de hormigón marrón", + "block.tfmg.brown_concrete_stairs": "Escaleras de hormigón marrón", + "block.tfmg.brown_concrete_wall": "Muro de hormigón marrón", + "block.tfmg.cast_iron_block": "Bloque de hierro fundido", + "block.tfmg.cast_iron_distillation_controller": "Controlador de destilación de hierro fundido", + "block.tfmg.cast_iron_distillation_output": "Salida de destilación de hierro fundido", + "block.tfmg.cast_iron_fluid_valve": "Válvula de fluidos de hierro fundido", + "block.tfmg.cast_iron_flywheel": "Rueda de inercia de hierro fundido", + "block.tfmg.cast_iron_mechanical_pump": "Bomba mecánica de hierro fundido", + "block.tfmg.cast_iron_pipe": "Tubería de hierro fundido", + "block.tfmg.cast_iron_smart_fluid_pipe": "Tubería de fluidos inteligente de hierro fundido", + "block.tfmg.casting_basin": "Cuenca de fundición", + "block.tfmg.casting_spout": "Caño de fundición", + "block.tfmg.caution_block": "Bloque de precaución", + "block.tfmg.cement": "Cemento", + "block.tfmg.coal_coke_block": "Bloque de coque de carbón", + "block.tfmg.coke_oven": "Horno de coque", + "block.tfmg.concrete": "Hormigón", + "block.tfmg.concrete_slab": "Losa de hormigón", + "block.tfmg.concrete_stairs": "Escaleras de hormigón", + "block.tfmg.concrete_wall": "Muro de hormigón", + "block.tfmg.cooling_fluid": "Líquido refrigerante", + "block.tfmg.copper_encased_aluminum_pipe": "Tubería de aluminio revestido de cobre", + "block.tfmg.copper_encased_brass_pipe": "Tubería de latón revestido de cobre", + "block.tfmg.copper_encased_cast_iron_pipe": "Tubería de hierro fundido revestido de cobre", + "block.tfmg.copper_encased_plastic_pipe": "Tubería de plástico revestida de cobre", + "block.tfmg.copper_encased_steel_pipe": "Tubería de acero revestido de cobre", + "block.tfmg.creosote": "Creosota", + "block.tfmg.crude_oil_fluid": "Fluido de petróleo crudo", + "block.tfmg.cut_bauxite": "Bauxita cortada", + "block.tfmg.cut_bauxite_brick_slab": "Losa de ladrillo de bauxita cortada", + "block.tfmg.cut_bauxite_brick_stairs": "Escaleras de ladrillo de bauxita cortada", + "block.tfmg.cut_bauxite_brick_wall": "Pared de ladrillos de bauxita cortada", + "block.tfmg.cut_bauxite_bricks": "Ladrillos de bauxita cortada", + "block.tfmg.cut_bauxite_slab": "Losa de bauxita cortada", + "block.tfmg.cut_bauxite_stairs": "Escaleras de bauxita cortada", + "block.tfmg.cut_bauxite_wall": "Pared de bauxita cortada", + "block.tfmg.cyan_concrete": "Hormigón cian", + "block.tfmg.cyan_concrete_slab": "Losa de hormigón cian", + "block.tfmg.cyan_concrete_stairs": "Escaleras de hormigón cian", + "block.tfmg.cyan_concrete_wall": "Muro de hormigón cian", + "block.tfmg.diesel": "Diésel", + "block.tfmg.diesel_engine": "Motor diésel", + "block.tfmg.diesel_engine_expansion": "Expansión del motor diésel", + "block.tfmg.exhaust": "Tubería de escape", + "block.tfmg.factory_floor": "Suelo de fábrica", + "block.tfmg.factory_floor_slab": "Losa de suelo de fábrica", + "block.tfmg.factory_floor_stairs": "Escaleras de suelo de fábrica", + "block.tfmg.fireclay": "Arcilla refractaria", + "block.tfmg.fireproof_brick_reinforcement": "Muro de ladrillos ignífugos", + "block.tfmg.fireproof_bricks": "Ladrillos ignífugos", + "block.tfmg.flarestack": "Flarestack", + "block.tfmg.formwork_block": "Bloque de encofrado", + "block.tfmg.fossilstone": "Piedra fósil", + "block.tfmg.gasoline": "Gasolina", + "block.tfmg.gasoline_engine": "Motor de gasolina", + "block.tfmg.gasoline_engine_back": "Motor de gasolina trasero", + "block.tfmg.glass_aluminum_pipe": "Tubería de aluminio y crista", + "block.tfmg.glass_brass_pipe": "Tubería de latón y crista", + "block.tfmg.glass_cast_iron_pipe": "Tubería de hierro fundido y crista", + "block.tfmg.glass_plastic_pipe": "Tubería de plástico y cristal", + "block.tfmg.glass_steel_pipe": "Tubería de acero y cristal", + "block.tfmg.gray_concrete": "Hormigón gris", + "block.tfmg.gray_concrete_slab": "Losa de hormigón gris", + "block.tfmg.gray_concrete_stairs": "Escaleras de hormigón gris", + "block.tfmg.gray_concrete_wall": "Muro de hormigón gris", + "block.tfmg.green_concrete": "Hormigón verde", + "block.tfmg.green_concrete_slab": "Losa de hormigón verde", + "block.tfmg.green_concrete_stairs": "Escaleras de hormigón verde", + "block.tfmg.green_concrete_wall": "Muro de hormigón verde", + "block.tfmg.hardened_planks": "Tablas endurecidas", + "block.tfmg.heavy_casing_door": "Puerta de carcasa pesada", + "block.tfmg.heavy_machinery_casing": "Carcasa de maquinaria pesada", + "block.tfmg.heavy_oil": "Petróleo pesado", + "block.tfmg.industrial_pipe": "Tubería industrial", + "block.tfmg.kerosene": "Queroseno", + "block.tfmg.layered_bauxite": "Bauxita en capas", + "block.tfmg.light_blue_concrete": "Hormigón azul claro", + "block.tfmg.light_blue_concrete_slab": "Losa de hormigón azul claro", + "block.tfmg.light_blue_concrete_stairs": "Escaleras de hormigón azul claro", + "block.tfmg.light_blue_concrete_wall": "Muro de hormigón azul claro", + "block.tfmg.light_gray_concrete": "Hormigón gris claro", + "block.tfmg.light_gray_concrete_slab": "Losa de hormigón gris claro", + "block.tfmg.light_gray_concrete_stairs": "Escaleras de hormigón gris claro", + "block.tfmg.light_gray_concrete_wall": "Muro de hormigón gris claro", + "block.tfmg.lignite": "Lignito", + "block.tfmg.lime_concrete": "Hormigón ", + "block.tfmg.lime_concrete_slab": "Losa de hormigón verde lima", + "block.tfmg.lime_concrete_stairs": "Escaleras de hormigón verde lima", + "block.tfmg.lime_concrete_wall": "Muro de hormigón verde lima", + "block.tfmg.limesand": "Cal", + "block.tfmg.liquid_asphalt": "Asfalto líquido", + "block.tfmg.liquid_concrete": "Hormigón líquido", + "block.tfmg.liquid_plastic": "Plástico líquido", + "block.tfmg.lpg_engine": "Motor GLP", + "block.tfmg.lpg_engine_back": "Motor GLP trasero", + "block.tfmg.lubrication_oil": "Aceite lubricante", + "block.tfmg.machine_input": "Entrada de Pumpjack", + "block.tfmg.magenta_concrete": "Hormigón magenta", + "block.tfmg.magenta_concrete_slab": "Losa de hormigón magenta", + "block.tfmg.magenta_concrete_stairs": "Escaleras de hormigón magenta", + "block.tfmg.magenta_concrete_wall": "Muro de hormigón magenta", + "block.tfmg.molten_metal": "Metal fundido", + "block.tfmg.molten_slag": "Escoria fundida", + "block.tfmg.molten_steel": "Acero fundido", + "block.tfmg.napalm": "Napalm", + "block.tfmg.napalm_bomb": "Bomba de napalm", + "block.tfmg.nafta": "Nafta", + "block.tfmg.oil_deposit": "Depósito de petróleo", + "block.tfmg.orange_concrete": "Hormigón naranja", + "block.tfmg.orange_concrete_slab": "Losa de hormigón naranja", + "block.tfmg.orange_concrete_stairs": "Escaleras de hormigón naranja", + "block.tfmg.orange_concrete_wall": "Muro de hormigón naranja", + "block.tfmg.pink_concrete": "Hormigón rosa", + "block.tfmg.pink_concrete_slab": "Losa de hormigón rosa", + "block.tfmg.pink_concrete_stairs": "Escaleras de hormigón rosa", + "block.tfmg.pink_concrete_wall": "Muro de hormigón rosa", + "block.tfmg.plastic_block": "Bloque de plástico", + "block.tfmg.plastic_fluid_valve": "Válvula de fluidos de plástico", + "block.tfmg.plastic_mechanical_pump": "Bomba mecánica de plástico", + "block.tfmg.plastic_pipe": "Tubería de plástico", + "block.tfmg.plastic_smart_fluid_pipe": "Tubería de fluidos inteligente de plástico", + "block.tfmg.polished_cut_bauxite": "Bauxita cortada pulida", + "block.tfmg.polished_cut_bauxite_slab": "Losa de bauxita cortada pulida", + "block.tfmg.polished_cut_bauxite_stairs": "Escaleras de bauxita cortada pulida", + "block.tfmg.polished_cut_bauxite_wall": "Muro de bauxita cortada pulida", + "block.tfmg.pumpjack_base": "Base de Pumpjack", + "block.tfmg.pumpjack_crank": "Manivela de Pumpjack", + "block.tfmg.pumpjack_hammer_holder": "Soporte de Pumpjack", + "block.tfmg.purple_concrete": "Hormigón morado", + "block.tfmg.purple_concrete_slab": "Losa de hormigón morado", + "block.tfmg.purple_concrete_stairs": "Escaleras de hormigón morado", + "block.tfmg.purple_concrete_wall": "Muro de hormigón morado", + "block.tfmg.rebar_concrete": "Hormigón reforzado", + "block.tfmg.rebar_concrete_slab": "Losa de hormigón con barras de refuerzo", + "block.tfmg.rebar_concrete_stairs": "Escaleras de hormigón con barras de refuerzo", + "block.tfmg.rebar_concrete_wall": "Muro de hormigón con barras de refuerzo", + "block.tfmg.rebar_formwork_block": "Bloque de encofrado de barras de refuerzo", + "block.tfmg.red_caution_block": "Bloque de precaución rojo", + "block.tfmg.red_concrete": "Hormigón rojo", + "block.tfmg.red_concrete_slab": "Losa de hormigón rojo", + "block.tfmg.red_concrete_stairs": "Escaleras de hormigón rojo", + "block.tfmg.red_concrete_wall": "Muro de hormigón rojo", + "block.tfmg.small_bauxite_brick_slab": "Pequeña losa de ladrillos de bauxita", + "block.tfmg.small_bauxite_brick_stairs": "Escaleras pequeñas de ladrillos de bauxita", + "block.tfmg.small_bauxite_brick_wall": "Pequeño muro de ladrillos de bauxita", + "block.tfmg.small_bauxite_bricks": "Pequeños ladrillos de bauxita", + "block.tfmg.steel_bars": "Barras de acero", + "block.tfmg.steel_block": "Bloque de acero", + "block.tfmg.steel_casing": "Carcasa de acero", + "block.tfmg.steel_distillation_controller": "Controlador de destilación de acero", + "block.tfmg.steel_distillation_output": "Salida de destilación de acero", + "block.tfmg.steel_door": "Puerta de acero", + "block.tfmg.steel_fluid_tank": "Tanque de fluidos de acero", + "block.tfmg.steel_fluid_valve": "Válvula de fluidos de acero", + "block.tfmg.steel_flywheel": "Rueda de inercia de acero", + "block.tfmg.steel_ladder": "Escalera de acero", + "block.tfmg.steel_mechanical_pump": "Bomba mecánica de acero", + "block.tfmg.steel_pipe": "Tubería de acero", + "block.tfmg.steel_scaffolding": "Andamios de acero", + "block.tfmg.steel_smart_fluid_pipe": "Tubería de fluidos inteligente de acero", + "block.tfmg.steel_truss": "Armazón de acero", + "block.tfmg.sulfur": "Azufre", + "block.tfmg.surface_scanner": "Escáner de superficie", + "block.tfmg.turbine_engine": "Motor de turbina", + "block.tfmg.turbine_engine_back": "Motor de turbina trasero", + "block.tfmg.white_concrete": "Hormigón blanco", + "block.tfmg.white_concrete_slab": "Losa de hormigón blanco", + "block.tfmg.white_concrete_stairs": "Escaleras de hormigón blanco", + "block.tfmg.white_concrete_wall": "Muro de hormigón blanco", + "block.tfmg.Yellow_concrete": "Hormigón amarillo", + "block.tfmg.Yellow_concrete_slab": "Losa de hormigón amarillo", + "block.tfmg.Yellow_concrete_stairs": "Escaleras de hormigón amarillo", + "block.tfmg.Yellow_concrete_wall": "Muro de hormigón amarillo", + + "entity.tfmg.blue_spark": "Chispa azul", + "entity.tfmg.copper_grenade": "Granada de cobre", + "entity.tfmg.green_spark": "Chispa verde", + "entity.tfmg.napalm_bomb_entity": "Entidad de la bomba de napalm", + "entity.tfmg.spark": "Chispa", + "entity.tfmg.thermite_grenade": "Granada termita", + "entity.tfmg.zin_grenade": "Granada zin", + + "fluid.tfmg.air": "Aire", + "fluid.tfmg.butane": "Butano", + "fluid.tfmg.carbon_dioxide": "Dióxido de carbono", + "fluid.tfmg.cooling_fluid": "Líquido refrigerante", + "fluid.tfmg.creosote": "Creosota", + "fluid.tfmg.crude_oil_fluid": "Petróleo crudo", + "fluid.tfmg.diesel": "Diésel", + "fluid.tfmg.etileno": "Etileno", + "fluid.tfmg.gasoline": "Gasolina", + "fluid.tfmg.heavy_oil": "Aceite pesado", + "fluid.tfmg.kerosene": "Queroseno", + "fluid.tfmg.liquid_asphalt": "Asfalto líquido", + "fluid.tfmg.liquid_concrete": "Hormigón líquido", + "fluid.tfmg.liquid_plastic": "Plástico líquido", + "fluid.tfmg.lpg": "GLP", + "fluid.tfmg.lubrication_oil": "Aceite lubricante", + "fluid.tfmg.molten_slag": "Escoria fundida", + "fluid.tfmg.molten_steel": "Acero fundido", + "fluid.tfmg.napalm": "Napalm", + "fluid.tfmg.nafta": "Nafta", + "fluid.tfmg.propane": "Propano", + "fluid.tfmg.propylene": "Propileno", + + "item.tfmg.aluminum_ingot": "Lingote de aluminio", + "item.tfmg.bitumen": "Betún", + "item.tfmg.blasting_mixture": "Mezcla de voladura", + "item.tfmg.block_mold": "Molde de bloque", + "item.tfmg.cast_iron_ingot": "Lingote de hierro fundido", + "item.tfmg.charcoal_dust": "Polvo de carbón", + "item.tfmg.coal_coke": "Coque de carbón", + "item.tfmg.coal_coke_dust": "Polvo de coque de carbón", + "item.tfmg.cooling_fluid_bucket": "Cubo de líquido refrigerante", + "item.tfmg.copper_grenade": "Granada de cobre", + "item.tfmg.creosote_bucket": "Cubo de creosota", + "item.tfmg.crude_oil_fluid_bucket": "Cubo de petróleo crudo", + "item.tfmg.diesel_bucket": "Cubo de diésel", + "item.tfmg.engine_base": "Base de motor", + "item.tfmg.engine_chamber": "Cámara de motor", + "item.tfmg.fireclay_ball": "Bola de arcilla refractaria", + "item.tfmg.fireproof_brick": "Ladrillo ignífugo", + "item.tfmg.gasoline_bucket": "Cubo de gasolina", + "item.tfmg.heavy_oil_bucket": "Cubo de petróleo pesado", + "item.tfmg.heavy_plate": "Placa pesada", + "item.tfmg.ingot_mold": "Lingoteador", + "item.tfmg.kerosene_bucket": "Cubo de queroseno", + "item.tfmg.liquid_asphalt_bucket": "Cubo de asfalto líquido", + "item.tfmg.liquid_concrete_bucket": "Cubo de Hormigón líquido", + "item.tfmg.liquid_plastic_bucket": "Cubo de plástico líquido", + "item.tfmg.lubrication_oil_bucket": "Cubo de aceite lubricante", + "item.tfmg.molten_slag_bucket": "Cubo para escoria fundida", + "item.tfmg.molten_steel_bucket": "Cubo de acero fundido", + "item.tfmg.napalm_bucket": "Cubo de napalm", + "item.tfmg.naphtha_bucket": "Cubo de nafta", + "item.tfmg.nitrate_dust": "Polvo de nitrato", + "item.tfmg.plastic_sheet": "Hoja de plástico", + "item.tfmg.quad_potato_cannon": "Cañón de patatas cuádruple", + "item.tfmg.rebar": "Barra de refuerzo", + "item.tfmg.screw": "Tornillo", + "item.tfmg.screwdriver": "Destornillador", + "item.tfmg.slag": "Escoria", + "item.tfmg.spark_plug": "Bujía", + "item.tfmg.steel_ingot": "Lingote de acero", + "item.tfmg.steel_mechanism": "Mecanismo de acero", + "item.tfmg.sulfur_dust": "Polvo de azufre", + "item.tfmg.thermite_grenade": "Granada termita", + "item.tfmg.thermite_powder": "Polvo de termita", + "item.tfmg.turbine_blade": "Hélice de turbina", + "item.tfmg.unfinished_gasoline_engine": "Motor de gasolina sin terminar", + "item.tfmg.unfinished_lpg_engine": "Motor de GLP sin terminar", + "item.tfmg.unfinished_steel_mechanism": "Mecanismo de acero sin terminar", + "item.tfmg.unfinished_turbine_engine": "Motor de turbina sin terminar", + "item.tfmg.unprocessed_heavy_plate": "Placa pesada sin procesar", + "item.tfmg.zinc_grenade": "Granada de zinc", + + "itemGroup.tfmg.base": "Create: The Factory Must Grow", + "itemGroup.tfmg.building": "Create: TFMG Building Blocks", + + "create.goggles.misc.number": "%1$s", + "create.goggles.misc.percent_symbol": "%", + "create.goggles.misc.dot_one": ".", + "create.goggles.misc.dot_two": "..", + "create.goggles.misc.dot_tres": "...", + "create.goggles.misc.storage_info": "Información de almacenamiento:", + "create.goggles.fluid_in_tank": "Contenido del tanque:", + "create.goggles.surface_scanner.no_rotation": "Máquina apagada", + "create.goggles.surface_scanner.no_deposit": "No se encontró ningún depósito", + "create.goggles.surface_scanner.deposit_found": "¡Depósito ubicado!", + "create.goggles.surface_scanner.distance": "Distancia: %1$s Bloques", + "create.goggles.surface_scanner.scanning_surface": "Escaneando la superficie...", + "create.goggles.distillation_tower.status": "Información de la torre de destilación:", + "create.goggles.distillation_tower.tank_not_found": "Tanque de fluidos de acero no encontrado", + "create.goggles.distillation_tower.not_tall_enough": "El tanque de fluidos es demasiado corto", + "create.goggles.distillation_tower.level": "Nivel de la torre de destilación: %1$s", + "create.goggles.distillation_tower.found_outputs": "Número de salidas: %1$s", + "create.goggles.distillation_tower.no_outputs": "No se encontraron bloques de salida", + "create.goggles.blast_furnace.stats": "Alto Horno:", + "create.goggles.blast_furnace.size_stats": "Tamaño:", + "create.goggles.blast_furnace.fuel_amount": "Cantidad de combustible: %1$s", + "create.goggles.blast_furnace.item_count": "Recuento de artículos: %1$s", + "create.goggles.blast_furnace.height": "Altura: %1$s", + "create.goggles.blast_furnace.nothing_lol": "", + "create.goggles.blast_furnace.status.off": "Estado: Inactivo", + "create.goggles.blast_furnace.status.running": "Estado: En ejecución", + "create.goggles.blast_furnace.diameter.one": "Diámetro: 1", + "create.goggles.blast_furnace.diameter.two": "Diámetro: 2", + "create.goggles.blast_furnace.invalid": "Alto horno no válido", + "create.goggles.coke_oven.status": "Horno de coque:", + "create.goggles.coke_oven.fluid_amount_output": "Contenido interno del tanque: %1$s mb", + "create.goggles.coke_oven.fluid_amount_exhaust": "Dióxido de carbono: %1$s mb", + "create.goggles.coke_oven.item_count": "Recuento de elementos de almacenamiento interno: %1$s", + "create.goggles.coke_oven.invalid": "Horno de coque no válido", + "create.goggles.coke_oven.tank_full": "Un tanque interno está lleno", + "create.goggles.coke_oven.progress": "Progreso: %1$s", + "create.goggles.engine_stats": "Estadísticas del motor:", + "create.goggles.engine_exhaust_stats": "Estadísticas de salida de gases del motor:", + "create.goggles.fuel_container": "Almacenamiento de fluidos", + "create.goggles.engine.backpartmissing": "Falta la parte trasera:", + "create.goggles.engine_redstone_input": "Velocidad:", + "create.goggles.engine.efficiency": "Eficiencia:", + + "create.tooltip.engine_analog_strength": "%1$s/15", + + "create.goggles.get_engine_efficiency": "%1$s", + "create.goggles.engine.stress": "%1$ssu", + "create.goggles.diesel_engine.info": "Motor diésel:", + "create.goggles.pumpjack_info": "Información de Pumpjack:", + "create.goggles.pumpjack.part_missing": "Falta el martillo o la manivela", + "create.goggles.pumpjack.wrong_rotation1": "La base del Pumpjack está orientada incorrectamente, el marcador rojo debe", + "create.goggles.pumpjack.wrong_rotation2": "estar de espaldas al soporte del martillo Pumpjack", + "create.goggles.pumpjack_fluid_storage": "Información del tanque de fluido:", + + "create.pumpjack_deposit_amount": "%1$s cubos", + + "create.goggles.pumpjack.deposit_info": "Información del depósito:", + "create.goggles.zero": "No se encontró ningún depósito", + "create.goggles.pumpjack.fluid_amount": "Cantidad de líquido:", + "create.goggles.machine_input.info": "Información de entrada de la máquina", + "create.goggles.machine_input.no_rot": "¡No se ha proporcionado rotación!", + "create.goggles.machine_input.power_level": "Nivel de potencia: ", + + "create.recipe.distillation": "Destilación", + "create.recipe.advanced_distillation": "Destilación avanzada", + "create.recipe.industrial_blasting": "Voladuras industriales", + "create.recipe.casting": "Transmisión", + "create.recipe.coking": "Coquización", + + + "tfmg.subtitle.engine_sounds": "Sonidos de motor", + "tfmg.subtitle.diesel_engine_sounds": "Sonidos de motor diésel", + + + "_": "->------------------------] UI & Messages [------------------------<-", + + + "create.distillation_tower.size": "Tamaño", + "create.distillation_tower.heat": "Calor", + + + "_": "->------------------------] Ponders [------------------------<-", + + "tfmg.ponder.small_engines.text_1": "Para crear un motor pequeño, coloque las partes delantera y trasera una al lado de la otra", + "tfmg.ponder.small_engines.text_2": "El combustible se introduce en la parte delantera y los gases deben eliminarse desde la parte trasera utilizando tubos de escape", + "tfmg.ponder.small_engines.text_3": "Aplicar una señal de redstone a la parte delantera para arranca el motor", + "tfmg.ponder.small_engines.text_4": "Los motores pequeños pueden ser de GLP, queroseno y gasolina", + "tfmg.ponder.diesel_engine.text_1": "Los motores diésel se ensamblan colocando un eje delante de un bloque de motor diésel", + "tfmg.ponder.diesel_engine.text_2": "El motor produce gases que deben eliminarse con tubos de escape", + "tfmg.ponder.diesel_engine.text_3": "Se necesita aire para que el motor funcione, por lo que se requiere una entrada de aire", + "tfmg.ponder.diesel_engine_expansion.text_1": "Las expansiones de motor diésel pueden darle a un motor diésel dos nuevas ranuras de entrada, para lubricación y líquido refrigerante", + "tfmg.ponder.surface_scanner.text_1": "El escáner de superficie se utiliza para localizar depósitos de petróleo crudo", + "tfmg.ponder.surface_scanner.text_2": "Proporcionar a la máquina rotación hace que busque el depósito más cercano", + "tfmg.ponder.surface_scanner.text_3": "Si se encuentra un depósito, la brújula señalará su ubicación", + "tfmg.ponder.pumpjack.text_1": "Para comenzar a extraer petróleo, primero debes construir un oleoducto encima de un depósito utilizando tuberías industriales", + "tfmg.ponder.pumpjack.text_2": "Luego, construye un Pumpjack encima de la tubería colocando primero una base de Pumpjack...", + "tfmg.ponder.pumpjack.text_3": "Colocando el martillo detrás...", + "tfmg.ponder.pumpjack.text_4": "Y finalmente, colocando la entrada de rotación con una manivela Pumpjack encima, como se muestra en la escena", + "tfmg.ponder.distillation_tower.text_1": "Un tanque de fluidos de acero suficientemente grande se puede convertir en una torre de destilación", + "tfmg.ponder.distillation_tower.text_2": "La torre se ensambla colocando primero un controlador de torre de destilación de acero al lado del tanque...", + "tfmg.ponder.distillation_tower.text_3": "Y colocando hasta 6 salidas de torre de destilación, todas conectadas con tuberías industriales", + "tfmg.ponder.distillation_tower.text_4": "Se requieren quemadores Blaze para hacer funcionar la torre de destilación. El dial muestra los niveles de potencia actuales", + "tfmg.ponder.distillation_tower.text_5": "Para ingresar petróleo crudo, se debe bombear al bloque controlador", + "tfmg.ponder.distillation_tower.text_6": "Cada bloque de salida proporciona uno de los subproductos del petróleo", + "tfmg.ponder.distillation_tower.text_7": "GLP", + "tfmg.ponder.distillation_tower.text_8": "Gasolina", + "tfmg.ponder.distillation_tower.text_9": "Nafta", + "tfmg.ponder.distillation_tower.text_10": "Queroseno", + "tfmg.ponder.distillation_tower.text_11": "Diésel", + "tfmg.ponder.distillation_tower.text_12": "Petróleo pesado", + "tfmg.ponder.blast_furnace.text_1": "La base del Alto Horno es un bloque de salida del alto horno", + "tfmg.ponder.blast_furnace.text_2": "Para ensamblar un Alto Horno, construye una chimenea usando ladrillos ignífugos como se muestra en la escena", + "tfmg.ponder.blast_furnace.text_3": "Es necesario reforzar la mitad inferior de la chimenea", + "tfmg.ponder.blast_furnace.text_4": "El combustible y otros artículos se insertan a través de la abertura en la parte superior", + "tfmg.ponder.coke_oven.text_1": "El horno de coque se construye colocando bloques de horno de coque como se muestra en la escena y haciendo clic en su costado con una llave", + "tfmg.ponder.coke_oven.text_2": "El proceso de coquización es lento, por lo que es más eficiente tener largas filas de hornos funcionando simultáneamente", + "tfmg.ponder.coke_oven.text_3": "El carbón se puede introducir por cualquier lado", + "tfmg.ponder.coke_oven.text_4": "Mientras está en funcionamiento, el horno produce creosota y CO2 que deben ser expulsados para que funcione", + "tfmg.ponder.coke_oven.text_5": "Una vez hecho esto, el coque de carbón saldrá de la abertura", + "tfmg.ponder.casting.text_1": "La fundición es el proceso de verter metal líquido en un recipiente de fundición utilizando un caño de fundición", + "tfmg.ponder.casting.text_2": "La cuenca de fundición, obviamente, requiere un molde para funcionar", + + "tfmg.ponder.distillation_tower.header": "Configuración de la torre de destilación", + + "tfmg.ponder.pumpjack.header": "Construyendo Pumpjacks", + + "tfmg.ponder.surface_scanner.header": "Localización de petróleo", + + "tfmg.ponder.diesel_engine.header": "Construcción de un motor diésel", + + "tfmg.ponder.diesel_engine_expansion.header": "Motores diésel en expansión", + + "tfmg.ponder.small_engines.header": "Construcción de motores pequeños", + + "tfmg.ponder.coke_oven.header": "Construcción de un horno de coque", + "tfmg.ponder.blast_furnace": "Construcción de un alto horno", + + "tfmg.ponder.casting.header": "Fundición de metal", + "tfmg.ponder.tag.oil": "Máquinas relacionadas con el petróleo", + "tfmg.ponder.tag.metallurgy": "Máquinas para trabajar metales", + "tfmg.ponder.tag.oil.description": "Máquinas que extraen, procesan o utilizan petróleo crudo y sus derivados", + "tfmg.ponder.tag.metallurgy.description": "Máquinas que producen, procesan o utilizan metal y materias primas como tales", + + "_": "Thank you for translating Create: The Factory Must Grow!" + +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/lang/pl_pl.json b/src/main/resources/assets/tfmg/lang/pl_pl.json new file mode 100644 index 00000000..dbd8d7ff --- /dev/null +++ b/src/main/resources/assets/tfmg/lang/pl_pl.json @@ -0,0 +1,432 @@ +{ + + "_": "->------------------------] Game Elements [------------------------<-", + + "block.tfmg.air_intake": "Wlot Powietrza", + "block.tfmg.aluminum_bars": "Aluminiowe Kraty", + "block.tfmg.aluminum_block": "Blok Aluminium", + "block.tfmg.aluminum_fluid_valve": "Aluminiowy Zawór", + "block.tfmg.aluminum_flywheel": "Aluminiowe Koło Zamachowe", + "block.tfmg.aluminum_ladder": "Aluminiowa Drabina", + "block.tfmg.aluminum_mechanical_pump": "Aluminiowa Pompa", + "block.tfmg.aluminum_pipe": "Aluminiowa Rura", + "block.tfmg.aluminum_scaffolding": "Aluminiowe Rusztowanie", + "block.tfmg.aluminum_smart_fluid_pipe": "Aluminiowa Inteligenta Rura", + "block.tfmg.aluminum_truss": "Aluminiowa Kratownica", + "block.tfmg.asphalt": "Asfalt", + "block.tfmg.bauxite": "Boksyt", + "block.tfmg.bauxite_pillar": "Boksytowy Filar", + "block.tfmg.black_concrete": "Czarny Beton", + "block.tfmg.black_concrete_slab": "Czarna Betonowa Płyta", + "block.tfmg.black_concrete_stairs": "Czarne Betonowe Schody", + "block.tfmg.black_concrete_wall": "Czarny Betonowy Murek", + "block.tfmg.blast_furnace_output": "Wyjście Pieca Hutniczego", + "block.tfmg.blue_concrete": "Niebieski Beton", + "block.tfmg.blue_concrete_slab": "Niebieska Betonowa Płyta", + "block.tfmg.blue_concrete_stairs": "Niebieskie Betonowe Schody", + "block.tfmg.blue_concrete_wall": "Niebieski Betonowy Murek", + "block.tfmg.brass_fluid_valve": "Mosiężny Zawór", + "block.tfmg.brass_mechanical_pump": "Mosiężna Pompa", + "block.tfmg.brass_pipe": "Mosiężna Rura", + "block.tfmg.brass_smart_fluid_pipe": "Mosiężna Inteligentna Rura", + "block.tfmg.brown_concrete": "Brązowy Beton", + "block.tfmg.brown_concrete_slab": "Brązowa Betonowa Płyta", + "block.tfmg.brown_concrete_stairs": "Brązowe Betonowe Schody", + "block.tfmg.brown_concrete_wall": "Brązowy Betonowy Murek", + "block.tfmg.cast_iron_block": "Blok Żeliwa", + "block.tfmg.cast_iron_distillation_controller": "Żeliwny Kontroler Destylacji", + "block.tfmg.cast_iron_distillation_output": "Żeliwne Wyjście Destylatora", + "block.tfmg.cast_iron_fluid_valve": "Żeliwny Zawór", + "block.tfmg.cast_iron_flywheel": "Żeliwne Koło Zamachowe", + "block.tfmg.cast_iron_mechanical_pump": "Żeliwna Pompa", + "block.tfmg.cast_iron_pipe": "Żeliwna Rura", + "block.tfmg.cast_iron_smart_fluid_pipe": "Żeliwna Inteligentna Rura", + "block.tfmg.casting_basin": "Tygiel Odlewniczy", + "block.tfmg.casting_spout": "Napełniacz Odlewniczy", + "block.tfmg.caution_block": "Blok Ostrzeżenia", + "block.tfmg.cement": "Cement", + "block.tfmg.coal_coke_block": "Blok Koksu Węglowego", + "block.tfmg.coke_oven": "Piec Koksowniczy", + "block.tfmg.concrete": "Beton", + "block.tfmg.concrete_slab": "Betonowa Płyta", + "block.tfmg.concrete_stairs": "Betonowe Schody", + "block.tfmg.concrete_wall": "Betonowy Murek", + "block.tfmg.cooling_fluid": "Płyn Chłodzący", + "block.tfmg.copper_encased_aluminum_pipe": "Copper Encased Aluminum Pipe", + "block.tfmg.copper_encased_brass_pipe": "Copper Encased Brass Pipe", + "block.tfmg.copper_encased_cast_iron_pipe": "Copper Encased Cast Iron Pipe", + "block.tfmg.copper_encased_plastic_pipe": "Copper Encased Plastic Pipe", + "block.tfmg.copper_encased_steel_pipe": "Copper Encased Steel Pipe", + "block.tfmg.creosote": "Kreozot", + "block.tfmg.crude_oil_fluid": "Ropa Naftowa", + "block.tfmg.cut_bauxite": "Przycięty Boksyt", + "block.tfmg.cut_bauxite_brick_slab": "Przycięta Wypolerowana Buksytowa Płyta", + "block.tfmg.cut_bauxite_brick_stairs": "Przycięte Buksytowe Ceglane Schody", + "block.tfmg.cut_bauxite_brick_wall": "Przycięty Buksytowy Ceglany Murek", + "block.tfmg.cut_bauxite_bricks": "Przycięte Buksytowe Cegły", + "block.tfmg.cut_bauxite_slab": "Przycięta Buksytowa Płyta", + "block.tfmg.cut_bauxite_stairs": "Przycięte Buksytowe Schody", + "block.tfmg.cut_bauxite_wall": "Przycięty Buksytowy Murek", + "block.tfmg.cyan_concrete": "Błękitny Beton", + "block.tfmg.cyan_concrete_slab": "Błękitna Betonowa Płyta", + "block.tfmg.cyan_concrete_stairs": "Błękitne Betonowe Schody", + "block.tfmg.cyan_concrete_wall": "Błękitny Betonowy Murek", + "block.tfmg.diesel": "Olej Napędowy", + "block.tfmg.diesel_engine": "Silnik Wysokoprężny", + "block.tfmg.diesel_engine_expansion": "Rozszerzenie Silnika Wysokoprężnego", + "block.tfmg.exhaust": "Wydech", + "block.tfmg.factory_floor": "Podłoga Fabryczna", + "block.tfmg.factory_floor_slab": "Płyta Podłogi Fabrycznej", + "block.tfmg.factory_floor_stairs": "Schody Podłogi Fabrycznej", + "block.tfmg.fireclay": "Szamot", + "block.tfmg.fireproof_brick_reinforcement": "Podpora z Cegieł Ognioodpornych", + "block.tfmg.fireproof_bricks": "Ognioodporne Cegły", + "block.tfmg.flarestack": "Flara Gazowa", + "block.tfmg.formwork_block": "Formwork Block", + "block.tfmg.fossilstone": "Skamieniały Blok", + "block.tfmg.gasoline": "Benzyna", + "block.tfmg.gasoline_engine": "Silnik Benzynowy", + "block.tfmg.gasoline_engine_back": "Tył Silnika Benzynowego", + "block.tfmg.glass_aluminum_pipe": "Glass Aluminum Pipe", + "block.tfmg.glass_brass_pipe": "Glass Brass Pipe", + "block.tfmg.glass_cast_iron_pipe": "Glass Cast Iron Pipe", + "block.tfmg.glass_plastic_pipe": "Glass Plastic Pipe", + "block.tfmg.glass_steel_pipe": "Glass Steel Pipe", + "block.tfmg.gray_concrete": "Szary Beton", + "block.tfmg.gray_concrete_slab": "Szara Betonowa Płyta", + "block.tfmg.gray_concrete_stairs": "Szare Betonowe Schody", + "block.tfmg.gray_concrete_wall": "Szary Betonowy Murek", + "block.tfmg.green_concrete": "Zielony Beton", + "block.tfmg.green_concrete_slab": "Zielona Betonowa Płyta", + "block.tfmg.green_concrete_stairs": "Zielone Betonowe Schody", + "block.tfmg.green_concrete_wall": "Zielony Betonowy Murek", + "block.tfmg.hardened_planks": "Utwardzone Deski", + "block.tfmg.heavy_casing_door": "Ciężkie Obudowane Drzwi", + "block.tfmg.heavy_machinery_casing": "Ciężka Obudowa Maszynowa", + "block.tfmg.heavy_oil": "Ciężki Olej", + "block.tfmg.industrial_pipe": "Przemysłowa Rura", + "block.tfmg.kerosene": "Nafta", + "block.tfmg.layered_bauxite": "Warstwowy Boksyt", + "block.tfmg.light_blue_concrete": "Jasnoniebieski Beton", + "block.tfmg.light_blue_concrete_slab": "Jasnoniebieska Betonowa Płyta", + "block.tfmg.light_blue_concrete_stairs": "Jasnoniebieskie Betonowe Schody", + "block.tfmg.light_blue_concrete_wall": "Jasnoniebieski Betonowy Murek", + "block.tfmg.light_gray_concrete": "Jasnoszary Beton", + "block.tfmg.light_gray_concrete_slab": "Jasnoniebieska Betonowa Płyta", + "block.tfmg.light_gray_concrete_stairs": "Jasnoszare Betonowe Schody", + "block.tfmg.light_gray_concrete_wall": "Jasnoszary Betonowy Murek", + "block.tfmg.lignite": "Węgiel Brunatny", + "block.tfmg.lime_concrete": "Jasnozielony Beton", + "block.tfmg.lime_concrete_slab": "Jasnozielona Betonowa Płyta", + "block.tfmg.lime_concrete_stairs": "Jasnozielone Betonowe Schody", + "block.tfmg.lime_concrete_wall": "Jasnozielony Betonowy Murek", + "block.tfmg.limesand": "Piasek Wapienny", + "block.tfmg.liquid_asphalt": "Płynny Asfalt", + "block.tfmg.liquid_concrete": "Płynny Beton", + "block.tfmg.liquid_plastic": "Płynny Plastik", + "block.tfmg.lpg_engine": "Silnik LPG", + "block.tfmg.lpg_engine_back": "Tył Silnika LPG", + "block.tfmg.lubrication_oil": "Smar", + "block.tfmg.machine_input": "Wejście Maszyny", + "block.tfmg.magenta_concrete": "Karmazynowy Beton", + "block.tfmg.magenta_concrete_slab": "Karmazynowa Betonowa Płyta", + "block.tfmg.magenta_concrete_stairs": "Karmazynowe Betonowe Schody", + "block.tfmg.magenta_concrete_wall": "Karmazynowy Betonowy Murek", + "block.tfmg.molten_metal": "Stopiony Metal", + "block.tfmg.molten_slag": "Stopiony Żużel", + "block.tfmg.molten_steel": "Stopiona Stal", + "block.tfmg.napalm": "Napalm", + "block.tfmg.napalm_bomb": "Bomba Napalmowa", + "block.tfmg.naphtha": "Benzyna Surowa", + "block.tfmg.oil_deposit": "Złoże Ropy Naftowej", + "block.tfmg.orange_concrete": "Pomarańczowy Beton", + "block.tfmg.orange_concrete_slab": "Pomarańczowa Betonowa Płyta", + "block.tfmg.orange_concrete_stairs": "Pomarańczowe Betonowe Schody", + "block.tfmg.orange_concrete_wall": "Pomarańczowy Betonowy Murek", + "block.tfmg.pink_concrete": "Różowy Beton", + "block.tfmg.pink_concrete_slab": "Różowa Betonowa Płyta", + "block.tfmg.pink_concrete_stairs": "Różowe Betonowe Schody", + "block.tfmg.pink_concrete_wall": "Różowy Betonowy Murek", + "block.tfmg.plastic_block": "Blok Plastiku", + "block.tfmg.plastic_fluid_valve": "Plastikowy Zawór", + "block.tfmg.plastic_mechanical_pump": "Plastikowa Pompa", + "block.tfmg.plastic_pipe": "Plastikowa Pompa", + "block.tfmg.plastic_smart_fluid_pipe": "Plastikowa Inteligentna Rura", + "block.tfmg.polished_cut_bauxite": "Przycięty Wypolerowany Boksyt", + "block.tfmg.polished_cut_bauxite_slab": "Przycięta Wypolerowana Buksytowa Płyta", + "block.tfmg.polished_cut_bauxite_stairs": "Przycięte Wypolerowane Buksytowe schody", + "block.tfmg.polished_cut_bauxite_wall": "Przycięty Wypolerowany Buksytowy Murek", + "block.tfmg.pumpjack_base": "Podstawa Pompy Żerdziowej", + "block.tfmg.pumpjack_crank": "Korba Pompy Żerdziowej", + "block.tfmg.pumpjack_hammer_holder": "Uchwyt Ramienia Pompy Żerdziowej", + "block.tfmg.purple_concrete": "Fioletowy Beton", + "block.tfmg.purple_concrete_slab": "Fioletowa Betonowa Płyta", + "block.tfmg.purple_concrete_stairs": "Fioletowe Betonowe Schody", + "block.tfmg.purple_concrete_wall": "Fioletowy Betonowy Murek", + "block.tfmg.rebar_concrete": "Zbrojony Beton", + "block.tfmg.rebar_concrete_slab": "Zbrojona Betonowa Płyta", + "block.tfmg.rebar_concrete_stairs": "Zbrojone Betonowe Schody", + "block.tfmg.rebar_concrete_wall": "Zbrojony Betonowy Murek", + "block.tfmg.rebar_formwork_block": "Szalunek Zbrojeniowy", + "block.tfmg.red_caution_block": "Czerwony Blok Ostrzeżenia", + "block.tfmg.red_concrete": "Czerwony Beton", + "block.tfmg.red_concrete_slab": "Czerwona Betonowa Płyta", + "block.tfmg.red_concrete_stairs": "Czerwone Betonowe Schody", + "block.tfmg.red_concrete_wall": "Czerwony Betonowy Murek", + "block.tfmg.small_bauxite_brick_slab": "Płyta z Małych Buksytowych Cegieł", + "block.tfmg.small_bauxite_brick_stairs": "Schody z Małych Buksytowych Cegieł", + "block.tfmg.small_bauxite_brick_wall": "Murek z Małych Buksytowych Cegieł", + "block.tfmg.small_bauxite_bricks": "Małe Buksytowe Cegły", + "block.tfmg.steel_bars": "Stalowe Kraty", + "block.tfmg.steel_block": "Blok Stali", + "block.tfmg.steel_casing": "Stalowa Obudowa", + "block.tfmg.steel_distillation_controller": "Stalowy Kontroler Destylacji", + "block.tfmg.steel_distillation_output": "Stalowe Wyjście Wierzy Destylacyjnej", + "block.tfmg.steel_door": "Stalowe Drzwi", + "block.tfmg.steel_fluid_tank": "Stalowy Zbiornik", + "block.tfmg.steel_fluid_valve": "Stalowy Zawór", + "block.tfmg.steel_flywheel": "Stalowe Koło Zamachowe", + "block.tfmg.steel_ladder": "Stalowa Drabina", + "block.tfmg.steel_mechanical_pump": "Stalowa Pompa", + "block.tfmg.steel_pipe": "Stalowa Rura", + "block.tfmg.steel_scaffolding": "Stalowe Rusztowanie", + "block.tfmg.steel_smart_fluid_pipe": "Stalowa Inteligentna Rura", + "block.tfmg.steel_truss": "Stalowa Kratownica", + "block.tfmg.sulfur": "Siarka", + "block.tfmg.surface_scanner": "Skaner Powierzchniowy", + "block.tfmg.turbine_engine": "Silnik Turbinowy", + "block.tfmg.turbine_engine_back": "Tył Silnika Turbinowego", + "block.tfmg.white_concrete": "Biały Beton", + "block.tfmg.white_concrete_slab": "Biała Betonowa Płyta", + "block.tfmg.white_concrete_stairs": "Białe Betonowe Schody", + "block.tfmg.white_concrete_wall": "Biały Betonowy Murek", + "block.tfmg.yellow_concrete": "Żółty Beton", + "block.tfmg.yellow_concrete_slab": "Żółta Betonowa Płyta", + "block.tfmg.yellow_concrete_stairs": "Żółte Betonowe Schody", + "block.tfmg.yellow_concrete_wall": "Żółty Betonowy Murek", + + "entity.tfmg.blue_spark": "Niebieska Iskra", + "entity.tfmg.copper_grenade": "Granat Miedziany", + "entity.tfmg.green_spark": "Zielona Iskra", + "entity.tfmg.napalm_bomb_entity": "Byt Bomby Napalmowej", + "entity.tfmg.spark": "Iskra", + "entity.tfmg.thermite_grenade": "Granat Termitowy", + "entity.tfmg.zin_grenade": "Granat Cynkowy", + + "fluid.tfmg.air": "Powietrze", + "fluid.tfmg.butane": "Butan", + "fluid.tfmg.carbon_dioxide": "Dwutlenek Węgla", + "fluid.tfmg.cooling_fluid": "Płyn Chłodzący", + "fluid.tfmg.creosote": "Kreozot", + "fluid.tfmg.crude_oil_fluid": "Ropa Naftowa", + "fluid.tfmg.diesel": "Olej Napędowy", + "fluid.tfmg.ethylene": "Etylen", + "fluid.tfmg.gasoline": "Benzyna", + "fluid.tfmg.heavy_oil": "Ciężki Olej", + "fluid.tfmg.kerosene": "Nafta", + "fluid.tfmg.liquid_asphalt": "Płynny Asfalt", + "fluid.tfmg.liquid_concrete": "Płynny Beton", + "fluid.tfmg.liquid_plastic": "Płynny Plastik", + "fluid.tfmg.lpg": "LPG", + "fluid.tfmg.lubrication_oil": "Smar", + "fluid.tfmg.molten_slag": "Płynny Żużel", + "fluid.tfmg.molten_steel": "Płynna Stal", + "fluid.tfmg.napalm": "Napalm", + "fluid.tfmg.naphtha": "Benzyna Surowa", + "fluid.tfmg.propane": "Propan", + "fluid.tfmg.propylene": "Propylen", + + "item.tfmg.aluminum_ingot": "Sztabka Aluminium", + "item.tfmg.bitumen": "Bitumen", + "item.tfmg.blasting_mixture": "Mieszanka Wytopnicza", + "item.tfmg.block_mold": "Forma w Kształcie Bloku", + "item.tfmg.cast_iron_ingot": "Sztabka Żeliwa", + "item.tfmg.charcoal_dust": "Pył z Węgla Drzewnego", + "item.tfmg.coal_coke": "Koks Węglowy", + "item.tfmg.coal_coke_dust": "Pył z Koksu Węglowego", + "item.tfmg.cooling_fluid_bucket": "Wiadro Płynu Chłodzącego", + "item.tfmg.copper_grenade": "Granat Miedziany", + "item.tfmg.creosote_bucket": "Wiadro Kreozytu", + "item.tfmg.crude_oil_fluid_bucket": "Wiadro Ropy Naftowej", + "item.tfmg.diesel_bucket": "Wiadro Oleju Napędowego", + "item.tfmg.engine_base": "Podstawa Silnika", + "item.tfmg.engine_chamber": "Komora Silnika", + "item.tfmg.fireclay_ball": "Kulka Szamotu", + "item.tfmg.fireproof_brick": "Ognioodporna Cegła", + "item.tfmg.gasoline_bucket": "Wiadro Benzyny", + "item.tfmg.heavy_oil_bucket": "Wiadro Ciężkiego Oleju", + "item.tfmg.heavy_plate": "Ciężka Płyta", + "item.tfmg.ingot_mold": "Forma Odlewnicza w Kształcie Sztabki", + "item.tfmg.kerosene_bucket": "Wiadro Nafty", + "item.tfmg.liquid_asphalt_bucket": "Wiadro Płynnego Asfaltu", + "item.tfmg.liquid_concrete_bucket": "Wiadro Płynnego Betonu", + "item.tfmg.liquid_plastic_bucket": "Wiadro Płynnego Plastiku", + "item.tfmg.lubrication_oil_bucket": "Wiadro Smaru", + "item.tfmg.molten_slag_bucket": "Wiadro Stopionego Żużlu", + "item.tfmg.molten_steel_bucket": "Wiadro Stopionej Stali", + "item.tfmg.napalm_bucket": "Wiadro Napalmu", + "item.tfmg.naphtha_bucket": "Wiadro Benzyny Surowej", + "item.tfmg.nitrate_dust": "Pył Saletrzany", + "item.tfmg.plastic_sheet": "Arkusz Plastiku", + "item.tfmg.quad_potato_cannon": "Poczwórna Armata Na Ziemniaki", + "item.tfmg.rebar": "Pręt Zbrojeniowy", + "item.tfmg.screw": "Śruba", + "item.tfmg.screwdriver": "Śrubokręt", + "item.tfmg.slag": "Żużel", + "item.tfmg.spark_plug": "Świeca Zapłonowa", + "item.tfmg.steel_ingot": "Sztabka Stali", + "item.tfmg.steel_mechanism": "Stalowy Mechanizm", + "item.tfmg.sulfur_dust": "Pył Śarkowy", + "item.tfmg.thermite_grenade": "Granat Termitowy", + "item.tfmg.thermite_powder": "Proch Termitowy", + "item.tfmg.turbine_blade": "Łopata Turbiny", + "item.tfmg.unfinished_gasoline_engine": "Niedokończony Silnik Benzynowy", + "item.tfmg.unfinished_lpg_engine": "Niedokończony Silnik LPG", + "item.tfmg.unfinished_steel_mechanism": "Niedokończony Stalowy Mechanizm", + "item.tfmg.unfinished_turbine_engine": "Niedokończony Silnik Turbinowy", + "item.tfmg.unprocessed_heavy_plate": "Nieprzerobiona Ciężka Płyta", + "item.tfmg.zinc_grenade": "Granat Cynkowy", + + "_": "->------------------------] UI & Messages [------------------------<-", + + "itemGroup.tfmg.base": "Create: The Factory Must Grow", + "itemGroup.tfmg.building": "Create: TFMG Bloki Budowlane", + + "create.goggles.misc.number": "%1$s", + "create.goggles.misc.percent_symbol": "%", + "create.goggles.misc.dot_one": ".", + "create.goggles.misc.dot_two": "..", + "create.goggles.misc.dot_three": "...", + "create.goggles.misc.storage_info": "Informacje o Zawartości:", + "create.goggles.fluid_in_tank": "Zawartość Zbiornika:", + "create.goggles.surface_scanner.no_rotation": "Brak Siły Obrotowej!", + "create.goggles.surface_scanner.no_deposit": "Brak Pobliskich Złoż", + "create.goggles.surface_scanner.deposit_found": "Złoże Ropy Naftowej Znalezione!", + "create.goggles.surface_scanner.distance": "Odległość: %1$s Bloki", + "create.goggles.surface_scanner.scanning_surface": "Skanowanie Powierzchni...", + "create.goggles.distillation_tower.status": "Distillation Tower Info:", + "create.goggles.distillation_tower.tank_not_found": "Nie Znaleziono Stalowego Zbiornika", + "create.goggles.distillation_tower.not_tall_enough": "Zbiornik Jest Za Niski", + "create.goggles.distillation_tower.level": "Poziom Wierzy Destylacyjnej: %1$s", + "create.goggles.distillation_tower.found_outputs": "Ilość Wyjść: %1$s", + "create.goggles.distillation_tower.no_outputs": "Nie Znaleziono Wyjść", + "create.goggles.blast_furnace.stats": "Piec Hutniczy:", + "create.goggles.blast_furnace.size_stats": "Wielkość:", + "create.goggles.blast_furnace.fuel_amount": "Ilość Paliwa: %1$s", + "create.goggles.blast_furnace.item_count": "Ilość Przedmiotów: %1$s", + "create.goggles.blast_furnace.height": "Wysokość: %1$s", + "create.goggles.blast_furnace.nothing_lol": "", + "create.goggles.blast_furnace.status.off": "Stan: Bezczynny", + "create.goggles.blast_furnace.status.running": "Status: Działa", + "create.goggles.blast_furnace.diameter.one": "Średnica: 1", + "create.goggles.blast_furnace.diameter.two": "Średnica: 2", + "create.goggles.blast_furnace.invalid": "Piec Hutniczy Nieprawidłowy", + "create.goggles.coke_oven.status": "Piec Koksowniczy:", + "create.goggles.coke_oven.fluid_amount_output": "Zawartość Wewnętrznego Zbiornika: %1$s mb", + "create.goggles.coke_oven.fluid_amount_exhaust": "Dwutlenek Węgla: %1$s mb", + "create.goggles.coke_oven.item_count": "W Wewnętrznym Magazynie: %1$s", + "create.goggles.coke_oven.invalid": "Piec Koksowniczy Nieprawidłowy", + "create.goggles.coke_oven.tank_full": "Wewnętrzny Zbiornik Jest Pełny", + "create.goggles.coke_oven.progress": "Postęp: %1$s", + "create.goggles.engine_stats": "Statystyki Silnika:", + "create.goggles.engine_exhaust_stats": "Statystyki Wydechu Silnika:", + "create.goggles.fuel_container": "Paliwo", + "create.goggles.engine.backpartmissing": "Brakuje Tylnej Części:", + "create.goggles.engine_redstone_input": "Prędkość:", + "create.goggles.engine.efficiency": "Efektywność:", + "create.distillation_tower.size": "Wielkość:", + "create.distillation_tower.heat": "Temperatura:", + "create.tooltip.engine_analog_strength": "%1$s/15", + + "create.goggles.get_engine_efficiency": "%1$s", + "create.goggles.engine.stress": "%1$ssu", + "create.goggles.diesel_engine.info": "Silnik Wysokoprężny:", + "create.goggles.pumpjack_info": "Informacje o Pompie Żerdziowej:", + "create.goggles.pumpjack.part_missing": "Brakująca Korba lub Ramię Pompy Żerdziowej", + "create.goggles.pumpjack.wrong_rotation1": "Podstawa Pompy Żerdziowej jest skierowana nieprawidłowo, czerwony znacznik musi", + "create.goggles.pumpjack.wrong_rotation2": "być skierowany odwrotnie od Uchwytu Ramienia Pompy Żerdziowej", + "create.goggles.pumpjack_fluid_storage": "Informacje o Zbiorniku:", + + "create.pumpjack_deposit_amount": "%1$s Wiader", + + "create.goggles.pumpjack.deposit_info": "Informacje o Złożu:", + "create.goggles.zero": "Nie Znaleziono Złoża", + "create.goggles.pumpjack.fluid_amount": "Ilość Cieczy:", + "create.goggles.machine_input.info": "Informacje Wejścia Maszynowego", + "create.goggles.machine_input.no_rot": "Brak Siły Obrotowej!", + "create.goggles.machine_input.power_level": "Poziom Mocy: ", + + "create.recipe.distillation": "Destylacja", + "create.recipe.advanced_distillation": "Zaawansowana Destylacja", + "create.recipe.industrial_blasting": "Wytapianie Przemysłowe", + "create.recipe.casting": "Odlewanie", + "create.recipe.coking": "Spiekanie", + + "_": "->------------------------] Ponders [------------------------<-", + + "tfmg.ponder.small_engines.text_1": "Aby stworzyć mały silnik, umieść przednią i tylną część obok siebie", + "tfmg.ponder.small_engines.text_2": "Paliwo podawane jest do przedniej części, a spaliny odprowadzane są z tylnej części za pomocą rur i pompy", + "tfmg.ponder.small_engines.text_3": "Silnik uruchomi się po podaniu sygnału redstone na przednią część", + "tfmg.ponder.small_engines.text_4": "Istnieją silniki zasilane Benzyną, LPG i Naftą", + "tfmg.ponder.diesel_engine.text_1": "Silnik Wysokoprężny jest montowany poprzez umieszczenie Wału nad blokiem Silnika Wysokoprężnego", + "tfmg.ponder.diesel_engine.text_2": "Dwutlenek Węgla musi być odprowadzany Rurami i Wydechem", + "tfmg.ponder.diesel_engine.text_3": "Powietrze jest potrzebne do funkcjonowania silnika, więc Wlot Powietrza jest wymagany", + "tfmg.ponder.diesel_engine_expansion.text_1": "Rozszerzenia Silnika Wysokoprężniowego umożliwiają wprowadzenie dwóch nowych cieczy: Smaru i Płynu Chłodzącego", + "tfmg.ponder.surface_scanner.text_1": "Skaner Powierzchniowy służy do wyszukiwania złóż ropy naftowej", + "tfmg.ponder.surface_scanner.text_2": "Po podaniu Siły Obrotowej maszyna zaczyna szukać najbliższego złoża ropy", + "tfmg.ponder.surface_scanner.text_3": "Po znalezieniu złoża, wbudowany w blok kompas wskaże w jego kierunku", + "tfmg.ponder.pumpjack.text_1": "Pierwszym etapem wydobycia Ropy Naftowej jest budowa Rur Przemysłowych od złoża do powierzchni", + "tfmg.ponder.pumpjack.text_2": "Następnie należy zbudować Pompę Żerdiową na szczycie odwertu poprzez postawienie Podstawy Pompy Żerdziowej...", + "tfmg.ponder.pumpjack.text_3": "Postawienie Uchwytu Ramienia Pompy Żerdiowej za nią...", + "tfmg.ponder.pumpjack.text_4": "I wreszcie, postawienie Wejścia Maszyny i Korby Pompy Żerdziowej na Wejściu, tak jak pokazano na tej Analizie", + "tfmg.ponder.distillation_tower.text_1": "Podstawą Wieży Destylacyjnej są Stalowe Zbiorniki", + "tfmg.ponder.distillation_tower.text_2": "Wieżę montuje się, umieszczając Stalowy Kontroler Destylacji obok Zbiorników...", + "tfmg.ponder.distillation_tower.text_3": "I umieszczenie do 6 Wyjść Wierzy Destylacyjnej, oraz połączenie ich Rurami Przemysłowymi", + "tfmg.ponder.distillation_tower.text_4": "Umieść Płomienne Palniki (lub inne źródło ciepła) pod zbiornikami, aby je zasilić, Wskaźnik na Wieży pokazuje poziom mocy konstrukcji", + "tfmg.ponder.distillation_tower.text_5": "Ropa Naftowa jest wprowadzana do bloku Kontrolera Destylacji", + "tfmg.ponder.distillation_tower.text_6": "Każdy Blok Wyjściowy wyprowadza jeden z produktów Destylacji naftowej", + "tfmg.ponder.distillation_tower.text_7": "LPG", + "tfmg.ponder.distillation_tower.text_8": "Benzyna", + "tfmg.ponder.distillation_tower.text_9": "Benzyna Surowa", + "tfmg.ponder.distillation_tower.text_10": "Nafta", + "tfmg.ponder.distillation_tower.text_11": "Olej Napędowy", + "tfmg.ponder.distillation_tower.text_12": "Ciężki Olej", + "tfmg.ponder.blast_furnace.text_1": "Podstawą Pieca Hutniczego jest Wyjście Pieca Hutniczego", + "tfmg.ponder.blast_furnace.text_2": "Żeby Zbudować Piec Hutniczy, Należy zbudować komin z Cegieł Ognioodpornych, tak jak pokazano w Analizie", + "tfmg.ponder.blast_furnace.text_3": "Dolna połowa komina musi być wzmocniona (tak jak pokazano)", + "tfmg.ponder.blast_furnace.text_4": "Paliwo i inne przedmioty są podawane przez górny otwór", + "tfmg.ponder.coke_oven.text_1": "Piec Koksowniczy jest konstruowany przez stawianie bloków Pieca Koksowniczego tak jak w analizie, i użyciem klucz na jego boku", + "tfmg.ponder.coke_oven.text_2": "Proces spiekania jest powolny, więc bardziej efektywne jest mieć kilka długich szyków tych pieców pracujących w tym samym czasie", + "tfmg.ponder.coke_oven.text_3": "Węgiel może być dostarczany z każdej strony", + "tfmg.ponder.coke_oven.text_4": "Kiedy aktywny, Piec produkuje Kreozot i CO2, które muszą być odpompowywane z niego żeby piec mógł działać", + "tfmg.ponder.coke_oven.text_5": "Gdy proces się skończy, Koks węglowy wypadnie z przodu", + "tfmg.ponder.casting.text_1": "Odlewanie, jest to proces wlewania stopionego metalu w Tygiel Odlewniczy używając Napełniacza Odlewniczego", + "tfmg.ponder.casting.text_2": "Tygiel Odlewniczy, oczywiście, potrzebuje formy do funkcjonowania", + + "tfmg.ponder.distillation_tower.header": "Konfiguracja Wieży Destylacyjnej", + + "tfmg.ponder.pumpjack.header": "Budowa Pompy Żerdziowej", + + "tfmg.ponder.surface_scanner.header": "Znajdowanie Ropy Naftowej", + + "tfmg.ponder.diesel_engine.header": "Budowa Silników Wysokoprężnych", + + "tfmg.ponder.diesel_engine_expansion.header": "Rozszeżanie Silników Wysokoprężnych", + + "tfmg.ponder.small_engines.header": "Budowa Małych Silników", + + "tfmg.ponder.coke_oven.header": "Budowa a Piecu Koksowniczego", + "tfmg.ponder.blast_furnace": "Budowa Pieca Hutniczego", + + "tfmg.ponder.casting.header": "Odlewanie Metalu", + "tfmg.ponder.tag.oil": "Maszyny związane z Ropą Naftową", + "tfmg.ponder.tag.metallurgy": "Maszyny do Obróbki Metalu", + "tfmg.ponder.tag.oil.description": "Maszyny, które wydobywają, przetwarzają lub wykorzystują Ropę Naftową i wytworzone z niej produkty", + "tfmg.ponder.tag.metallurgy.description": "Maszyny, które produkują, przetwarzają lub wykorzystują Metal i związane z nim surowce", + + "tfmg.subtitle.engine_sounds": "Odgłosy Silnika", + "tfmg.subtitle.diesel_engine_sounds": "Odgłosy Silnika Wysokoprężnego", + + "_": "Thank you for translating Create: The Factory Must Grow!" + +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/lang/ru_ru.json b/src/main/resources/assets/tfmg/lang/ru_ru.json new file mode 100644 index 00000000..5d30967d --- /dev/null +++ b/src/main/resources/assets/tfmg/lang/ru_ru.json @@ -0,0 +1,572 @@ +{ + + "_": "->------------------------] Game Elements [------------------------<-", + + "block.tfmg.air_intake": "Воздухозаборник", + "block.tfmg.aluminum_bars": "Алюминиевый столб", + "block.tfmg.aluminum_block": "Блок алюминия", + "block.tfmg.aluminum_fluid_valve": "Алюминиевый жидкостный вентиль", + "block.tfmg.aluminum_flywheel": "Алюминиевый маховик", + "block.tfmg.aluminum_ladder": "Алюминиевая лестница", + "block.tfmg.aluminum_mechanical_pump": "Алюминиевая механическая помпа", + "block.tfmg.aluminum_pipe": "Алюминиевая жидкостная труба", + "block.tfmg.aluminum_scaffolding": "Алюминиевые подмостки", + "block.tfmg.aluminum_smart_fluid_pipe": "Умная алюминиевая умная труба", + "block.tfmg.aluminum_truss": "Алюминиевые балки", + "block.tfmg.asphalt": "Асфальт", + "block.tfmg.bauxite": "Боксит", + "block.tfmg.bauxite_pillar": "Бокситовая колонна", + "block.tfmg.black_concrete": "Черный бетон", + "block.tfmg.black_concrete_slab": "Черная бетонная плита", + "block.tfmg.black_concrete_stairs": "Черные бетонные ступеньки", + "block.tfmg.black_concrete_wall": "Черная бетонная ограда", + "block.tfmg.blast_furnace_output": "Выход доменной печи", + "block.tfmg.blue_concrete": "Синий бетон", + "block.tfmg.blue_concrete_slab": "Синяя бетонная плита", + "block.tfmg.blue_concrete_stairs": "Синие бетонные ступеньки", + "block.tfmg.blue_concrete_wall": "Синяя бетонная ограда", + "block.tfmg.brass_fluid_valve": "Латунный жидкостный вентиль", + "block.tfmg.brass_mechanical_pump": "Латунная механическая помпа", + "block.tfmg.brass_pipe": "Латунная жидкостная труба", + "block.tfmg.brass_smart_fluid_pipe": "Умная латунная жидкостная труба", + "block.tfmg.brown_concrete": "Коричневый бетон", + "block.tfmg.brown_concrete_slab": "Коричневая бетонная плита", + "block.tfmg.brown_concrete_stairs": "Коричневые бетонные ступеньки", + "block.tfmg.brown_concrete_wall": "Коричневая бетонная ограда", + "block.tfmg.cast_iron_block": "Чугунный блок", + "block.tfmg.cast_iron_distillation_controller": "Чугунный контроллер дистиллятора", + "block.tfmg.cast_iron_distillation_output": "Чугунный выход дистиллятора", + "block.tfmg.cast_iron_fluid_valve": "Чугунный жидкостный вентиль", + "block.tfmg.cast_iron_flywheel": "Чугунный маховик", + "block.tfmg.cast_iron_mechanical_pump": "Чугунная механическая помпа", + "block.tfmg.cast_iron_pipe": "Чугунная жидкостная труба", + "block.tfmg.cast_iron_smart_fluid_pipe": "Умная чугунная жидкостная труба", + "block.tfmg.casting_basin": "Литейная чаша", + "block.tfmg.casting_spout": "Литейный дозатор", + "block.tfmg.caution_block": "Желтый сигнальный блок", + "block.tfmg.cement": "Цемент", + "block.tfmg.coal_coke_block": "Блок коксового угля", + "block.tfmg.coke_oven": "Коксовая печь", + "block.tfmg.concrete": "Бетон", + "block.tfmg.concrete_slab": "Бетонная плита", + "block.tfmg.concrete_stairs": "Бетонные ступеньки", + "block.tfmg.concrete_wall": "Бетонная ограда", + "block.tfmg.cooling_fluid": "Охлаждающая жидкость", + "block.tfmg.copper_encased_aluminum_pipe": "Алюминиевая труба в медном корпусе", + "block.tfmg.copper_encased_brass_pipe": "Латунная труба в медном корпусе", + "block.tfmg.copper_encased_cast_iron_pipe": "Чугунная труба в медном корпусе", + "block.tfmg.copper_encased_plastic_pipe": "Пластиковая труба в медном корпусе", + "block.tfmg.copper_encased_steel_pipe": "Стальная труба в медном корпусе", + "block.tfmg.creosote": "Креозот", + "block.tfmg.crude_oil_fluid": "Сырая нефть", + "block.tfmg.cut_bauxite": "Резной боксит", + "block.tfmg.cut_bauxite_brick_slab": "Плита из резного бокситового кирпича", + "block.tfmg.cut_bauxite_brick_stairs": "Ступеньки из резного бокситового кирпича", + "block.tfmg.cut_bauxite_brick_wall": "Ограда из резного бокситового кирпича", + "block.tfmg.cut_bauxite_bricks": "Резный бокситовый кирпич", + "block.tfmg.cut_bauxite_slab": "Плита из резного боксита", + "block.tfmg.cut_bauxite_stairs": "Ступеньки из резного боксита", + "block.tfmg.cut_bauxite_wall": "Ограда из резного боксита", + "block.tfmg.cyan_concrete": "Бирюзовый бетон", + "block.tfmg.cyan_concrete_slab": "Бирюзовая бетонная плита", + "block.tfmg.cyan_concrete_stairs": "Бирюзовые бетонные ступеньки", + "block.tfmg.cyan_concrete_wall": "Бирюзовая бетонная ограда", + "block.tfmg.diesel": "Дизель", + "block.tfmg.diesel_engine": "Дизельный двигатель", + "block.tfmg.diesel_engine_expansion": "Расширенный ввод для дизельного двигателя", + "block.tfmg.exhaust": "Выхлопная труба", + "block.tfmg.factory_floor": "Заводской пол", + "block.tfmg.factory_floor_slab": "Плита из заводского пола", + "block.tfmg.factory_floor_stairs": "Ступеньки из заводского пола", + "block.tfmg.fireclay": "Огнеупорная глина", + "block.tfmg.fireproof_brick_reinforcement": "Огнеупорное кирпичное укрепление", + "block.tfmg.fireproof_bricks": "Огнеупорные кирпичи", + "block.tfmg.flarestack": "Факельная труба", + "block.tfmg.formwork_block": "Опалубка", + "block.tfmg.fossilstone": "Окаменелость", + "block.tfmg.gasoline": "Бензин", + "block.tfmg.gasoline_engine": "Бензиновый двигатель", + "block.tfmg.gasoline_engine_back": "Задняя часть бензинового двигателя", + "block.tfmg.glass_aluminum_pipe": "Застекленная алюминиевая жидкостная труба", + "block.tfmg.glass_brass_pipe": "Застекленная латунная жидкостная труба", + "block.tfmg.glass_cast_iron_pipe": "Застекленная чугунная жидкостная труба", + "block.tfmg.glass_plastic_pipe": "Застекленная пластиковая жидкостная труба", + "block.tfmg.glass_steel_pipe": "Застекленная стальная жидкостная труба", + "block.tfmg.gray_concrete": "Серый бетон", + "block.tfmg.gray_concrete_slab": "Серая бетонная плита", + "block.tfmg.gray_concrete_stairs": "Серые бетонные ступеньки", + "block.tfmg.gray_concrete_wall": "Серая бетонная ограда", + "block.tfmg.green_concrete": "Зеленый бетон", + "block.tfmg.green_concrete_slab": "Зеленая бетонная плита", + "block.tfmg.green_concrete_stairs": "Зеленые бетонные ступеньки", + "block.tfmg.green_concrete_wall": "Зеленая бетонная ограда", + "block.tfmg.hardened_planks": "Закаленные доски", + "block.tfmg.heavy_casing_door": "Тяжёлая стальная дверь", + "block.tfmg.heavy_machinery_casing": "Тяжёлый машинный корпус", + "block.tfmg.heavy_oil": "Мазут", + "block.tfmg.industrial_pipe": "Промышленная труба", + "block.tfmg.kerosene": "Керосин", + "block.tfmg.layered_bauxite": "Слоистый боксит", + "block.tfmg.light_blue_concrete": "Голубой бетон", + "block.tfmg.light_blue_concrete_slab": "Голубая бетонная плита", + "block.tfmg.light_blue_concrete_stairs": "Голубые бетонный ступеньки", + "block.tfmg.light_blue_concrete_wall": "Голубая бетонная ограда", + "block.tfmg.light_gray_concrete": "Светло-серый бетон", + "block.tfmg.light_gray_concrete_slab": "Светло-серая бетонная плита", + "block.tfmg.light_gray_concrete_stairs": "Светло-серые бетонные ступеньки", + "block.tfmg.light_gray_concrete_wall": "Светло-серая бетонная ограда", + "block.tfmg.lignite": "Бурый уголь", + "block.tfmg.lime_concrete": "Лаймовый бетон", + "block.tfmg.lime_concrete_slab": "Лаймовая бетонная плита", + "block.tfmg.lime_concrete_stairs": "Лаймовые бетонные ступеньки", + "block.tfmg.lime_concrete_wall": "Лаймовая бетонная ограда", + "block.tfmg.limesand": "Известняковый песок", + "block.tfmg.liquid_asphalt": "Жидкий асфальт", + "block.tfmg.liquid_concrete": "Жидкий бетон", + "block.tfmg.liquid_plastic": "Жидкий пластик", + "block.tfmg.lpg_engine": "СНГ двигатель", + "block.tfmg.lpg_engine_back": "Задняя часть СНГ двигателя", + "block.tfmg.lubrication_oil": "Смазочное масло", + "block.tfmg.machine_input": "Машинный ввод", + "block.tfmg.magenta_concrete": "Пурпурный бетон", + "block.tfmg.magenta_concrete_slab": "Пурпурная бетонная плита", + "block.tfmg.magenta_concrete_stairs": "Пурпурные бетонные ступеньки", + "block.tfmg.magenta_concrete_wall": "Пурпурная бетонная ограда", + "block.tfmg.molten_metal": "Расплавленный металл", + "block.tfmg.molten_slag": "расплавленный шлак", + "block.tfmg.molten_steel": "Расплавленная сталь", + "block.tfmg.napalm": "Напалм", + "block.tfmg.napalm_bomb": "Напалмовая бомба", + "block.tfmg.naphtha": "Лигроин", + "block.tfmg.oil_deposit": "Месторождение нефти", + "block.tfmg.orange_concrete": "Оранжевый бетон", + "block.tfmg.orange_concrete_slab": "Оранжевая бетонная плита", + "block.tfmg.orange_concrete_stairs": "Оранжевая бетонные ступеньки", + "block.tfmg.orange_concrete_wall": "Оранжевая бетонная ограда", + "block.tfmg.pink_concrete": "Розовый бетон", + "block.tfmg.pink_concrete_slab": "Розовая бетонная плита", + "block.tfmg.pink_concrete_stairs": "Розовая бетонные ступеньки", + "block.tfmg.pink_concrete_wall": "Розовая бетонная ограда", + "block.tfmg.plastic_block": "Блок пластика", + "block.tfmg.plastic_fluid_valve": "Пластиковый жидкостный вентиль", + "block.tfmg.plastic_mechanical_pump": "Пластиковая механическая помпа", + "block.tfmg.plastic_pipe": "Пластиковая жидкостная труба", + "block.tfmg.plastic_smart_fluid_pipe": "Умная пластиковая жидкостная труба", + "block.tfmg.polished_cut_bauxite": "Полированный резной боксит", + "block.tfmg.polished_cut_bauxite_slab": "Полированная плита из боксита", + "block.tfmg.polished_cut_bauxite_stairs": "Полированные ступеньки из боксита", + "block.tfmg.polished_cut_bauxite_wall": "Полированная ограда из боксита", + "block.tfmg.pumpjack_base": "Основа нефтяного насоса", + "block.tfmg.pumpjack_crank": "Нефтяной насос", + "block.tfmg.pumpjack_hammer_holder": "Балансир нефтяного насоса", + "block.tfmg.purple_concrete": "Фиолетовый бетон", + "block.tfmg.purple_concrete_slab": "Фиолетовая бетонная плита", + "block.tfmg.purple_concrete_stairs": "Фиолетовые бетонные ступеньки", + "block.tfmg.purple_concrete_wall": "Фиолетовая бетонная ограда", + "block.tfmg.rebar_concrete": "Армированный бетон", + "block.tfmg.rebar_concrete_slab": "Армированная бетонная плита", + "block.tfmg.rebar_concrete_stairs": "Армированные бетонные ступеньки", + "block.tfmg.rebar_concrete_wall": "Армированная бетонная плита", + "block.tfmg.rebar_formwork_block": "Арматурная опалубка", + "block.tfmg.red_caution_block": "Красный сигнальный блок", + "block.tfmg.red_concrete": "Красный бетон", + "block.tfmg.red_concrete_slab": "Красная бетонная плита", + "block.tfmg.red_concrete_stairs": "Красные бетонные ступеньки", + "block.tfmg.red_concrete_wall": "Красная бетонная ограда", + "block.tfmg.small_bauxite_brick_slab": "Плита из мелкого бокситового кирпича", + "block.tfmg.small_bauxite_brick_stairs": "Ступеньки из мелкого бокситового кирпича", + "block.tfmg.small_bauxite_brick_wall": "Ограда из мелкого бокситового кирпича", + "block.tfmg.small_bauxite_bricks": "Мелкие кирпичи из боксита", + "block.tfmg.steel_bars": "Стальные прутья", + "block.tfmg.steel_block": "Блок стали", + "block.tfmg.steel_casing": "Стальной корпус", + "block.tfmg.steel_distillation_controller": "Стальной контроллер дистилляционной башни", + "block.tfmg.steel_distillation_output": "Стальной выход дистилляционной дистилляции башни", + "block.tfmg.steel_door": "Стальная дверь", + "block.tfmg.steel_fluid_tank": "Стальной жидкостный бак", + "block.tfmg.steel_fluid_valve": "Стальной жидкостный вентиль", + "block.tfmg.steel_flywheel": "Стальной маховик", + "block.tfmg.steel_ladder": "Стальная лестница", + "block.tfmg.steel_mechanical_pump": "Стальная механическая помпа", + "block.tfmg.steel_pipe": "Стальная жидкостная труба", + "block.tfmg.steel_scaffolding": "Стальные подмостки", + "block.tfmg.steel_smart_fluid_pipe": "Умная стальная жидкостная труба", + "block.tfmg.steel_truss": "Стальные балки", + "block.tfmg.sulfur": "Сера", + "block.tfmg.surface_scanner": "Сканер поверхности", + "block.tfmg.turbine_engine": "Турбинный двигатель", + "block.tfmg.turbine_engine_back": "Задняя часть турбинного двигатель", + "block.tfmg.white_concrete": "Белый бетон", + "block.tfmg.white_concrete_slab": "Белая бетонная плита", + "block.tfmg.white_concrete_stairs": "Белые бетонные ступеньки", + "block.tfmg.white_concrete_wall": "Белая бетонная ограда", + "block.tfmg.yellow_concrete": "Желтый бетон", + "block.tfmg.yellow_concrete_slab": "Желтая бетонная плита", + "block.tfmg.yellow_concrete_stairs": "Желтые бетонные ступеньки", + "block.tfmg.yellow_concrete_wall": "Желтая бетонная ограда", + + "entity.tfmg.blue_spark": "Голубая искра", + "entity.tfmg.copper_grenade": "Медная граната", + "entity.tfmg.green_spark": "Зеленая искра", + "entity.tfmg.napalm_bomb_entity": "Активированная напалмовая бомба", + "entity.tfmg.spark": "Искра", + "entity.tfmg.thermite_grenade": "Термитная граната", + "entity.tfmg.zinc_grenade": "Цинковая граната", + + "fluid.tfmg.air": "Воздух", + "fluid.tfmg.butane": "Бутан", + "fluid.tfmg.carbon_dioxide": "Углекислый газ", + "fluid.tfmg.cooling_fluid": "Охлаждающая жидкость", + "fluid.tfmg.creosote": "Креозот", + "fluid.tfmg.crude_oil_fluid": "Сырая нефть", + "fluid.tfmg.diesel": "Дизель", + "fluid.tfmg.ethylene": "Этилен", + "fluid.tfmg.gasoline": "Бензин", + "fluid.tfmg.heavy_oil": "Мазут", + "fluid.tfmg.kerosene": "Керосин", + "fluid.tfmg.liquid_asphalt": "Жидкий асфальт", + "fluid.tfmg.liquid_concrete": "Жидкий бетон", + "fluid.tfmg.liquid_plastic": "Жидкий пластик", + "fluid.tfmg.lpg": "СНГ", + "fluid.tfmg.lubrication_oil": "Смазочное масло", + "fluid.tfmg.molten_slag": "Расплавленный шлак", + "fluid.tfmg.molten_steel": "Расплавленная сталь", + "fluid.tfmg.napalm": "Напалм", + "fluid.tfmg.naphtha": "Лигроин", + "fluid.tfmg.propane": "Пропан", + "fluid.tfmg.propylene": "Пропилен", + + "item.tfmg.aluminum_ingot": "Алюминиевый слиток", + "item.tfmg.bitumen": "Битум", + "item.tfmg.blasting_mixture": "Смесь для плавки", + "item.tfmg.block_mold": "Форма блока для выплавки", + "item.tfmg.cast_iron_ingot": "Чугунный слиток", + "item.tfmg.charcoal_dust": "Пыль древесного угля", + "item.tfmg.coal_coke": "Коксовый уголь", + "item.tfmg.coal_coke_dust": "Коксовая пыль", + "item.tfmg.cooling_fluid_bucket": "Ведро охлаждающей жидкости", + "item.tfmg.copper_grenade": "Медная граната", + "item.tfmg.creosote_bucket": "Ведро креозота", + "item.tfmg.crude_oil_fluid_bucket": "Ведро сырой нефти", + "item.tfmg.diesel_bucket": "Ведро дизеля", + "item.tfmg.engine_base": "Основа двигателя", + "item.tfmg.engine_chamber": "Камера сгорания", + "item.tfmg.fireclay_ball": "Шарик из огнеупорной глины", + "item.tfmg.fireproof_brick": "Огнеупорный кирпич", + "item.tfmg.gasoline_bucket": "Ведро бензина", + "item.tfmg.heavy_oil_bucket": "Ведро мазута", + "item.tfmg.heavy_plate": "Тяжёлая пластина", + "item.tfmg.ingot_mold": "Форма слитка для выплавки", + "item.tfmg.kerosene_bucket": "Ведро керосина", + "item.tfmg.liquid_asphalt_bucket": "Ведро жидкого асфальта", + "item.tfmg.liquid_concrete_bucket": "Ведро жидкого бетона", + "item.tfmg.liquid_plastic_bucket": "Ведро расплавленного пластика", + "item.tfmg.lubrication_oil_bucket": "Ведро смазочного масла", + "item.tfmg.molten_slag_bucket": "Ведро расплавленного шлака", + "item.tfmg.molten_steel_bucket": "Ведро расплавленной стали", + "item.tfmg.napalm_bucket": "Ведро напалма", + "item.tfmg.naphtha_bucket": "Ведро лигроина", + "item.tfmg.nitrate_dust": "Нитратная пыль", + "item.tfmg.plastic_sheet": "Пластиковый лист", + "item.tfmg.quad_potato_cannon": "Четырёхствольная картофельная пушка", + "item.tfmg.rebar": "Арматура", + "item.tfmg.screw": "Винты", + "item.tfmg.screwdriver": "Отвёртка", + "item.tfmg.slag": "Шлак", + "item.tfmg.spark_plug": "Свеча зажигания", + "item.tfmg.steel_ingot": "Стальной слиток", + "item.tfmg.steel_mechanism": "Стальной механизм", + "item.tfmg.sulfur_dust": "Серная пыль", + "item.tfmg.thermite_grenade": "Термитная граната", + "item.tfmg.thermite_powder": "Термитный порошок", + "item.tfmg.turbine_blade": "Лопасти турбины", + "item.tfmg.unfinished_gasoline_engine": "Незаконченный бензиновый двигатель", + "item.tfmg.unfinished_lpg_engine": "Незаконченный СНГ двигатель", + "item.tfmg.unfinished_steel_mechanism": "Незаконченный стальной механизм", + "item.tfmg.unfinished_turbine_engine": "Незаконченный турбинный двигатель", + "item.tfmg.unprocessed_heavy_plate": "Незаконченная тяжёлая плита", + "item.tfmg.zinc_grenade": "Цинковая граната", + + "itemGroup.tfmg.base": "Create: The Factory Must Grow", + "itemGroup.tfmg.building": "Create: TFMG Building Blocks", + + "create.goggles.misc.number": "%1$s", + "create.goggles.misc.percent_symbol": "%", + "create.goggles.misc.dot_one": ".", + "create.goggles.misc.dot_two": "..", + "create.goggles.misc.dot_three": "...", + "create.goggles.misc.storage_info": "Информация о хранилище:", + "create.goggles.fluid_in_tank": "Содержимое бака:", + "create.goggles.surface_scanner.no_rotation": "Подключите вращение", + "create.goggles.surface_scanner.no_deposit": "Месторождений нефти не найдено", + "create.goggles.surface_scanner.deposit_found": "Найдено месторождение нефти!", + "create.goggles.surface_scanner.distance": "Дистанция: %1$s блоков", + "create.goggles.surface_scanner.scanning_surface": "Сканирование поверхности...", + "create.goggles.distillation_tower.status": "Информация о дистилляционной башне:", + "create.goggles.distillation_tower.tank_not_found": "Стальной жидкостный бак не найден", + "create.goggles.distillation_tower.not_tall_enough": "Жидкостный бак слишком низкий", + "create.goggles.distillation_tower.level": "Уровень дистилляционной башни: %1$s", + "create.goggles.distillation_tower.found_outputs": "Количество выходов: %1$s", + "create.goggles.distillation_tower.no_outputs": "Блоки вывода не найдены", + "create.goggles.blast_furnace.stats": "Доменная печь:", + "create.goggles.blast_furnace.size_stats": "Размер:", + "create.goggles.blast_furnace.fuel_amount": "Количество топлива: %1$s", + "create.goggles.blast_furnace.item_count": "Количество предметов: %1$s", + "create.goggles.blast_furnace.height": "Высота: %1$s", + "create.goggles.blast_furnace.nothing_lol": "", + "create.goggles.blast_furnace.status.off": "Статус: Неактивена", + "create.goggles.blast_furnace.status.running": "Статус: Работает", + "create.goggles.blast_furnace.diameter.one": "Диаметр: 1", + "create.goggles.blast_furnace.diameter.two": "Диаметр: 2", + "create.goggles.blast_furnace.invalid": "Доменная печь недействительна", + "create.goggles.coke_oven.status": "Коксовая печь:", + "create.goggles.coke_oven.fluid_amount_output": "Внутреннее содержимое резервуара: %1$s mb", + "create.goggles.coke_oven.fluid_amount_exhaust": "Углекислый газ: %1$s mb", + "create.goggles.coke_oven.item_count": "Внутренне содержимое: %1$s", + "create.goggles.coke_oven.invalid": "Коксовая печь недействительна", + "create.goggles.coke_oven.tank_full": "Внутренний резервуар заполнен", + "create.goggles.coke_oven.progress": "Коксование: %1$s", + "create.goggles.engine_stats": "Статистика двигателя:", + "create.goggles.engine_exhaust_stats": "Статистика выхлопа двигателя:", + "create.goggles.fuel_container": "Хранение жидкости", + "create.goggles.engine.backpartmissing": "Задняя часть отсутствует:", + "create.goggles.engine_redstone_input": "Скорость:", + "create.goggles.engine.efficiency": "Эффективность:", + + "create.tooltip.engine_analog_strength": "%1$s/15", + + "create.goggles.get_engine_efficiency": "%1$s", + "create.goggles.engine.stress": "%1$sЕН", + "create.goggles.diesel_engine.info": "Дизельный двигатель:", + "create.goggles.pumpjack_info": "Информация о нефтяном насосе:", + "create.goggles.pumpjack.part_missing": "Насос или балансир отсутствует", + "create.goggles.pumpjack.wrong_rotation1": "Основа повёрнута неправильно, красный маркер должен", + "create.goggles.pumpjack.wrong_rotation2": "смотреть ОТ балансира", + "create.goggles.pumpjack_fluid_storage": "Информация о жидкостном баке:", + + "create.pumpjack_deposit_amount": "%1$s Buckets", + + "create.goggles.pumpjack.deposit_info": "Информация о месторождении:", + "create.goggles.zero": "Месторождение не найдено", + "create.goggles.pumpjack.fluid_amount": "Количество жидкости:", + "create.goggles.machine_input.info": "Информация о машинном вводе", + "create.goggles.machine_input.no_rot": "Подключите вращение!", + "create.goggles.machine_input.power_level": "Уровень мощности: ", + + "create.recipe.distillation": "Дистилляция", + "create.recipe.advanced_distillation": "Расширенная дистилляция", + "create.recipe.industrial_blasting": "Промышленная плавка", + "create.recipe.casting": "Литьё", + "create.recipe.coking": "Коксование", + + "tfmg.ponder.small_engines.text_1": "Чтобы создать небольшой двигатель, расположите переднюю и заднюю части рядом друг с другом", + "tfmg.ponder.small_engines.text_2": "Топливо подается в переднюю часть, а выхлопные газы необходимо отводить из задней части с помощью труб и Выхлопной трубы", + "tfmg.ponder.small_engines.text_3": "Подача сигнала редстоуна на переднюю часть запускает двигатель", + "tfmg.ponder.small_engines.text_4": "К малогабаритным двигателям относятся двигатели, работающие на Сжиженном Нефтяном Газе, Керосине и Бензине", + "tfmg.ponder.diesel_engine.text_1": "Дизельные двигатели собираются путем размещения Вала перед блоком Дизельного двигателя", + "tfmg.ponder.diesel_engine.text_2": "Двигатель вырабатывает выхлопные газы, которые необходимо отводить с помощью труб и Выхлопной трубы", + "tfmg.ponder.diesel_engine.text_3": "Для работы двигателя необходим Воздух, поэтому нужен Воздухозаборник", + "tfmg.ponder.diesel_engine_expansion.text_1": "Расширенный ввод дизельного двигателя может предоставить Дизельному двигателю два новых входных слота для Смазочного масла и Охлаждающей жидкости", + "tfmg.ponder.surface_scanner.text_1": "Сканер поверхности используется для обнаружения Месторождений сырой нефти", + "tfmg.ponder.surface_scanner.text_2": "Подача вращения к Сканеру позволяет ему сканировать ближайшее месторождение", + "tfmg.ponder.surface_scanner.text_3": "Если месторождение обнаружено, компас на Сканере укажет на его местонахождение", + "tfmg.ponder.pumpjack.text_1": "Чтобы начать добывать Нефть, вы должны сначала построить трубопровод поверх Месторождения, используя Промышленные трубы", + "tfmg.ponder.pumpjack.text_2": "Затем постройте Нефтяной насос поверх трубопровода, Сначала установив основу....", + "tfmg.ponder.pumpjack.text_3": "Поставьте за ним Балансир....", + "tfmg.ponder.pumpjack.text_4": "И, наконец, разместите Машинный ввод с Насосом над ним, как показано на экране", + "tfmg.ponder.distillation_tower.text_1": "Достаточно большой Стальной бак можно превратить в Дистилляционную башню", + "tfmg.ponder.distillation_tower.text_2": "Башня собирается путем размещения Стального контроллера дистилляционной башни рядом с резервуаром....", + "tfmg.ponder.distillation_tower.text_3": "И размещения до 6 Выходов дистилляционной башни, соединенных Промышленными трубами", + "tfmg.ponder.distillation_tower.text_4": "Горелки всполоха необходимы для работы дистилляционной башни. На индикаторе снизу башни отображается текущий уровень мощности.", + "tfmg.ponder.distillation_tower.text_5": "Что бы ввести Сырую нефть, её необходимо закачать в блок Контроллера", + "tfmg.ponder.distillation_tower.text_6": "Каждый Выходной блок обеспечивает выход одного из побочных продуктов нефти", + "tfmg.ponder.distillation_tower.text_7": "СНГ", + "tfmg.ponder.distillation_tower.text_8": "Бензин", + "tfmg.ponder.distillation_tower.text_9": "Лигроин", + "tfmg.ponder.distillation_tower.text_10": "Керосин", + "tfmg.ponder.distillation_tower.text_11": "Дизель", + "tfmg.ponder.distillation_tower.text_12": "Мазут", + "tfmg.ponder.blast_furnace.text_1": "Основой Доменной печи является блок Вывода доменной печи.", + "tfmg.ponder.blast_furnace.text_2": "Чтобы собрать Доменную печь, постройте дымоход из Огнеупорных кирпичей, как показано на экране.", + "tfmg.ponder.blast_furnace.text_3": "Нижнюю половину дымохода необходимо укрепить.", + "tfmg.ponder.blast_furnace.text_4": "Топливо и другие предметы вводятся через отверстие вверху.", + "tfmg.ponder.coke_oven.text_1": "Коксовая печь строится путем размещения блоков Коксовой печи, как показано на экране, включая направление блоков, и клика Гаечным ключём по узкой стороне.", + "tfmg.ponder.coke_oven.text_2": "Процесс коксования достаточно медленный, поэтому эффективнее иметь длинные ряды одновременно работающих печей.", + "tfmg.ponder.coke_oven.text_3": "Уголь может быть введён через любую из сторон", + "tfmg.ponder.coke_oven.text_4": "Во время работы печь вырабатывает Креозот и Углекислый газ, которые необходимо откачивать для продолжения работы.", + "tfmg.ponder.coke_oven.text_5": "После этого Коксовый уголь выпадет из отверстия.", + "tfmg.ponder.casting.text_1": "Литье — это процесс заливки Жидкого металла в Литейную форму с помощью Литейного дозатора.", + "tfmg.ponder.casting.text_2": "Литейная чаша, очевидно, требует Формы литья для работы.", + + "tfmg.ponder.distillation_tower.header": "Установка дистилляционной башни", + + "tfmg.ponder.pumpjack.header": "Строительство нефтяных насосов", + + "tfmg.ponder.surface_scanner.header": "Поиск нефти", + + "tfmg.ponder.diesel_engine.header": "Сборка дизельного двигателя", + + "tfmg.ponder.diesel_engine_expansion.header": "Расширение дизельных двигателей", + + "tfmg.ponder.small_engines.header": "Создание небольших двигателей", + + "tfmg.ponder.coke_oven.header": "Строительство коксовой печи", + "tfmg.ponder.blast_furnace": "Строительство доменной печи", + + "tfmg.ponder.casting.header": "Литье металла", + "tfmg.ponder.tag.oil": "Машины, связанные с нефтью", + "tfmg.ponder.tag.metallurgy": "Металлообрабатывающие машины", + "tfmg.ponder.tag.oil.description": "Машины, которые добывают, перерабатывают или используют сырую нефть и ее побочные продукты.", + "tfmg.ponder.tag.metallurgy.description": "Машины, которые производят, обрабатывают или используют металл и сырье как таковое.", + + "tfmg.subtitle.engine_sounds": "Звуки двигателя", + "tfmg.subtitle.diesel_engine_sounds": "Звуки дизельного двигателя", + + + "_": "->------------------------] UI & Messages [------------------------<-", + + "itemGroup.tfmg.base": "Create: The Factory Must Grow", + "itemGroup.tfmg.building": "Create: TFMG Строительные блоки", + + "create.goggles.misc.number": "%1$s", + "create.goggles.misc.percent_symbol": "%", + "create.goggles.misc.dot_one": ".", + "create.goggles.misc.dot_two": "..", + "create.goggles.misc.dot_three": "...", + "create.goggles.misc.storage_info": "Информация о хранилище:", + "create.goggles.fluid_in_tank": "Содержимое бака:", + "create.goggles.surface_scanner.no_rotation": "Подключите вращение", + "create.goggles.surface_scanner.no_deposit": "Месторождений нефти не найдено", + "create.goggles.surface_scanner.deposit_found": "Найдено месторождение нефти!", + "create.goggles.surface_scanner.distance": "Дистанция: %1$s блоков", + "create.goggles.surface_scanner.scanning_surface": "Сканирование поверхности...", + "create.goggles.distillation_tower.status": "Информация о дистилляционной башне:", + "create.goggles.distillation_tower.tank_not_found": "Стальной жидкостный бак не найден", + "create.goggles.distillation_tower.not_tall_enough": "Жидкостный бак слишком низкий", + "create.goggles.distillation_tower.level": "Уровень дистилляционной башни: %1$s", + "create.goggles.distillation_tower.found_outputs": "Количество выходов: %1$s", + "create.goggles.distillation_tower.no_outputs": "Блоки вывода не найдены", + "create.goggles.blast_furnace.stats": "Доменная печь:", + + "create.distillation_tower.size": "Размер", + "create.distillation_tower.heat": "Нагрев", + + "create.goggles.blast_furnace.fuel_amount": "Количество топлива: %1$s", + "create.goggles.blast_furnace.item_count": "Количество предметов: %1$s", + "create.goggles.blast_furnace.height": "Высота: %1$s", + "create.goggles.blast_furnace.nothing_lol": "", + "create.goggles.blast_furnace.status.off": "Статус: Неактивена", + "create.goggles.blast_furnace.status.running": "Статус: Работает", + "create.goggles.blast_furnace.diameter.one": "Диаметр: 1", + "create.goggles.blast_furnace.diameter.two": "Диаметр: 2", + "create.goggles.blast_furnace.invalid": "Доменная печь недействительна", + "create.goggles.coke_oven.status": "Коксовая печь:", + "create.goggles.coke_oven.fluid_amount_output": "Внутреннее содержимое резервуара: %1$s mb", + "create.goggles.coke_oven.fluid_amount_exhaust": "Углекислый газ: %1$s mb", + "create.goggles.coke_oven.item_count": "Внутренне содержимое: %1$s", + "create.goggles.coke_oven.invalid": "Коксовая печь недействительна", + "create.goggles.coke_oven.tank_full": "Внутренний резервуар заполнен", + "create.goggles.coke_oven.progress": "Коксование: %1$s", + "create.goggles.engine_stats": "Статистика двигателя:", + "create.goggles.engine_exhaust_stats": "Статистика выхлопа двигателя:", + "create.goggles.fuel_container": "Хранение жидкости", + "create.goggles.engine.backpartmissing": "Задняя часть отсутствует:", + "create.goggles.engine_redstone_input": "Скорость:", + "create.goggles.engine.efficiency": "Эффективность:", + + "create.tooltip.engine_analog_strength": "%1$s/15", + + "create.goggles.get_engine_efficiency": "%1$s", + "create.goggles.engine.stress": "%1$sЕН", + "create.goggles.diesel_engine.info": "Дизельный двигатель:", + "create.goggles.pumpjack_info": "Информация о нефтяном насосе:", + "create.goggles.pumpjack.part_missing": "Насос или балансир отсутствует", + "create.goggles.pumpjack.wrong_rotation1": "Основа повёрнута неправильно, красный маркер должен", + "create.goggles.pumpjack.wrong_rotation2": "смотреть ОТ балансира", + "create.goggles.pumpjack_fluid_storage": "Информация о жидкостном баке:", + + "create.pumpjack_deposit_amount": "%1$s Buckets", + + "create.goggles.pumpjack.deposit_info": "Информация о месторождении:", + "create.goggles.zero": "Месторождение не найдено", + "create.goggles.pumpjack.fluid_amount": "Количество жидкости:", + "create.goggles.machine_input.info": "Информация о машинном вводе", + "create.goggles.machine_input.no_rot": "Подключите вращение!", + "create.goggles.machine_input.power_level": "Уровень мощности: ", + + "create.recipe.distillation": "Дистилляция", + "create.recipe.advanced_distillation": "Расширенная дистилляция", + "create.recipe.industrial_blasting": "Промышленная плавка", + "create.recipe.casting": "Литьё", + "create.recipe.coking": "Коксование", + + "tfmg.subtitle.engine_sounds": "Звуки двигателя", + "tfmg.subtitle.diesel_engine_sounds": "Звуки дизельного двигателя", + + + "_": "->------------------------] Ponders [------------------------<-", + + "tfmg.ponder.small_engines.text_1": "Чтобы создать небольшой двигатель, расположите переднюю и заднюю части рядом друг с другом", + "tfmg.ponder.small_engines.text_2": "Топливо подается в переднюю часть, а выхлопные газы необходимо отводить из задней части с помощью труб и Выхлопной трубы", + "tfmg.ponder.small_engines.text_3": "Подача сигнала редстоуна на переднюю часть запускает двигатель", + "tfmg.ponder.small_engines.text_4": "К малогабаритным двигателям относятся двигатели, работающие на Сжиженном Нефтяном Газе, Керосине и Кензине", + "tfmg.ponder.diesel_engine.text_1": "Дизельные двигатели собираются путем размещения Вала перед блоком дизельного Двигателя", + "tfmg.ponder.diesel_engine.text_2": "Двигатель вырабатывает выхлопные газы, которые необходимо отводить с помощью труб и Выхлопной трубы", + "tfmg.ponder.diesel_engine.text_3": "Для работы двигателя необходим Воздух, поэтому нужен Воздухозаборник", + "tfmg.ponder.diesel_engine_expansion.text_1": "Расширенный ввод дизельного двигателя может предоставить Дизельному двигателю два новых входных слота для Смазочного масла и Охлаждающей жидкости", + "tfmg.ponder.surface_scanner.text_1": "Сканер поверхности используется для обнаружения Месторождений сырой нефти", + "tfmg.ponder.surface_scanner.text_2": "Подача вращения к Сканеру позволяет ему сканировать ближайшее месторождение", + "tfmg.ponder.surface_scanner.text_3": "Если месторождение обнаружено, компас на Сканере укажет на его местонахождение", + "tfmg.ponder.pumpjack.text_1": "Чтобы начать добывать Нефть, вы должны сначала построить трубопровод поверх Месторождения, используя Промышленные трубы", + "tfmg.ponder.pumpjack.text_2": "Затем постройте Нефтяной насос поверх трубопровода, сначала установив Основу...", + "tfmg.ponder.pumpjack.text_3": "За ним поставьте Балансир...", + "tfmg.ponder.pumpjack.text_4": "И, наконец, разместите Машинный ввод с Насосом над ним, как показано на экране", + "tfmg.ponder.distillation_tower.text_1": "Достаточно большой Стальной бак можно превратить в Дистилляционную башню", + "tfmg.ponder.distillation_tower.text_2": "Башня собирается путем размещения Стального контроллера дистилляционной башни рядом с резервуаром...", + "tfmg.ponder.distillation_tower.text_3": "И размещения до 6 Выходов дистилляционной башни, соединенных Промышленными трубами", + "tfmg.ponder.distillation_tower.text_4": "Горелки всполоха необходимы для работы Дистилляционной башни. На индикаторе снизу башни отображается текущий уровень мощности", + "tfmg.ponder.distillation_tower.text_5": "Что бы закачать Сырую нефть в башню, её необходимо ввести в блок Контроллера", + "tfmg.ponder.distillation_tower.text_6": "Каждый Выходной блок обеспечивает выход одного из побочных продуктов нефти", + "tfmg.ponder.distillation_tower.text_7": "СНГ", + "tfmg.ponder.distillation_tower.text_8": "Безнин", + "tfmg.ponder.distillation_tower.text_9": "Лигроин", + "tfmg.ponder.distillation_tower.text_10": "Керосин", + "tfmg.ponder.distillation_tower.text_11": "Дизель", + "tfmg.ponder.distillation_tower.text_12": "Мазут", + "tfmg.ponder.blast_furnace.text_1": "Основой Доменной печи является блок Вывода доменной печи", + "tfmg.ponder.blast_furnace.text_2": "Чтобы собрать Доменную печь, постройте дымоход из Огнеупорных кирпичей, как показано на экране", + "tfmg.ponder.blast_furnace.text_3": "Нижнюю половину дымохода необходимо укрепить", + "tfmg.ponder.blast_furnace.text_4": "Топливо и другие предметы вводятся через отверстие вверху", + "tfmg.ponder.coke_oven.text_1": "Коксовая печь строится путем размещения блоков Коксовой печи, как показано на экране, включая направление блоков, и клика Гаечным ключём по узкой стороне", + "tfmg.ponder.coke_oven.text_2": "Процесс коксования достаточно медленный, поэтому эффективнее иметь длинные ряды одновременно работающих печей", + "tfmg.ponder.coke_oven.text_3": "Уголь может быть введён через любую из сторон", + "tfmg.ponder.coke_oven.text_4": "Во время работы Печь вырабатывает Креозот и Углекислый газ, которые необходимо откачивать для продолжения работы", + "tfmg.ponder.coke_oven.text_5": "После этого Коксовый уголь выпадет из отверстия", + "tfmg.ponder.casting.text_1": "Литье — это процесс заливки Жидкого металла в Литейную форму с помощью Литейного дозатора", + "tfmg.ponder.casting.text_2": "Литейная чаша, очевидно, требует Формы литья для работы", + + "tfmg.ponder.distillation_tower.header": "Установка дистилляционной башни", + + "tfmg.ponder.pumpjack.header": "Строительство нефтяных насосов", + + "tfmg.ponder.surface_scanner.header": "Поиск нефти", + + "tfmg.ponder.diesel_engine.header": "Сборка дизельного двигателя", + + "tfmg.ponder.diesel_engine_expansion.header": "Расширение дизельных двигателей", + + "tfmg.ponder.small_engines.header": "Создание небольших двигателей", + + "tfmg.ponder.coke_oven.header": "Строительство коксовой печи", + "tfmg.ponder.blast_furnace": "Строительство доменной печи", + + "tfmg.ponder.casting.header": "Литье металла", + "tfmg.ponder.tag.oil": "Машины, связанные с нефтью", + "tfmg.ponder.tag.metallurgy": "Металлообрабатывающие машины", + "tfmg.ponder.tag.oil.description": "Машины, которые добывают, перерабатывают или используют сырую нефть и ее побочные продукты", + "tfmg.ponder.tag.metallurgy.description": "Машины, которые производят, обрабатывают или используют металл и сырье как таковое", + + "_": "Thank you for translating Create: The Factory Must Grow!" , + "_": "No Problem))))))spend 4 hours........" + +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/lang/zh_cn.json b/src/main/resources/assets/tfmg/lang/zh_cn.json new file mode 100644 index 00000000..edcf81f7 --- /dev/null +++ b/src/main/resources/assets/tfmg/lang/zh_cn.json @@ -0,0 +1,437 @@ +{ + + "_": "->------------------------] Game Elements [------------------------<-", + + "block.tfmg.air_intake": "进气扇", + "block.tfmg.aluminum_bars": "铝栏杆", + "block.tfmg.aluminum_block": "铝块", + "block.tfmg.aluminum_fluid_valve": "铝流体阀门", + "block.tfmg.aluminum_flywheel": "铝飞轮", + "block.tfmg.aluminum_ladder": "铝梯子", + "block.tfmg.aluminum_mechanical_pump": "铝动力泵", + "block.tfmg.aluminum_pipe": "铝流体管道", + "block.tfmg.aluminum_scaffolding": "铝脚手架", + "block.tfmg.aluminum_smart_fluid_pipe": "铝智能流体管道", + "block.tfmg.aluminum_truss": "铝桁架", + "block.tfmg.asphalt": "沥青", + "block.tfmg.bauxite": "铝土矿", + "block.tfmg.bauxite_pillar": "竖纹铝土矿", + "block.tfmg.black_concrete": "黑色混凝土", + "block.tfmg.black_concrete_slab": "黑色混凝土台阶", + "block.tfmg.black_concrete_stairs": "黑色混凝土楼梯", + "block.tfmg.black_concrete_wall": "黑色混凝土墙", + "block.tfmg.blast_furnace_output": "高炉输出口", + "block.tfmg.blue_concrete": "蓝色混凝土", + "block.tfmg.blue_concrete_slab": "蓝色混凝土台阶", + "block.tfmg.blue_concrete_stairs": "蓝色混凝土楼梯", + "block.tfmg.blue_concrete_wall": "蓝色混凝土墙", + "block.tfmg.brass_fluid_valve": "黄铜流体阀门", + "block.tfmg.brass_mechanical_pump": "黄铜动力泵", + "block.tfmg.brass_pipe": "黄铜流体管道", + "block.tfmg.brass_smart_fluid_pipe": "黄铜智能流体管道", + "block.tfmg.brown_concrete": "棕色混凝土", + "block.tfmg.brown_concrete_slab": "棕色混凝土台阶", + "block.tfmg.brown_concrete_stairs": "棕色混凝土楼梯", + "block.tfmg.brown_concrete_wall": "棕色混凝土墙", + "block.tfmg.cast_iron_block": "铸铁块", + "block.tfmg.cast_iron_distillation_controller": "铸铁分馏塔控制器", + "block.tfmg.cast_iron_distillation_output": "铸铁分馏塔输出口", + "block.tfmg.cast_iron_fluid_valve": "铸铁流体阀门", + "block.tfmg.cast_iron_flywheel": "铸铁飞轮", + "block.tfmg.cast_iron_mechanical_pump": "铸铁动力泵", + "block.tfmg.cast_iron_pipe": "铸铁流体管道", + "block.tfmg.cast_iron_smart_fluid_pipe": "铸铁智能流体管道", + "block.tfmg.casting_basin": "铸造盆", + "block.tfmg.casting_spout": "注模器", + "block.tfmg.caution_block": "警示方块", + "block.tfmg.cement": "水泥", + "block.tfmg.coal_coke_block": "焦煤块", + "block.tfmg.coke_oven": "焦炉", + "block.tfmg.concrete": "混凝土", + "block.tfmg.concrete_slab": "混凝土台阶", + "block.tfmg.concrete_stairs": "混凝土楼梯", + "block.tfmg.concrete_wall": "混凝土墙", + "block.tfmg.cooling_fluid": "冷却液", + "block.tfmg.copper_encased_aluminum_pipe": "铝流体管道箱", + "block.tfmg.copper_encased_brass_pipe": "黄铜流体管道箱", + "block.tfmg.copper_encased_cast_iron_pipe": "铸铁流体管道箱", + "block.tfmg.copper_encased_plastic_pipe": "塑料流体管道箱", + "block.tfmg.copper_encased_steel_pipe": "钢流体管道箱", + "block.tfmg.creosote": "杂酚油", + "block.tfmg.crude_oil_fluid": "原油", + "block.tfmg.cut_bauxite": "切制铝土矿", + "block.tfmg.cut_bauxite_brick_slab": "切制铝土砖块台阶", + "block.tfmg.cut_bauxite_brick_stairs": "切制铝土砖块楼梯", + "block.tfmg.cut_bauxite_brick_wall": "切制铝土砖块墙", + "block.tfmg.cut_bauxite_bricks": "切制铝土砖块", + "block.tfmg.cut_bauxite_slab": "切制铝土台阶", + "block.tfmg.cut_bauxite_stairs": "切制铝土楼梯", + "block.tfmg.cut_bauxite_wall": "切制铝土墙", + "block.tfmg.cyan_concrete": "青色混凝土", + "block.tfmg.cyan_concrete_slab": "青色混凝土台阶", + "block.tfmg.cyan_concrete_stairs": "青色混凝土楼梯", + "block.tfmg.cyan_concrete_wall": "青色混凝土墙", + "block.tfmg.diesel": "柴油", + "block.tfmg.diesel_engine": "柴油引擎", + "block.tfmg.diesel_engine_expansion": "柴油引擎扩充件", + "block.tfmg.exhaust": "排气管", + "block.tfmg.factory_floor": "工厂地板", + "block.tfmg.factory_floor_slab": "工厂地板台阶", + "block.tfmg.factory_floor_stairs": "工厂地板楼梯", + "block.tfmg.fireclay": "耐火黏土", + "block.tfmg.fireproof_brick_reinforcement": "耐火砖固墙", + "block.tfmg.fireproof_bricks": "耐火砖", + "block.tfmg.flarestack": "焚油火炬", + "block.tfmg.formwork_block": "浇筑模板", + "block.tfmg.fossilstone": "化石", + "block.tfmg.gasoline": "汽油", + "block.tfmg.gasoline_engine": "汽油引擎", + "block.tfmg.gasoline_engine_back": "汽油引擎机尾", + "block.tfmg.glass_aluminum_pipe": "玻璃铝流体管道", + "block.tfmg.glass_brass_pipe": "玻璃黄铜流体管道", + "block.tfmg.glass_cast_iron_pipe": "玻璃铸铁流体管道", + "block.tfmg.glass_plastic_pipe": "玻璃塑料流体管道", + "block.tfmg.glass_steel_pipe": "玻璃钢流体管道", + "block.tfmg.gray_concrete": "灰色混凝土", + "block.tfmg.gray_concrete_slab": "灰色混凝土台阶", + "block.tfmg.gray_concrete_stairs": "灰色混凝土楼梯", + "block.tfmg.gray_concrete_wall": "灰色混凝土墙", + "block.tfmg.green_concrete": "绿色混凝土", + "block.tfmg.green_concrete_slab": "绿色混凝土台阶", + "block.tfmg.green_concrete_stairs": "绿色混凝土楼梯", + "block.tfmg.green_concrete_wall": "绿色混凝土墙", + "block.tfmg.hardened_planks": "硬化木板", + "block.tfmg.heavy_casing_door": "坚固门", + "block.tfmg.heavy_machinery_casing": "重型机械机壳", + "block.tfmg.heavy_oil": "重油", + "block.tfmg.industrial_pipe": "工业级流体管道", + "block.tfmg.kerosene": "煤油", + "block.tfmg.layered_bauxite": "层叠铝土矿", + "block.tfmg.light_blue_concrete": "淡蓝色混凝土", + "block.tfmg.light_blue_concrete_slab": "淡蓝色混凝土台阶", + "block.tfmg.light_blue_concrete_stairs": "淡蓝色混凝土楼梯", + "block.tfmg.light_blue_concrete_wall": "淡蓝色混凝土墙", + "block.tfmg.light_gray_concrete": "淡灰色混凝土", + "block.tfmg.light_gray_concrete_slab": "淡灰色混凝土台阶", + "block.tfmg.light_gray_concrete_stairs": "淡灰色混凝土楼梯", + "block.tfmg.light_gray_concrete_wall": "淡灰色混凝土墙", + "block.tfmg.lignite": "褐煤", + "block.tfmg.lime_concrete": "黄绿色混凝土", + "block.tfmg.lime_concrete_slab": "黄绿色混凝土台阶", + "block.tfmg.lime_concrete_stairs": "黄绿色混凝土楼梯", + "block.tfmg.lime_concrete_wall": "黄绿色混凝土墙", + "block.tfmg.limesand": "石灰砂", + "block.tfmg.liquid_asphalt": "液态沥青", + "block.tfmg.liquid_concrete": "液态混凝土", + "block.tfmg.liquid_plastic": "液态塑料", + "block.tfmg.lpg_engine": "液化石油气引擎", + "block.tfmg.lpg_engine_back": "液化石油气引擎机尾", + "block.tfmg.lubrication_oil": "润滑油", + "block.tfmg.machine_input": "动力输入口", + "block.tfmg.magenta_concrete": "品红色混凝土", + "block.tfmg.magenta_concrete_slab": "品红色混凝土台阶", + "block.tfmg.magenta_concrete_stairs": "品红色混凝土楼梯", + "block.tfmg.magenta_concrete_wall": "品红色混凝土墙", + "block.tfmg.molten_metal": "熔融金属", + "block.tfmg.molten_slag": "熔融炉渣", + "block.tfmg.molten_steel": "熔融钢", + "block.tfmg.napalm": "凝固汽油", + "block.tfmg.napalm_bomb": "凝固汽油弹", + "block.tfmg.naphtha": "石脑油", + "block.tfmg.oil_deposit": "油田", + "block.tfmg.orange_concrete": "橙色混凝土", + "block.tfmg.orange_concrete_slab": "橙色混凝土台阶", + "block.tfmg.orange_concrete_stairs": "橙色混凝土楼梯", + "block.tfmg.orange_concrete_wall": "橙色混凝土墙", + "block.tfmg.pink_concrete": "粉红色混凝土", + "block.tfmg.pink_concrete_slab": "粉红色混凝土台阶", + "block.tfmg.pink_concrete_stairs": "粉红色混凝土楼梯", + "block.tfmg.pink_concrete_wall": "粉红色混凝土墙", + "block.tfmg.plastic_block": "塑料块", + "block.tfmg.plastic_fluid_valve": "塑料流体阀门", + "block.tfmg.plastic_mechanical_pump": "塑料动力泵", + "block.tfmg.plastic_pipe": "塑料流体管道", + "block.tfmg.plastic_smart_fluid_pipe": "塑料智能流体管道", + "block.tfmg.polished_cut_bauxite": "磨制切制铝土矿", + "block.tfmg.polished_cut_bauxite_slab": "磨制切制铝土台阶", + "block.tfmg.polished_cut_bauxite_stairs": "磨制切制铝土楼梯", + "block.tfmg.polished_cut_bauxite_wall": "磨制切制铝土墙", + "block.tfmg.pumpjack_base": "抽油机油泵", + "block.tfmg.pumpjack_crank": "抽油机曲柄", + "block.tfmg.pumpjack_hammer_holder": "抽油机游梁架", + "block.tfmg.purple_concrete": "紫色混凝土", + "block.tfmg.purple_concrete_slab": "紫色混凝土台阶", + "block.tfmg.purple_concrete_stairs": "紫色混凝土楼梯", + "block.tfmg.purple_concrete_wall": "紫色混凝土墙", + "block.tfmg.rebar_concrete": "钢筋混凝土", + "block.tfmg.rebar_concrete_slab": "钢筋混凝土台阶", + "block.tfmg.rebar_concrete_stairs": "钢筋混凝土楼梯", + "block.tfmg.rebar_concrete_wall": "钢筋混凝土墙", + "block.tfmg.rebar_formwork_block": "钢筋浇筑模板", + "block.tfmg.red_caution_block": "红色警示方块", + "block.tfmg.red_concrete": "红色混凝土", + "block.tfmg.red_concrete_slab": "红色混凝土台阶", + "block.tfmg.red_concrete_stairs": "红色混凝土楼梯", + "block.tfmg.red_concrete_wall": "红色混凝土墙", + "block.tfmg.small_bauxite_brick_slab": "铝土小砖块台阶", + "block.tfmg.small_bauxite_brick_stairs": "铝土小砖块楼梯", + "block.tfmg.small_bauxite_brick_wall": "铝土小砖块墙", + "block.tfmg.small_bauxite_bricks": "铝土小砖块", + "block.tfmg.steel_bars": "钢筋", + "block.tfmg.steel_block": "钢块", + "block.tfmg.steel_casing": "钢机壳", + "block.tfmg.steel_distillation_controller": "钢分馏塔控制器", + "block.tfmg.steel_distillation_output": "钢分馏塔输出口", + "block.tfmg.steel_door": "钢门", + "block.tfmg.steel_fluid_tank": "钢流体储罐", + "block.tfmg.steel_fluid_valve": "钢流体阀门", + "block.tfmg.steel_flywheel": "钢飞轮", + "block.tfmg.steel_ladder": "钢梯子", + "block.tfmg.steel_mechanical_pump": "钢动力泵", + "block.tfmg.steel_pipe": "钢流体管道", + "block.tfmg.steel_scaffolding": "钢脚手架", + "block.tfmg.steel_smart_fluid_pipe": "钢智能流体管道", + "block.tfmg.steel_truss": "钢桁架", + "block.tfmg.sulfur": "硫磺", + "block.tfmg.surface_scanner": "原油探测器", + "block.tfmg.turbine_engine": "涡轮引擎", + "block.tfmg.turbine_engine_back": "涡轮引擎机尾", + "block.tfmg.white_concrete": "白色混凝土", + "block.tfmg.white_concrete_slab": "白色混凝土台阶", + "block.tfmg.white_concrete_stairs": "白色混凝土楼梯", + "block.tfmg.white_concrete_wall": "白色混凝土墙", + "block.tfmg.yellow_concrete": "黄色混凝土", + "block.tfmg.yellow_concrete_slab": "黄色混凝土台阶", + "block.tfmg.yellow_concrete_stairs": "黄色混凝土楼梯", + "block.tfmg.yellow_concrete_wall": "黄色混凝土墙", + + "entity.tfmg.blue_spark": "蓝火花", + "entity.tfmg.copper_grenade": "铜焰铝热弹", + "entity.tfmg.green_spark": "绿火花", + "entity.tfmg.napalm_bomb_entity": "凝固汽油弹", + "entity.tfmg.spark": "火花", + "entity.tfmg.thermite_grenade": "铝热弹", + "entity.tfmg.zin_grenade": "锌焰铝热弹", + + "fluid.tfmg.air": "空气", + "fluid.tfmg.butane": "丁烷", + "fluid.tfmg.carbon_dioxide": "二氧化碳", + "fluid.tfmg.cooling_fluid": "冷却液", + "fluid.tfmg.creosote": "杂酚油", + "fluid.tfmg.crude_oil_fluid": "原油", + "fluid.tfmg.diesel": "柴油", + "fluid.tfmg.ethylene": "乙烯", + "fluid.tfmg.gasoline": "汽油", + "fluid.tfmg.heavy_oil": "重油", + "fluid.tfmg.kerosene": "煤油", + "fluid.tfmg.liquid_asphalt": "液态沥青", + "fluid.tfmg.liquid_concrete": "液态混凝土", + "fluid.tfmg.liquid_plastic": "液态塑料", + "fluid.tfmg.lpg": "液化石油气", + "fluid.tfmg.lubrication_oil": "润滑油", + "fluid.tfmg.molten_slag": "熔融炉渣", + "fluid.tfmg.molten_steel": "熔融钢", + "fluid.tfmg.napalm": "凝固汽油", + "fluid.tfmg.naphtha": "石脑油", + "fluid.tfmg.propane": "丙烷", + "fluid.tfmg.propylene": "丙烯", + + "item.tfmg.aluminum_ingot": "铝锭", + "item.tfmg.bitumen": "沥青", + "item.tfmg.blasting_mixture": "铁矿混合粉", + "item.tfmg.block_mold": "块状铸模", + "item.tfmg.cast_iron_ingot": "铸铁锭", + "item.tfmg.charcoal_dust": "木炭粉", + "item.tfmg.coal_coke": "焦煤", + "item.tfmg.coal_coke_dust": "焦煤粉", + "item.tfmg.cooling_fluid_bucket": "冷却液桶", + "item.tfmg.copper_grenade": "铜焰铝热弹", + "item.tfmg.creosote_bucket": "杂酚油桶", + "item.tfmg.crude_oil_fluid_bucket": "原油桶", + "item.tfmg.diesel_bucket": "柴油桶", + "item.tfmg.engine_base": "引擎基座", + "item.tfmg.engine_chamber": "引擎燃烧室", + "item.tfmg.fireclay_ball": "耐火黏土球", + "item.tfmg.fireproof_brick": "耐火砖", + "item.tfmg.gasoline_bucket": "汽油桶", + "item.tfmg.heavy_oil_bucket": "重油桶", + "item.tfmg.heavy_plate": "厚钢板", + "item.tfmg.ingot_mold": "锭状铸模", + "item.tfmg.kerosene_bucket": "煤油桶", + "item.tfmg.liquid_asphalt_bucket": "液态沥青桶", + "item.tfmg.liquid_concrete_bucket": "液态混凝土桶", + "item.tfmg.liquid_plastic_bucket": "液态塑料桶", + "item.tfmg.lubrication_oil_bucket": "润滑油桶", + "item.tfmg.molten_slag_bucket": "熔融炉渣桶", + "item.tfmg.molten_steel_bucket": "熔融钢桶", + "item.tfmg.napalm_bucket": "凝固汽油桶", + "item.tfmg.naphtha_bucket": "石脑油桶", + "item.tfmg.nitrate_dust": "硝酸盐粉", + "item.tfmg.plastic_sheet": "塑料板", + "item.tfmg.quad_potato_cannon": "四管土豆加农炮", + "item.tfmg.rebar": "钢筋", + "item.tfmg.screw": "螺丝", + "item.tfmg.screwdriver": "螺丝刀", + "item.tfmg.slag": "炉渣", + "item.tfmg.spark_plug": "火花塞", + "item.tfmg.steel_ingot": "钢锭", + "item.tfmg.steel_mechanism": "钢铁构件", + "item.tfmg.sulfur_dust": "硫磺粉", + "item.tfmg.thermite_grenade": "铝热弹", + "item.tfmg.thermite_powder": "铝热粉", + "item.tfmg.turbine_blade": "涡轮叶片", + "item.tfmg.unfinished_gasoline_engine": "汽油引擎(半成品)", + "item.tfmg.unfinished_lpg_engine": "液化石油气引擎(半成品)", + "item.tfmg.unfinished_steel_mechanism": "钢铁构件(半成品)", + "item.tfmg.unfinished_turbine_engine": "涡轮引擎(半成品)", + "item.tfmg.unprocessed_heavy_plate": "未加工的厚钢板", + "item.tfmg.zinc_grenade": "锌焰铝热弹", + + + "_": "->------------------------] UI & Messages [------------------------<-", + + "itemGroup.tfmg.base": "机械动力:工业长路", + "itemGroup.tfmg.building": "机械动力:工业长路丨建筑方块", + + "create.goggles.misc.number": "%1$s", + "create.goggles.misc.percent_symbol": "%", + "create.goggles.misc.dot_one": ".", + "create.goggles.misc.dot_two": "..", + "create.goggles.misc.dot_three": "...", + "create.goggles.misc.storage_info": "存储容器信息:", + "create.goggles.fluid_in_tank": "储罐内容物:", + "create.goggles.surface_scanner.no_rotation": "未提供旋转力", + "create.goggles.surface_scanner.no_deposit": "没有找到油田", + "create.goggles.surface_scanner.deposit_found": "发现油田!", + "create.goggles.surface_scanner.distance": "距离:%1$s 格", + "create.goggles.surface_scanner.scanning_surface": "探测油田中", + "create.goggles.distillation_tower.status": "分馏塔信息:", + "create.goggles.distillation_tower.tank_not_found": "缺失钢流体储罐", + "create.goggles.distillation_tower.not_tall_enough": "流体储罐高度不足", + "create.goggles.distillation_tower.level": "分馏塔等级:%1$s", + "create.goggles.distillation_tower.found_outputs": "输出口数量:%1$s", + "create.goggles.distillation_tower.no_outputs": "没有找到输出口", + "create.goggles.blast_furnace.stats": "高炉信息:", + + "create.distillation_tower.size": "尺寸", + "create.distillation_tower.heat": "热量", + + "create.goggles.blast_furnace.size_stats": "尺寸:", + "create.goggles.blast_furnace.fuel_amount": "燃料储量:%1$s", + "create.goggles.blast_furnace.item_count": "原料储量:%1$s", + "create.goggles.blast_furnace.height": "高度:%1$s", + "create.goggles.blast_furnace.nothing_lol": "", + "create.goggles.blast_furnace.status.off": "状态:空闲", + "create.goggles.blast_furnace.status.running": "状态:运行", + "create.goggles.blast_furnace.diameter.one": "内径:1", + "create.goggles.blast_furnace.diameter.two": "内径:2", + "create.goggles.blast_furnace.invalid": "高炉结构无效", + "create.goggles.coke_oven.status": "焦炉:", + "create.goggles.coke_oven.fluid_amount_output": "内部流体储量:%1$s mb", + "create.goggles.coke_oven.fluid_amount_exhaust": "二氧化碳:%1$s mb", + "create.goggles.coke_oven.item_count": "内部物品储量:%1$s", + "create.goggles.coke_oven.invalid": "焦炉结构无效", + "create.goggles.coke_oven.tank_full": "内部储量已满", + "create.goggles.coke_oven.progress": "进度:%1$s", + "create.goggles.engine_stats": "引擎状态:", + "create.goggles.engine_exhaust_stats": "引擎废气状态:", + "create.goggles.fuel_container": "燃料:", + "create.goggles.engine.backpartmissing": "引擎缺失机尾:", + "create.goggles.engine_redstone_input": "转速:", + "create.goggles.engine.efficiency": "效率:", + + "create.tooltip.engine_analog_strength": "%1$s/15", + + "create.goggles.get_engine_efficiency": "%1$s", + "create.goggles.engine.stress": "%1$ssu", + "create.goggles.diesel_engine.info": "柴油引擎信息:", + "create.goggles.pumpjack_info": "抽油机信息:", + "create.goggles.pumpjack.part_missing": "缺失抽油机曲柄或游梁", + "create.goggles.pumpjack.wrong_rotation1": "抽油机油泵放置方向有误,顶端的红色标记需要", + "create.goggles.pumpjack.wrong_rotation2": "指向远离抽油机游梁的方向", + "create.goggles.pumpjack_fluid_storage": "流体容器信息:", + + "create.pumpjack_deposit_amount": "%1$s桶", + + "create.goggles.pumpjack.deposit_info": "油田信息:", + "create.goggles.zero": "未找到油田", + "create.goggles.pumpjack.fluid_amount": "原油储量:", + "create.goggles.machine_input.info": "动力输入口信息:", + "create.goggles.machine_input.no_rot": "未提供旋转力", + "create.goggles.machine_input.power_level": "功率等级:", + + "create.recipe.distillation": "分馏", + "create.recipe.advanced_distillation": "大型分馏", + "create.recipe.industrial_blasting": "工业烧炼", + "create.recipe.casting": "铸造", + "create.recipe.coking": "焦化", + + "tfmg.subtitle.engine_sounds": "引擎轰鸣", + "tfmg.subtitle.diesel_engine_sounds": "柴油引擎轰鸣", + + + "_": "->------------------------] Ponders [------------------------<-", + + "tfmg.ponder.small_engines.text_1": "要搭建一个小型引擎,需要同时放置它的头部和尾部", + "tfmg.ponder.small_engines.text_2": "使用时要从引擎的头部输入燃料,并用管道或排气管从尾部排出废气", + "tfmg.ponder.small_engines.text_3": "提供了红石信号后,引擎才会开始工作", + "tfmg.ponder.small_engines.text_4": "这里有以汽油、液化石油气和煤油为燃料的引擎", + "tfmg.ponder.diesel_engine.text_1": "手执传动杆点击引擎来创建应力输出", + "tfmg.ponder.diesel_engine.text_2": "燃料燃烧产生的二氧化碳需要通过管道或排气管排出", + "tfmg.ponder.diesel_engine.text_3": "引擎需要消耗空气,所以还需要放置一个进气扇", + "tfmg.ponder.diesel_engine_expansion.text_1": "柴油引擎扩充件为引擎提供了两个新的输入口,可以通入给引擎润滑或降温的液体", + "tfmg.ponder.surface_scanner.text_1": "原油探测器是用来探测油田的器械", + "tfmg.ponder.surface_scanner.text_2": "为探测器提供旋转力时,它会寻找距离最近的油田", + "tfmg.ponder.surface_scanner.text_3": "检测到油田后,顶部的指针会指向具体的方位", + "tfmg.ponder.pumpjack.text_1": "要开采石油,先用工业级流体管道连接油田和地表", + "tfmg.ponder.pumpjack.text_2": "再在管道顶部放置一个抽油机油泵……", + "tfmg.ponder.pumpjack.text_3": "然后在油泵后放置游梁架……", + "tfmg.ponder.pumpjack.text_4": "最后,就像展示的一样,放置一个上方置有抽油机曲柄的动力输入口", + "tfmg.ponder.distillation_tower.text_1": "组装分馏塔需要一个足够大的钢流体储罐", + "tfmg.ponder.distillation_tower.text_2": "组装时,先将一个钢分馏塔控制器放置在储罐旁……", + "tfmg.ponder.distillation_tower.text_3": "再在上方放置总共六个输出口,并用工业级流体管道连接", + "tfmg.ponder.distillation_tower.text_4": "在流体储罐下放置烈焰人燃烧室来提供热量,塔上的仪表盘会显示分馏塔的供能等级", + "tfmg.ponder.distillation_tower.text_5": "原油需要泵入分馏塔控制器", + "tfmg.ponder.distillation_tower.text_6": "每个输出口会输出一种分馏产物", + "tfmg.ponder.distillation_tower.text_7": "液化石油气", + "tfmg.ponder.distillation_tower.text_8": "汽油", + "tfmg.ponder.distillation_tower.text_9": "石脑油", + "tfmg.ponder.distillation_tower.text_10": "煤油", + "tfmg.ponder.distillation_tower.text_11": "柴油", + "tfmg.ponder.distillation_tower.text_12": "重油", + "tfmg.ponder.blast_furnace.text_1": "高炉输出口是搭建高炉的基础", + "tfmg.ponder.blast_furnace.text_2": "组装高炉,需要用耐火砖搭建起烟囱", + "tfmg.ponder.blast_furnace.text_3": "还需要用加固墙加固烟囱的下半部分", + "tfmg.ponder.blast_furnace.text_4": "需要从顶部投入燃料和原料", + "tfmg.ponder.coke_oven.text_1": "用焦炉块搭建如图所示的结构后,持扳手右击可以组装成焦炉", + "tfmg.ponder.coke_oven.text_2": "煤炭的焦化是一个缓慢的过程,可以堆叠焦炉阵列来提高效率", + "tfmg.ponder.coke_oven.text_3": "可以从任意位置输入煤炭", + "tfmg.ponder.coke_oven.text_4": "焦炉会在工作时产出杂酚油和二氧化碳,这些产物需要及时排出焦炉", + "tfmg.ponder.coke_oven.text_5": "完成后,焦煤就会从开口中掉出来", + "tfmg.ponder.casting.text_1": "铸造是用注模器将熔融金属注入铸造盆的工序", + "tfmg.ponder.casting.text_2": "显然,铸造盆需要放入一个模具", + + "tfmg.ponder.distillation_tower.header": "搭建分馏塔", + + "tfmg.ponder.pumpjack.header": "搭建抽油机", + + "tfmg.ponder.surface_scanner.header": "定位油田", + + "tfmg.ponder.diesel_engine.header": "组装柴油引擎", + + "tfmg.ponder.diesel_engine_expansion.header": "引擎扩充件", + + "tfmg.ponder.small_engines.header": "组装小型引擎", + + "tfmg.ponder.coke_oven.header": "搭建焦炉", + "tfmg.ponder.blast_furnace.header": "搭建高炉", + + "tfmg.ponder.casting.header": "铸造金属", + "tfmg.ponder.tag.oil": "原油相关器械", + "tfmg.ponder.tag.metallurgy": "金属加工器械", + "tfmg.ponder.tag.oil.description": "这些组件与原油及其副产品的生产,处理和运用有关", + "tfmg.ponder.tag.metallurgy.description": "用于生产和处理金属及金属原料的组件", + + "_": "Thank you for translating Create: The Factory Must Grow!" + +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/aluminum_cogwheel_shaftless.json b/src/main/resources/assets/tfmg/models/aluminum_cogwheel_shaftless.json new file mode 100644 index 00000000..32fc0932 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/aluminum_cogwheel_shaftless.json @@ -0,0 +1,137 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/large_wheels", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_coghweel" + }, + "elements": [ + { + "name": "Gear", + "from": [-1, 6.5, 6.5], + "to": [17, 9.5, 9.5], + "faces": { + "north": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "east": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "south": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "west": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#0"} + } + }, + { + "name": "Gear2", + "from": [-1, 6.5, 6.5], + "to": [17, 9.5, 9.5], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "east": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "south": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "west": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#0"} + } + }, + { + "name": "Gear3", + "from": [-1, 6.5, 6.5], + "to": [17, 9.5, 9.5], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "east": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "south": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "west": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#0"} + } + }, + { + "name": "Gear4", + "from": [6.5, 6.5, -1], + "to": [9.5, 9.5, 17], + "faces": { + "north": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "east": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "south": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "west": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "GearCaseInner", + "from": [2, 6.55, 2], + "to": [14, 9.45, 14], + "faces": { + "north": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "east": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "south": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "west": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "up": {"uv": [4, 0, 10, 6], "texture": "#0"}, + "down": {"uv": [4, 0, 10, 6], "texture": "#0"} + } + }, + { + "from": [12, 6, 4], + "to": [12, 10, 12], + "faces": { + "north": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "east": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "south": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "west": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 4], "texture": "#0"} + } + }, + { + "from": [4, 6, 4], + "to": [4, 10, 12], + "faces": { + "north": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "east": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "south": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "west": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 4], "texture": "#0"} + } + }, + { + "from": [4, 6, 12], + "to": [12, 10, 12], + "faces": { + "north": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "east": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "south": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "west": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "from": [4, 6, 4], + "to": [12, 10, 4], + "faces": { + "north": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "east": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "south": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "west": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "from": [4, 8, 4], + "to": [12, 8, 12], + "faces": { + "north": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/accumulator.json b/src/main/resources/assets/tfmg/models/block/accumulator.json new file mode 100644 index 00000000..f4c151a8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/accumulator.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/accumulator", + "1": "tfmg:block/accumulator_side", + "particle": "tfmg:block/accumulator" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "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": [8, 8, 16, 16], "texture": "#0"}, + "down": {"uv": [8, 8, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/accumulator/block.json b/src/main/resources/assets/tfmg/models/block/accumulator/block.json new file mode 100644 index 00000000..f4c151a8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/accumulator/block.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/accumulator", + "1": "tfmg:block/accumulator_side", + "particle": "tfmg:block/accumulator" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "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": [8, 8, 16, 16], "texture": "#0"}, + "down": {"uv": [8, 8, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/accumulator/block_horizontal.json b/src/main/resources/assets/tfmg/models/block/accumulator/block_horizontal.json new file mode 100644 index 00000000..9cdb40a5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/accumulator/block_horizontal.json @@ -0,0 +1,25 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/accumulator", + "1": "tfmg:block/accumulator_side", + "particle": "tfmg:block/accumulator" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 0, 16]}, + "faces": { + "north": {"uv": [8, 8, 16, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#1"}, + "south": {"uv": [8, 8, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/accumulator/item.json b/src/main/resources/assets/tfmg/models/block/accumulator/item.json new file mode 100644 index 00000000..ebbee896 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/accumulator/item.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/accumulator", + "particle": "tfmg:block/accumulator" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "south": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "up": {"uv": [8, 8, 16, 16], "texture": "#0"}, + "down": {"uv": [8, 8, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/air_intake/block.json b/src/main/resources/assets/tfmg/models/block/air_intake/block.json new file mode 100644 index 00000000..0d3cce20 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/air_intake/block.json @@ -0,0 +1,80 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/air_intake/air_intake_small", + "particle": "tfmg:block/air_intake/air_intake_small" + }, + "elements": [ + { + "from": [0, 1, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [8, 0, 16, 7.5], "texture": "#0"}, + "east": {"uv": [15, 0, 16, 7.5], "texture": "#0"}, + "south": {"uv": [8, 0, 16, 7.5], "texture": "#0"}, + "west": {"uv": [8, 0, 9, 7.5], "texture": "#0"}, + "up": {"uv": [0, 8, 8, 9], "texture": "#0"}, + "down": {"uv": [0, 7, 8, 8], "texture": "#0"} + } + }, + { + "from": [0, 1, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [8, 0, 16, 7.5], "texture": "#0"}, + "east": {"uv": [8, 0, 9, 7.5], "texture": "#0"}, + "south": {"uv": [8, 0, 16, 7.5], "texture": "#0"}, + "west": {"uv": [15, 0, 16, 7.5], "texture": "#0"}, + "up": {"uv": [0, 8, 8, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 7, 8, 8], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [0, 1, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [9, 0, 15, 8], "texture": "#0"}, + "south": {"uv": [8, 0, 9, 8], "texture": "#0"}, + "west": {"uv": [9, 0, 15, 7.5], "texture": "#0"}, + "up": {"uv": [1, 8, 7, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [1, 7, 7, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [14, 1, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [8, 0, 9, 7.5], "texture": "#0"}, + "east": {"uv": [9, 0, 15, 7.5], "texture": "#0"}, + "south": {"uv": [15, 0, 16, 7.5], "texture": "#0"}, + "west": {"uv": [9, 0, 15, 7.5], "texture": "#0"}, + "up": {"uv": [1, 8, 7, 9], "rotation": 90, "texture": "#0"}, + "down": {"uv": [1, 7, 7, 8], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 1, 2], + "to": [14, 3, 14], + "faces": { + "north": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "up": {"uv": [1, 1, 7, 7], "texture": "#0"}, + "down": {"uv": [1, 1, 7, 7], "texture": "#0"} + } + }, + { + "from": [2, 16, 2], + "to": [14, 16, 14], + "faces": { + "north": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "up": {"uv": [1, 9, 7, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/air_intake/block_empty.json b/src/main/resources/assets/tfmg/models/block/air_intake/block_empty.json new file mode 100644 index 00000000..556656a4 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/air_intake/block_empty.json @@ -0,0 +1,6 @@ +{ + "parent": "block/air", + "textures": { + "particle": "tfmg:block/air_intake/air_intake_small" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/air_intake/block_large.json b/src/main/resources/assets/tfmg/models/block/air_intake/block_large.json new file mode 100644 index 00000000..15d56f80 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/air_intake/block_large.json @@ -0,0 +1,84 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/air_intake/air_intake_large", + "1": "tfmg:block/air_intake/inside_large", + "2": "tfmg:block/air_intake/inputs", + "particle": "tfmg:block/air_intake/air_intake_large" + }, + "elements": [ + { + "from": [-16, -16, 9], + "to": [32, 32, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 0], "rotation": 270, "texture": "#1"}, + "south": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#1"}, + "up": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 0, 16, 0], "texture": "#1"} + } + }, + { + "from": [29.999, -16, 1], + "to": [29.999, 32, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [8, 5.33333, 16, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 15], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 15], "texture": "#0"} + } + }, + { + "from": [-16, -13.999, 1], + "to": [32, -13.999, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 15], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 15], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8, 5.33333, 16, 8], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [-16, 29.99, 1], + "to": [32, 29.99, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 15], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 15], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8, 5.33333, 16, 8], "texture": "#0"} + } + }, + { + "from": [-13.999, -16, 1], + "to": [-13.999, 32, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [8, 5.33333, 16, 8], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 15], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 15], "texture": "#0"} + } + }, + { + "from": [-16, -16, 1], + "to": [32, 32, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "east": {"uv": [8, 5.33333, 16, 8], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 8, 8, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [8, 5.33333, 16, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8, 5.33333, 16, 8], "rotation": 180, "texture": "#0"}, + "down": {"uv": [8, 5.33333, 16, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/air_intake/block_medium.json b/src/main/resources/assets/tfmg/models/block/air_intake/block_medium.json new file mode 100644 index 00000000..e1beaa3d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/air_intake/block_medium.json @@ -0,0 +1,84 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/air_intake/air_intake_medium", + "1": "tfmg:block/air_intake/inputs", + "2": "tfmg:block/air_intake/inside_medium", + "particle": "tfmg:block/air_intake/air_intake_medium" + }, + "elements": [ + { + "from": [-16, 0, 1], + "to": [16, 32, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.33333, 5.33333, 16, 16], "texture": "#1"}, + "east": {"uv": [8, 4, 16, 7.75], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 8, 8, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [8, 4, 16, 7.75], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8, 4, 16, 7.75], "rotation": 180, "texture": "#0"}, + "down": {"uv": [8, 4, 16, 7.75], "texture": "#0"} + } + }, + { + "from": [-16, 0, 8.5], + "to": [16, 32, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 0], "rotation": 270, "texture": "#2"}, + "south": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#2"}, + "west": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#2"}, + "down": {"uv": [0, 0, 16, 0], "texture": "#2"} + } + }, + { + "from": [-13.99, 0, 2], + "to": [-13.99, 32, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8, 4, 16, 7.75], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 14], "texture": "#0"} + } + }, + { + "from": [13.99, 0, 2], + "to": [13.99, 32, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 4, 16, 7.75], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 14], "texture": "#0"} + } + }, + { + "from": [-16, 29.999, 2], + "to": [16, 29.999, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8, 4, 16, 7.75], "texture": "#0"} + } + }, + { + "from": [-16, 2.001, 2], + "to": [16, 2.001, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8, 4, 16, 7.75], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/air_intake/fan.json b/src/main/resources/assets/tfmg/models/block/air_intake/fan.json new file mode 100644 index 00000000..b50ef7ca --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/air_intake/fan.json @@ -0,0 +1,32 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "axis_top": "create:block/axis_top", + "fan_blades": "create:block/fan_blades", + "axis": "create:block/axis" + }, + "elements": [ + { + "name": "Shaft", + "from": [6, 6, 1.2], + "to": [10, 10, 8], + "faces": { + "north": {"uv": [6, 6, 10, 10], "texture": "#axis_top"}, + "east": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#axis_top"}, + "west": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"}, + "up": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"}, + "down": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"} + } + }, + { + "name": "Fan", + "from": [1, 1, 4], + "to": [15, 15, 12], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#fan_blades"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/air_intake/fan_large.json b/src/main/resources/assets/tfmg/models/block/air_intake/fan_large.json new file mode 100644 index 00000000..1d49a8b1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/air_intake/fan_large.json @@ -0,0 +1,33 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/air_intake/air_intake_large", + "particle": "tfmg:block/air_intake/air_intake_large", + "axis": "create:block/axis", + "axis_top": "create:block/axis_top" + }, + "elements": [ + { + "name": "Fan", + "from": [-12, -12, 4], + "to": [28, 28, 12], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8.5, 8.5, 15.5, 15.5], "texture": "#0"} + } + }, + { + "name": "Shaft", + "from": [6, 6, 1.2], + "to": [10, 10, 8], + "faces": { + "north": {"uv": [6, 6, 10, 10], "texture": "#axis_top"}, + "east": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#axis_top"}, + "west": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"}, + "up": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"}, + "down": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/air_intake/fan_medium.json b/src/main/resources/assets/tfmg/models/block/air_intake/fan_medium.json new file mode 100644 index 00000000..19180a25 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/air_intake/fan_medium.json @@ -0,0 +1,33 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/air_intake/air_intake_medium", + "particle": "tfmg:block/air_intake/air_intake_medium", + "axis": "create:block/axis", + "axis_top": "create:block/axis_top" + }, + "elements": [ + { + "name": "Fan", + "from": [-6, -6, 4], + "to": [22, 22, 12], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8.5, 8.5, 15.5, 15.5], "texture": "#0"} + } + }, + { + "name": "Shaft", + "from": [6, 6, 1.2], + "to": [10, 10, 8], + "faces": { + "north": {"uv": [6, 6, 10, 10], "texture": "#axis_top"}, + "east": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#axis_top"}, + "west": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"}, + "up": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"}, + "down": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/air_intake/frame.json b/src/main/resources/assets/tfmg/models/block/air_intake/frame.json new file mode 100644 index 00000000..5757a7b6 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/air_intake/frame.json @@ -0,0 +1,53 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/air_intake/inputs", + "particle": "tfmg:block/air_intake/inputs" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 2, 1], + "faces": { + "north": {"uv": [0, 0, 5.33333, 0.66666], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0.33333, 0.33333], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 0.33333, 0.33333], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 5.33333, 0.33333], "texture": "#0"}, + "down": {"uv": [0, 0, 5.33333, 0.33333], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [0, 14, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 4.66667, 5.33333, 5.33333], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0.33333, 0.33333], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 0.33333, 0.33333], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 5.33333, 0.33333], "texture": "#0"}, + "down": {"uv": [0, 0, 5.33333, 0.33333], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [0, 2, 0], + "to": [2, 14, 1], + "faces": { + "north": {"uv": [0.66667, 0, 4.66667, 0.66666], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0.66667, 0, 4.66667, 0.33333], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.66667, 0, 4.66667, 0.33333], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 0.33333, 0.33333], "texture": "#0"}, + "down": {"uv": [0, 0, 0.33333, 0.33333], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [14, 2, 0], + "to": [16, 14, 1], + "faces": { + "north": {"uv": [0.66667, 0, 4.66667, 0.66666], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0.66667, 0, 4.66667, 0.33333], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.66667, 0, 4.66667, 0.33333], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 0.33333, 0.33333], "texture": "#0"}, + "down": {"uv": [0, 0, 0.33333, 0.33333], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/air_intake/frame_closed.json b/src/main/resources/assets/tfmg/models/block/air_intake/frame_closed.json new file mode 100644 index 00000000..b9731cbc --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/air_intake/frame_closed.json @@ -0,0 +1,20 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/air_intake/air_intake_small", + "particle": "tfmg:block/air_intake/air_intake_small" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 0], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 8, 0.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 8, 0.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 8, 0.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/air_intake/item.json b/src/main/resources/assets/tfmg/models/block/air_intake/item.json new file mode 100644 index 00000000..3a977db3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/air_intake/item.json @@ -0,0 +1,81 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/air_intake/air_intake_small", + "particle": "tfmg:block/air_intake/air_intake_small" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "south": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [8, 0, 9, 8], "texture": "#0"}, + "up": {"uv": [0, 8, 8, 9], "texture": "#0"}, + "down": {"uv": [0, 7, 8, 8], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [8, 0, 9, 8], "texture": "#0"}, + "south": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "up": {"uv": [0, 8, 8, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 7, 8, 8], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [9, 0, 15, 8], "texture": "#0"}, + "south": {"uv": [8, 0, 9, 8], "texture": "#0"}, + "west": {"uv": [9, 0, 15, 8], "texture": "#0"}, + "up": {"uv": [1, 8, 7, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [1, 7, 7, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [8, 0, 9, 8], "texture": "#0"}, + "east": {"uv": [9, 0, 15, 8], "texture": "#0"}, + "south": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [9, 0, 15, 8], "texture": "#0"}, + "up": {"uv": [1, 8, 7, 9], "rotation": 90, "texture": "#0"}, + "down": {"uv": [1, 7, 7, 8], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 1, 2], + "to": [14, 3, 14], + "faces": { + "north": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "up": {"uv": [1, 1, 7, 7], "texture": "#0"}, + "down": {"uv": [1, 1, 7, 7], "texture": "#0"} + } + }, + { + "from": [2, 16, 2], + "to": [14, 16, 14], + "faces": { + "north": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "up": {"uv": [1, 9, 7, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_cogwheel.json b/src/main/resources/assets/tfmg/models/block/aluminum_cogwheel.json new file mode 100644 index 00000000..96dc0e46 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_cogwheel.json @@ -0,0 +1,154 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/large_wheels", + "render_type": "minecraft:cutout", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_coghweel", + "1": "create:block/axis_top", + "2": "create:block/axis", + "particle": "tfmg:block/aluminum_coghweel" + }, + "elements": [ + { + "name": "Gear", + "from": [-1, 6.5, 6.5], + "to": [17, 9.5, 9.5], + "faces": { + "north": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "east": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "south": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "west": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#0"} + } + }, + { + "name": "Gear2", + "from": [-1, 6.5, 6.5], + "to": [17, 9.5, 9.5], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "east": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "south": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "west": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#0"} + } + }, + { + "name": "Gear3", + "from": [-1, 6.5, 6.5], + "to": [17, 9.5, 9.5], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "east": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "south": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "west": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#0"} + } + }, + { + "name": "Gear4", + "from": [6.5, 6.5, -1], + "to": [9.5, 9.5, 17], + "faces": { + "north": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "east": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "south": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "west": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "GearCaseInner", + "from": [2, 6.55, 2], + "to": [14, 9.45, 14], + "faces": { + "north": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "east": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "south": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "west": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "up": {"uv": [4, 0, 10, 6], "texture": "#0"}, + "down": {"uv": [4, 0, 10, 6], "texture": "#0"} + } + }, + { + "from": [12, 6, 4], + "to": [12, 10, 12], + "faces": { + "north": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "east": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "south": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "west": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 4], "texture": "#0"} + } + }, + { + "from": [4, 6, 4], + "to": [4, 10, 12], + "faces": { + "north": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "east": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "south": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "west": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 4], "texture": "#0"} + } + }, + { + "from": [4, 6, 12], + "to": [12, 10, 12], + "faces": { + "north": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "east": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "south": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "west": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "from": [4, 6, 4], + "to": [12, 10, 4], + "faces": { + "north": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "east": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "south": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "west": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "from": [4, 8, 4], + "to": [12, 8, 12], + "faces": { + "north": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#0"} + } + }, + { + "name": "Axis", + "from": [6, 0, 6], + "to": [10, 16, 10], + "faces": { + "north": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "east": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "south": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "west": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "up": {"uv": [6, 6, 10, 10], "texture": "#1"}, + "down": {"uv": [6, 6, 10, 10], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_cogwheel_shaftless.json b/src/main/resources/assets/tfmg/models/block/aluminum_cogwheel_shaftless.json new file mode 100644 index 00000000..a174240e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_cogwheel_shaftless.json @@ -0,0 +1,139 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/large_wheels", + "texture_size": [32, 32], + "render_type": "minecraft:cutout", + "textures": { + "0": "tfmg:block/aluminum_coghweel", + "particle": "tfmg:block/aluminum_coghweel" + }, + "elements": [ + { + "name": "Gear", + "from": [-1, 6.5, 6.5], + "to": [17, 9.5, 9.5], + "faces": { + "north": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "east": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "south": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "west": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#0"} + } + }, + { + "name": "Gear2", + "from": [-1, 6.5, 6.5], + "to": [17, 9.5, 9.5], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "east": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "south": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "west": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#0"} + } + }, + { + "name": "Gear3", + "from": [-1, 6.5, 6.5], + "to": [17, 9.5, 9.5], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "east": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "south": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "west": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#0"} + } + }, + { + "name": "Gear4", + "from": [6.5, 6.5, -1], + "to": [9.5, 9.5, 17], + "faces": { + "north": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "east": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "south": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "west": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "GearCaseInner", + "from": [2, 6.55, 2], + "to": [14, 9.45, 14], + "faces": { + "north": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "east": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "south": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "west": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "up": {"uv": [4, 0, 10, 6], "texture": "#0"}, + "down": {"uv": [4, 0, 10, 6], "texture": "#0"} + } + }, + { + "from": [12, 6, 4], + "to": [12, 10, 12], + "faces": { + "north": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "east": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "south": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "west": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 4], "texture": "#0"} + } + }, + { + "from": [4, 6, 4], + "to": [4, 10, 12], + "faces": { + "north": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "east": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "south": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "west": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 4], "texture": "#0"} + } + }, + { + "from": [4, 6, 12], + "to": [12, 10, 12], + "faces": { + "north": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "east": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "south": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "west": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "from": [4, 6, 4], + "to": [12, 10, 4], + "faces": { + "north": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "east": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "south": {"uv": [10, 0, 14, 2], "texture": "#0"}, + "west": {"uv": [10, 0, 10, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "from": [4, 8, 4], + "to": [12, 8, 12], + "faces": { + "north": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_door/block_bottom.json b/src/main/resources/assets/tfmg/models/block/aluminum_door/block_bottom.json new file mode 100644 index 00000000..4d4d9b47 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_door/block_bottom.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_door_side", + "2": "tfmg:block/aluminum_door_bottom", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [0, 12, 16, 15], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 12, 16, 15], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "down": {"uv": [0, 8, 16, 11], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_door/block_top.json b/src/main/resources/assets/tfmg/models/block/aluminum_door/block_top.json new file mode 100644 index 00000000..c14bd242 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_door/block_top.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_door_side", + "2": "tfmg:block/aluminum_door_top", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 3], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_door/fold_left.json b/src/main/resources/assets/tfmg/models/block/aluminum_door/fold_left.json new file mode 100644 index 00000000..ce6342f5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_door/fold_left.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_door_side", + "2": "tfmg:block/aluminum_door_top", + "3": "tfmg:block/aluminum_door_bottom", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [0, 16, 0], + "to": [3, 32, 8], + "faces": { + "north": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 8, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 8, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [3, 16, 8], + "faces": { + "north": {"uv": [16, 4, 0, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8, 0, 16, 16], "texture": "#3"}, + "south": {"uv": [16, 4, 0, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 8, 16], "texture": "#3"}, + "down": {"uv": [0, 8, 8, 11], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_door/fold_right.json b/src/main/resources/assets/tfmg/models/block/aluminum_door/fold_right.json new file mode 100644 index 00000000..02d17c05 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_door/fold_right.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_door_side", + "2": "tfmg:block/aluminum_door_top", + "3": "tfmg:block/aluminum_door_bottom", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [0, 16, 0], + "to": [3, 32, 8], + "faces": { + "north": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 8, 16], "texture": "#2"}, + "south": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 0, 16, 16], "texture": "#2"}, + "up": {"uv": [8, 0, 16, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [3, 16, 8], + "faces": { + "north": {"uv": [16, 4, 0, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 8, 16], "texture": "#3"}, + "south": {"uv": [16, 4, 0, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 0, 16, 16], "texture": "#3"}, + "down": {"uv": [8, 8, 16, 11], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom.json new file mode 100644 index 00000000..6ebdd5ea --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom.json @@ -0,0 +1,74 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom_window.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom_window.json new file mode 100644 index 00000000..ccb8240a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom_window.json @@ -0,0 +1,154 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "3": "tfmg:block/aluminum_fluid_tank_window", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [4, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 1, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 4], + "faces": { + "east": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 1, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 4, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 1, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 12], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [0, 0, 1, 12], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 4, 0.95], + "to": [12, 16, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "north"}, + "south": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 4], + "to": [15.05, 16, 12], + "faces": { + "east": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "east"}, + "west": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 4, 15.05], + "to": [12, 16, 15.05], + "faces": { + "north": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "south"}, + "south": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 4], + "to": [0.95, 16, 12], + "faces": { + "east": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "west"}, + "west": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 4, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "west": {"uv": [15, 0, 16, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 12], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [15, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [4, 16, 16], + "faces": { + "north": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "east": {"uv": [15, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 16, 4], + "faces": { + "east": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "south": {"uv": [15, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom_window_ne.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom_window_ne.json new file mode 100644 index 00000000..106c591f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom_window_ne.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "3": "tfmg:block/aluminum_fluid_tank_window", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 5, 12], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 4, 0.95], + "to": [4, 16, 0.95], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "south": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 12], + "to": [15.05, 16, 16], + "faces": { + "east": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [4, 4, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "west": {"uv": [11, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom_window_nw.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom_window_nw.json new file mode 100644 index 00000000..c0b3fe52 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom_window_nw.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "3": "tfmg:block/aluminum_fluid_tank_window", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [12, 16, 1], + "faces": { + "north": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "east": {"uv": [4, 0, 5, 12], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 12], + "to": [0.95, 16, 16], + "faces": { + "east": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [12, 4, 0.95], + "to": [16, 16, 0.95], + "faces": { + "north": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "south": {"uv": [11, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom_window_se.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom_window_se.json new file mode 100644 index 00000000..e6ee4cb3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom_window_se.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "3": "tfmg:block/aluminum_fluid_tank_window", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 4, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "west": {"uv": [4, 0, 5, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 0], + "to": [15.05, 16, 4], + "faces": { + "east": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "west": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 4, 15.05], + "to": [4, 16, 15.05], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "south": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 4], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [11, 0, 12, 12], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom_window_sw.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom_window_sw.json new file mode 100644 index 00000000..f5d9a0f1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_bottom_window_sw.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "3": "tfmg:block/aluminum_fluid_tank_window", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 4], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [4, 0, 5, 12], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 4, 15.05], + "to": [16, 16, 15.05], + "faces": { + "north": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 0], + "to": [0.95, 16, 4], + "faces": { + "east": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "west": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [12, 16, 16], + "faces": { + "north": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "east": {"uv": [11, 0, 12, 12], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_middle.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_middle.json new file mode 100644 index 00000000..a866c009 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_middle.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/aluminum_fluid_tank", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 15], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [1, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_middle_window.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_middle_window.json new file mode 100644 index 00000000..a120c14c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_middle_window.json @@ -0,0 +1,138 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/aluminum_fluid_tank", + "2": "tfmg:block/aluminum_fluid_tank_window", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [4, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 4], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 1, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 0, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 1, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 12], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [0, 0, 1, 16], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 0, 0.95], + "to": [12, 16, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [8, 0, 16, 16], "texture": "#2", "cullface": "north"}, + "south": {"uv": [8, 0, 16, 16], "texture": "#2", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 4], + "to": [15.05, 16, 12], + "faces": { + "east": {"uv": [8, 0, 16, 16], "texture": "#2", "cullface": "east"}, + "west": {"uv": [8, 0, 16, 16], "texture": "#2", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 0, 15.05], + "to": [12, 16, 15.05], + "faces": { + "north": {"uv": [8, 0, 16, 16], "texture": "#2", "cullface": "south"}, + "south": {"uv": [8, 0, 16, 16], "texture": "#2", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [0.95, 0, 4], + "to": [0.95, 16, 12], + "faces": { + "east": {"uv": [8, 0, 16, 16], "texture": "#2", "cullface": "west"}, + "west": {"uv": [8, 0, 16, 16], "texture": "#2", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 0, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "west": {"uv": [15, 0, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 12], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [15, 0, 16, 16], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [4, 16, 16], + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "east": {"uv": [15, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 16, 4], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "west"}, + "south": {"uv": [15, 0, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_middle_window_ne.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_middle_window_ne.json new file mode 100644 index 00000000..df4e5463 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_middle_window_ne.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/aluminum_fluid_tank", + "3": "tfmg:block/aluminum_fluid_tank_window", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [4, 0, 5, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 0, 0.95], + "to": [4, 16, 0.95], + "faces": { + "north": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 12], + "to": [15.05, 16, 16], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [4, 0, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [11, 0, 12, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_middle_window_nw.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_middle_window_nw.json new file mode 100644 index 00000000..4add9fe7 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_middle_window_nw.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/aluminum_fluid_tank", + "3": "tfmg:block/aluminum_fluid_tank_window", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [12, 16, 1], + "faces": { + "north": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [4, 0, 5, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0.95, 0, 12], + "to": [0.95, 16, 16], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [12, 0, 0.95], + "to": [16, 16, 0.95], + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "south": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [11, 0, 12, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_middle_window_se.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_middle_window_se.json new file mode 100644 index 00000000..64b0ffb6 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_middle_window_se.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/aluminum_fluid_tank", + "3": "tfmg:block/aluminum_fluid_tank_window", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 0, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [4, 0, 5, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 0], + "to": [15.05, 16, 4], + "faces": { + "east": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 0, 15.05], + "to": [4, 16, 15.05], + "faces": { + "north": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 4], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [11, 0, 12, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_middle_window_sw.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_middle_window_sw.json new file mode 100644 index 00000000..5e90696e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_middle_window_sw.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/aluminum_fluid_tank", + "3": "tfmg:block/aluminum_fluid_tank_window", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 4], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [4, 0, 5, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 0, 15.05], + "to": [16, 16, 15.05], + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "south": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0.95, 0, 0], + "to": [0.95, 16, 4], + "faces": { + "east": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [12, 16, 16], + "faces": { + "north": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [11, 0, 12, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_single.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_single.json new file mode 100644 index 00000000..73d61704 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_single.json @@ -0,0 +1,127 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [] + }, + { + "name": "block_middle", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [] + } + ] + }, + { + "name": "block_bottom", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] + }, + { + "name": "block_top", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [4, 5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_single_window.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_single_window.json new file mode 100644 index 00000000..972911a3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_single_window.json @@ -0,0 +1,168 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "5": "tfmg:block/aluminum_fluid_tank_window_single", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [4, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "east": {"uv": [8, 4, 9, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "south": {"uv": [8, 4, 9, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 4, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "west": {"uv": [8, 4, 9, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 12], + "to": [1, 12, 16], + "faces": { + "north": {"uv": [8, 4, 9, 12], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 4, 0.95], + "to": [12, 12, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "north"}, + "south": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 4], + "to": [15.05, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "east"}, + "west": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 4, 15.05], + "to": [12, 12, 15.05], + "faces": { + "north": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "south"}, + "south": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 4], + "to": [0.95, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "west"}, + "west": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "west": {"uv": [7, 4, 8, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 12], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [7, 4, 8, 12], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [4, 12, 16], + "faces": { + "north": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "east": {"uv": [7, 4, 8, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "south": {"uv": [7, 4, 8, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_single_window_ne.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_single_window_ne.json new file mode 100644 index 00000000..466942cd --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_single_window_ne.json @@ -0,0 +1,104 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "5": "tfmg:block/aluminum_fluid_tank_window_single", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "south": {"uv": [4, 4, 5, 12], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 4, 0.95], + "to": [4, 12, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 8], "texture": "#5"}, + "south": {"uv": [4, 0, 8, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 12], + "to": [15.05, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 0, 8, 8], "texture": "#5"}, + "west": {"uv": [0, 0, 4, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [4, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "west": {"uv": [11, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_single_window_nw.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_single_window_nw.json new file mode 100644 index 00000000..a4d5643d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_single_window_nw.json @@ -0,0 +1,104 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "5": "tfmg:block/aluminum_fluid_tank_window_single", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [12, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "east": {"uv": [4, 4, 5, 12], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 12], + "to": [0.95, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 0, 8, 8], "texture": "#5"}, + "west": {"uv": [0, 0, 4, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [12, 4, 0.95], + "to": [16, 12, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 0, 8, 8], "texture": "#5"}, + "south": {"uv": [0, 0, 4, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "south": {"uv": [11, 4, 12, 12], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_single_window_se.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_single_window_se.json new file mode 100644 index 00000000..aba6fda3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_single_window_se.json @@ -0,0 +1,104 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "5": "tfmg:block/aluminum_fluid_tank_window_single", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 4, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "west": {"uv": [4, 4, 5, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 0], + "to": [15.05, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 8], "texture": "#5"}, + "west": {"uv": [4, 0, 8, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [0, 4, 15.05], + "to": [4, 12, 15.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 8], "texture": "#5"}, + "south": {"uv": [4, 0, 8, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 4], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [11, 4, 12, 12], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_single_window_sw.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_single_window_sw.json new file mode 100644 index 00000000..d9f5ef49 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_single_window_sw.json @@ -0,0 +1,104 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "5": "tfmg:block/aluminum_fluid_tank_window_single", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 4], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 5, 12], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 4, 15.05], + "to": [16, 12, 15.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 0, 8, 8], "texture": "#5"}, + "south": {"uv": [0, 0, 4, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 0], + "to": [0.95, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 8], "texture": "#5"}, + "west": {"uv": [4, 0, 8, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "east": {"uv": [11, 4, 12, 12], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_top.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_top.json new file mode 100644 index 00000000..a401f01a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_top.json @@ -0,0 +1,71 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 16], + "faces": { + "east": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [1, 12, 16], + "faces": { + "east": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_top_window.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_top_window.json new file mode 100644 index 00000000..8da50fdf --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_top_window.json @@ -0,0 +1,154 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "3": "tfmg:block/aluminum_fluid_tank_window", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [4, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 4, 1, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 4, 1, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 0, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 4, 1, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 12], + "to": [1, 12, 16], + "faces": { + "north": {"uv": [0, 4, 1, 16], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 0, 0.95], + "to": [12, 12, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "north"}, + "south": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 4], + "to": [15.05, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "east"}, + "west": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 0, 15.05], + "to": [12, 12, 15.05], + "faces": { + "north": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "south"}, + "south": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [0.95, 0, 4], + "to": [0.95, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "west"}, + "west": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "west": {"uv": [15, 4, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 12], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [15, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [4, 12, 16], + "faces": { + "north": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "east": {"uv": [15, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "south": {"uv": [15, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_top_window_ne.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_top_window_ne.json new file mode 100644 index 00000000..002d4fc5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_top_window_ne.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "3": "tfmg:block/aluminum_fluid_tank_window", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "south": {"uv": [4, 4, 5, 16], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 0, 0.95], + "to": [4, 12, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "south": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 12], + "to": [15.05, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 0, 8, 12], "texture": "#3"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [4, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "west": {"uv": [11, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_top_window_nw.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_top_window_nw.json new file mode 100644 index 00000000..a00c56c8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_top_window_nw.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "3": "tfmg:block/aluminum_fluid_tank_window", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [12, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "east": {"uv": [4, 4, 5, 16], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0.95, 0, 12], + "to": [0.95, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 0, 8, 12], "texture": "#3"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [12, 0, 0.95], + "to": [16, 12, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 0, 8, 12], "texture": "#3"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "south": {"uv": [11, 4, 12, 16], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_top_window_se.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_top_window_se.json new file mode 100644 index 00000000..ece25733 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_top_window_se.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "3": "tfmg:block/aluminum_fluid_tank_window", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 0, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "west": {"uv": [4, 4, 5, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 0], + "to": [15.05, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "west": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 0, 15.05], + "to": [4, 12, 15.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "south": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 4], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [11, 4, 12, 16], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_top_window_sw.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_top_window_sw.json new file mode 100644 index 00000000..9cf81ef8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_tank/block_top_window_sw.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_fluid_tank_top", + "1": "tfmg:block/aluminum_fluid_tank", + "3": "tfmg:block/aluminum_fluid_tank_window", + "4": "tfmg:block/aluminum_fluid_tank_inner", + "particle": "tfmg:block/aluminum_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 4], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 5, 16], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 0, 15.05], + "to": [16, 12, 15.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 0, 8, 12], "texture": "#3"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0.95, 0, 0], + "to": [0.95, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "west": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "east": {"uv": [11, 4, 12, 16], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_valve/block_horizontal_closed.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_valve/block_horizontal_closed.json new file mode 100644 index 00000000..a8f51e0a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_valve/block_horizontal_closed.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/aluminum_fluid_valve", + "3": "tfmg:block/aluminum_valve_closed", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "down": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1.5, 9.5, 6.5, 14.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7, 9, 1, 15], "rotation": 90, "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_valve/block_horizontal_open.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_valve/block_horizontal_open.json new file mode 100644 index 00000000..04a08969 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_valve/block_horizontal_open.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/aluminum_fluid_valve", + "3": "tfmg:block/aluminum_valve_open", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "down": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1.5, 9.5, 6.5, 14.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7, 9, 1, 15], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_valve/block_vertical_closed.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_valve/block_vertical_closed.json new file mode 100644 index 00000000..eca36041 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_valve/block_vertical_closed.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench, praise the pufferfish", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/aluminum_fluid_valve", + "4": "tfmg:block/aluminum_valve_closed", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "east": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "west": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "up": {"uv": [9, 1, 15, 7], "texture": "#2"}, + "down": {"uv": [9, 1, 15, 7], "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "west": {"uv": [1.5, 9.5, 6.5, 14.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + }, + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "east": {"uv": [6.5, 9.5, 1.5, 14.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_valve/block_vertical_open.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_valve/block_vertical_open.json new file mode 100644 index 00000000..c6f999f2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_valve/block_vertical_open.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/aluminum_fluid_valve", + "4": "tfmg:block/aluminum_valve_open", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "east": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "west": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "up": {"uv": [9, 1, 15, 7], "texture": "#2"}, + "down": {"uv": [9, 1, 15, 7], "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "west": {"uv": [1.5, 9.5, 6.5, 14.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + }, + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "east": {"uv": [6.5, 9.5, 1.5, 14.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_fluid_valve/item.json b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_valve/item.json new file mode 100644 index 00000000..b73b7805 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_fluid_valve/item.json @@ -0,0 +1,155 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "2": "tfmg:block/aluminum_fluid_valve", + "4": "tfmg:block/aluminum_valve_open", + "1_1": "create:block/axis_top", + "1_0": "create:block/axis", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [9, 1, 15, 7], "texture": "#2"}, + "east": {"uv": [1, 9, 7, 15], "texture": "#2"}, + "south": {"uv": [9, 1, 15, 7], "texture": "#2"}, + "west": {"uv": [1, 9, 7, 15], "texture": "#2"}, + "up": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "down": {"uv": [1, 1, 7, 7], "texture": "#2"} + } + }, + { + "from": [2, 14, 2], + "to": [14, 13, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 23, 11]}, + "faces": { + "north": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "east": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "south": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "up": {"uv": [2, 2, 14, 14], "texture": "#4"} + } + }, + { + "from": [2, 3, 2], + "to": [14, 2, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 2.5, 8]}, + "faces": { + "north": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "east": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "south": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [2, 2, 14, 14], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "west": {"uv": [6.5, 9.5, 1.5, 14.5], "texture": "#2"}, + "up": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 180, "texture": "#2"}, + "down": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 180, "texture": "#2"} + } + }, + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "east": {"uv": [6.5, 9.5, 1.5, 14.5], "texture": "#2"}, + "south": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "up": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "down": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"} + } + }, + { + "name": "Axis", + "from": [6, 6, 0], + "to": [10, 10, 16], + "faces": { + "north": {"uv": [6, 6, 10, 10], "rotation": 180, "texture": "#1_1"}, + "east": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#1_0"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#1_1"}, + "west": {"uv": [6, 0, 10, 16], "rotation": 270, "texture": "#1_0"}, + "up": {"uv": [6, 0, 10, 16], "texture": "#1_0"}, + "down": {"uv": [6, 0, 10, 16], "rotation": 180, "texture": "#1_0"} + } + }, + { + "from": [4.5, 13.5, 7.5], + "to": [11.5, 13.5, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 13.5, 8]}, + "faces": { + "up": {"uv": [2, 7.5, 5.5, 8], "texture": "#2"} + } + }, + { + "from": [4.5, 2.5, 7.5], + "to": [11.5, 2.5, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 2.5, 8]}, + "faces": { + "down": {"uv": [2, 7.5, 5.5, 8], "rotation": 180, "texture": "#2"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [90, 0, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "group", + "origin": [16, 0, 0], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "shaft", + "origin": [8, 8, 8], + "color": 0, + "children": [5] + }, + { + "name": "hands", + "origin": [7, 14, 4], + "color": 0, + "children": [6, 7] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_flywheel/block.json b/src/main/resources/assets/tfmg/models/block/aluminum_flywheel/block.json new file mode 100644 index 00000000..9d695ead --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_flywheel/block.json @@ -0,0 +1,6 @@ +{ + "parent": "tfmg:block/aluminum_flywheel/flywheel", + "loader": "neoforge:obj", + "flip-v": true, + "model": "create:models/block/flywheel/flywheel_shaftless.obj" +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_flywheel/flywheel.json b/src/main/resources/assets/tfmg/models/block/aluminum_flywheel/flywheel.json new file mode 100644 index 00000000..3620d459 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_flywheel/flywheel.json @@ -0,0 +1,10 @@ +{ + "parent": "block/block", + "ambientocclusion": false, + "textures": { + "0": "tfmg:block/aluminum_flywheel", + "1": "create:block/axis", + "2": "create:block/axis_top", + "particle": "tfmg:block/aluminum_flywheel" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_flywheel/item.json b/src/main/resources/assets/tfmg/models/block/aluminum_flywheel/item.json new file mode 100644 index 00000000..69bdad73 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_flywheel/item.json @@ -0,0 +1,18 @@ +{ + "parent": "tfmg:block/aluminum_flywheel/flywheel", + "loader": "neoforge:obj", + "flip-v": true, + "model": "create:models/block/flywheel/flywheel.obj", + "display": { + "gui": { + "rotation": [ 30, 225, 0 ], + "translation": [ 0, 0, 0], + "scale":[ 0.4, 0.4, 0.4 ] + }, + "fixed": { + "rotation": [ 90, 0, 0 ], + "translation": [ 0, 0, 0], + "scale":[ 0.4, 0.4, 0.4 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_frame/block.json b/src/main/resources/assets/tfmg/models/block/aluminum_frame/block.json new file mode 100644 index 00000000..406c0829 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_frame/block.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_frame_2", + "particle": "tfmg:block/aluminum_frame_2" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_frame/item.json b/src/main/resources/assets/tfmg/models/block/aluminum_frame/item.json new file mode 100644 index 00000000..406c0829 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_frame/item.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_frame_2", + "particle": "tfmg:block/aluminum_frame_2" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_lamp/block.json b/src/main/resources/assets/tfmg/models/block/aluminum_lamp/block.json new file mode 100644 index 00000000..36a100ce --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_lamp/block.json @@ -0,0 +1,36 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_lamp_off", + "1": "tfmg:block/aluminum_inlet", + "particle": "tfmg:block/aluminum_lamp_off" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 0, 7]}, + "faces": { + "north": {"uv": [3, 12, 13, 14], "texture": "#0"}, + "east": {"uv": [3, 12, 13, 14], "texture": "#0"}, + "south": {"uv": [3, 12, 13, 14], "texture": "#0"}, + "west": {"uv": [3, 12, 13, 14], "texture": "#0"}, + "up": {"uv": [3, 3, 13, 13], "texture": "#0"}, + "down": {"uv": [3, 3, 13, 13], "texture": "#1"} + } + }, + { + "from": [4, 2, 4], + "to": [12, 3, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [2, -1, 7]}, + "faces": { + "north": {"uv": [4, 2, 12, 3], "texture": "#0"}, + "east": {"uv": [4, 2, 12, 3], "texture": "#0"}, + "south": {"uv": [4, 2, 12, 3], "texture": "#0"}, + "west": {"uv": [4, 2, 12, 3], "texture": "#0"}, + "up": {"uv": [4, 4, 12, 12], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_lamp/block_powered.json b/src/main/resources/assets/tfmg/models/block/aluminum_lamp/block_powered.json new file mode 100644 index 00000000..d0258805 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_lamp/block_powered.json @@ -0,0 +1,36 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "2": "tfmg:block/aluminum_lamp_on", + "particle": "tfmg:block/aluminum_lamp_on" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 0, 7]}, + "faces": { + "north": {"uv": [3, 12, 13, 14], "texture": "#2"}, + "east": {"uv": [3, 12, 13, 14], "texture": "#2"}, + "south": {"uv": [3, 12, 13, 14], "texture": "#2"}, + "west": {"uv": [3, 12, 13, 14], "texture": "#2"}, + "up": {"uv": [3, 3, 13, 13], "texture": "#2"}, + "down": {"uv": [3, 3, 13, 13], "texture": "#2"} + } + }, + { + "from": [4, 2, 4], + "to": [12, 3, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [2, -1, 7]}, + "faces": { + "north": {"uv": [4, 2, 12, 3], "texture": "#2"}, + "east": {"uv": [4, 2, 12, 3], "texture": "#2"}, + "south": {"uv": [4, 2, 12, 3], "texture": "#2"}, + "west": {"uv": [4, 2, 12, 3], "texture": "#2"}, + "up": {"uv": [4, 4, 12, 12], "texture": "#2"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_lamp/item.json b/src/main/resources/assets/tfmg/models/block/aluminum_lamp/item.json new file mode 100644 index 00000000..36a100ce --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_lamp/item.json @@ -0,0 +1,36 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_lamp_off", + "1": "tfmg:block/aluminum_inlet", + "particle": "tfmg:block/aluminum_lamp_off" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 0, 7]}, + "faces": { + "north": {"uv": [3, 12, 13, 14], "texture": "#0"}, + "east": {"uv": [3, 12, 13, 14], "texture": "#0"}, + "south": {"uv": [3, 12, 13, 14], "texture": "#0"}, + "west": {"uv": [3, 12, 13, 14], "texture": "#0"}, + "up": {"uv": [3, 3, 13, 13], "texture": "#0"}, + "down": {"uv": [3, 3, 13, 13], "texture": "#1"} + } + }, + { + "from": [4, 2, 4], + "to": [12, 3, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [2, -1, 7]}, + "faces": { + "north": {"uv": [4, 2, 12, 3], "texture": "#0"}, + "east": {"uv": [4, 2, 12, 3], "texture": "#0"}, + "south": {"uv": [4, 2, 12, 3], "texture": "#0"}, + "west": {"uv": [4, 2, 12, 3], "texture": "#0"}, + "up": {"uv": [4, 4, 12, 12], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_lamp/light.json b/src/main/resources/assets/tfmg/models/block/aluminum_lamp/light.json new file mode 100644 index 00000000..7ffd10eb --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_lamp/light.json @@ -0,0 +1,33 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/light", + "particle": "tfmg:block/light" + }, + "elements": [ + { + "from": [3.75, 3.75, 2], + "to": [12.25, 12.25, 3.25], + "rotation": {"angle": 0, "axis": "x", "origin": [2, 8, 8]}, + "faces": { + "east": {"uv": [4, 10, 12, 11], "rotation": 270, "texture": "#0"}, + "south": {"uv": [4, 8, 12, 16], "texture": "#0"}, + "west": {"uv": [4, 10, 12, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 10, 12, 11], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4, 10, 12, 11], "texture": "#0"} + } + }, + { + "from": [3.5, 3.5, 2], + "to": [12.5, 12.5, 3.5], + "rotation": {"angle": 0, "axis": "x", "origin": [2, 8, 8]}, + "faces": { + "east": {"uv": [4, 3, 12, 4], "rotation": 270, "texture": "#0"}, + "south": {"uv": [4, 0, 12, 8], "texture": "#0"}, + "west": {"uv": [4, 3, 12, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 3, 12, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4, 3, 12, 4], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_mechanical_pump/block.json b/src/main/resources/assets/tfmg/models/block/aluminum_mechanical_pump/block.json new file mode 100644 index 00000000..ba0bc3a3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_mechanical_pump/block.json @@ -0,0 +1,67 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/block", + "textures": { + "4": "tfmg:block/aluminum_pump", + "particle": "tfmg:block/aluminum_pump" + }, + "elements": [ + { + "from": [2, 13, 2], + "to": [14, 16, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 14.5, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "east": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "west": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "up": {"uv": [0, 0, 6, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#4"} + } + }, + { + "from": [2, 0, 2], + "to": [14, 3, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 1.5, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "east": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "west": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "up": {"uv": [0, 0, 6, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#4"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_mechanical_pump/cog.json b/src/main/resources/assets/tfmg/models/block/aluminum_mechanical_pump/cog.json new file mode 100644 index 00000000..7dc3bd74 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_mechanical_pump/cog.json @@ -0,0 +1,162 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "2": "tfmg:block/aluminum_pump" + }, + "elements": [ + { + "from": [6.5, -1, 3], + "to": [9.5, 17, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "east": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#2"}, + "up": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [-1, 6.5, 3], + "to": [17, 9.5, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#2"}, + "east": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "texture": "#2"}, + "west": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "up": {"uv": [0, 9, 9, 14], "rotation": 180, "texture": "#2"}, + "down": {"uv": [0, 9, 9, 14], "texture": "#2"} + } + }, + { + "from": [6.5, -1, 3], + "to": [9.5, 17, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "east": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#2"}, + "up": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [-1, 6.5, 3], + "to": [17, 9.5, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#2"}, + "east": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "texture": "#2"}, + "west": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "up": {"uv": [0, 9, 9, 14], "rotation": 180, "texture": "#2"}, + "down": {"uv": [0, 9, 9, 14], "texture": "#2"} + } + }, + { + "from": [5.5, 0.9, 3.05], + "to": [10.5, 15.1, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "up": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [0.9, 5.5, 3.05], + "to": [15.1, 10.5, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [10, 9, 15, 11.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#2"}, + "west": {"uv": [10, 9, 15, 11.5], "texture": "#2"} + } + }, + { + "from": [0.9, 5.5, 3.05], + "to": [15.1, 10.5, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [10, 9, 15, 11.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#2"}, + "west": {"uv": [10, 9, 15, 11.5], "texture": "#2"} + } + }, + { + "from": [5.5, 0.9, 3.05], + "to": [10.5, 15.1, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "up": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, -149, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, -149, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, -55, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, -55, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 1, 1.25], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 45, 0], + "translation": [2.5, -0.5, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [0, 180, 0], + "translation": [0, 1.75, -4.5], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "cogwheel", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3] + }, + { + "name": "group", + "origin": [8, 8, 8], + "color": 0, + "children": [4, 5, 6, 7] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_mechanical_pump/item.json b/src/main/resources/assets/tfmg/models/block/aluminum_mechanical_pump/item.json new file mode 100644 index 00000000..8f3ea3fe --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_mechanical_pump/item.json @@ -0,0 +1,164 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/block", + "texture_size": [32, 32], + "textures": { + "4": "tfmg:block/aluminum_pump", + "particle": "tfmg:block/aluminum_pump" + }, + "elements": [ + { + "from": [0, 2, 2], + "to": [3, 14, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "texture": "#4"}, + "east": {"uv": [0, 0, 6, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"}, + "west": {"uv": [0, 0, 6, 6], "rotation": 90, "texture": "#4"}, + "up": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [13, 2, 2], + "to": [16, 14, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "texture": "#4"}, + "east": {"uv": [0, 0, 6, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"}, + "west": {"uv": [0, 0, 6, 6], "rotation": 90, "texture": "#4"}, + "up": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [3, -1, 6.5], + "to": [13, 17, 9.5], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#4"}, + "east": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#4"}, + "south": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"}, + "west": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#4"}, + "up": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "down": {"uv": [10, 6.5, 15, 8], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [3, 6.5, -1], + "to": [13, 9.5, 17], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "east": {"uv": [0, 6.5, 9, 8], "texture": "#4"}, + "south": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "west": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#4"}, + "up": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"}, + "down": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"} + } + }, + { + "from": [3, -1, 6.5], + "to": [13, 17, 9.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 14, 9, 9], "rotation": 270, "texture": "#4"}, + "east": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#4"}, + "south": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"}, + "west": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#4"}, + "up": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "down": {"uv": [10, 8, 15, 6.5], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [3, 6.5, -1], + "to": [13, 9.5, 17], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "east": {"uv": [0, 6.5, 9, 8], "texture": "#4"}, + "south": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "west": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#4"}, + "up": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"}, + "down": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"} + } + }, + { + "from": [3.05, 0.9, 5.5], + "to": [12.95, 15.1, 10.5], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [1, 7, 1.5, 7.5], "texture": "#4"}, + "west": {"uv": [1, 7, 1.5, 7.5], "texture": "#4"}, + "up": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "down": {"uv": [10, 9, 15, 11.5], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [3.05, 5.5, 0.9], + "to": [12.95, 10.5, 15.1], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "east": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#4"}, + "south": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "west": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#4"} + } + }, + { + "from": [3.05, 0.9, 5.5], + "to": [12.95, 15.1, 10.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [1, 7, 1.5, 7.5], "rotation": 180, "texture": "#4"}, + "west": {"uv": [1, 7, 1.5, 7.5], "rotation": 180, "texture": "#4"}, + "up": {"uv": [10, 9, 15, 11.5], "rotation": 180, "texture": "#4"}, + "down": {"uv": [10, 9, 15, 11.5], "texture": "#4"} + } + }, + { + "from": [3.05, 5.5, 0.9], + "to": [12.95, 10.5, 15.1], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "east": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#4"}, + "south": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "west": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#4"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/casing.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/casing.json new file mode 100644 index 00000000..f6f6da79 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/casing.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "east": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "south": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "west": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "up": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "down": {"uv": [1, 11, 6, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/connection/down.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/connection/down.json new file mode 100644 index 00000000..617bbbcd --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/connection/down.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "connection_down", + "from": [4, 0, 4], + "to": [12, 4, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 6, 4, 8], "texture": "#0"}, + "east": {"uv": [0, 6, 4, 8], "texture": "#0"}, + "south": {"uv": [4, 6, 0, 8], "texture": "#0"}, + "west": {"uv": [4, 6, 0, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/connection/east.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/connection/east.json new file mode 100644 index 00000000..47c98c3c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/connection/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "connection_east", + "from": [12, 4, 4], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 6, 4, 8], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/connection/north.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/connection/north.json new file mode 100644 index 00000000..a6a084d2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/connection/north.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "connection_north", + "from": [4, 4, 0], + "to": [12, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 4, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 2], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/connection/south.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/connection/south.json new file mode 100644 index 00000000..af618a30 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/connection/south.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "connection_south", + "from": [4, 4, 12], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 4, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 6, 4, 8], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/connection/up.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/connection/up.json new file mode 100644 index 00000000..b6ec93d5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/connection/up.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "connection_up", + "from": [4, 12, 4], + "to": [12, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [4, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [4, 0, 0, 2], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/connection/west.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/connection/west.json new file mode 100644 index 00000000..2b2b333b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/connection/west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "connection_west", + "from": [0, 4, 4], + "to": [4, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 2], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/core_x.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/core_x.json new file mode 100644 index 00000000..50c546da --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/core_x.json @@ -0,0 +1,18 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/aluminum_pipes_connected", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "core_x", + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "east": {"uv": [12, 8, 16, 12], "texture": "#0"}, + "west": {"uv": [16, 8, 12, 12], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/core_y.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/core_y.json new file mode 100644 index 00000000..589ac645 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/core_y.json @@ -0,0 +1,18 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/aluminum_pipes_connected", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "core_y", + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "up": {"uv": [12, 12, 16, 8], "rotation": 180, "texture": "#0"}, + "down": {"uv": [12, 8, 16, 12], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/core_z.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/core_z.json new file mode 100644 index 00000000..3fcd3dae --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/core_z.json @@ -0,0 +1,18 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/aluminum_pipes_connected", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "core_z", + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "north": {"uv": [12, 8, 16, 12], "texture": "#0"}, + "south": {"uv": [16, 8, 12, 12], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/drain/down.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/drain/down.json new file mode 100644 index 00000000..394aa43d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/drain/down.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [4.95, -3.95, 4.95], + "to": [11.05, -0.95, 11.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "down": {"uv": [13, 8, 16, 11], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2.95, -1.1, 2.95], + "to": [13.05, 2, 13.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/drain/east.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/drain/east.json new file mode 100644 index 00000000..7cab54e0 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/drain/east.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [16.95, 4.95, 4.95], + "to": [19.95, 11.05, 11.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 8, 13.5, 11], "rotation": 180, "texture": "#0"}, + "east": {"uv": [13, 8, 16, 11], "texture": "#0"}, + "south": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "up": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "down": {"uv": [12, 8, 13.5, 11], "texture": "#0"} + } + }, + { + "from": [14, 2.95, 2.95], + "to": [17.1, 13.05, 13.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 16, 10.5, 11], "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "south": {"uv": [10.5, 11, 9, 16], "texture": "#0"}, + "west": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "up": {"uv": [10.5, 11, 9, 16], "texture": "#0"}, + "down": {"uv": [10.5, 16, 9, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/drain/north.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/drain/north.json new file mode 100644 index 00000000..66993a0e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/drain/north.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [2.95, 2.95, -1.1], + "to": [13.05, 13.05, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "east": {"uv": [10.5, 11, 9, 16], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "west": {"uv": [9, 16, 10.5, 11], "texture": "#0"}, + "up": {"uv": [9, 11, 10.5, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4.95, 4.95, -3.95], + "to": [11.05, 11.05, -0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [13, 8, 16, 11], "texture": "#0"}, + "east": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "west": {"uv": [12, 8, 13.5, 11], "rotation": 180, "texture": "#0"}, + "up": {"uv": [12, 8, 13.5, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/drain/south.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/drain/south.json new file mode 100644 index 00000000..2fb80c7c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/drain/south.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [4.95, 4.95, 16.95], + "to": [11.05, 11.05, 19.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "east": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "south": {"uv": [16, 8, 13, 11], "texture": "#0"}, + "west": {"uv": [13.5, 8, 12, 11], "rotation": 180, "texture": "#0"}, + "up": {"uv": [13.5, 8, 12, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2.95, 2.95, 14], + "to": [13.05, 13.05, 17.1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "east": {"uv": [9, 11, 10.5, 16], "texture": "#0"}, + "south": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "west": {"uv": [10.5, 16, 9, 11], "texture": "#0"}, + "up": {"uv": [10.5, 11, 9, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/drain/up.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/drain/up.json new file mode 100644 index 00000000..e94c8ca7 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/drain/up.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [2.95, 14, 2.95], + "to": [13.05, 17.1, 13.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 11, 11, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16, 11, 11, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4.95, 16.95, 4.95], + "to": [11.05, 19.95, 11.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [13, 11, 16, 8], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/drain/west.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/drain/west.json new file mode 100644 index 00000000..b9218875 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/drain/west.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [-1.1, 2.95, 2.95], + "to": [2, 13.05, 13.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10.5, 16, 9, 11], "texture": "#0"}, + "east": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "south": {"uv": [9, 11, 10.5, 16], "texture": "#0"}, + "west": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "up": {"uv": [9, 11, 10.5, 16], "texture": "#0"}, + "down": {"uv": [9, 16, 10.5, 11], "texture": "#0"} + } + }, + { + "from": [-3.95, 4.95, 4.95], + "to": [-0.95, 11.05, 11.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.5, 8, 12, 11], "rotation": 180, "texture": "#0"}, + "south": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "west": {"uv": [16, 8, 13, 11], "texture": "#0"}, + "up": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "down": {"uv": [13.5, 8, 12, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/item.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/item.json new file mode 100644 index 00000000..07a3a497 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/item.json @@ -0,0 +1,53 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [4, 4, 0], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [4, 8, 8, 0], "rotation": 90, "texture": "#1"}, + "west": {"uv": [4, 0, 8, 8], "rotation": 90, "texture": "#1"}, + "up": {"uv": [4, 8, 8, 0], "texture": "#1"}, + "down": {"uv": [4, 8, 8, 0], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#1"}, + "east": {"uv": [10.5, 16, 9.5, 11], "texture": "#1"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#1"}, + "west": {"uv": [9.5, 16, 10.5, 11], "texture": "#1"}, + "up": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 15]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [10.5, 16, 9.5, 11], "rotation": 180, "texture": "#1"}, + "south": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [9.5, 16, 10.5, 11], "rotation": 180, "texture": "#1"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"} + } + } + ], + "display": { + "fixed": { + "rotation": [0, 90, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim/down.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim/down.json new file mode 100644 index 00000000..31266da1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim/down.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "faces": { + "north": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 270, "texture": "#0", "cullface": "down"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim/east.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim/east.json new file mode 100644 index 00000000..71e308e5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "faces": { + "north": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "east"}, + "south": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "west": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "up": {"uv": [9.5, 16, 10.5, 11], "rotation": 180, "texture": "#0"}, + "down": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim/north.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim/north.json new file mode 100644 index 00000000..f3cffc47 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim/north.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "north"}, + "east": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "west": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 270, "texture": "#0"}, + "down": {"uv": [9.5, 16, 10.5, 11], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim/south.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim/south.json new file mode 100644 index 00000000..257b969e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim/south.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "east": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "south"}, + "west": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "up": {"uv": [9.5, 16, 10.5, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [10.5, 11, 9.5, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim/up.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim/up.json new file mode 100644 index 00000000..42153aef --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim/up.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "faces": { + "north": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0", "cullface": "up"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim/west.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim/west.json new file mode 100644 index 00000000..8d5b25d9 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim/west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "faces": { + "north": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "south": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "west": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "west"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim_connector/down.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim_connector/down.json new file mode 100644 index 00000000..e8ca20d0 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim_connector/down.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "rim_down", + "from": [4, 0, 4], + "to": [12, 4, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 6, 8, 8], "texture": "#0"}, + "east": {"uv": [4, 6, 8, 8], "texture": "#0"}, + "south": {"uv": [8, 6, 4, 8], "texture": "#0"}, + "west": {"uv": [8, 6, 4, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim_connector/east.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim_connector/east.json new file mode 100644 index 00000000..39c323e2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim_connector/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "rim_east", + "from": [12, 4, 4], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 6, 8, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [4, 8, 8, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 8, 8, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 6, 8, 8], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim_connector/north.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim_connector/north.json new file mode 100644 index 00000000..663222bf --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim_connector/north.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "rim_north", + "from": [4, 4, 0], + "to": [12, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [4, 0, 8, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [4, 2, 8, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 2, 8, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4, 0, 8, 2], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim_connector/south.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim_connector/south.json new file mode 100644 index 00000000..bc20f594 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim_connector/south.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "rim_south", + "from": [4, 4, 12], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [4, 6, 8, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [4, 8, 8, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 8, 8, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4, 6, 8, 8], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim_connector/up.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim_connector/up.json new file mode 100644 index 00000000..89cd1caa --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim_connector/up.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "rim_up", + "from": [4, 12, 4], + "to": [12, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 0, 8, 2], "texture": "#0"}, + "east": {"uv": [4, 0, 8, 2], "texture": "#0"}, + "south": {"uv": [8, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [8, 0, 4, 2], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim_connector/west.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim_connector/west.json new file mode 100644 index 00000000..85e78533 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/rim_connector/west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_pipes", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "rim_west", + "from": [0, 4, 4], + "to": [4, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 0, 8, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [4, 2, 8, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 2, 8, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 8, 2], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_pipe/window.json b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/window.json new file mode 100644 index 00000000..e8c203c3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_pipe/window.json @@ -0,0 +1,51 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/aluminum_glass_fluid_pipe", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "name": "Outer", + "from": [4, 0, 4], + "to": [12, 16, 12], + "faces": { + "north": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [4.1, 0, 11.9], + "to": [11.9, 16, 4.1], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 8]}, + "faces": { + "north": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [10, 0, 4], + "to": [6, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 0, 10], + "to": [12, 16, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 0, 10]}, + "faces": { + "north": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_smart_fluid_pipe/block.json b/src/main/resources/assets/tfmg/models/block/aluminum_smart_fluid_pipe/block.json new file mode 100644 index 00000000..cefef9b5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_smart_fluid_pipe/block.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "2": "tfmg:block/aluminum_smart_pipe_1", + "3": "tfmg:block/aluminum_smart_pipe_2", + "4": "tfmg:block/aluminum_pipes", + "5": "tfmg:block/aluminum_smart_pipe_3", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [3, 3, 13, 13], "texture": "#5"}, + "east": {"uv": [13, 3, 3, 13], "texture": "#2"}, + "south": {"uv": [3, 3, 13, 13], "texture": "#5"}, + "west": {"uv": [3, 3, 13, 13], "texture": "#2"}, + "up": {"uv": [13, 3, 3, 13], "rotation": 270, "texture": "#2"}, + "down": {"uv": [3, 3, 13, 13], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [4.5, 5, 7.15], + "to": [11.5, 12, 13.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [1, 9, 7, 15], "texture": "#3"}, + "east": {"uv": [0, 0, 6, 7], "texture": "#3"}, + "west": {"uv": [0, 0, 6, 7], "rotation": 180, "texture": "#3"}, + "up": {"uv": [0, 0, 6, 7], "rotation": 270, "texture": "#3"}, + "down": {"uv": [0, 0, 6, 7], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [3.9, 4.4, 4.15], + "to": [12.1, 12.6, 7.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [8, 8, 16, 16], "texture": "#3"}, + "east": {"uv": [13, 0, 16, 8], "texture": "#3"}, + "south": {"uv": [0, 8, 8, 16], "texture": "#3"}, + "west": {"uv": [13, 8, 16, 0], "rotation": 180, "texture": "#3"}, + "up": {"uv": [13, 8, 16, 0], "rotation": 270, "texture": "#3"}, + "down": {"uv": [13, 0, 16, 8], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [4, 4, 0], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 4, 0]}, + "faces": { + "east": {"uv": [4, 8, 8, 0], "rotation": 90, "texture": "#4"}, + "west": {"uv": [4, 0, 8, 8], "rotation": 90, "texture": "#4"}, + "up": {"uv": [4, 8, 8, 0], "texture": "#4"}, + "down": {"uv": [4, 0, 8, 8], "texture": "#4"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_smart_fluid_pipe/item.json b/src/main/resources/assets/tfmg/models/block/aluminum_smart_fluid_pipe/item.json new file mode 100644 index 00000000..60e66f7b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_smart_fluid_pipe/item.json @@ -0,0 +1,119 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/aluminum_pipes", + "2": "tfmg:block/aluminum_smart_pipe_1", + "3": "tfmg:block/aluminum_smart_pipe_2", + "4": "tfmg:block/aluminum_smart_pipe_3", + "particle": "tfmg:block/aluminum_smart_pipe_3" + }, + "elements": [ + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [10.5, 11, 9.5, 16], "texture": "#1"}, + "south": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [9.5, 11, 10.5, 16], "texture": "#1"}, + "up": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 16]}, + "faces": { + "north": {"uv": [16, 11, 11, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [9.5, 11, 10.5, 16], "texture": "#1"}, + "south": {"uv": [16, 11, 11, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [10.5, 11, 9.5, 16], "texture": "#1"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [3, 3, 13, 13], "texture": "#4"}, + "east": {"uv": [13, 3, 3, 13], "texture": "#2"}, + "south": {"uv": [3, 3, 13, 13], "texture": "#4"}, + "west": {"uv": [3, 3, 13, 13], "texture": "#2"}, + "up": {"uv": [13, 3, 3, 13], "rotation": 270, "texture": "#2"}, + "down": {"uv": [3, 3, 13, 13], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [4.5, 5, 7.15], + "to": [11.5, 12, 13.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [1, 9, 7, 15], "texture": "#3"}, + "east": {"uv": [0, 0, 6, 7], "texture": "#3"}, + "west": {"uv": [0, 0, 6, 7], "rotation": 180, "texture": "#3"}, + "up": {"uv": [0, 0, 6, 7], "rotation": 270, "texture": "#3"}, + "down": {"uv": [0, 0, 6, 7], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [3.9, 4.4, 4.15], + "to": [12.1, 12.6, 7.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [8, 8, 16, 16], "texture": "#3"}, + "east": {"uv": [13, 0, 16, 8], "texture": "#3"}, + "south": {"uv": [0, 8, 8, 16], "texture": "#3"}, + "west": {"uv": [13, 8, 16, 0], "rotation": 180, "texture": "#3"}, + "up": {"uv": [13, 8, 16, 0], "rotation": 270, "texture": "#3"}, + "down": {"uv": [13, 0, 16, 8], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [4, 4, 0], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 4, 0]}, + "faces": { + "east": {"uv": [4, 8, 8, 0], "rotation": 90, "texture": "#1"}, + "west": {"uv": [4, 0, 8, 8], "rotation": 90, "texture": "#1"}, + "up": {"uv": [4, 8, 8, 0], "texture": "#1"}, + "down": {"uv": [4, 0, 8, 8], "texture": "#1"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [0, 90, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/aluminum_truss.json b/src/main/resources/assets/tfmg/models/block/aluminum_truss.json new file mode 100644 index 00000000..30fa70ff --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/aluminum_truss.json @@ -0,0 +1,106 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/aluminum_truss", + "particle": "tfmg:block/aluminum_block" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [2, 0, 15], + "to": [14, 16, 15], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + }, + { + "from": [15, 0, 2], + "to": [15, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 0, 2], + "to": [1, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 0, 1], + "to": [14, 16, 1], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/ammeter/block.json b/src/main/resources/assets/tfmg/models/block/ammeter/block.json new file mode 100644 index 00000000..1771d1ac --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/ammeter/block.json @@ -0,0 +1,83 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [64, 64], + "textures": { + "0": "tfmg:block/ammeter", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [0, 13, 12], + "to": [16, 14, 13], + "faces": { + "north": {"uv": [0, 0, 4, 0.25], "texture": "#0"}, + "east": {"uv": [0, 6, 0.25, 6.25], "texture": "#0"}, + "south": {"uv": [5.75, 2.75, 9.75, 3], "texture": "#0"}, + "west": {"uv": [0, 6, 0.25, 6.25], "texture": "#0"}, + "up": {"uv": [4, 3, 0, 2.75], "texture": "#0"}, + "down": {"uv": [4, 2.5, 0, 2.75], "texture": "#0"} + } + }, + { + "from": [0, 3, 12], + "to": [2, 13, 13], + "faces": { + "north": {"uv": [3.5, 0.25, 4, 2.75], "texture": "#0"}, + "east": {"uv": [3.5, 0.25, 3.75, 2.75], "texture": "#0"}, + "south": {"uv": [4.75, 5, 5.25, 7.5], "texture": "#0"}, + "west": {"uv": [0, 6, 0.25, 8.5], "texture": "#0"}, + "up": {"uv": [1.25, 6.25, 0.75, 6], "texture": "#0"}, + "down": {"uv": [1.75, 6, 1.25, 6.25], "texture": "#0"} + } + }, + { + "from": [14, 3, 12], + "to": [16, 13, 13], + "faces": { + "north": {"uv": [0, 0.25, 0.5, 2.75], "texture": "#0"}, + "east": {"uv": [0, 6, 0.25, 8.5], "texture": "#0"}, + "south": {"uv": [5.25, 5, 5.75, 7.5], "texture": "#0"}, + "west": {"uv": [0.25, 0.25, 0.5, 2.75], "texture": "#0"}, + "up": {"uv": [2.25, 6.25, 1.75, 6], "texture": "#0"}, + "down": {"uv": [2.75, 6, 2.25, 6.25], "texture": "#0"} + } + }, + { + "from": [0, 2, 12], + "to": [16, 3, 13], + "faces": { + "north": {"uv": [0, 2.75, 4, 3], "texture": "#0"}, + "east": {"uv": [0.25, 8.25, 0.5, 8.5], "texture": "#0"}, + "south": {"uv": [6, 2.5, 10, 3], "texture": "#0"}, + "west": {"uv": [0, 8.25, 0.25, 8.5], "texture": "#0"}, + "up": {"uv": [0.5, 2.5, 3.5, 2.75], "texture": "#0"}, + "down": {"uv": [4, 2.75, 0, 3], "texture": "#0"} + } + }, + { + "from": [0, 2, 13], + "to": [16, 14, 16], + "faces": { + "north": {"uv": [0, 0, 4, 3], "texture": "#0"}, + "east": {"uv": [4, 1.5, 4.75, 4.5], "texture": "#0"}, + "south": {"uv": [0, 3, 4, 6], "texture": "#0"}, + "west": {"uv": [4, 4.5, 4.75, 7.5], "texture": "#0"}, + "up": {"uv": [8, 0.75, 4, 0], "texture": "#0"}, + "down": {"uv": [8, 0.75, 4, 1.5], "texture": "#0"} + } + }, + { + "from": [7, 5, 12], + "to": [9, 7, 13], + "faces": { + "north": {"uv": [5.75, 2.75, 6.25, 3.25], "texture": "#0"}, + "east": {"uv": [5.75, 2.75, 6, 3.25], "texture": "#0"}, + "south": {"uv": [5.75, 2.75, 6.25, 3.25], "texture": "#0"}, + "west": {"uv": [5.75, 2.75, 6, 3.25], "texture": "#0"}, + "up": {"uv": [5.75, 2.75, 6.25, 3], "texture": "#0"}, + "down": {"uv": [5.75, 2.75, 6.25, 3], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/ammeter/dial.json b/src/main/resources/assets/tfmg/models/block/ammeter/dial.json new file mode 100644 index 00000000..4b14b522 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/ammeter/dial.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "tfmg:block/voltmeter", + "particle": "tfmg:block/voltmeter" + }, + "elements": [ + { + "name": "GaugeDial", + "from": [12.75, 5.25, 2.5], + "to": [13.45, 6.25, 8.5], + "rotation": {"angle": 0, "axis": "x", "origin": [16.1, 5.75, 8.25]}, + "faces": { + "north": {"uv": [7, 2.5, 7.25, 2.75], "rotation": 180, "texture": "#0"}, + "east": {"uv": [7, 2.5, 7.25, 4], "rotation": 90, "texture": "#0"}, + "south": {"uv": [4, 11, 5, 12], "rotation": 180, "texture": "#0"}, + "west": {"uv": [7, 4, 7.25, 2.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [7, 2.5, 7.25, 4], "texture": "#0"}, + "down": {"uv": [7, 4, 7.25, 2.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/ammeter/item.json b/src/main/resources/assets/tfmg/models/block/ammeter/item.json new file mode 100644 index 00000000..5d6bd617 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/ammeter/item.json @@ -0,0 +1,71 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "parent":"block/block", + "textures": { + "0": "tfmg:block/ammeter", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [0, 13, 12], + "to": [16, 14, 13], + "faces": { + "north": {"uv": [0, 0, 4, 0.25], "texture": "#0"}, + "east": {"uv": [0, 6, 0.25, 6.25], "texture": "#0"}, + "south": {"uv": [5.75, 2.75, 9.75, 3], "texture": "#0"}, + "west": {"uv": [0, 6, 0.25, 6.25], "texture": "#0"}, + "up": {"uv": [4, 3, 0, 2.75], "texture": "#0"}, + "down": {"uv": [4, 2.5, 0, 2.75], "texture": "#0"} + } + }, + { + "from": [0, 3, 12], + "to": [2, 13, 13], + "faces": { + "north": {"uv": [3.5, 0.25, 4, 2.75], "texture": "#0"}, + "east": {"uv": [3.5, 0.25, 3.75, 2.75], "texture": "#0"}, + "south": {"uv": [4.75, 5, 5.25, 7.5], "texture": "#0"}, + "west": {"uv": [0, 6, 0.25, 8.5], "texture": "#0"}, + "up": {"uv": [1.25, 6.25, 0.75, 6], "texture": "#0"}, + "down": {"uv": [1.75, 6, 1.25, 6.25], "texture": "#0"} + } + }, + { + "from": [14, 3, 12], + "to": [16, 13, 13], + "faces": { + "north": {"uv": [0, 0.25, 0.5, 2.75], "texture": "#0"}, + "east": {"uv": [0, 6, 0.25, 8.5], "texture": "#0"}, + "south": {"uv": [5.25, 5, 5.75, 7.5], "texture": "#0"}, + "west": {"uv": [0.25, 0.25, 0.5, 2.75], "texture": "#0"}, + "up": {"uv": [2.25, 6.25, 1.75, 6], "texture": "#0"}, + "down": {"uv": [2.75, 6, 2.25, 6.25], "texture": "#0"} + } + }, + { + "from": [0, 2, 12], + "to": [16, 3, 13], + "faces": { + "north": {"uv": [0, 2.75, 4, 3], "texture": "#0"}, + "east": {"uv": [0.25, 8.25, 0.5, 8.5], "texture": "#0"}, + "south": {"uv": [6, 2.5, 10, 3], "texture": "#0"}, + "west": {"uv": [0, 8.25, 0.25, 8.5], "texture": "#0"}, + "up": {"uv": [0.5, 2.5, 3.5, 2.75], "texture": "#0"}, + "down": {"uv": [4, 2.75, 0, 3], "texture": "#0"} + } + }, + { + "from": [0, 2, 13], + "to": [16, 14, 16], + "faces": { + "north": {"uv": [0, 0, 4, 3], "texture": "#0"}, + "east": {"uv": [4, 1.5, 4.75, 4.5], "texture": "#0"}, + "south": {"uv": [0, 3, 4, 6], "texture": "#0"}, + "west": {"uv": [4, 4.5, 4.75, 7.5], "texture": "#0"}, + "up": {"uv": [8, 0.75, 4, 0], "texture": "#0"}, + "down": {"uv": [8, 0.75, 4, 1.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/bars/cap.json b/src/main/resources/assets/tfmg/models/block/bars/cap.json new file mode 100644 index 00000000..aa1c0ee6 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/bars/cap.json @@ -0,0 +1,8 @@ +{ + "parent": "create:block/bars/cap", + "textures": { + "bars": "tfmg:block/bars/aluminum_bars", + "edge": "tfmg:block/bars/aluminum_bars_edge", + "particle": "tfmg:block/bars/aluminum_bars" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/bars/cap_alt.json b/src/main/resources/assets/tfmg/models/block/bars/cap_alt.json new file mode 100644 index 00000000..473e5cbe --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/bars/cap_alt.json @@ -0,0 +1,8 @@ +{ + "parent": "create:block/bars/cap_alt", + "textures": { + "bars": "tfmg:block/bars/aluminum_bars", + "edge": "tfmg:block/bars/aluminum_bars_edge", + "particle": "tfmg:block/bars/aluminum_bars" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/bars/post.json b/src/main/resources/assets/tfmg/models/block/bars/post.json new file mode 100644 index 00000000..d1aebdac --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/bars/post.json @@ -0,0 +1,8 @@ +{ + "parent": "create:block/bars/post", + "textures": { + "bars": "tfmg:block/bars/steel_bars", + "edge": "tfmg:block/bars/steel_bars_edge", + "particle": "tfmg:block/bars/steel_bars" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/bars/post_ends.json b/src/main/resources/assets/tfmg/models/block/bars/post_ends.json new file mode 100644 index 00000000..3bab62d7 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/bars/post_ends.json @@ -0,0 +1,8 @@ +{ + "parent": "create:block/bars/post_ends", + "textures": { + "bars": "tfmg:block/bars/steel_bars", + "edge": "tfmg:block/bars/steel_bars_edge", + "particle": "tfmg:block/bars/steel_bars" + } +} diff --git a/src/main/resources/assets/tfmg/models/block/bars/side.json b/src/main/resources/assets/tfmg/models/block/bars/side.json new file mode 100644 index 00000000..dceeeb8d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/bars/side.json @@ -0,0 +1,8 @@ +{ + "parent": "create:block/bars/side", + "textures": { + "bars": "tfmg:block/bars/aluminum_bars", + "edge": "tfmg:block/bars/aluminum_bars_edge", + "particle": "tfmg:block/bars/aluminum_bars" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/bars/side_alt.json b/src/main/resources/assets/tfmg/models/block/bars/side_alt.json new file mode 100644 index 00000000..7a383cc5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/bars/side_alt.json @@ -0,0 +1,8 @@ +{ + "parent": "create:block/bars/side_alt", + "textures": { + "bars": "tfmg:block/bars/aluminum_bars", + "edge": "tfmg:block/bars/aluminum_bars_edge", + "particle": "tfmg:block/bars/aluminum_bars" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/battery/block.json b/src/main/resources/assets/tfmg/models/block/battery/block.json new file mode 100644 index 00000000..8acbb406 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/battery/block.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/blast_furnace_output", + "1": "tfmg:block/fireproof_bricks", + "particle": "tfmg:block/blast_furnace_output" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "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], "rotation": 180, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/battery/item.json b/src/main/resources/assets/tfmg/models/block/battery/item.json new file mode 100644 index 00000000..d8c59aae --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/battery/item.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/blast_furnace_output", + "1": "tfmg:block/fireproof_bricks", + "particle": "tfmg:block/blast_furnace_output" + }, + "elements": [ + { + "from": [0, 0, -1], + "to": [16, 16, 15], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "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], "rotation": 180, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/blast_furnace_output/blast_furnace_output.json b/src/main/resources/assets/tfmg/models/block/blast_furnace_output/blast_furnace_output.json new file mode 100644 index 00000000..f5171ff3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/blast_furnace_output/blast_furnace_output.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/blast_furnace_output", + "1": "tfmg:block/fireproof_bricks", + "particle": "tfmg:block/blast_furnace_output" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/blast_furnace_output/block.json b/src/main/resources/assets/tfmg/models/block/blast_furnace_output/block.json new file mode 100644 index 00000000..8acbb406 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/blast_furnace_output/block.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/blast_furnace_output", + "1": "tfmg:block/fireproof_bricks", + "particle": "tfmg:block/blast_furnace_output" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "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], "rotation": 180, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/blast_furnace_output/item.json b/src/main/resources/assets/tfmg/models/block/blast_furnace_output/item.json new file mode 100644 index 00000000..d8c59aae --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/blast_furnace_output/item.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/blast_furnace_output", + "1": "tfmg:block/fireproof_bricks", + "particle": "tfmg:block/blast_furnace_output" + }, + "elements": [ + { + "from": [0, 0, -1], + "to": [16, 16, 15], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "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], "rotation": 180, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/blast_furnace_reinforcement_wall.json b/src/main/resources/assets/tfmg/models/block/blast_furnace_reinforcement_wall.json new file mode 100644 index 00000000..282b30e2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/blast_furnace_reinforcement_wall.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/blast_furnace_reinforcement", + "particle": "tfmg:block/blast_furnace_reinforcement" + }, + "elements": [ + { + "from": [0, 0, 10], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 14]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 6], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 6], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/blast_stove/block.json b/src/main/resources/assets/tfmg/models/block/blast_stove/block.json new file mode 100644 index 00000000..b4350c18 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/blast_stove/block.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/fireproof_bricks", + "1": "tfmg:block/blast_stove_top", + "2": "tfmg:block/blast_stove_side", + "particle": "tfmg:block/fireproof_bricks" + }, + "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": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/blast_stove/item.json b/src/main/resources/assets/tfmg/models/block/blast_stove/item.json new file mode 100644 index 00000000..b4350c18 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/blast_stove/item.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/fireproof_bricks", + "1": "tfmg:block/blast_stove_top", + "2": "tfmg:block/blast_stove_side", + "particle": "tfmg:block/fireproof_bricks" + }, + "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": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_fluid_valve/block_horizontal_closed.json b/src/main/resources/assets/tfmg/models/block/brass_fluid_valve/block_horizontal_closed.json new file mode 100644 index 00000000..68f503a9 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_fluid_valve/block_horizontal_closed.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/brass_fluid_valve", + "3": "tfmg:block/brass_valve_closed", + "particle": "create:block/brass_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "down": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1.5, 9.5, 6.5, 14.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7, 9, 1, 15], "rotation": 90, "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_fluid_valve/block_horizontal_open.json b/src/main/resources/assets/tfmg/models/block/brass_fluid_valve/block_horizontal_open.json new file mode 100644 index 00000000..c0a94652 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_fluid_valve/block_horizontal_open.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/brass_fluid_valve", + "3": "tfmg:block/brass_valve_open", + "particle": "create:block/brass_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "down": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1.5, 9.5, 6.5, 14.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7, 9, 1, 15], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_fluid_valve/block_vertical_closed.json b/src/main/resources/assets/tfmg/models/block/brass_fluid_valve/block_vertical_closed.json new file mode 100644 index 00000000..191ea66f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_fluid_valve/block_vertical_closed.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/brass_fluid_valve", + "4": "tfmg:block/brass_valve_closed", + "particle": "create:block/brass_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "east": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "west": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "up": {"uv": [9, 1, 15, 7], "texture": "#2"}, + "down": {"uv": [9, 1, 15, 7], "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "west": {"uv": [1.5, 9.5, 6.5, 14.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + }, + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "east": {"uv": [6.5, 9.5, 1.5, 14.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_fluid_valve/block_vertical_open.json b/src/main/resources/assets/tfmg/models/block/brass_fluid_valve/block_vertical_open.json new file mode 100644 index 00000000..cac328f1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_fluid_valve/block_vertical_open.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/brass_fluid_valve", + "4": "tfmg:block/brass_valve_open", + "particle": "create:block/brass_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "east": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "west": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "up": {"uv": [9, 1, 15, 7], "texture": "#2"}, + "down": {"uv": [9, 1, 15, 7], "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "west": {"uv": [1.5, 9.5, 6.5, 14.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + }, + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "east": {"uv": [6.5, 9.5, 1.5, 14.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_fluid_valve/item.json b/src/main/resources/assets/tfmg/models/block/brass_fluid_valve/item.json new file mode 100644 index 00000000..dae16742 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_fluid_valve/item.json @@ -0,0 +1,155 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "2": "tfmg:block/brass_fluid_valve", + "4": "tfmg:block/brass_valve_open", + "1_1": "create:block/axis_top", + "1_0": "create:block/axis", + "particle": "create:block/brass_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [9, 1, 15, 7], "texture": "#2"}, + "east": {"uv": [1, 9, 7, 15], "texture": "#2"}, + "south": {"uv": [9, 1, 15, 7], "texture": "#2"}, + "west": {"uv": [1, 9, 7, 15], "texture": "#2"}, + "up": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "down": {"uv": [1, 1, 7, 7], "texture": "#2"} + } + }, + { + "from": [2, 14, 2], + "to": [14, 13, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 23, 11]}, + "faces": { + "north": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "east": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "south": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "up": {"uv": [2, 2, 14, 14], "texture": "#4"} + } + }, + { + "from": [2, 3, 2], + "to": [14, 2, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 2.5, 8]}, + "faces": { + "north": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "east": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "south": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [2, 2, 14, 14], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "west": {"uv": [6.5, 9.5, 1.5, 14.5], "texture": "#2"}, + "up": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 180, "texture": "#2"}, + "down": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 180, "texture": "#2"} + } + }, + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "east": {"uv": [6.5, 9.5, 1.5, 14.5], "texture": "#2"}, + "south": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "up": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "down": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"} + } + }, + { + "name": "Axis", + "from": [6, 6, 0], + "to": [10, 10, 16], + "faces": { + "north": {"uv": [6, 6, 10, 10], "rotation": 180, "texture": "#1_1"}, + "east": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#1_0"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#1_1"}, + "west": {"uv": [6, 0, 10, 16], "rotation": 270, "texture": "#1_0"}, + "up": {"uv": [6, 0, 10, 16], "texture": "#1_0"}, + "down": {"uv": [6, 0, 10, 16], "rotation": 180, "texture": "#1_0"} + } + }, + { + "from": [4.5, 13.5, 7.5], + "to": [11.5, 13.5, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 13.5, 8]}, + "faces": { + "up": {"uv": [2, 7.5, 5.5, 8], "texture": "#2"} + } + }, + { + "from": [4.5, 2.5, 7.5], + "to": [11.5, 2.5, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 2.5, 8]}, + "faces": { + "down": {"uv": [2, 7.5, 5.5, 8], "rotation": 180, "texture": "#2"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [90, 0, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "group", + "origin": [16, 0, 0], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "shaft", + "origin": [8, 8, 8], + "color": 0, + "children": [5] + }, + { + "name": "hands", + "origin": [7, 14, 4], + "color": 0, + "children": [6, 7] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_frame/block.json b/src/main/resources/assets/tfmg/models/block/brass_frame/block.json new file mode 100644 index 00000000..3518af65 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_frame/block.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/brass_frame", + "particle": "tfmg:block/brass_frame" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_frame/item.json b/src/main/resources/assets/tfmg/models/block/brass_frame/item.json new file mode 100644 index 00000000..3518af65 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_frame/item.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/brass_frame", + "particle": "tfmg:block/brass_frame" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_mechanical_pump/block.json b/src/main/resources/assets/tfmg/models/block/brass_mechanical_pump/block.json new file mode 100644 index 00000000..4fe4ddaf --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_mechanical_pump/block.json @@ -0,0 +1,67 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/block", + "textures": { + "4": "tfmg:block/brass_pump", + "particle": "tfmg:block/brass_pump" + }, + "elements": [ + { + "from": [2, 13, 2], + "to": [14, 16, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 14.5, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "east": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "west": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "up": {"uv": [0, 0, 6, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#4"} + } + }, + { + "from": [2, 0, 2], + "to": [14, 3, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 1.5, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "east": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "west": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "up": {"uv": [0, 0, 6, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#4"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_mechanical_pump/cog.json b/src/main/resources/assets/tfmg/models/block/brass_mechanical_pump/cog.json new file mode 100644 index 00000000..63bfb4bc --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_mechanical_pump/cog.json @@ -0,0 +1,162 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "2": "tfmg:block/brass_pump" + }, + "elements": [ + { + "from": [6.5, -1, 3], + "to": [9.5, 17, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "east": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#2"}, + "up": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [-1, 6.5, 3], + "to": [17, 9.5, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#2"}, + "east": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "texture": "#2"}, + "west": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "up": {"uv": [0, 9, 9, 14], "rotation": 180, "texture": "#2"}, + "down": {"uv": [0, 9, 9, 14], "texture": "#2"} + } + }, + { + "from": [6.5, -1, 3], + "to": [9.5, 17, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "east": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#2"}, + "up": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [-1, 6.5, 3], + "to": [17, 9.5, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#2"}, + "east": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "texture": "#2"}, + "west": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "up": {"uv": [0, 9, 9, 14], "rotation": 180, "texture": "#2"}, + "down": {"uv": [0, 9, 9, 14], "texture": "#2"} + } + }, + { + "from": [5.5, 0.9, 3.05], + "to": [10.5, 15.1, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "up": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [0.9, 5.5, 3.05], + "to": [15.1, 10.5, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [10, 9, 15, 11.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#2"}, + "west": {"uv": [10, 9, 15, 11.5], "texture": "#2"} + } + }, + { + "from": [0.9, 5.5, 3.05], + "to": [15.1, 10.5, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [10, 9, 15, 11.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#2"}, + "west": {"uv": [10, 9, 15, 11.5], "texture": "#2"} + } + }, + { + "from": [5.5, 0.9, 3.05], + "to": [10.5, 15.1, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "up": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, -149, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, -149, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, -55, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, -55, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 1, 1.25], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 45, 0], + "translation": [2.5, -0.5, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [0, 180, 0], + "translation": [0, 1.75, -4.5], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "cogwheel", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3] + }, + { + "name": "group", + "origin": [8, 8, 8], + "color": 0, + "children": [4, 5, 6, 7] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_mechanical_pump/item.json b/src/main/resources/assets/tfmg/models/block/brass_mechanical_pump/item.json new file mode 100644 index 00000000..098fba3c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_mechanical_pump/item.json @@ -0,0 +1,164 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/block", + "texture_size": [32, 32], + "textures": { + "4": "tfmg:block/brass_pump", + "particle": "tfmg:block/brass_pump" + }, + "elements": [ + { + "from": [0, 2, 2], + "to": [3, 14, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "texture": "#4"}, + "east": {"uv": [0, 0, 6, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"}, + "west": {"uv": [0, 0, 6, 6], "rotation": 90, "texture": "#4"}, + "up": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [13, 2, 2], + "to": [16, 14, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "texture": "#4"}, + "east": {"uv": [0, 0, 6, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"}, + "west": {"uv": [0, 0, 6, 6], "rotation": 90, "texture": "#4"}, + "up": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [3, -1, 6.5], + "to": [13, 17, 9.5], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#4"}, + "east": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#4"}, + "south": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"}, + "west": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#4"}, + "up": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "down": {"uv": [10, 6.5, 15, 8], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [3, 6.5, -1], + "to": [13, 9.5, 17], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "east": {"uv": [0, 6.5, 9, 8], "texture": "#4"}, + "south": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "west": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#4"}, + "up": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"}, + "down": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"} + } + }, + { + "from": [3, -1, 6.5], + "to": [13, 17, 9.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 14, 9, 9], "rotation": 270, "texture": "#4"}, + "east": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#4"}, + "south": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"}, + "west": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#4"}, + "up": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "down": {"uv": [10, 8, 15, 6.5], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [3, 6.5, -1], + "to": [13, 9.5, 17], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "east": {"uv": [0, 6.5, 9, 8], "texture": "#4"}, + "south": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "west": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#4"}, + "up": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"}, + "down": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"} + } + }, + { + "from": [3.05, 0.9, 5.5], + "to": [12.95, 15.1, 10.5], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [1, 7, 1.5, 7.5], "texture": "#4"}, + "west": {"uv": [1, 7, 1.5, 7.5], "texture": "#4"}, + "up": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "down": {"uv": [10, 9, 15, 11.5], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [3.05, 5.5, 0.9], + "to": [12.95, 10.5, 15.1], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "east": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#4"}, + "south": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "west": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#4"} + } + }, + { + "from": [3.05, 0.9, 5.5], + "to": [12.95, 15.1, 10.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [1, 7, 1.5, 7.5], "rotation": 180, "texture": "#4"}, + "west": {"uv": [1, 7, 1.5, 7.5], "rotation": 180, "texture": "#4"}, + "up": {"uv": [10, 9, 15, 11.5], "rotation": 180, "texture": "#4"}, + "down": {"uv": [10, 9, 15, 11.5], "texture": "#4"} + } + }, + { + "from": [3.05, 5.5, 0.9], + "to": [12.95, 10.5, 15.1], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "east": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#4"}, + "south": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "west": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#4"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/casing.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/casing.json new file mode 100644 index 00000000..8e90dee6 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/casing.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "create:block/brass_block" + }, + "elements": [ + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "east": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "south": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "west": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "up": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "down": {"uv": [1, 11, 6, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/connection/down.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/connection/down.json new file mode 100644 index 00000000..fc8e87b4 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/connection/down.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "name": "connection_down", + "from": [4, 0, 4], + "to": [12, 4, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 6, 4, 8], "texture": "#0"}, + "east": {"uv": [0, 6, 4, 8], "texture": "#0"}, + "south": {"uv": [4, 6, 0, 8], "texture": "#0"}, + "west": {"uv": [4, 6, 0, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/connection/east.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/connection/east.json new file mode 100644 index 00000000..2826c5cb --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/connection/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "name": "connection_east", + "from": [12, 4, 4], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 6, 4, 8], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/connection/north.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/connection/north.json new file mode 100644 index 00000000..ba19bd53 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/connection/north.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "name": "connection_north", + "from": [4, 4, 0], + "to": [12, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 4, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 2], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/connection/south.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/connection/south.json new file mode 100644 index 00000000..f9e3410d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/connection/south.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "name": "connection_south", + "from": [4, 4, 12], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 4, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 6, 4, 8], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/connection/up.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/connection/up.json new file mode 100644 index 00000000..330e57f4 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/connection/up.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "name": "connection_up", + "from": [4, 12, 4], + "to": [12, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [4, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [4, 0, 0, 2], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/connection/west.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/connection/west.json new file mode 100644 index 00000000..f2b5ac44 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/connection/west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "name": "connection_west", + "from": [0, 4, 4], + "to": [4, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 2], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/core_x.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/core_x.json new file mode 100644 index 00000000..fc23468e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/core_x.json @@ -0,0 +1,18 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/brass_pipes_connected", + "particle": "create:block/brass_block" + }, + "elements": [ + { + "name": "core_x", + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "east": {"uv": [12, 8, 16, 12], "texture": "#0"}, + "west": {"uv": [16, 8, 12, 12], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/core_y.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/core_y.json new file mode 100644 index 00000000..3762957d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/core_y.json @@ -0,0 +1,18 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/brass_pipes_connected", + "particle": "create:block/brass_block" + }, + "elements": [ + { + "name": "core_y", + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "up": {"uv": [12, 12, 16, 8], "rotation": 180, "texture": "#0"}, + "down": {"uv": [12, 8, 16, 12], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/core_z.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/core_z.json new file mode 100644 index 00000000..93390782 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/core_z.json @@ -0,0 +1,18 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/brass_pipes_connected", + "particle": "create:block/brass_block" + }, + "elements": [ + { + "name": "core_z", + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "north": {"uv": [12, 8, 16, 12], "texture": "#0"}, + "south": {"uv": [16, 8, 12, 12], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/drain/down.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/drain/down.json new file mode 100644 index 00000000..7b01034a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/drain/down.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [4.95, -3.95, 4.95], + "to": [11.05, -0.95, 11.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "down": {"uv": [13, 8, 16, 11], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2.95, -1.1, 2.95], + "to": [13.05, 2, 13.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/drain/east.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/drain/east.json new file mode 100644 index 00000000..07e538ae --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/drain/east.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [16.95, 4.95, 4.95], + "to": [19.95, 11.05, 11.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 8, 13.5, 11], "rotation": 180, "texture": "#0"}, + "east": {"uv": [13, 8, 16, 11], "texture": "#0"}, + "south": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "up": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "down": {"uv": [12, 8, 13.5, 11], "texture": "#0"} + } + }, + { + "from": [14, 2.95, 2.95], + "to": [17.1, 13.05, 13.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 16, 10.5, 11], "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "south": {"uv": [10.5, 11, 9, 16], "texture": "#0"}, + "west": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "up": {"uv": [10.5, 11, 9, 16], "texture": "#0"}, + "down": {"uv": [10.5, 16, 9, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/drain/north.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/drain/north.json new file mode 100644 index 00000000..7a42ba6d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/drain/north.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [2.95, 2.95, -1.1], + "to": [13.05, 13.05, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "east": {"uv": [10.5, 11, 9, 16], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "west": {"uv": [9, 16, 10.5, 11], "texture": "#0"}, + "up": {"uv": [9, 11, 10.5, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4.95, 4.95, -3.95], + "to": [11.05, 11.05, -0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [13, 8, 16, 11], "texture": "#0"}, + "east": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "west": {"uv": [12, 8, 13.5, 11], "rotation": 180, "texture": "#0"}, + "up": {"uv": [12, 8, 13.5, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/drain/south.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/drain/south.json new file mode 100644 index 00000000..8d1dc20b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/drain/south.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [4.95, 4.95, 16.95], + "to": [11.05, 11.05, 19.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "east": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "south": {"uv": [16, 8, 13, 11], "texture": "#0"}, + "west": {"uv": [13.5, 8, 12, 11], "rotation": 180, "texture": "#0"}, + "up": {"uv": [13.5, 8, 12, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2.95, 2.95, 14], + "to": [13.05, 13.05, 17.1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "east": {"uv": [9, 11, 10.5, 16], "texture": "#0"}, + "south": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "west": {"uv": [10.5, 16, 9, 11], "texture": "#0"}, + "up": {"uv": [10.5, 11, 9, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/drain/up.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/drain/up.json new file mode 100644 index 00000000..ba135991 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/drain/up.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [2.95, 14, 2.95], + "to": [13.05, 17.1, 13.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 11, 11, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16, 11, 11, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4.95, 16.95, 4.95], + "to": [11.05, 19.95, 11.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [13, 11, 16, 8], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/drain/west.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/drain/west.json new file mode 100644 index 00000000..89d9bafe --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/drain/west.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [-1.1, 2.95, 2.95], + "to": [2, 13.05, 13.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10.5, 16, 9, 11], "texture": "#0"}, + "east": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "south": {"uv": [9, 11, 10.5, 16], "texture": "#0"}, + "west": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "up": {"uv": [9, 11, 10.5, 16], "texture": "#0"}, + "down": {"uv": [9, 16, 10.5, 11], "texture": "#0"} + } + }, + { + "from": [-3.95, 4.95, 4.95], + "to": [-0.95, 11.05, 11.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.5, 8, 12, 11], "rotation": 180, "texture": "#0"}, + "south": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "west": {"uv": [16, 8, 13, 11], "texture": "#0"}, + "up": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "down": {"uv": [13.5, 8, 12, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/item.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/item.json new file mode 100644 index 00000000..7f48b6ad --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/item.json @@ -0,0 +1,53 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/brass_pipes", + "particle": "create:block/brass_block" + }, + "elements": [ + { + "from": [4, 4, 0], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [4, 8, 8, 0], "rotation": 90, "texture": "#1"}, + "west": {"uv": [4, 0, 8, 8], "rotation": 90, "texture": "#1"}, + "up": {"uv": [4, 8, 8, 0], "texture": "#1"}, + "down": {"uv": [4, 8, 8, 0], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#1"}, + "east": {"uv": [10.5, 16, 9.5, 11], "texture": "#1"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#1"}, + "west": {"uv": [9.5, 16, 10.5, 11], "texture": "#1"}, + "up": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 15]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [10.5, 16, 9.5, 11], "rotation": 180, "texture": "#1"}, + "south": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [9.5, 16, 10.5, 11], "rotation": 180, "texture": "#1"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"} + } + } + ], + "display": { + "fixed": { + "rotation": [0, 90, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/rim/down.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim/down.json new file mode 100644 index 00000000..3ab5dd24 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim/down.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "faces": { + "north": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 270, "texture": "#0", "cullface": "down"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/rim/east.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim/east.json new file mode 100644 index 00000000..88650124 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "faces": { + "north": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "east"}, + "south": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "west": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "up": {"uv": [9.5, 16, 10.5, 11], "rotation": 180, "texture": "#0"}, + "down": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/rim/north.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim/north.json new file mode 100644 index 00000000..2fecbeaf --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim/north.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "north"}, + "east": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "west": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 270, "texture": "#0"}, + "down": {"uv": [9.5, 16, 10.5, 11], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/rim/south.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim/south.json new file mode 100644 index 00000000..7a957ad8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim/south.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "east": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "south"}, + "west": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "up": {"uv": [9.5, 16, 10.5, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [10.5, 11, 9.5, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/rim/up.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim/up.json new file mode 100644 index 00000000..237afd92 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim/up.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "faces": { + "north": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0", "cullface": "up"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/rim/west.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim/west.json new file mode 100644 index 00000000..5dbf5923 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim/west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "faces": { + "north": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "south": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "west": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "west"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/rim_connector/down.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim_connector/down.json new file mode 100644 index 00000000..fcfddcdf --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim_connector/down.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "name": "rim_down", + "from": [4, 0, 4], + "to": [12, 4, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 6, 8, 8], "texture": "#0"}, + "east": {"uv": [4, 6, 8, 8], "texture": "#0"}, + "south": {"uv": [8, 6, 4, 8], "texture": "#0"}, + "west": {"uv": [8, 6, 4, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/rim_connector/east.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim_connector/east.json new file mode 100644 index 00000000..0c2c6d9f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim_connector/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "name": "rim_east", + "from": [12, 4, 4], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 6, 8, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [4, 8, 8, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 8, 8, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 6, 8, 8], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/rim_connector/north.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim_connector/north.json new file mode 100644 index 00000000..5cba7041 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim_connector/north.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "name": "rim_north", + "from": [4, 4, 0], + "to": [12, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [4, 0, 8, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [4, 2, 8, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 2, 8, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4, 0, 8, 2], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/rim_connector/south.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim_connector/south.json new file mode 100644 index 00000000..72aeb725 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim_connector/south.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "name": "rim_south", + "from": [4, 4, 12], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [4, 6, 8, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [4, 8, 8, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 8, 8, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4, 6, 8, 8], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/rim_connector/up.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim_connector/up.json new file mode 100644 index 00000000..92e9783a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim_connector/up.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "name": "rim_up", + "from": [4, 12, 4], + "to": [12, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 0, 8, 2], "texture": "#0"}, + "east": {"uv": [4, 0, 8, 2], "texture": "#0"}, + "south": {"uv": [8, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [8, 0, 4, 2], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/rim_connector/west.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim_connector/west.json new file mode 100644 index 00000000..15b7ac7c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/rim_connector/west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "name": "rim_west", + "from": [0, 4, 4], + "to": [4, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 0, 8, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [4, 2, 8, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 2, 8, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 8, 2], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_pipe/window.json b/src/main/resources/assets/tfmg/models/block/brass_pipe/window.json new file mode 100644 index 00000000..3868efeb --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_pipe/window.json @@ -0,0 +1,51 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/brass_glass_fluid_pipe", + "particle": "create:block/brass_block" + }, + "elements": [ + { + "name": "Outer", + "from": [4, 0, 4], + "to": [12, 16, 12], + "faces": { + "north": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [4.1, 0, 11.9], + "to": [11.9, 16, 4.1], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 8]}, + "faces": { + "north": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [10, 0, 4], + "to": [6, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 0, 10], + "to": [12, 16, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 0, 10]}, + "faces": { + "north": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_smart_fluid_pipe/block.json b/src/main/resources/assets/tfmg/models/block/brass_smart_fluid_pipe/block.json new file mode 100644 index 00000000..01ccc03f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_smart_fluid_pipe/block.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "2": "tfmg:block/brass_smart_pipe_1", + "3": "tfmg:block/brass_smart_pipe_2", + "4": "tfmg:block/brass_pipes", + "5": "tfmg:block/brass_smart_pipe_3", + "particle": "create:block/brass_block" + }, + "elements": [ + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [3, 3, 13, 13], "texture": "#5"}, + "east": {"uv": [13, 3, 3, 13], "texture": "#2"}, + "south": {"uv": [3, 3, 13, 13], "texture": "#5"}, + "west": {"uv": [3, 3, 13, 13], "texture": "#2"}, + "up": {"uv": [13, 3, 3, 13], "rotation": 270, "texture": "#2"}, + "down": {"uv": [3, 3, 13, 13], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [4.5, 5, 7.15], + "to": [11.5, 12, 13.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [1, 9, 7, 15], "texture": "#3"}, + "east": {"uv": [0, 0, 6, 7], "texture": "#3"}, + "west": {"uv": [0, 0, 6, 7], "rotation": 180, "texture": "#3"}, + "up": {"uv": [0, 0, 6, 7], "rotation": 270, "texture": "#3"}, + "down": {"uv": [0, 0, 6, 7], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [3.9, 4.4, 4.15], + "to": [12.1, 12.6, 7.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [8, 8, 16, 16], "texture": "#3"}, + "east": {"uv": [13, 0, 16, 8], "texture": "#3"}, + "south": {"uv": [0, 8, 8, 16], "texture": "#3"}, + "west": {"uv": [13, 8, 16, 0], "rotation": 180, "texture": "#3"}, + "up": {"uv": [13, 8, 16, 0], "rotation": 270, "texture": "#3"}, + "down": {"uv": [13, 0, 16, 8], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [4, 4, 0], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 4, 0]}, + "faces": { + "east": {"uv": [4, 8, 8, 0], "rotation": 90, "texture": "#4"}, + "west": {"uv": [4, 0, 8, 8], "rotation": 90, "texture": "#4"}, + "up": {"uv": [4, 8, 8, 0], "texture": "#4"}, + "down": {"uv": [4, 0, 8, 8], "texture": "#4"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_smart_fluid_pipe/item.json b/src/main/resources/assets/tfmg/models/block/brass_smart_fluid_pipe/item.json new file mode 100644 index 00000000..d9668c16 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_smart_fluid_pipe/item.json @@ -0,0 +1,119 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/brass_pipes", + "2": "tfmg:block/brass_smart_pipe_1", + "3": "tfmg:block/brass_smart_pipe_2", + "4": "tfmg:block/brass_smart_pipe_3", + "particle": "tfmg:block/brass_smart_pipe_3" + }, + "elements": [ + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [10.5, 11, 9.5, 16], "texture": "#1"}, + "south": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [9.5, 11, 10.5, 16], "texture": "#1"}, + "up": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 16]}, + "faces": { + "north": {"uv": [16, 11, 11, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [9.5, 11, 10.5, 16], "texture": "#1"}, + "south": {"uv": [16, 11, 11, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [10.5, 11, 9.5, 16], "texture": "#1"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [3, 3, 13, 13], "texture": "#4"}, + "east": {"uv": [13, 3, 3, 13], "texture": "#2"}, + "south": {"uv": [3, 3, 13, 13], "texture": "#4"}, + "west": {"uv": [3, 3, 13, 13], "texture": "#2"}, + "up": {"uv": [13, 3, 3, 13], "rotation": 270, "texture": "#2"}, + "down": {"uv": [3, 3, 13, 13], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [4.5, 5, 7.15], + "to": [11.5, 12, 13.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [1, 9, 7, 15], "texture": "#3"}, + "east": {"uv": [0, 0, 6, 7], "texture": "#3"}, + "west": {"uv": [0, 0, 6, 7], "rotation": 180, "texture": "#3"}, + "up": {"uv": [0, 0, 6, 7], "rotation": 270, "texture": "#3"}, + "down": {"uv": [0, 0, 6, 7], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [3.9, 4.4, 4.15], + "to": [12.1, 12.6, 7.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [8, 8, 16, 16], "texture": "#3"}, + "east": {"uv": [13, 0, 16, 8], "texture": "#3"}, + "south": {"uv": [0, 8, 8, 16], "texture": "#3"}, + "west": {"uv": [13, 8, 16, 0], "rotation": 180, "texture": "#3"}, + "up": {"uv": [13, 8, 16, 0], "rotation": 270, "texture": "#3"}, + "down": {"uv": [13, 0, 16, 8], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [4, 4, 0], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 4, 0]}, + "faces": { + "east": {"uv": [4, 8, 8, 0], "rotation": 90, "texture": "#1"}, + "west": {"uv": [4, 0, 8, 8], "rotation": 90, "texture": "#1"}, + "up": {"uv": [4, 8, 8, 0], "texture": "#1"}, + "down": {"uv": [4, 0, 8, 8], "texture": "#1"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [0, 90, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brass_truss.json b/src/main/resources/assets/tfmg/models/block/brass_truss.json new file mode 100644 index 00000000..34a424c9 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brass_truss.json @@ -0,0 +1,106 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/brass_truss", + "particle": "tfmg:block/brass_truss" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [2, 0, 15], + "to": [14, 16, 15], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + }, + { + "from": [15, 0, 2], + "to": [15, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 0, 2], + "to": [1, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 0, 1], + "to": [14, 16, 1], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brick_smokestack/block.json b/src/main/resources/assets/tfmg/models/block/brick_smokestack/block.json new file mode 100644 index 00000000..4dd25494 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brick_smokestack/block.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/smokestack/smokestack", + "textures": { + "0": "tfmg:block/brick_smokestack", + "particle": "tfmg:block/brick_smokestack" + } + +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brick_smokestack/block_top.json b/src/main/resources/assets/tfmg/models/block/brick_smokestack/block_top.json new file mode 100644 index 00000000..a5c161f4 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brick_smokestack/block_top.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/smokestack/smokestack_top", + "textures": { + "0": "tfmg:block/brick_smokestack", + "particle": "tfmg:block/brick_smokestack" + } + +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/brick_smokestack/item.json b/src/main/resources/assets/tfmg/models/block/brick_smokestack/item.json new file mode 100644 index 00000000..a5c161f4 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/brick_smokestack/item.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/smokestack/smokestack_top", + "textures": { + "0": "tfmg:block/brick_smokestack", + "particle": "tfmg:block/brick_smokestack" + } + +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cable_connector/block.json b/src/main/resources/assets/tfmg/models/block/cable_connector/block.json new file mode 100644 index 00000000..1cf6c8b3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cable_connector/block.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/regular_insulator", + "particle": "tfmg:block/regular_insulator" + }, + "elements": [ + { + "from": [6, 0, 6], + "to": [10, 9, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [7, 0, 11, 9], "texture": "#0"}, + "east": {"uv": [7, 0, 11, 9], "texture": "#0"}, + "south": {"uv": [7, 0, 11, 9], "texture": "#0"}, + "west": {"uv": [7, 0, 11, 9], "texture": "#0"}, + "up": {"uv": [1, 11, 5, 15], "texture": "#0"}, + "down": {"uv": [1, 11, 5, 15], "texture": "#0"} + } + }, + { + "from": [5, 1, 5], + "to": [11, 2, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [5, 3, 5], + "to": [11, 4, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 3, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [5, 5, 5], + "to": [11, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 5, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [5, 7, 5], + "to": [11, 8, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cable_connector/block_extension.json b/src/main/resources/assets/tfmg/models/block/cable_connector/block_extension.json new file mode 100644 index 00000000..c6ec3006 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cable_connector/block_extension.json @@ -0,0 +1,127 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/regular_insulator", + "particle": "tfmg:block/regular_insulator" + }, + "elements": [ + { + "from": [5, 15, 5], + "to": [11, 16, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 15, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [5, 13, 5], + "to": [11, 14, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 13, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [5, 11, 5], + "to": [11, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 11, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [5, 9, 5], + "to": [11, 10, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [6, 0, 6], + "to": [10, 16, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [12, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [1, 11, 5, 15], "texture": "#0"}, + "down": {"uv": [1, 11, 5, 15], "texture": "#0"} + } + }, + { + "from": [5, 7, 5], + "to": [11, 8, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [5, 5, 5], + "to": [11, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 5, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [5, 3, 5], + "to": [11, 4, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 3, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [5, 1, 5], + "to": [11, 2, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cable_connector/full.json b/src/main/resources/assets/tfmg/models/block/cable_connector/full.json new file mode 100644 index 00000000..b25d6c71 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cable_connector/full.json @@ -0,0 +1,256 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/regular_insulator", + "particle": "tfmg:block/regular_insulator" + }, + "elements": [ + { + "from": [22, 0, 6], + "to": [26, 16, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [23, 0, 7]}, + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [12, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [1, 11, 5, 15], "texture": "#0"}, + "down": {"uv": [1, 11, 5, 15], "texture": "#0"} + } + }, + { + "from": [6, 3, 5], + "to": [12, 4, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 3, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [6, 1, 5], + "to": [12, 2, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [6, 5, 5], + "to": [12, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [6, 7, 5], + "to": [12, 8, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [7, 0, 6], + "to": [11, 9, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 7]}, + "faces": { + "north": {"uv": [7, 0, 11, 9], "texture": "#0"}, + "east": {"uv": [7, 0, 11, 9], "texture": "#0"}, + "south": {"uv": [7, 0, 11, 9], "texture": "#0"}, + "west": {"uv": [7, 0, 11, 9], "texture": "#0"}, + "up": {"uv": [1, 11, 5, 15], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#0"} + } + }, + { + "from": [22, 16, 6], + "to": [26, 25, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [23, 16, 7]}, + "faces": { + "north": {"uv": [7, 0, 11, 9], "texture": "#0"}, + "east": {"uv": [7, 0, 11, 9], "texture": "#0"}, + "south": {"uv": [7, 0, 11, 9], "texture": "#0"}, + "west": {"uv": [7, 0, 11, 9], "texture": "#0"}, + "up": {"uv": [1, 11, 5, 15], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#0"} + } + }, + { + "from": [21, 23, 5], + "to": [27, 24, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [23, 23, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [21, 21, 5], + "to": [27, 22, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [23, 21, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [21, 19, 5], + "to": [27, 20, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [23, 19, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [21, 17, 5], + "to": [27, 18, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [23, 17, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [21, 15, 5], + "to": [27, 16, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [23, 15, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [21, 13, 5], + "to": [27, 14, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [23, 13, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [21, 11, 5], + "to": [27, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [23, 11, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [21, 9, 5], + "to": [27, 10, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [23, 9, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [21, 7, 5], + "to": [27, 8, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [23, 7, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [21, 5, 5], + "to": [27, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [23, 5, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [21, 3, 5], + "to": [27, 4, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [23, 3, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [21, 1, 5], + "to": [27, 2, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [23, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cable_connector/item.json b/src/main/resources/assets/tfmg/models/block/cable_connector/item.json new file mode 100644 index 00000000..1cf6c8b3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cable_connector/item.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/regular_insulator", + "particle": "tfmg:block/regular_insulator" + }, + "elements": [ + { + "from": [6, 0, 6], + "to": [10, 9, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [7, 0, 11, 9], "texture": "#0"}, + "east": {"uv": [7, 0, 11, 9], "texture": "#0"}, + "south": {"uv": [7, 0, 11, 9], "texture": "#0"}, + "west": {"uv": [7, 0, 11, 9], "texture": "#0"}, + "up": {"uv": [1, 11, 5, 15], "texture": "#0"}, + "down": {"uv": [1, 11, 5, 15], "texture": "#0"} + } + }, + { + "from": [5, 1, 5], + "to": [11, 2, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [5, 3, 5], + "to": [11, 4, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 3, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [5, 5, 5], + "to": [11, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 5, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [5, 7, 5], + "to": [11, 8, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cable_tube.json b/src/main/resources/assets/tfmg/models/block/cable_tube.json new file mode 100644 index 00000000..f19ca505 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cable_tube.json @@ -0,0 +1,47 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [24, 24], + "textures": { + "0": "tfmg:block/cable_tube", + "particle": "tfmg:block/cable_tube" + }, + "elements": [ + { + "from": [5, 0, 5], + "to": [11, 2, 11], + "faces": { + "north": {"uv": [0, 9.33333, 4, 10.66667], "texture": "#0"}, + "east": {"uv": [0, 9.33333, 4, 10.66667], "texture": "#0"}, + "south": {"uv": [0, 9.33333, 4, 10.66667], "texture": "#0"}, + "west": {"uv": [0, 9.33333, 4, 10.66667], "texture": "#0"}, + "up": {"uv": [6.66667, 8, 2.66667, 4], "texture": "#0"}, + "down": {"uv": [6.66667, 0, 2.66667, 4], "texture": "#0"} + } + }, + { + "from": [5, 14, 5], + "to": [11, 16, 11], + "faces": { + "north": {"uv": [0, 8, 4, 9.33333], "texture": "#0"}, + "east": {"uv": [0, 8, 4, 9.33333], "texture": "#0"}, + "south": {"uv": [0, 8, 4, 9.33333], "texture": "#0"}, + "west": {"uv": [0, 8, 4, 9.33333], "texture": "#0"}, + "up": {"uv": [6.66667, 4, 2.66667, 0], "texture": "#0"}, + "down": {"uv": [6.66667, 4, 2.66667, 8], "texture": "#0"} + } + }, + { + "from": [6, 2, 6], + "to": [10, 14, 10], + "faces": { + "north": {"uv": [0, 0, 2.66667, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 2.66667, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 2.66667, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 2.66667, 8], "texture": "#0"}, + "up": {"uv": [13.33333, 10.66667, 10.66667, 8], "texture": "#0"}, + "down": {"uv": [13.33333, 10.66667, 10.66667, 13.33333], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/capacitor.json b/src/main/resources/assets/tfmg/models/block/capacitor.json new file mode 100644 index 00000000..583f0744 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/capacitor.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/capacitor", + "particle": "tfmg:block/capacitor" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "south": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "up": {"uv": [8, 8, 16, 16], "texture": "#0"}, + "down": {"uv": [8, 8, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/capacitor/block.json b/src/main/resources/assets/tfmg/models/block/capacitor/block.json new file mode 100644 index 00000000..5c0bfb04 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/capacitor/block.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/capacitor", + "1": "tfmg:block/capacitor_side", + "particle": "tfmg:block/capacitor" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "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": [8, 8, 16, 16], "texture": "#0"}, + "down": {"uv": [8, 8, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/capacitor/block_horizontal.json b/src/main/resources/assets/tfmg/models/block/capacitor/block_horizontal.json new file mode 100644 index 00000000..15956882 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/capacitor/block_horizontal.json @@ -0,0 +1,25 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/capacitor", + "1": "tfmg:block/capacitor_side", + "particle": "tfmg:block/capacitor" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 0, 16]}, + "faces": { + "north": {"uv": [8, 8, 16, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#1"}, + "south": {"uv": [8, 8, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/capacitor/item.json b/src/main/resources/assets/tfmg/models/block/capacitor/item.json new file mode 100644 index 00000000..583f0744 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/capacitor/item.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/capacitor", + "particle": "tfmg:block/capacitor" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "south": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "up": {"uv": [8, 8, 16, 16], "texture": "#0"}, + "down": {"uv": [8, 8, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/block.json b/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/block.json new file mode 100644 index 00000000..0d3cce20 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/block.json @@ -0,0 +1,80 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/air_intake/air_intake_small", + "particle": "tfmg:block/air_intake/air_intake_small" + }, + "elements": [ + { + "from": [0, 1, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [8, 0, 16, 7.5], "texture": "#0"}, + "east": {"uv": [15, 0, 16, 7.5], "texture": "#0"}, + "south": {"uv": [8, 0, 16, 7.5], "texture": "#0"}, + "west": {"uv": [8, 0, 9, 7.5], "texture": "#0"}, + "up": {"uv": [0, 8, 8, 9], "texture": "#0"}, + "down": {"uv": [0, 7, 8, 8], "texture": "#0"} + } + }, + { + "from": [0, 1, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [8, 0, 16, 7.5], "texture": "#0"}, + "east": {"uv": [8, 0, 9, 7.5], "texture": "#0"}, + "south": {"uv": [8, 0, 16, 7.5], "texture": "#0"}, + "west": {"uv": [15, 0, 16, 7.5], "texture": "#0"}, + "up": {"uv": [0, 8, 8, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 7, 8, 8], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [0, 1, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [9, 0, 15, 8], "texture": "#0"}, + "south": {"uv": [8, 0, 9, 8], "texture": "#0"}, + "west": {"uv": [9, 0, 15, 7.5], "texture": "#0"}, + "up": {"uv": [1, 8, 7, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [1, 7, 7, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [14, 1, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [8, 0, 9, 7.5], "texture": "#0"}, + "east": {"uv": [9, 0, 15, 7.5], "texture": "#0"}, + "south": {"uv": [15, 0, 16, 7.5], "texture": "#0"}, + "west": {"uv": [9, 0, 15, 7.5], "texture": "#0"}, + "up": {"uv": [1, 8, 7, 9], "rotation": 90, "texture": "#0"}, + "down": {"uv": [1, 7, 7, 8], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 1, 2], + "to": [14, 3, 14], + "faces": { + "north": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "up": {"uv": [1, 1, 7, 7], "texture": "#0"}, + "down": {"uv": [1, 1, 7, 7], "texture": "#0"} + } + }, + { + "from": [2, 16, 2], + "to": [14, 16, 14], + "faces": { + "north": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "up": {"uv": [1, 9, 7, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/block_empty.json b/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/block_empty.json new file mode 100644 index 00000000..556656a4 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/block_empty.json @@ -0,0 +1,6 @@ +{ + "parent": "block/air", + "textures": { + "particle": "tfmg:block/air_intake/air_intake_small" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/block_large.json b/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/block_large.json new file mode 100644 index 00000000..618fffe6 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/block_large.json @@ -0,0 +1,84 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/cast_iron_block", + "1": "tfmg:block/air_intake/inside_large", + "2": "tfmg:block/air_intake/inputs", + "particle": "tfmg:block/air_intake/air_intake_large" + }, + "elements": [ + { + "from": [-16, -16, 9], + "to": [32, 32, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 0], "rotation": 270, "texture": "#1"}, + "south": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#1"}, + "up": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 0, 16, 0], "texture": "#1"} + } + }, + { + "from": [29.999, -16, 1], + "to": [29.999, 32, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [8, 5.33333, 16, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 15], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 15], "texture": "#0"} + } + }, + { + "from": [-16, -13.999, 1], + "to": [32, -13.999, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 15], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 15], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8, 5.33333, 16, 8], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [-16, 29.99, 1], + "to": [32, 29.99, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 15], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 15], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8, 5.33333, 16, 8], "texture": "#0"} + } + }, + { + "from": [-13.999, -16, 1], + "to": [-13.999, 32, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [8, 5.33333, 16, 8], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 15], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 15], "texture": "#0"} + } + }, + { + "from": [-16, -16, 1], + "to": [32, 32, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "east": {"uv": [8, 5.33333, 16, 8], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 8, 8, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [8, 5.33333, 16, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8, 5.33333, 16, 8], "rotation": 180, "texture": "#0"}, + "down": {"uv": [8, 5.33333, 16, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/block_medium.json b/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/block_medium.json new file mode 100644 index 00000000..e1beaa3d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/block_medium.json @@ -0,0 +1,84 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/air_intake/air_intake_medium", + "1": "tfmg:block/air_intake/inputs", + "2": "tfmg:block/air_intake/inside_medium", + "particle": "tfmg:block/air_intake/air_intake_medium" + }, + "elements": [ + { + "from": [-16, 0, 1], + "to": [16, 32, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [5.33333, 5.33333, 16, 16], "texture": "#1"}, + "east": {"uv": [8, 4, 16, 7.75], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 8, 8, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [8, 4, 16, 7.75], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8, 4, 16, 7.75], "rotation": 180, "texture": "#0"}, + "down": {"uv": [8, 4, 16, 7.75], "texture": "#0"} + } + }, + { + "from": [-16, 0, 8.5], + "to": [16, 32, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 0], "rotation": 270, "texture": "#2"}, + "south": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#2"}, + "west": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#2"}, + "down": {"uv": [0, 0, 16, 0], "texture": "#2"} + } + }, + { + "from": [-13.99, 0, 2], + "to": [-13.99, 32, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8, 4, 16, 7.75], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 14], "texture": "#0"} + } + }, + { + "from": [13.99, 0, 2], + "to": [13.99, 32, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 4, 16, 7.75], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 14], "texture": "#0"} + } + }, + { + "from": [-16, 29.999, 2], + "to": [16, 29.999, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8, 4, 16, 7.75], "texture": "#0"} + } + }, + { + "from": [-16, 2.001, 2], + "to": [16, 2.001, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8, 4, 16, 7.75], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/fan.json b/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/fan.json new file mode 100644 index 00000000..b50ef7ca --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/fan.json @@ -0,0 +1,32 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "axis_top": "create:block/axis_top", + "fan_blades": "create:block/fan_blades", + "axis": "create:block/axis" + }, + "elements": [ + { + "name": "Shaft", + "from": [6, 6, 1.2], + "to": [10, 10, 8], + "faces": { + "north": {"uv": [6, 6, 10, 10], "texture": "#axis_top"}, + "east": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#axis_top"}, + "west": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"}, + "up": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"}, + "down": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"} + } + }, + { + "name": "Fan", + "from": [1, 1, 4], + "to": [15, 15, 12], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#fan_blades"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/fan_large.json b/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/fan_large.json new file mode 100644 index 00000000..1d49a8b1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/fan_large.json @@ -0,0 +1,33 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/air_intake/air_intake_large", + "particle": "tfmg:block/air_intake/air_intake_large", + "axis": "create:block/axis", + "axis_top": "create:block/axis_top" + }, + "elements": [ + { + "name": "Fan", + "from": [-12, -12, 4], + "to": [28, 28, 12], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8.5, 8.5, 15.5, 15.5], "texture": "#0"} + } + }, + { + "name": "Shaft", + "from": [6, 6, 1.2], + "to": [10, 10, 8], + "faces": { + "north": {"uv": [6, 6, 10, 10], "texture": "#axis_top"}, + "east": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#axis_top"}, + "west": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"}, + "up": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"}, + "down": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/fan_medium.json b/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/fan_medium.json new file mode 100644 index 00000000..19180a25 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/fan_medium.json @@ -0,0 +1,33 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/air_intake/air_intake_medium", + "particle": "tfmg:block/air_intake/air_intake_medium", + "axis": "create:block/axis", + "axis_top": "create:block/axis_top" + }, + "elements": [ + { + "name": "Fan", + "from": [-6, -6, 4], + "to": [22, 22, 12], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8.5, 8.5, 15.5, 15.5], "texture": "#0"} + } + }, + { + "name": "Shaft", + "from": [6, 6, 1.2], + "to": [10, 10, 8], + "faces": { + "north": {"uv": [6, 6, 10, 10], "texture": "#axis_top"}, + "east": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#axis_top"}, + "west": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"}, + "up": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"}, + "down": {"uv": [6, 0, 10, 6.8], "rotation": 90, "texture": "#axis"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/frame.json b/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/frame.json new file mode 100644 index 00000000..5757a7b6 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/frame.json @@ -0,0 +1,53 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/air_intake/inputs", + "particle": "tfmg:block/air_intake/inputs" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 2, 1], + "faces": { + "north": {"uv": [0, 0, 5.33333, 0.66666], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0.33333, 0.33333], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 0.33333, 0.33333], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 5.33333, 0.33333], "texture": "#0"}, + "down": {"uv": [0, 0, 5.33333, 0.33333], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [0, 14, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 4.66667, 5.33333, 5.33333], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0.33333, 0.33333], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 0.33333, 0.33333], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 5.33333, 0.33333], "texture": "#0"}, + "down": {"uv": [0, 0, 5.33333, 0.33333], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [0, 2, 0], + "to": [2, 14, 1], + "faces": { + "north": {"uv": [0.66667, 0, 4.66667, 0.66666], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0.66667, 0, 4.66667, 0.33333], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.66667, 0, 4.66667, 0.33333], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 0.33333, 0.33333], "texture": "#0"}, + "down": {"uv": [0, 0, 0.33333, 0.33333], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [14, 2, 0], + "to": [16, 14, 1], + "faces": { + "north": {"uv": [0.66667, 0, 4.66667, 0.66666], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0.66667, 0, 4.66667, 0.33333], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.66667, 0, 4.66667, 0.33333], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 0.33333, 0.33333], "texture": "#0"}, + "down": {"uv": [0, 0, 0.33333, 0.33333], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/frame_closed.json b/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/frame_closed.json new file mode 100644 index 00000000..b9731cbc --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/frame_closed.json @@ -0,0 +1,20 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/air_intake/air_intake_small", + "particle": "tfmg:block/air_intake/air_intake_small" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 0], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 8, 0.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 8, 0.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 8, 0.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/item.json b/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/item.json new file mode 100644 index 00000000..3a977db3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_air_intake/item.json @@ -0,0 +1,81 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/air_intake/air_intake_small", + "particle": "tfmg:block/air_intake/air_intake_small" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "south": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [8, 0, 9, 8], "texture": "#0"}, + "up": {"uv": [0, 8, 8, 9], "texture": "#0"}, + "down": {"uv": [0, 7, 8, 8], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [8, 0, 9, 8], "texture": "#0"}, + "south": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "up": {"uv": [0, 8, 8, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 7, 8, 8], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [9, 0, 15, 8], "texture": "#0"}, + "south": {"uv": [8, 0, 9, 8], "texture": "#0"}, + "west": {"uv": [9, 0, 15, 8], "texture": "#0"}, + "up": {"uv": [1, 8, 7, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [1, 7, 7, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [8, 0, 9, 8], "texture": "#0"}, + "east": {"uv": [9, 0, 15, 8], "texture": "#0"}, + "south": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [9, 0, 15, 8], "texture": "#0"}, + "up": {"uv": [1, 8, 7, 9], "rotation": 90, "texture": "#0"}, + "down": {"uv": [1, 7, 7, 8], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 1, 2], + "to": [14, 3, 14], + "faces": { + "north": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "up": {"uv": [1, 1, 7, 7], "texture": "#0"}, + "down": {"uv": [1, 1, 7, 7], "texture": "#0"} + } + }, + { + "from": [2, 16, 2], + "to": [14, 16, 14], + "faces": { + "north": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "up": {"uv": [1, 9, 7, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom.json new file mode 100644 index 00000000..0153afa1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_vat_top", + "1": "tfmg:block/cast_iron_vat", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom_window.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom_window.json new file mode 100644 index 00000000..e7f86832 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom_window.json @@ -0,0 +1,153 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "3": "tfmg:block/cast_iron_vat_window", + "4": "tfmg:block/cast_iron_vat_top", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [3, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [13, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 3], + "faces": { + "east": {"uv": [13, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [13, 4, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [13, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 13], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [13, 0, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [3, 4, 1], + "to": [13, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "north"}, + "south": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15, 4, 3], + "to": [15, 16, 13], + "faces": { + "east": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "east"}, + "west": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [3, 4, 15], + "to": [13, 16, 15], + "faces": { + "north": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "south"}, + "south": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [1, 4, 3], + "to": [1, 16, 13], + "faces": { + "east": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "west"}, + "west": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [13, 4, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 3, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 13], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 0, 3, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 3, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 16, 3], + "faces": { + "east": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 3, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom_window_ne.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom_window_ne.json new file mode 100644 index 00000000..935e716b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom_window_ne.json @@ -0,0 +1,72 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "3": "tfmg:block/cast_iron_vat_window", + "4": "tfmg:block/cast_iron_vat_top", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 11], + "faces": { + "east": {"uv": [5, 0, 16, 12], "texture": "#1"}, + "south": {"uv": [12, 0, 13, 12], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 4, 1], + "to": [5, 16, 1], + "faces": { + "north": {"uv": [0, 2, 2.5, 8], "texture": "#3"}, + "south": {"uv": [2.5, 2, 5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15, 4, 11], + "to": [15, 16, 16], + "faces": { + "east": {"uv": [2.5, 2, 5, 8], "texture": "#3"}, + "west": {"uv": [0, 2, 2.5, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [5, 4, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 11, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "west": {"uv": [3, 0, 4, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom_window_nw.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom_window_nw.json new file mode 100644 index 00000000..6b08d448 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom_window_nw.json @@ -0,0 +1,72 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "3": "tfmg:block/cast_iron_vat_window", + "4": "tfmg:block/cast_iron_vat_top", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [11, 16, 1], + "faces": { + "north": {"uv": [5, 0, 16, 12], "texture": "#1"}, + "east": {"uv": [12, 0, 13, 12], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 4, 11], + "to": [1, 16, 16], + "faces": { + "east": {"uv": [2.5, 2, 5, 8], "texture": "#3"}, + "west": {"uv": [0, 2, 2.5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [11, 4, 1], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [2.5, 2, 5, 8], "texture": "#3"}, + "south": {"uv": [0, 2, 2.5, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 16, 11], + "faces": { + "east": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "south": {"uv": [3, 0, 4, 12], "texture": "#1"}, + "west": {"uv": [0, 0, 11, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom_window_se.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom_window_se.json new file mode 100644 index 00000000..ea7ffbee --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom_window_se.json @@ -0,0 +1,72 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_vat_top", + "1": "tfmg:block/cast_iron_vat", + "3": "tfmg:block/cast_iron_vat_window", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [5, 4, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "south": {"uv": [5, 0, 16, 12], "texture": "#1"}, + "west": {"uv": [12, 0, 13, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 4, 0], + "to": [15, 16, 5], + "faces": { + "east": {"uv": [0, 2, 2.5, 8], "texture": "#3"}, + "west": {"uv": [2.5, 2, 5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 4, 15], + "to": [5, 16, 15], + "faces": { + "north": {"uv": [0, 2, 2.5, 8], "texture": "#3"}, + "south": {"uv": [2.5, 2, 5, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 5], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [3, 0, 4, 12], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [5, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom_window_sw.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom_window_sw.json new file mode 100644 index 00000000..f2e5628c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_bottom_window_sw.json @@ -0,0 +1,72 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_vat_top", + "1": "tfmg:block/cast_iron_vat", + "3": "tfmg:block/cast_iron_vat_window", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 5], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 12], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [5, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [11, 4, 15], + "to": [16, 16, 15], + "faces": { + "north": {"uv": [2.5, 2, 5, 8], "texture": "#3"}, + "south": {"uv": [0, 2, 2.5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [1, 4, 0], + "to": [1, 16, 5], + "faces": { + "east": {"uv": [0, 2, 2.5, 8], "texture": "#3"}, + "west": {"uv": [2.5, 2, 5, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [11, 16, 16], + "faces": { + "north": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "east": {"uv": [3, 0, 4, 12], "texture": "#1"}, + "south": {"uv": [0, 0, 11, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_middle.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_middle.json new file mode 100644 index 00000000..3bc05785 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_middle.json @@ -0,0 +1,58 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 15], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [1, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_middle_window.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_middle_window.json new file mode 100644 index 00000000..3d0a1fbe --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_middle_window.json @@ -0,0 +1,138 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "3": "tfmg:block/cast_iron_vat_window", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [3, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [13, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 0, 13, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 3], + "faces": { + "east": {"uv": [13, 0, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 0, 13, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [13, 0, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [13, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 0, 13, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 13], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 16], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [13, 0, 16, 16], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [3, 0, 1], + "to": [13, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "north"}, + "south": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15, 0, 3], + "to": [15, 16, 13], + "faces": { + "east": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "east"}, + "west": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [3, 0, 15], + "to": [13, 16, 15], + "faces": { + "north": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "south"}, + "south": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [1, 0, 3], + "to": [1, 16, 13], + "faces": { + "east": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "west"}, + "west": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [13, 0, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 3, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 0, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 13], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [3, 0, 4, 16], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 0, 3, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 0, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 3, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 16, 3], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 0, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 3, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_middle_window_ne.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_middle_window_ne.json new file mode 100644 index 00000000..7ea62c04 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_middle_window_ne.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "3": "tfmg:block/cast_iron_vat_window", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 11], + "faces": { + "east": {"uv": [5, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [12, 0, 13, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 0, 1], + "to": [5, 16, 1], + "faces": { + "north": {"uv": [5, 0, 7.5, 8], "texture": "#3"}, + "south": {"uv": [7.5, 0, 10, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15, 0, 11], + "to": [15, 16, 16], + "faces": { + "east": {"uv": [7.5, 0, 10, 8], "texture": "#3"}, + "west": {"uv": [5, 0, 7.5, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [5, 0, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 11, 16], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [3, 0, 4, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_middle_window_nw.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_middle_window_nw.json new file mode 100644 index 00000000..e3ed34d6 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_middle_window_nw.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "3": "tfmg:block/cast_iron_vat_window", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [11, 16, 1], + "faces": { + "north": {"uv": [5, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [12, 0, 13, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 0, 11], + "to": [1, 16, 16], + "faces": { + "east": {"uv": [7.5, 0, 10, 8], "texture": "#3"}, + "west": {"uv": [5, 0, 7.5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [11, 0, 1], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [7.5, 0, 10, 8], "texture": "#3"}, + "south": {"uv": [5, 0, 7.5, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 16, 11], + "faces": { + "east": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [3, 0, 4, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 11, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_middle_window_se.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_middle_window_se.json new file mode 100644 index 00000000..09704c83 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_middle_window_se.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "3": "tfmg:block/cast_iron_vat_window", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [5, 0, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 11, 16], "texture": "#1"}, + "south": {"uv": [5, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [12, 0, 13, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 0, 0], + "to": [15, 16, 5], + "faces": { + "east": {"uv": [5, 0, 7.5, 8], "texture": "#3"}, + "west": {"uv": [7.5, 0, 10, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 0, 15], + "to": [5, 16, 15], + "faces": { + "north": {"uv": [5, 0, 7.5, 8], "texture": "#3"}, + "south": {"uv": [7.5, 0, 10, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 5], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [3, 0, 4, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 11, 16], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_middle_window_sw.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_middle_window_sw.json new file mode 100644 index 00000000..c3567580 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_middle_window_sw.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "3": "tfmg:block/cast_iron_vat_window", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 5], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "west": {"uv": [5, 0, 16, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [11, 0, 15], + "to": [16, 16, 15], + "faces": { + "north": {"uv": [7.5, 0, 10, 8], "texture": "#3"}, + "south": {"uv": [5, 0, 7.5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [1, 0, 0], + "to": [1, 16, 5], + "faces": { + "east": {"uv": [5, 0, 7.5, 8], "texture": "#3"}, + "west": {"uv": [7.5, 0, 10, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [11, 16, 16], + "faces": { + "north": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [3, 0, 4, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 11, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_single.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_single.json new file mode 100644 index 00000000..0e2a5546 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_single.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "4": "tfmg:block/cast_iron_vat_top", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [] + }, + { + "name": "block_middle", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [] + } + ] + }, + { + "name": "block_bottom", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] + }, + { + "name": "block_top", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [4, 5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_single_window.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_single_window.json new file mode 100644 index 00000000..af1433f4 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_single_window.json @@ -0,0 +1,183 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "2": "tfmg:block/cast_iron_vat_window_single", + "4": "tfmg:block/cast_iron_vat_top", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [3, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [13, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 3], + "faces": { + "east": {"uv": [13, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [13, 4, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [13, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 13], + "to": [1, 12, 16], + "faces": { + "north": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [13, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [3, 4, 1], + "to": [13, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 10, 8], "texture": "#2", "cullface": "north"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "south": {"uv": [0, 0, 10, 8], "texture": "#2", "cullface": "north"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#2"} + } + }, + { + "name": "Window", + "from": [15, 4, 3], + "to": [15, 12, 13], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "east": {"uv": [0, 0, 10, 8], "texture": "#2", "cullface": "east"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "west": {"uv": [0, 0, 10, 8], "texture": "#2", "cullface": "east"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#2"} + } + }, + { + "name": "Window", + "from": [3, 4, 15], + "to": [13, 12, 15], + "faces": { + "north": {"uv": [0, 0, 10, 8], "texture": "#2", "cullface": "south"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "south": {"uv": [0, 0, 10, 8], "texture": "#2", "cullface": "south"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#2"} + } + }, + { + "name": "Window", + "from": [1, 4, 3], + "to": [1, 12, 13], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "east": {"uv": [0, 0, 10, 8], "texture": "#2", "cullface": "west"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "west": {"uv": [0, 0, 10, 8], "texture": "#2", "cullface": "west"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#2"} + } + }, + { + "name": "SideLeft", + "from": [13, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 3, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 13], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 4, 3, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [3, 12, 16], + "faces": { + "north": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 3, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 12, 3], + "faces": { + "east": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 3, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_single_window_ne.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_single_window_ne.json new file mode 100644 index 00000000..2a7596eb --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_single_window_ne.json @@ -0,0 +1,111 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_vat_top", + "1": "tfmg:block/cast_iron_vat", + "2": "tfmg:block/cast_iron_vat_window_single", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [5, 4, 16, 12], "texture": "#1"}, + "south": {"uv": [12, 4, 13, 12], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 4, 1], + "to": [5, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 5, 8], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "south": {"uv": [5, 0, 10, 8], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#2"} + } + }, + { + "name": "Window", + "from": [15, 4, 11], + "to": [15, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "east": {"uv": [5, 0, 10, 8], "texture": "#2"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "west": {"uv": [0, 0, 5, 8], "texture": "#2"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#2"} + } + }, + { + "name": "SideLeft", + "from": [5, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 11, 12], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "west": {"uv": [3, 4, 4, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_single_window_nw.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_single_window_nw.json new file mode 100644 index 00000000..958eaaae --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_single_window_nw.json @@ -0,0 +1,103 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "2": "tfmg:block/cast_iron_vat_window_single", + "4": "tfmg:block/cast_iron_vat_top", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [11, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [5, 4, 16, 12], "texture": "#1"}, + "east": {"uv": [12, 4, 13, 12], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 4, 11], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [5, 0, 10, 8], "texture": "#2"}, + "west": {"uv": [0, 0, 5, 8], "texture": "#2"} + } + }, + { + "name": "Window", + "from": [11, 4, 1], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [5, 0, 10, 8], "texture": "#2"}, + "south": {"uv": [0, 0, 5, 8], "texture": "#2"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "south": {"uv": [3, 4, 4, 12], "texture": "#1"}, + "west": {"uv": [0, 4, 11, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_single_window_se.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_single_window_se.json new file mode 100644 index 00000000..5816f3a0 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_single_window_se.json @@ -0,0 +1,103 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "2": "tfmg:block/cast_iron_vat_window_single", + "4": "tfmg:block/cast_iron_vat_top", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [5, 4, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "south": {"uv": [5, 4, 16, 12], "texture": "#1"}, + "west": {"uv": [12, 4, 13, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 4, 0], + "to": [15, 12, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 5, 8], "texture": "#2"}, + "west": {"uv": [5, 0, 10, 8], "texture": "#2"} + } + }, + { + "name": "Window", + "from": [0, 4, 15], + "to": [5, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 5, 8], "texture": "#2"}, + "south": {"uv": [5, 0, 10, 8], "texture": "#2"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 5], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [3, 4, 4, 12], "texture": "#1"}, + "east": {"uv": [0, 4, 11, 12], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_single_window_sw.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_single_window_sw.json new file mode 100644 index 00000000..1c65d43a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_single_window_sw.json @@ -0,0 +1,103 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "2": "tfmg:block/cast_iron_vat_window_single", + "4": "tfmg:block/cast_iron_vat_top", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 5], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [12, 4, 13, 12], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "west": {"uv": [5, 4, 16, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [11, 4, 15], + "to": [16, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [5, 0, 10, 8], "texture": "#2"}, + "south": {"uv": [0, 0, 5, 8], "texture": "#2"} + } + }, + { + "name": "Window", + "from": [1, 4, 0], + "to": [1, 12, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 5, 8], "texture": "#2"}, + "west": {"uv": [5, 0, 10, 8], "texture": "#2"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [11, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "east": {"uv": [3, 4, 4, 12], "texture": "#1"}, + "south": {"uv": [0, 4, 11, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_top.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_top.json new file mode 100644 index 00000000..d8ea317b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_top.json @@ -0,0 +1,70 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "4": "tfmg:block/cast_iron_vat_top", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 16], + "faces": { + "east": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [1, 12, 16], + "faces": { + "east": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_top_window.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_top_window.json new file mode 100644 index 00000000..132c5e42 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_top_window.json @@ -0,0 +1,153 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "3": "tfmg:block/cast_iron_vat_window", + "4": "tfmg:block/cast_iron_vat_top", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [3, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [13, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 4, 13, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 3], + "faces": { + "east": {"uv": [13, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 4, 13, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [13, 0, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [13, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 4, 13, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 13], + "to": [1, 12, 16], + "faces": { + "north": {"uv": [12, 4, 13, 16], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [13, 4, 16, 16], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [3, 0, 1], + "to": [13, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "north"}, + "south": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15, 0, 3], + "to": [15, 12, 13], + "faces": { + "east": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "east"}, + "west": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [3, 0, 15], + "to": [13, 12, 15], + "faces": { + "north": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "south"}, + "south": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [1, 0, 3], + "to": [1, 12, 13], + "faces": { + "east": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "west"}, + "west": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [13, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 3, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 4, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 13], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [3, 4, 4, 16], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 4, 3, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [3, 12, 16], + "faces": { + "north": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 4, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 3, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 12, 3], + "faces": { + "east": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 4, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 3, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_top_window_ne.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_top_window_ne.json new file mode 100644 index 00000000..29bca126 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_top_window_ne.json @@ -0,0 +1,76 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "3": "tfmg:block/cast_iron_vat_window", + "4": "tfmg:block/cast_iron_vat_top", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [5, 4, 16, 16], "texture": "#1"}, + "south": {"uv": [12, 4, 13, 16], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 0, 1], + "to": [5, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 2.5, 6], "texture": "#3"}, + "south": {"uv": [2.5, 0, 5, 6], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15, 0, 11], + "to": [15, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [2.5, 0, 5, 6], "texture": "#3"}, + "west": {"uv": [0, 0, 2.5, 6], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [5, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 11, 16], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "west": {"uv": [3, 4, 4, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_top_window_nw.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_top_window_nw.json new file mode 100644 index 00000000..3035a0e7 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_top_window_nw.json @@ -0,0 +1,76 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_vat_top", + "1": "tfmg:block/cast_iron_vat", + "3": "tfmg:block/cast_iron_vat_window", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [11, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [5, 4, 16, 16], "texture": "#1"}, + "east": {"uv": [12, 4, 13, 16], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 0, 11], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [2.5, 0, 5, 6], "texture": "#3"}, + "west": {"uv": [0, 0, 2.5, 6], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [11, 0, 1], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 0, 5, 6], "texture": "#3"}, + "south": {"uv": [0, 0, 2.5, 6], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "south": {"uv": [3, 4, 4, 16], "texture": "#1"}, + "west": {"uv": [0, 4, 11, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_top_window_se.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_top_window_se.json new file mode 100644 index 00000000..4b06a5ab --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_top_window_se.json @@ -0,0 +1,76 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "3": "tfmg:block/cast_iron_vat_window", + "4": "tfmg:block/cast_iron_vat_top", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [5, 0, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "south": {"uv": [5, 4, 16, 16], "texture": "#1"}, + "west": {"uv": [12, 4, 13, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 0, 0], + "to": [15, 12, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 2.5, 6], "texture": "#3"}, + "west": {"uv": [2.5, 0, 5, 6], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 0, 15], + "to": [5, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 2.5, 6], "texture": "#3"}, + "south": {"uv": [2.5, 0, 5, 6], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 5], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [3, 4, 4, 16], "texture": "#1"}, + "east": {"uv": [0, 4, 11, 16], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_top_window_sw.json b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_top_window_sw.json new file mode 100644 index 00000000..2fb1304e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_chemical_vat/block_top_window_sw.json @@ -0,0 +1,76 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_vat", + "3": "tfmg:block/cast_iron_vat_window", + "4": "tfmg:block/cast_iron_vat_top", + "particle": "tfmg:block/cast_iron_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 5], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [12, 4, 13, 16], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "west": {"uv": [5, 4, 16, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [11, 0, 15], + "to": [16, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 0, 5, 6], "texture": "#3"}, + "south": {"uv": [0, 0, 2.5, 6], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [1, 0, 0], + "to": [1, 12, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 9]}, + "faces": { + "east": {"uv": [0, 0, 2.5, 6], "texture": "#3"}, + "west": {"uv": [2.5, 0, 5, 6], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [11, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "east": {"uv": [3, 4, 4, 16], "texture": "#1"}, + "south": {"uv": [0, 4, 11, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_distillation_controller/block.json b/src/main/resources/assets/tfmg/models/block/cast_iron_distillation_controller/block.json new file mode 100644 index 00000000..42735e66 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_distillation_controller/block.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "top": "tfmg:block/cast_iron_distillation_controller_top", + "bottom": "tfmg:block/cast_iron_distillation_controller_top", + "side": "tfmg:block/cast_iron_distillation_controller_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_distillation_controller/item.json b/src/main/resources/assets/tfmg/models/block/cast_iron_distillation_controller/item.json new file mode 100644 index 00000000..42735e66 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_distillation_controller/item.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "top": "tfmg:block/cast_iron_distillation_controller_top", + "bottom": "tfmg:block/cast_iron_distillation_controller_top", + "side": "tfmg:block/cast_iron_distillation_controller_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_distillation_output/block.json b/src/main/resources/assets/tfmg/models/block/cast_iron_distillation_output/block.json new file mode 100644 index 00000000..9e5da67a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_distillation_output/block.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "top": "tfmg:block/cast_iron_distillation_controller_top", + "bottom": "tfmg:block/cast_iron_distillation_controller_top", + "side": "tfmg:block/distiller_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_distillation_output/item.json b/src/main/resources/assets/tfmg/models/block/cast_iron_distillation_output/item.json new file mode 100644 index 00000000..9e5da67a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_distillation_output/item.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "top": "tfmg:block/cast_iron_distillation_controller_top", + "bottom": "tfmg:block/cast_iron_distillation_controller_top", + "side": "tfmg:block/distiller_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom.json new file mode 100644 index 00000000..3ead4efa --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom.json @@ -0,0 +1,74 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom_window.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom_window.json new file mode 100644 index 00000000..c8725a6c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom_window.json @@ -0,0 +1,154 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "3": "tfmg:block/cast_iron_fluid_tank_window", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [4, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 1, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 4], + "faces": { + "east": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 1, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 4, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 1, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 12], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [0, 0, 1, 12], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 4, 0.95], + "to": [12, 16, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "north"}, + "south": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 4], + "to": [15.05, 16, 12], + "faces": { + "east": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "east"}, + "west": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 4, 15.05], + "to": [12, 16, 15.05], + "faces": { + "north": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "south"}, + "south": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 4], + "to": [0.95, 16, 12], + "faces": { + "east": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "west"}, + "west": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 4, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "west": {"uv": [15, 0, 16, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 12], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [15, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [4, 16, 16], + "faces": { + "north": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "east": {"uv": [15, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 16, 4], + "faces": { + "east": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "south": {"uv": [15, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom_window_ne.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom_window_ne.json new file mode 100644 index 00000000..8cc080ae --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom_window_ne.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "3": "tfmg:block/cast_iron_fluid_tank_window", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 5, 12], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 4, 0.95], + "to": [4, 16, 0.95], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "south": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 12], + "to": [15.05, 16, 16], + "faces": { + "east": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [4, 4, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "west": {"uv": [11, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom_window_nw.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom_window_nw.json new file mode 100644 index 00000000..49850d46 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom_window_nw.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "3": "tfmg:block/cast_iron_fluid_tank_window", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [12, 16, 1], + "faces": { + "north": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "east": {"uv": [4, 0, 5, 12], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 12], + "to": [0.95, 16, 16], + "faces": { + "east": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [12, 4, 0.95], + "to": [16, 16, 0.95], + "faces": { + "north": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "south": {"uv": [11, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom_window_se.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom_window_se.json new file mode 100644 index 00000000..40dee23f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom_window_se.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "3": "tfmg:block/cast_iron_fluid_tank_window", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 4, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "west": {"uv": [4, 0, 5, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 0], + "to": [15.05, 16, 4], + "faces": { + "east": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "west": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 4, 15.05], + "to": [4, 16, 15.05], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "south": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 4], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [11, 0, 12, 12], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom_window_sw.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom_window_sw.json new file mode 100644 index 00000000..01887e74 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_bottom_window_sw.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "3": "tfmg:block/cast_iron_fluid_tank_window", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 4], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [4, 0, 5, 12], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 4, 15.05], + "to": [16, 16, 15.05], + "faces": { + "north": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 0], + "to": [0.95, 16, 4], + "faces": { + "east": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "west": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [12, 16, 16], + "faces": { + "north": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "east": {"uv": [11, 0, 12, 12], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle.json new file mode 100644 index 00000000..31f00e7b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_fluid_tank", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 15], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [1, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle_window.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle_window.json new file mode 100644 index 00000000..e2dfc65d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle_window.json @@ -0,0 +1,138 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_fluid_tank", + "2": "tfmg:block/cast_iron_fluid_tank_window", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [4, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 4], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 1, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 0, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 1, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 12], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [0, 0, 1, 16], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 0, 0.95], + "to": [12, 16, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [8, 0, 16, 16], "texture": "#2", "cullface": "north"}, + "south": {"uv": [8, 0, 16, 16], "texture": "#2", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 4], + "to": [15.05, 16, 12], + "faces": { + "east": {"uv": [8, 0, 16, 16], "texture": "#2", "cullface": "east"}, + "west": {"uv": [8, 0, 16, 16], "texture": "#2", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 0, 15.05], + "to": [12, 16, 15.05], + "faces": { + "north": {"uv": [8, 0, 16, 16], "texture": "#2", "cullface": "south"}, + "south": {"uv": [8, 0, 16, 16], "texture": "#2", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [0.95, 0, 4], + "to": [0.95, 16, 12], + "faces": { + "east": {"uv": [8, 0, 16, 16], "texture": "#2", "cullface": "west"}, + "west": {"uv": [8, 0, 16, 16], "texture": "#2", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 0, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "west": {"uv": [15, 0, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 12], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [15, 0, 16, 16], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [4, 16, 16], + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "east": {"uv": [15, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 16, 4], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "west"}, + "south": {"uv": [15, 0, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle_window_ne.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle_window_ne.json new file mode 100644 index 00000000..5683be99 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle_window_ne.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_fluid_tank", + "3": "tfmg:block/cast_iron_fluid_tank_window", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [4, 0, 5, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 0, 0.95], + "to": [4, 16, 0.95], + "faces": { + "north": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 12], + "to": [15.05, 16, 16], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [4, 0, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [11, 0, 12, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle_window_nw.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle_window_nw.json new file mode 100644 index 00000000..8a638c2a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle_window_nw.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_fluid_tank", + "3": "tfmg:block/cast_iron_fluid_tank_window", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [12, 16, 1], + "faces": { + "north": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [4, 0, 5, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0.95, 0, 12], + "to": [0.95, 16, 16], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [12, 0, 0.95], + "to": [16, 16, 0.95], + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "south": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [11, 0, 12, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle_window_se.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle_window_se.json new file mode 100644 index 00000000..e401c844 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle_window_se.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_fluid_tank", + "3": "tfmg:block/cast_iron_fluid_tank_window", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 0, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [4, 0, 5, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 0], + "to": [15.05, 16, 4], + "faces": { + "east": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 0, 15.05], + "to": [4, 16, 15.05], + "faces": { + "north": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 4], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [11, 0, 12, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle_window_sw.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle_window_sw.json new file mode 100644 index 00000000..39c72be1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_middle_window_sw.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_fluid_tank", + "3": "tfmg:block/cast_iron_fluid_tank_window", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 4], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [4, 0, 5, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 0, 15.05], + "to": [16, 16, 15.05], + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "south": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0.95, 0, 0], + "to": [0.95, 16, 4], + "faces": { + "east": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [12, 16, 16], + "faces": { + "north": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [11, 0, 12, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_single.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_single.json new file mode 100644 index 00000000..cd9d5e69 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_single.json @@ -0,0 +1,127 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [] + }, + { + "name": "block_middle", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [] + } + ] + }, + { + "name": "block_bottom", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] + }, + { + "name": "block_top", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [4, 5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_single_window.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_single_window.json new file mode 100644 index 00000000..8d9d29e9 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_single_window.json @@ -0,0 +1,168 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "5": "tfmg:block/cast_iron_fluid_tank_window_single", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [4, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "east": {"uv": [8, 4, 9, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "south": {"uv": [8, 4, 9, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 4, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "west": {"uv": [8, 4, 9, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 12], + "to": [1, 12, 16], + "faces": { + "north": {"uv": [8, 4, 9, 12], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 4, 0.95], + "to": [12, 12, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "north"}, + "south": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 4], + "to": [15.05, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "east"}, + "west": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 4, 15.05], + "to": [12, 12, 15.05], + "faces": { + "north": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "south"}, + "south": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 4], + "to": [0.95, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "west"}, + "west": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "west": {"uv": [7, 4, 8, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 12], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [7, 4, 8, 12], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [4, 12, 16], + "faces": { + "north": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "east": {"uv": [7, 4, 8, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "south": {"uv": [7, 4, 8, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_single_window_ne.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_single_window_ne.json new file mode 100644 index 00000000..dd373e84 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_single_window_ne.json @@ -0,0 +1,104 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "5": "tfmg:block/cast_iron_fluid_tank_window_single", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "south": {"uv": [4, 4, 5, 12], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 4, 0.95], + "to": [4, 12, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 8], "texture": "#5"}, + "south": {"uv": [4, 0, 8, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 12], + "to": [15.05, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 0, 8, 8], "texture": "#5"}, + "west": {"uv": [0, 0, 4, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [4, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "west": {"uv": [11, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_single_window_nw.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_single_window_nw.json new file mode 100644 index 00000000..212e6905 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_single_window_nw.json @@ -0,0 +1,104 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "5": "tfmg:block/cast_iron_fluid_tank_window_single", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [12, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "east": {"uv": [4, 4, 5, 12], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 12], + "to": [0.95, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 0, 8, 8], "texture": "#5"}, + "west": {"uv": [0, 0, 4, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [12, 4, 0.95], + "to": [16, 12, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 0, 8, 8], "texture": "#5"}, + "south": {"uv": [0, 0, 4, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "south": {"uv": [11, 4, 12, 12], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_single_window_se.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_single_window_se.json new file mode 100644 index 00000000..84a9f24d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_single_window_se.json @@ -0,0 +1,104 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "5": "tfmg:block/cast_iron_fluid_tank_window_single", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 4, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "west": {"uv": [4, 4, 5, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 0], + "to": [15.05, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 8], "texture": "#5"}, + "west": {"uv": [4, 0, 8, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [0, 4, 15.05], + "to": [4, 12, 15.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 8], "texture": "#5"}, + "south": {"uv": [4, 0, 8, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 4], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [11, 4, 12, 12], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_single_window_sw.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_single_window_sw.json new file mode 100644 index 00000000..6177cdaa --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_single_window_sw.json @@ -0,0 +1,104 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "5": "tfmg:block/cast_iron_fluid_tank_window_single", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 4], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 5, 12], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 4, 15.05], + "to": [16, 12, 15.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 0, 8, 8], "texture": "#5"}, + "south": {"uv": [0, 0, 4, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 0], + "to": [0.95, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 8], "texture": "#5"}, + "west": {"uv": [4, 0, 8, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "east": {"uv": [11, 4, 12, 12], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_top.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_top.json new file mode 100644 index 00000000..d4d8a182 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_top.json @@ -0,0 +1,71 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 16], + "faces": { + "east": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [1, 12, 16], + "faces": { + "east": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_top_window.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_top_window.json new file mode 100644 index 00000000..e51d3b3b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_top_window.json @@ -0,0 +1,154 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "3": "tfmg:block/cast_iron_fluid_tank_window", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [4, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 4, 1, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 4, 1, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 0, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 4, 1, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 12], + "to": [1, 12, 16], + "faces": { + "north": {"uv": [0, 4, 1, 16], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 0, 0.95], + "to": [12, 12, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "north"}, + "south": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 4], + "to": [15.05, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "east"}, + "west": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 0, 15.05], + "to": [12, 12, 15.05], + "faces": { + "north": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "south"}, + "south": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [0.95, 0, 4], + "to": [0.95, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "west"}, + "west": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "west": {"uv": [15, 4, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 12], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [15, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [4, 12, 16], + "faces": { + "north": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "east": {"uv": [15, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "south": {"uv": [15, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_top_window_ne.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_top_window_ne.json new file mode 100644 index 00000000..f50beeee --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_top_window_ne.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "3": "tfmg:block/cast_iron_fluid_tank_window", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "south": {"uv": [4, 4, 5, 16], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 0, 0.95], + "to": [4, 12, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "south": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 12], + "to": [15.05, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 0, 8, 12], "texture": "#3"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [4, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "west": {"uv": [11, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_top_window_nw.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_top_window_nw.json new file mode 100644 index 00000000..4beac2bb --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_top_window_nw.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "3": "tfmg:block/cast_iron_fluid_tank_window", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [12, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "east": {"uv": [4, 4, 5, 16], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0.95, 0, 12], + "to": [0.95, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 0, 8, 12], "texture": "#3"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [12, 0, 0.95], + "to": [16, 12, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 0, 8, 12], "texture": "#3"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "south": {"uv": [11, 4, 12, 16], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_top_window_se.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_top_window_se.json new file mode 100644 index 00000000..41ca0750 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_top_window_se.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "3": "tfmg:block/cast_iron_fluid_tank_window", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 0, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "west": {"uv": [4, 4, 5, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 0], + "to": [15.05, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "west": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 0, 15.05], + "to": [4, 12, 15.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "south": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 4], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [11, 4, 12, 16], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_top_window_sw.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_top_window_sw.json new file mode 100644 index 00000000..9d1af1e0 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_tank/block_top_window_sw.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_fluid_tank_top", + "1": "tfmg:block/cast_iron_fluid_tank", + "3": "tfmg:block/cast_iron_fluid_tank_window", + "4": "tfmg:block/cast_iron_fluid_tank_inner", + "particle": "tfmg:block/cast_iron_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 4], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 5, 16], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 0, 15.05], + "to": [16, 12, 15.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 0, 8, 12], "texture": "#3"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0.95, 0, 0], + "to": [0.95, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "west": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "east": {"uv": [11, 4, 12, 16], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_valve/block_horizontal_closed.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_valve/block_horizontal_closed.json new file mode 100644 index 00000000..8d3c6fb8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_valve/block_horizontal_closed.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/cast_iron_fluid_valve", + "3": "tfmg:block/cast_iron_valve_closed", + "particle": "tfmg:block/cast_iron_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "down": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1.5, 9.5, 6.5, 14.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7, 9, 1, 15], "rotation": 90, "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_valve/block_horizontal_open.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_valve/block_horizontal_open.json new file mode 100644 index 00000000..c4b8018f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_valve/block_horizontal_open.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/cast_iron_fluid_valve", + "3": "tfmg:block/cast_iron_valve_open", + "particle": "tfmg:block/cast_iron_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "down": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1.5, 9.5, 6.5, 14.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7, 9, 1, 15], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_valve/block_vertical_closed.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_valve/block_vertical_closed.json new file mode 100644 index 00000000..fff615c4 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_valve/block_vertical_closed.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench, praise the pufferfish", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/cast_iron_fluid_valve", + "4": "tfmg:block/cast_iron_valve_closed", + "particle": "tfmg:block/cast_iron_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "east": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "west": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "up": {"uv": [9, 1, 15, 7], "texture": "#2"}, + "down": {"uv": [9, 1, 15, 7], "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "west": {"uv": [1.5, 9.5, 6.5, 14.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + }, + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "east": {"uv": [6.5, 9.5, 1.5, 14.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_valve/block_vertical_open.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_valve/block_vertical_open.json new file mode 100644 index 00000000..8edcc6c2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_valve/block_vertical_open.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/cast_iron_fluid_valve", + "4": "tfmg:block/cast_iron_valve_open", + "particle": "tfmg:block/cast_iron_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "east": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "west": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "up": {"uv": [9, 1, 15, 7], "texture": "#2"}, + "down": {"uv": [9, 1, 15, 7], "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "west": {"uv": [1.5, 9.5, 6.5, 14.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + }, + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "east": {"uv": [6.5, 9.5, 1.5, 14.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_valve/item.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_valve/item.json new file mode 100644 index 00000000..d95d3ad0 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_valve/item.json @@ -0,0 +1,155 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "2": "tfmg:block/cast_iron_fluid_valve", + "4": "tfmg:block/cast_iron_valve_open", + "1_1": "create:block/axis_top", + "1_0": "create:block/axis", + "particle": "tfmg:block/cast_iron_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [9, 1, 15, 7], "texture": "#2"}, + "east": {"uv": [1, 9, 7, 15], "texture": "#2"}, + "south": {"uv": [9, 1, 15, 7], "texture": "#2"}, + "west": {"uv": [1, 9, 7, 15], "texture": "#2"}, + "up": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "down": {"uv": [1, 1, 7, 7], "texture": "#2"} + } + }, + { + "from": [2, 14, 2], + "to": [14, 13, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 23, 11]}, + "faces": { + "north": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "east": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "south": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "up": {"uv": [2, 2, 14, 14], "texture": "#4"} + } + }, + { + "from": [2, 3, 2], + "to": [14, 2, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 2.5, 8]}, + "faces": { + "north": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "east": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "south": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [2, 2, 14, 14], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "west": {"uv": [6.5, 9.5, 1.5, 14.5], "texture": "#2"}, + "up": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 180, "texture": "#2"}, + "down": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 180, "texture": "#2"} + } + }, + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "east": {"uv": [6.5, 9.5, 1.5, 14.5], "texture": "#2"}, + "south": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "up": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "down": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"} + } + }, + { + "name": "Axis", + "from": [6, 6, 0], + "to": [10, 10, 16], + "faces": { + "north": {"uv": [6, 6, 10, 10], "rotation": 180, "texture": "#1_1"}, + "east": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#1_0"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#1_1"}, + "west": {"uv": [6, 0, 10, 16], "rotation": 270, "texture": "#1_0"}, + "up": {"uv": [6, 0, 10, 16], "texture": "#1_0"}, + "down": {"uv": [6, 0, 10, 16], "rotation": 180, "texture": "#1_0"} + } + }, + { + "from": [4.5, 13.5, 7.5], + "to": [11.5, 13.5, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 13.5, 8]}, + "faces": { + "up": {"uv": [2, 7.5, 5.5, 8], "texture": "#2"} + } + }, + { + "from": [4.5, 2.5, 7.5], + "to": [11.5, 2.5, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 2.5, 8]}, + "faces": { + "down": {"uv": [2, 7.5, 5.5, 8], "rotation": 180, "texture": "#2"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [90, 0, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "group", + "origin": [16, 0, 0], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "shaft", + "origin": [8, 8, 8], + "color": 0, + "children": [5] + }, + { + "name": "hands", + "origin": [7, 14, 4], + "color": 0, + "children": [6, 7] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_valve/pointer.json b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_valve/pointer.json new file mode 100644 index 00000000..02b8bd06 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_fluid_valve/pointer.json @@ -0,0 +1,151 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "2": "tfmg:block/cast_iron_fluid_valve", + "4": "create:block/pump", + "particle": "tfmg:block/cast_iron_block" + }, + "elements": [ + { + "from": [7, 14.1, 5], + "to": [9, 15.1, 7], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [14, 0, 12, 1], "rotation": 180, "texture": "#4"}, + "east": {"uv": [14, 3, 12, 4], "texture": "#4"}, + "south": {"uv": [14, 2, 12, 3], "rotation": 180, "texture": "#4"}, + "west": {"uv": [12, 0, 13, 2], "rotation": 270, "texture": "#4"}, + "up": {"uv": [12, 0, 14, 2], "texture": "#4"}, + "down": {"uv": [14, 0, 12, 2], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [9, 14.1, 5], + "to": [11, 15.1, 9], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [16, 0, 14, 1], "texture": "#4"}, + "east": {"uv": [15, 0, 16, 4], "rotation": 90, "texture": "#4"}, + "south": {"uv": [16, 0, 14, 1], "rotation": 180, "texture": "#4"}, + "up": {"uv": [14, 0, 16, 4], "texture": "#4"}, + "down": {"uv": [16, 0, 14, 4], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [7, 14.1, 9], + "to": [11, 15.1, 11], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [16, 0, 14, 1], "texture": "#4"}, + "south": {"uv": [15, 0, 16, 4], "rotation": 90, "texture": "#4"}, + "west": {"uv": [16, 0, 14, 1], "rotation": 180, "texture": "#4"}, + "up": {"uv": [14, 0, 16, 4], "rotation": 90, "texture": "#4"}, + "down": {"uv": [16, 0, 14, 4], "rotation": 90, "texture": "#4"} + } + }, + { + "from": [9, 14.1, 7], + "to": [11, 15.1, 9], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 0, 13, 2], "rotation": 270, "texture": "#4"}, + "east": {"uv": [14, 0, 12, 1], "rotation": 180, "texture": "#4"}, + "south": {"uv": [14, 3, 12, 4], "texture": "#4"}, + "west": {"uv": [14, 2, 12, 3], "rotation": 180, "texture": "#4"}, + "up": {"uv": [12, 0, 14, 2], "rotation": 90, "texture": "#4"}, + "down": {"uv": [14, 0, 12, 2], "rotation": 90, "texture": "#4"} + } + }, + { + "from": [9, 14.1, 5], + "to": [11, 15.1, 9], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [16, 0, 14, 1], "texture": "#4"}, + "east": {"uv": [15, 0, 16, 4], "rotation": 90, "texture": "#4"}, + "south": {"uv": [16, 0, 14, 1], "rotation": 180, "texture": "#4"}, + "up": {"uv": [14, 0, 16, 4], "texture": "#4"}, + "down": {"uv": [16, 0, 14, 4], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [7, 14.1, 5], + "to": [9, 15.1, 7], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [14, 0, 12, 1], "rotation": 180, "texture": "#4"}, + "east": {"uv": [14, 3, 12, 4], "texture": "#4"}, + "south": {"uv": [14, 2, 12, 3], "rotation": 180, "texture": "#4"}, + "west": {"uv": [12, 0, 13, 2], "rotation": 270, "texture": "#4"}, + "up": {"uv": [12, 0, 14, 2], "texture": "#4"}, + "down": {"uv": [14, 0, 12, 2], "rotation": 180, "texture": "#4"} + } + }, + { + "name": "Center", + "from": [7, 14, 7], + "to": [9, 16, 9], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 15, 8]}, + "faces": { + "north": {"uv": [12.5, 0, 12, 1], "rotation": 90, "texture": "#2"}, + "east": {"uv": [13, 0.5, 12, 1], "texture": "#2"}, + "south": {"uv": [12, 0.5, 13, 1], "texture": "#2"}, + "west": {"uv": [12, 1, 12.5, 0], "rotation": 90, "texture": "#2"}, + "up": {"uv": [12, 0, 13, 1], "texture": "#2"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "Pointer", + "origin": [7.5, 14, 8], + "color": 0, + "children": [ + { + "name": "arrow", + "origin": [8, 8, 8], + "color": 0, + "children": [] + }, + { + "name": "arrow", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3, 4, 5] + }, + 6 + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_flywheel/block.json b/src/main/resources/assets/tfmg/models/block/cast_iron_flywheel/block.json new file mode 100644 index 00000000..49898a20 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_flywheel/block.json @@ -0,0 +1,6 @@ +{ + "parent": "tfmg:block/cast_iron_flywheel/flywheel", + "loader": "neoforge:obj", + "flip-v": true, + "model": "create:models/block/flywheel/flywheel_shaftless.obj" +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_flywheel/flywheel.json b/src/main/resources/assets/tfmg/models/block/cast_iron_flywheel/flywheel.json new file mode 100644 index 00000000..17f4f2b6 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_flywheel/flywheel.json @@ -0,0 +1,10 @@ +{ + "parent": "block/block", + "ambientocclusion": false, + "textures": { + "0": "tfmg:block/cast_iron_flywheel", + "1": "create:block/axis", + "2": "create:block/axis_top", + "particle": "tfmg:block/cast_iron_flywheel" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_flywheel/item.json b/src/main/resources/assets/tfmg/models/block/cast_iron_flywheel/item.json new file mode 100644 index 00000000..84fe214c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_flywheel/item.json @@ -0,0 +1,18 @@ +{ + "parent": "tfmg:block/cast_iron_flywheel/flywheel", + "loader": "neoforge:obj", + "flip-v": true, + "model": "create:models/block/flywheel/flywheel.obj", + "display": { + "gui": { + "rotation": [ 30, 225, 0 ], + "translation": [ 0, 0, 0], + "scale":[ 0.4, 0.4, 0.4 ] + }, + "fixed": { + "rotation": [ 90, 0, 0 ], + "translation": [ 0, 0, 0], + "scale":[ 0.4, 0.4, 0.4 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_frame/block.json b/src/main/resources/assets/tfmg/models/block/cast_iron_frame/block.json new file mode 100644 index 00000000..9be70b28 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_frame/block.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_frame_2", + "particle": "tfmg:block/cast_iron_frame_2" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_frame/item.json b/src/main/resources/assets/tfmg/models/block/cast_iron_frame/item.json new file mode 100644 index 00000000..9be70b28 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_frame/item.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_frame_2", + "particle": "tfmg:block/cast_iron_frame_2" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_mechanical_pump/block.json b/src/main/resources/assets/tfmg/models/block/cast_iron_mechanical_pump/block.json new file mode 100644 index 00000000..a47e0388 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_mechanical_pump/block.json @@ -0,0 +1,67 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/block", + "textures": { + "4": "tfmg:block/cast_iron_pump", + "particle": "tfmg:block/cast_iron_pump" + }, + "elements": [ + { + "from": [2, 13, 2], + "to": [14, 16, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 14.5, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "east": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "west": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "up": {"uv": [0, 0, 6, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#4"} + } + }, + { + "from": [2, 0, 2], + "to": [14, 3, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 1.5, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "east": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "west": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "up": {"uv": [0, 0, 6, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#4"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_mechanical_pump/cog.json b/src/main/resources/assets/tfmg/models/block/cast_iron_mechanical_pump/cog.json new file mode 100644 index 00000000..e0d98d3c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_mechanical_pump/cog.json @@ -0,0 +1,162 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "2": "tfmg:block/cast_iron_pump" + }, + "elements": [ + { + "from": [6.5, -1, 3], + "to": [9.5, 17, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "east": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#2"}, + "up": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [-1, 6.5, 3], + "to": [17, 9.5, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#2"}, + "east": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "texture": "#2"}, + "west": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "up": {"uv": [0, 9, 9, 14], "rotation": 180, "texture": "#2"}, + "down": {"uv": [0, 9, 9, 14], "texture": "#2"} + } + }, + { + "from": [6.5, -1, 3], + "to": [9.5, 17, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "east": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#2"}, + "up": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [-1, 6.5, 3], + "to": [17, 9.5, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#2"}, + "east": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "texture": "#2"}, + "west": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "up": {"uv": [0, 9, 9, 14], "rotation": 180, "texture": "#2"}, + "down": {"uv": [0, 9, 9, 14], "texture": "#2"} + } + }, + { + "from": [5.5, 0.9, 3.05], + "to": [10.5, 15.1, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "up": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [0.9, 5.5, 3.05], + "to": [15.1, 10.5, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [10, 9, 15, 11.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#2"}, + "west": {"uv": [10, 9, 15, 11.5], "texture": "#2"} + } + }, + { + "from": [0.9, 5.5, 3.05], + "to": [15.1, 10.5, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [10, 9, 15, 11.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#2"}, + "west": {"uv": [10, 9, 15, 11.5], "texture": "#2"} + } + }, + { + "from": [5.5, 0.9, 3.05], + "to": [10.5, 15.1, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "up": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, -149, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, -149, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, -55, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, -55, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 1, 1.25], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 45, 0], + "translation": [2.5, -0.5, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [0, 180, 0], + "translation": [0, 1.75, -4.5], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "cogwheel", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3] + }, + { + "name": "group", + "origin": [8, 8, 8], + "color": 0, + "children": [4, 5, 6, 7] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_mechanical_pump/item.json b/src/main/resources/assets/tfmg/models/block/cast_iron_mechanical_pump/item.json new file mode 100644 index 00000000..9c23fda5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_mechanical_pump/item.json @@ -0,0 +1,164 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/block", + "texture_size": [32, 32], + "textures": { + "4": "tfmg:block/cast_iron_pump", + "particle": "tfmg:block/cast_iron_pump" + }, + "elements": [ + { + "from": [0, 2, 2], + "to": [3, 14, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "texture": "#4"}, + "east": {"uv": [0, 0, 6, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"}, + "west": {"uv": [0, 0, 6, 6], "rotation": 90, "texture": "#4"}, + "up": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [13, 2, 2], + "to": [16, 14, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "texture": "#4"}, + "east": {"uv": [0, 0, 6, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"}, + "west": {"uv": [0, 0, 6, 6], "rotation": 90, "texture": "#4"}, + "up": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [3, -1, 6.5], + "to": [13, 17, 9.5], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#4"}, + "east": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#4"}, + "south": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"}, + "west": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#4"}, + "up": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "down": {"uv": [10, 6.5, 15, 8], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [3, 6.5, -1], + "to": [13, 9.5, 17], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "east": {"uv": [0, 6.5, 9, 8], "texture": "#4"}, + "south": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "west": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#4"}, + "up": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"}, + "down": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"} + } + }, + { + "from": [3, -1, 6.5], + "to": [13, 17, 9.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 14, 9, 9], "rotation": 270, "texture": "#4"}, + "east": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#4"}, + "south": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"}, + "west": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#4"}, + "up": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "down": {"uv": [10, 8, 15, 6.5], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [3, 6.5, -1], + "to": [13, 9.5, 17], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "east": {"uv": [0, 6.5, 9, 8], "texture": "#4"}, + "south": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "west": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#4"}, + "up": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"}, + "down": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"} + } + }, + { + "from": [3.05, 0.9, 5.5], + "to": [12.95, 15.1, 10.5], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [1, 7, 1.5, 7.5], "texture": "#4"}, + "west": {"uv": [1, 7, 1.5, 7.5], "texture": "#4"}, + "up": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "down": {"uv": [10, 9, 15, 11.5], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [3.05, 5.5, 0.9], + "to": [12.95, 10.5, 15.1], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "east": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#4"}, + "south": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "west": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#4"} + } + }, + { + "from": [3.05, 0.9, 5.5], + "to": [12.95, 15.1, 10.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [1, 7, 1.5, 7.5], "rotation": 180, "texture": "#4"}, + "west": {"uv": [1, 7, 1.5, 7.5], "rotation": 180, "texture": "#4"}, + "up": {"uv": [10, 9, 15, 11.5], "rotation": 180, "texture": "#4"}, + "down": {"uv": [10, 9, 15, 11.5], "texture": "#4"} + } + }, + { + "from": [3.05, 5.5, 0.9], + "to": [12.95, 10.5, 15.1], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "east": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#4"}, + "south": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "west": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#4"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/casing.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/casing.json new file mode 100644 index 00000000..0a7a7fb8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/casing.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_block" + }, + "elements": [ + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "east": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "south": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "west": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "up": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "down": {"uv": [1, 11, 6, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/connection/down.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/connection/down.json new file mode 100644 index 00000000..e4e9a3e1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/connection/down.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "name": "connection_down", + "from": [4, 0, 4], + "to": [12, 4, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 6, 4, 8], "texture": "#0"}, + "east": {"uv": [0, 6, 4, 8], "texture": "#0"}, + "south": {"uv": [4, 6, 0, 8], "texture": "#0"}, + "west": {"uv": [4, 6, 0, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/connection/east.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/connection/east.json new file mode 100644 index 00000000..c576cf6c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/connection/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "name": "connection_east", + "from": [12, 4, 4], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 6, 4, 8], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/connection/north.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/connection/north.json new file mode 100644 index 00000000..0706268b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/connection/north.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "name": "connection_north", + "from": [4, 4, 0], + "to": [12, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 4, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 2], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/connection/south.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/connection/south.json new file mode 100644 index 00000000..54f6a07d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/connection/south.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "name": "connection_south", + "from": [4, 4, 12], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 4, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 6, 4, 8], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/connection/up.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/connection/up.json new file mode 100644 index 00000000..100d07e0 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/connection/up.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "name": "connection_up", + "from": [4, 12, 4], + "to": [12, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [4, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [4, 0, 0, 2], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/connection/west.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/connection/west.json new file mode 100644 index 00000000..123f8b97 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/connection/west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "name": "connection_west", + "from": [0, 4, 4], + "to": [4, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 2], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/core_x.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/core_x.json new file mode 100644 index 00000000..e05a3d33 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/core_x.json @@ -0,0 +1,18 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/cast_iron_pipes_connected", + "particle": "tfmg:block/cast_iron_block" + }, + "elements": [ + { + "name": "core_x", + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "east": {"uv": [12, 8, 16, 12], "texture": "#0"}, + "west": {"uv": [16, 8, 12, 12], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/core_y.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/core_y.json new file mode 100644 index 00000000..75583d7b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/core_y.json @@ -0,0 +1,18 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/cast_iron_pipes_connected", + "particle": "tfmg:block/cast_iron_block" + }, + "elements": [ + { + "name": "core_y", + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "up": {"uv": [12, 12, 16, 8], "rotation": 180, "texture": "#0"}, + "down": {"uv": [12, 8, 16, 12], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/core_z.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/core_z.json new file mode 100644 index 00000000..4f8172fb --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/core_z.json @@ -0,0 +1,18 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/cast_iron_pipes_connected", + "particle": "tfmg:block/cast_iron_block" + }, + "elements": [ + { + "name": "core_z", + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "north": {"uv": [12, 8, 16, 12], "texture": "#0"}, + "south": {"uv": [16, 8, 12, 12], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/drain/down.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/drain/down.json new file mode 100644 index 00000000..adcdc9b4 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/drain/down.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "from": [4.95, -3.95, 4.95], + "to": [11.05, -0.95, 11.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "down": {"uv": [13, 8, 16, 11], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2.95, -1.1, 2.95], + "to": [13.05, 2, 13.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/drain/east.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/drain/east.json new file mode 100644 index 00000000..58ad337e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/drain/east.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "from": [16.95, 4.95, 4.95], + "to": [19.95, 11.05, 11.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 8, 13.5, 11], "rotation": 180, "texture": "#0"}, + "east": {"uv": [13, 8, 16, 11], "texture": "#0"}, + "south": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "up": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "down": {"uv": [12, 8, 13.5, 11], "texture": "#0"} + } + }, + { + "from": [14, 2.95, 2.95], + "to": [17.1, 13.05, 13.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 16, 10.5, 11], "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "south": {"uv": [10.5, 11, 9, 16], "texture": "#0"}, + "west": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "up": {"uv": [10.5, 11, 9, 16], "texture": "#0"}, + "down": {"uv": [10.5, 16, 9, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/drain/north.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/drain/north.json new file mode 100644 index 00000000..43c3c24c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/drain/north.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "from": [2.95, 2.95, -1.1], + "to": [13.05, 13.05, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "east": {"uv": [10.5, 11, 9, 16], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "west": {"uv": [9, 16, 10.5, 11], "texture": "#0"}, + "up": {"uv": [9, 11, 10.5, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4.95, 4.95, -3.95], + "to": [11.05, 11.05, -0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [13, 8, 16, 11], "texture": "#0"}, + "east": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "west": {"uv": [12, 8, 13.5, 11], "rotation": 180, "texture": "#0"}, + "up": {"uv": [12, 8, 13.5, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/drain/south.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/drain/south.json new file mode 100644 index 00000000..00aa5447 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/drain/south.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "from": [4.95, 4.95, 16.95], + "to": [11.05, 11.05, 19.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "east": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "south": {"uv": [16, 8, 13, 11], "texture": "#0"}, + "west": {"uv": [13.5, 8, 12, 11], "rotation": 180, "texture": "#0"}, + "up": {"uv": [13.5, 8, 12, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2.95, 2.95, 14], + "to": [13.05, 13.05, 17.1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "east": {"uv": [9, 11, 10.5, 16], "texture": "#0"}, + "south": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "west": {"uv": [10.5, 16, 9, 11], "texture": "#0"}, + "up": {"uv": [10.5, 11, 9, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/drain/up.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/drain/up.json new file mode 100644 index 00000000..788a4704 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/drain/up.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "from": [2.95, 14, 2.95], + "to": [13.05, 17.1, 13.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 11, 11, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16, 11, 11, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4.95, 16.95, 4.95], + "to": [11.05, 19.95, 11.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [13, 11, 16, 8], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/drain/west.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/drain/west.json new file mode 100644 index 00000000..e3461843 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/drain/west.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "from": [-1.1, 2.95, 2.95], + "to": [2, 13.05, 13.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10.5, 16, 9, 11], "texture": "#0"}, + "east": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "south": {"uv": [9, 11, 10.5, 16], "texture": "#0"}, + "west": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "up": {"uv": [9, 11, 10.5, 16], "texture": "#0"}, + "down": {"uv": [9, 16, 10.5, 11], "texture": "#0"} + } + }, + { + "from": [-3.95, 4.95, 4.95], + "to": [-0.95, 11.05, 11.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.5, 8, 12, 11], "rotation": 180, "texture": "#0"}, + "south": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "west": {"uv": [16, 8, 13, 11], "texture": "#0"}, + "up": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "down": {"uv": [13.5, 8, 12, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/item.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/item.json new file mode 100644 index 00000000..689ffd72 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/item.json @@ -0,0 +1,53 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_block" + }, + "elements": [ + { + "from": [4, 4, 0], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [4, 8, 8, 0], "rotation": 90, "texture": "#1"}, + "west": {"uv": [4, 0, 8, 8], "rotation": 90, "texture": "#1"}, + "up": {"uv": [4, 8, 8, 0], "texture": "#1"}, + "down": {"uv": [4, 8, 8, 0], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#1"}, + "east": {"uv": [10.5, 16, 9.5, 11], "texture": "#1"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#1"}, + "west": {"uv": [9.5, 16, 10.5, 11], "texture": "#1"}, + "up": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 15]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [10.5, 16, 9.5, 11], "rotation": 180, "texture": "#1"}, + "south": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [9.5, 16, 10.5, 11], "rotation": 180, "texture": "#1"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"} + } + } + ], + "display": { + "fixed": { + "rotation": [0, 90, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim/down.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim/down.json new file mode 100644 index 00000000..9207a981 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim/down.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "faces": { + "north": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 270, "texture": "#0", "cullface": "down"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim/east.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim/east.json new file mode 100644 index 00000000..65da1ab2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "faces": { + "north": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "east"}, + "south": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "west": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "up": {"uv": [9.5, 16, 10.5, 11], "rotation": 180, "texture": "#0"}, + "down": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim/north.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim/north.json new file mode 100644 index 00000000..1c6bb942 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim/north.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "north"}, + "east": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "west": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 270, "texture": "#0"}, + "down": {"uv": [9.5, 16, 10.5, 11], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim/south.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim/south.json new file mode 100644 index 00000000..aa8aab63 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim/south.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "east": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "south"}, + "west": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "up": {"uv": [9.5, 16, 10.5, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [10.5, 11, 9.5, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim/up.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim/up.json new file mode 100644 index 00000000..a39efc8e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim/up.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "faces": { + "north": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0", "cullface": "up"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim/west.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim/west.json new file mode 100644 index 00000000..dffe0f2b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim/west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "faces": { + "north": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "south": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "west": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "west"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim_connector/down.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim_connector/down.json new file mode 100644 index 00000000..fe2d287e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim_connector/down.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "name": "rim_down", + "from": [4, 0, 4], + "to": [12, 4, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 6, 8, 8], "texture": "#0"}, + "east": {"uv": [4, 6, 8, 8], "texture": "#0"}, + "south": {"uv": [8, 6, 4, 8], "texture": "#0"}, + "west": {"uv": [8, 6, 4, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim_connector/east.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim_connector/east.json new file mode 100644 index 00000000..da6102d1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim_connector/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "name": "rim_east", + "from": [12, 4, 4], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 6, 8, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [4, 8, 8, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 8, 8, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 6, 8, 8], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim_connector/north.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim_connector/north.json new file mode 100644 index 00000000..9b19b86b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim_connector/north.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "name": "rim_north", + "from": [4, 4, 0], + "to": [12, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [4, 0, 8, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [4, 2, 8, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 2, 8, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4, 0, 8, 2], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim_connector/south.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim_connector/south.json new file mode 100644 index 00000000..6b883d94 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim_connector/south.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "name": "rim_south", + "from": [4, 4, 12], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [4, 6, 8, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [4, 8, 8, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 8, 8, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4, 6, 8, 8], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim_connector/up.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim_connector/up.json new file mode 100644 index 00000000..3b762ac4 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim_connector/up.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "name": "rim_up", + "from": [4, 12, 4], + "to": [12, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 0, 8, 2], "texture": "#0"}, + "east": {"uv": [4, 0, 8, 2], "texture": "#0"}, + "south": {"uv": [8, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [8, 0, 4, 2], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim_connector/west.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim_connector/west.json new file mode 100644 index 00000000..68886218 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/rim_connector/west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/cast_iron_pipes", + "particle": "tfmg:block/cast_iron_pipes" + }, + "elements": [ + { + "name": "rim_west", + "from": [0, 4, 4], + "to": [4, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 0, 8, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [4, 2, 8, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 2, 8, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 8, 2], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/window.json b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/window.json new file mode 100644 index 00000000..9de2334e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_pipe/window.json @@ -0,0 +1,51 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/cast_iron_glass_fluid_pipe", + "particle": "tfmg:block/cast_iron_block" + }, + "elements": [ + { + "name": "Outer", + "from": [4, 0, 4], + "to": [12, 16, 12], + "faces": { + "north": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [4.1, 0, 11.9], + "to": [11.9, 16, 4.1], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 8]}, + "faces": { + "north": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [10, 0, 4], + "to": [6, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 0, 10], + "to": [12, 16, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 0, 10]}, + "faces": { + "north": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_smart_fluid_pipe/block.json b/src/main/resources/assets/tfmg/models/block/cast_iron_smart_fluid_pipe/block.json new file mode 100644 index 00000000..dda98ab9 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_smart_fluid_pipe/block.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "2": "tfmg:block/cast_iron_smart_pipe_1", + "3": "tfmg:block/cast_iron_smart_pipe_2", + "4": "tfmg:block/cast_iron_pipes", + "5": "tfmg:block/cast_iron_smart_pipe_3", + "particle": "tfmg:block/cast_iron_block" + }, + "elements": [ + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [3, 3, 13, 13], "texture": "#5"}, + "east": {"uv": [13, 3, 3, 13], "texture": "#2"}, + "south": {"uv": [3, 3, 13, 13], "texture": "#5"}, + "west": {"uv": [3, 3, 13, 13], "texture": "#2"}, + "up": {"uv": [13, 3, 3, 13], "rotation": 270, "texture": "#2"}, + "down": {"uv": [3, 3, 13, 13], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [4.5, 5, 7.15], + "to": [11.5, 12, 13.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [1, 9, 7, 15], "texture": "#3"}, + "east": {"uv": [0, 0, 6, 7], "texture": "#3"}, + "west": {"uv": [0, 0, 6, 7], "rotation": 180, "texture": "#3"}, + "up": {"uv": [0, 0, 6, 7], "rotation": 270, "texture": "#3"}, + "down": {"uv": [0, 0, 6, 7], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [3.9, 4.4, 4.15], + "to": [12.1, 12.6, 7.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [8, 8, 16, 16], "texture": "#3"}, + "east": {"uv": [13, 0, 16, 8], "texture": "#3"}, + "south": {"uv": [0, 8, 8, 16], "texture": "#3"}, + "west": {"uv": [13, 8, 16, 0], "rotation": 180, "texture": "#3"}, + "up": {"uv": [13, 8, 16, 0], "rotation": 270, "texture": "#3"}, + "down": {"uv": [13, 0, 16, 8], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [4, 4, 0], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 4, 0]}, + "faces": { + "east": {"uv": [4, 8, 8, 0], "rotation": 90, "texture": "#4"}, + "west": {"uv": [4, 0, 8, 8], "rotation": 90, "texture": "#4"}, + "up": {"uv": [4, 8, 8, 0], "texture": "#4"}, + "down": {"uv": [4, 0, 8, 8], "texture": "#4"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_smart_fluid_pipe/item.json b/src/main/resources/assets/tfmg/models/block/cast_iron_smart_fluid_pipe/item.json new file mode 100644 index 00000000..659d9c4b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_smart_fluid_pipe/item.json @@ -0,0 +1,119 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/cast_iron_pipes", + "2": "tfmg:block/cast_iron_smart_pipe_1", + "3": "tfmg:block/cast_iron_smart_pipe_2", + "4": "tfmg:block/cast_iron_smart_pipe_3", + "particle": "tfmg:block/cast_iron_smart_pipe_3" + }, + "elements": [ + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [10.5, 11, 9.5, 16], "texture": "#1"}, + "south": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [9.5, 11, 10.5, 16], "texture": "#1"}, + "up": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 16]}, + "faces": { + "north": {"uv": [16, 11, 11, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [9.5, 11, 10.5, 16], "texture": "#1"}, + "south": {"uv": [16, 11, 11, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [10.5, 11, 9.5, 16], "texture": "#1"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [3, 3, 13, 13], "texture": "#4"}, + "east": {"uv": [13, 3, 3, 13], "texture": "#2"}, + "south": {"uv": [3, 3, 13, 13], "texture": "#4"}, + "west": {"uv": [3, 3, 13, 13], "texture": "#2"}, + "up": {"uv": [13, 3, 3, 13], "rotation": 270, "texture": "#2"}, + "down": {"uv": [3, 3, 13, 13], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [4.5, 5, 7.15], + "to": [11.5, 12, 13.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [1, 9, 7, 15], "texture": "#3"}, + "east": {"uv": [0, 0, 6, 7], "texture": "#3"}, + "west": {"uv": [0, 0, 6, 7], "rotation": 180, "texture": "#3"}, + "up": {"uv": [0, 0, 6, 7], "rotation": 270, "texture": "#3"}, + "down": {"uv": [0, 0, 6, 7], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [3.9, 4.4, 4.15], + "to": [12.1, 12.6, 7.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [8, 8, 16, 16], "texture": "#3"}, + "east": {"uv": [13, 0, 16, 8], "texture": "#3"}, + "south": {"uv": [0, 8, 8, 16], "texture": "#3"}, + "west": {"uv": [13, 8, 16, 0], "rotation": 180, "texture": "#3"}, + "up": {"uv": [13, 8, 16, 0], "rotation": 270, "texture": "#3"}, + "down": {"uv": [13, 0, 16, 8], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [4, 4, 0], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 4, 0]}, + "faces": { + "east": {"uv": [4, 8, 8, 0], "rotation": 90, "texture": "#1"}, + "west": {"uv": [4, 0, 8, 8], "rotation": 90, "texture": "#1"}, + "up": {"uv": [4, 8, 8, 0], "texture": "#1"}, + "down": {"uv": [4, 0, 8, 8], "texture": "#1"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [0, 90, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cast_iron_truss.json b/src/main/resources/assets/tfmg/models/block/cast_iron_truss.json new file mode 100644 index 00000000..23faa73b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cast_iron_truss.json @@ -0,0 +1,106 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/cast_iron_truss", + "particle": "tfmg:block/cast_iron_block" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [2, 0, 15], + "to": [14, 16, 15], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + }, + { + "from": [15, 0, 2], + "to": [15, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 0, 2], + "to": [1, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 0, 1], + "to": [14, 16, 1], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/casting_basin/block.json b/src/main/resources/assets/tfmg/models/block/casting_basin/block.json new file mode 100644 index 00000000..290037be --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/casting_basin/block.json @@ -0,0 +1,135 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/casting_basin", + "1": "tfmg:block/fireproof_bricks", + "particle": "tfmg:block/casting_basin" + }, + "elements": [ + { + "from": [1, 0, 1], + "to": [15, 1, 15], + "faces": { + "north": {"uv": [0.5, 3.5, 7.5, 4], "texture": "#0"}, + "east": {"uv": [0.5, 3.5, 7.5, 4], "texture": "#0"}, + "south": {"uv": [0.5, 3.5, 7.5, 4], "texture": "#0"}, + "west": {"uv": [0.5, 3.5, 7.5, 4], "texture": "#0"}, + "up": {"uv": [8.5, 9, 15.5, 16], "texture": "#0"}, + "down": {"uv": [8.5, 9, 15.5, 16], "texture": "#0"} + } + }, + { + "from": [4, 8, 14], + "to": [12, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 14]}, + "faces": { + "north": {"uv": [10, 3, 14, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 2], "texture": "#0"}, + "south": {"uv": [10, 3, 14, 5.5], "texture": "#0"}, + "west": {"uv": [7, 0, 8, 2], "texture": "#0"}, + "up": {"uv": [2, 1, 6, 0], "texture": "#0"} + } + }, + { + "from": [6, 7, 10], + "to": [10, 8, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 12]}, + "faces": { + "north": {"uv": [0, 0, 4, 1], "texture": "#1"}, + "east": {"uv": [0, 0, 4, 1], "texture": "#1"}, + "west": {"uv": [0, 0, 4, 1], "texture": "#1"}, + "up": {"uv": [7, 8, 11, 12], "texture": "#1"}, + "down": {"uv": [10, 8, 14, 12], "texture": "#1"} + } + }, + { + "from": [9, 8, 10], + "to": [10, 10, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 12]}, + "faces": { + "north": {"uv": [11, 7, 12, 9], "texture": "#1"}, + "east": {"uv": [11, 3, 15, 5], "texture": "#1"}, + "west": {"uv": [9, 2, 13, 4], "texture": "#1"}, + "up": {"uv": [10, 1, 14, 2], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [6, 8, 10], + "to": [7, 10, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 8, 12]}, + "faces": { + "north": {"uv": [9, 0, 10, 2], "texture": "#1"}, + "east": {"uv": [5, 0, 9, 2], "texture": "#1"}, + "west": {"uv": [0, 0, 4, 2], "texture": "#1"}, + "up": {"uv": [10, 8.5, 10.5, 10.5], "texture": "#1"} + } + }, + { + "from": [14, 1, 0], + "to": [16, 8, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 0, 0]}, + "faces": { + "north": {"uv": [0, 0, 1, 3.5], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 3.5], "texture": "#0"}, + "south": {"uv": [7, 0, 8, 3.5], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 3.5], "texture": "#0"}, + "up": {"uv": [1, 8, 0, 16], "texture": "#0"}, + "down": {"uv": [0, 8, 1, 16], "texture": "#0"} + } + }, + { + "from": [2, 1, 14], + "to": [14, 8, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 0, 14]}, + "faces": { + "north": {"uv": [9, 5.5, 15, 9], "texture": "#0"}, + "south": {"uv": [9, 5.5, 15, 9], "texture": "#0"}, + "up": {"uv": [1, 8, 7, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [1, 15, 7, 16], "texture": "#0"} + } + }, + { + "from": [2, 1, 0], + "to": [14, 8, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 0, 0]}, + "faces": { + "north": {"uv": [1, 0, 7, 3.5], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 3.5], "texture": "#0"}, + "up": {"uv": [1, 15, 7, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [1, 8, 7, 9], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [0, 1, 0], + "to": [2, 8, 16], + "faces": { + "north": {"uv": [7, 0, 8, 3.5], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 3.5], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 3.5], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 3.5], "texture": "#0"}, + "up": {"uv": [8, 8, 7, 16], "texture": "#0"}, + "down": {"uv": [7, 8, 8, 16], "texture": "#0"} + } + }, + { + "from": [2, 1, 2], + "to": [5, 6, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 1, 2]}, + "faces": { + "east": {"uv": [1, 0, 7, 2.5], "texture": "#0"}, + "up": {"uv": [9, 1.5, 15, 0], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [11, 1, 2], + "to": [14, 6, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 1, 2]}, + "faces": { + "west": {"uv": [1, 0, 7, 2.5], "texture": "#0"}, + "up": {"uv": [9, 0, 15, 1.5], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/casting_basin/item.json b/src/main/resources/assets/tfmg/models/block/casting_basin/item.json new file mode 100644 index 00000000..dd41bb0b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/casting_basin/item.json @@ -0,0 +1,135 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/casting_basin", + "1": "tfmg:block/fireproof_bricks", + "particle": "tfmg:block/casting_basin" + }, + "elements": [ + { + "from": [1, 0, 1], + "to": [15, 1, 15], + "faces": { + "north": {"uv": [0.5, 3.5, 7.5, 4], "texture": "#0"}, + "east": {"uv": [0.5, 3.5, 7.5, 4], "texture": "#0"}, + "south": {"uv": [0.5, 3.5, 7.5, 4], "texture": "#0"}, + "west": {"uv": [0.5, 3.5, 7.5, 4], "texture": "#0"}, + "up": {"uv": [8.5, 9, 15.5, 16], "texture": "#0"}, + "down": {"uv": [8.5, 9, 15.5, 16], "texture": "#0"} + } + }, + { + "from": [4, 8, 14], + "to": [12, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 14]}, + "faces": { + "north": {"uv": [10, 3, 14, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 2], "texture": "#0"}, + "south": {"uv": [10, 3, 14, 5.5], "texture": "#0"}, + "west": {"uv": [7, 0, 8, 2], "texture": "#0"}, + "up": {"uv": [2, 1, 6, 0], "texture": "#0"} + } + }, + { + "from": [6, 7, 10], + "to": [10, 8, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 12]}, + "faces": { + "north": {"uv": [0, 0, 4, 1], "texture": "#1"}, + "east": {"uv": [0, 0, 4, 1], "texture": "#1"}, + "west": {"uv": [0, 0, 4, 1], "texture": "#1"}, + "up": {"uv": [7, 8, 11, 12], "texture": "#1"}, + "down": {"uv": [10, 8, 14, 12], "texture": "#1"} + } + }, + { + "from": [9, 8, 10], + "to": [10, 10, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 12]}, + "faces": { + "north": {"uv": [11, 7, 12, 9], "texture": "#1"}, + "east": {"uv": [11, 3, 15, 5], "texture": "#1"}, + "west": {"uv": [9, 2, 13, 4], "texture": "#1"}, + "up": {"uv": [10, 1, 14, 2], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [6, 8, 10], + "to": [7, 10, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 8, 12]}, + "faces": { + "north": {"uv": [9, 0, 10, 2], "texture": "#1"}, + "east": {"uv": [5, 0, 9, 2], "texture": "#1"}, + "west": {"uv": [0, 0, 4, 2], "texture": "#1"}, + "up": {"uv": [10, 8.5, 10.5, 10.5], "texture": "#1"} + } + }, + { + "from": [14, 1, 0], + "to": [16, 8, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 0, 0]}, + "faces": { + "north": {"uv": [0, 0, 1, 3.5], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 3.5], "texture": "#0"}, + "south": {"uv": [7, 0, 8, 3.5], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 3.5], "texture": "#0"}, + "up": {"uv": [1, 8, 0, 16], "texture": "#0"}, + "down": {"uv": [0, 8, 1, 16], "texture": "#0"} + } + }, + { + "from": [2, 1, 14], + "to": [14, 8, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 0, 14]}, + "faces": { + "north": {"uv": [9, 5.5, 15, 9], "texture": "#0"}, + "south": {"uv": [9, 5.5, 15, 9], "texture": "#0"}, + "up": {"uv": [1, 8, 7, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [1, 15, 7, 16], "texture": "#0"} + } + }, + { + "from": [2, 1, 0], + "to": [14, 8, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 0, 0]}, + "faces": { + "north": {"uv": [1, 0, 7, 3.5], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 3.5], "texture": "#0"}, + "up": {"uv": [1, 15, 7, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [1, 8, 7, 9], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [0, 1, 0], + "to": [2, 8, 16], + "faces": { + "north": {"uv": [7, 0, 8, 3.5], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 3.5], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 3.5], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 3.5], "texture": "#0"}, + "up": {"uv": [8, 8, 7, 16], "texture": "#0"}, + "down": {"uv": [7, 8, 8, 16], "texture": "#0"} + } + }, + { + "from": [2, 1, 2], + "to": [5, 6, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 1, 2]}, + "faces": { + "east": {"uv": [1, 0, 7, 2.5], "texture": "#0"}, + "up": {"uv": [9, 0, 15, 1.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [11, 1, 2], + "to": [14, 6, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 1, 2]}, + "faces": { + "west": {"uv": [1, 0, 7, 2.5], "texture": "#0"}, + "up": {"uv": [9, 1.5, 15, 0], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/casting_spout/block.json b/src/main/resources/assets/tfmg/models/block/casting_spout/block.json new file mode 100644 index 00000000..790d9be2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/casting_spout/block.json @@ -0,0 +1,47 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "1": "tfmg:block/casting_spout", + "particle": "create:block/industrial_iron_block" + }, + "elements": [ + { + "from": [1, 2, 1], + "to": [15, 14, 15], + "faces": { + "north": {"uv": [0, 1, 7, 7], "texture": "#1"}, + "east": {"uv": [0, 1, 7, 7], "texture": "#1"}, + "south": {"uv": [0, 1, 7, 7], "texture": "#1"}, + "west": {"uv": [0, 1, 7, 7], "texture": "#1"}, + "up": {"uv": [0, 8.5, 7, 15.5], "texture": "#1"}, + "down": {"uv": [8, 8.5, 15, 15.5], "texture": "#1"} + } + }, + { + "from": [2, 0, 2], + "to": [14, 2, 14], + "faces": { + "north": {"uv": [0.5, 7, 6.5, 8], "texture": "#1"}, + "east": {"uv": [0.5, 7, 6.5, 8], "texture": "#1"}, + "south": {"uv": [0.5, 7, 6.5, 8], "texture": "#1"}, + "west": {"uv": [0.5, 7, 6.5, 8], "texture": "#1"}, + "up": {"uv": [8.5, 9, 14.5, 15], "texture": "#1"}, + "down": {"uv": [8.5, 9, 14.5, 15], "texture": "#1"} + } + }, + { + "from": [2, 14, 2], + "to": [14, 16, 14], + "faces": { + "north": {"uv": [0.5, 0, 6.5, 1], "texture": "#1"}, + "east": {"uv": [0.5, 0, 6.5, 1], "texture": "#1"}, + "south": {"uv": [0.5, 0, 6.5, 1], "texture": "#1"}, + "west": {"uv": [0.5, 0, 6.5, 1], "texture": "#1"}, + "up": {"uv": [0.5, 9, 6.5, 15], "texture": "#1"}, + "down": {"uv": [0.5, 9, 6.5, 15], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/casting_spout/bottom.json b/src/main/resources/assets/tfmg/models/block/casting_spout/bottom.json new file mode 100644 index 00000000..f7494a0d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/casting_spout/bottom.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "1": "tfmg:block/casting_spout" + }, + "elements": [ + + { + "from": [5, -7, 5], + "to": [11, -5, 11], + "faces": { + "north": {"uv": [8, 4.5, 11, 5.5], "texture": "#1"}, + "east": {"uv": [8, 4.5, 11, 5.5], "texture": "#1"}, + "south": {"uv": [8, 4.5, 11, 5.5], "texture": "#1"}, + "west": {"uv": [8, 4.5, 11, 5.5], "texture": "#1"}, + "up": {"uv": [8, 5.5, 11, 8.5], "texture": "#1"}, + "down": {"uv": [8, 5.5, 11, 8.5], "texture": "#1"} + } + }, + { + "from": [6, -5, 6], + "to": [10, -2, 10], + "faces": { + "north": {"uv": [11.5, 0.5, 13.5, 2], "texture": "#1"}, + "east": {"uv": [11.5, 0.5, 13.5, 2], "texture": "#1"}, + "south": {"uv": [11.5, 0.5, 13.5, 2], "texture": "#1"}, + "west": {"uv": [11.5, 0.5, 13.5, 2], "texture": "#1"}, + "up": {"uv": [13.5, 0, 15.5, 2], "texture": "#1"}, + "down": {"uv": [13.5, 0, 15.5, 2], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/casting_spout/connector.json b/src/main/resources/assets/tfmg/models/block/casting_spout/connector.json new file mode 100644 index 00000000..5622f050 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/casting_spout/connector.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "1": "tfmg:block/casting_spout" + }, + "elements": [ + + { + "from": [4, -2, 4], + "to": [12, 0, 12], + "faces": { + "north": {"uv": [11.5, 6, 15.5, 7], "texture": "#1"}, + "east": {"uv": [11.5, 6, 15.5, 7], "texture": "#1"}, + "south": {"uv": [11.5, 6, 15.5, 7], "texture": "#1"}, + "west": {"uv": [11.5, 6, 15.5, 7], "texture": "#1"}, + "up": {"uv": [9.5, 10, 13.5, 14], "texture": "#1"}, + "down": {"uv": [11.5, 2, 15.5, 6], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/casting_spout/item.json b/src/main/resources/assets/tfmg/models/block/casting_spout/item.json new file mode 100644 index 00000000..740f2c4c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/casting_spout/item.json @@ -0,0 +1,89 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "1": "tfmg:block/casting_spout" + }, + "elements": [ + { + "from": [1, 2, 1], + "to": [15, 14, 15], + "faces": { + "north": {"uv": [0, 1, 7, 7], "texture": "#1"}, + "east": {"uv": [0, 1, 7, 7], "texture": "#1"}, + "south": {"uv": [0, 1, 7, 7], "texture": "#1"}, + "west": {"uv": [0, 1, 7, 7], "texture": "#1"}, + "up": {"uv": [0, 8.5, 7, 15.5], "texture": "#1"}, + "down": {"uv": [8, 8.5, 15, 15.5], "texture": "#1"} + } + }, + { + "from": [2, 0, 2], + "to": [14, 2, 14], + "faces": { + "north": {"uv": [0.5, 7, 6.5, 8], "texture": "#1"}, + "east": {"uv": [0.5, 7, 6.5, 8], "texture": "#1"}, + "south": {"uv": [0.5, 7, 6.5, 8], "texture": "#1"}, + "west": {"uv": [0.5, 7, 6.5, 8], "texture": "#1"}, + "up": {"uv": [8.5, 9, 14.5, 15], "texture": "#1"}, + "down": {"uv": [8.5, 9, 14.5, 15], "texture": "#1"} + } + }, + { + "from": [2, 14, 2], + "to": [14, 16, 14], + "faces": { + "north": {"uv": [0.5, 0, 6.5, 1], "texture": "#1"}, + "east": {"uv": [0.5, 0, 6.5, 1], "texture": "#1"}, + "south": {"uv": [0.5, 0, 6.5, 1], "texture": "#1"}, + "west": {"uv": [0.5, 0, 6.5, 1], "texture": "#1"}, + "up": {"uv": [0.5, 9, 6.5, 15], "texture": "#1"}, + "down": {"uv": [0.5, 9, 6.5, 15], "texture": "#1"} + } + }, + { + "from": [4, -2, 4], + "to": [12, 0, 12], + "faces": { + "north": {"uv": [11.5, 6, 15.5, 7], "texture": "#1"}, + "east": {"uv": [11.5, 6, 15.5, 7], "texture": "#1"}, + "south": {"uv": [11.5, 6, 15.5, 7], "texture": "#1"}, + "west": {"uv": [11.5, 6, 15.5, 7], "texture": "#1"}, + "up": {"uv": [9.5, 10, 13.5, 14], "texture": "#1"}, + "down": {"uv": [11.5, 2, 15.5, 6], "texture": "#1"} + } + }, + { + "from": [5, -7, 5], + "to": [11, -5, 11], + "faces": { + "north": {"uv": [8, 4.5, 11, 5.5], "texture": "#1"}, + "east": {"uv": [8, 4.5, 11, 5.5], "texture": "#1"}, + "south": {"uv": [8, 4.5, 11, 5.5], "texture": "#1"}, + "west": {"uv": [8, 4.5, 11, 5.5], "texture": "#1"}, + "up": {"uv": [8, 5.5, 11, 8.5], "texture": "#1"}, + "down": {"uv": [8, 5.5, 11, 8.5], "texture": "#1"} + } + }, + { + "from": [6, -5, 6], + "to": [10, -2, 10], + "faces": { + "north": {"uv": [11.5, 0.5, 13.5, 2], "texture": "#1"}, + "east": {"uv": [11.5, 0.5, 13.5, 2], "texture": "#1"}, + "south": {"uv": [11.5, 0.5, 13.5, 2], "texture": "#1"}, + "west": {"uv": [11.5, 0.5, 13.5, 2], "texture": "#1"}, + "up": {"uv": [13.5, 0, 15.5, 2], "texture": "#1"}, + "down": {"uv": [13.5, 0, 15.5, 2], "texture": "#1"} + } + } + ], + "display": { + "gui": { + "rotation": [23, 45, 0], + "translation": [0, 1.5, 0], + "scale": [0.6, 0.6, 0.6] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/catalyst_holder/block.json b/src/main/resources/assets/tfmg/models/block/catalyst_holder/block.json new file mode 100644 index 00000000..7354d9b1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/catalyst_holder/block.json @@ -0,0 +1,48 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/industrial_aluminum_casing", + "particle": "tfmg:block/industrial_aluminum_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "from": [6, -6, 7], + "to": [6, 0, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [6, -2, 7]}, + "faces": { + "north": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "east": {"uv": [14, 8, 16, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "west": {"uv": [14, 8, 16, 14], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#0"} + } + }, + { + "from": [10, -6, 7], + "to": [10, 0, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [10, -2, 7]}, + "faces": { + "north": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "east": {"uv": [14, 8, 16, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "west": {"uv": [0, 8, 2, 14], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/caution_block.json b/src/main/resources/assets/tfmg/models/block/caution_block.json new file mode 100644 index 00000000..22b080c1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/caution_block.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/caution_block/red", + "particle": "tfmg:block/caution_block/red" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/chemical_bath_stand/block.json b/src/main/resources/assets/tfmg/models/block/chemical_bath_stand/block.json new file mode 100644 index 00000000..9bf3daf8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/chemical_bath_stand/block.json @@ -0,0 +1,4 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block" +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cinder_block/block.json b/src/main/resources/assets/tfmg/models/block/cinder_block/block.json new file mode 100644 index 00000000..922c711e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cinder_block/block.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "top": "tfmg:block/cinderblock_top", + "bottom": "tfmg:block/cinderblock_top", + "side": "tfmg:block/cinderblock" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cinder_block/item.json b/src/main/resources/assets/tfmg/models/block/cinder_block/item.json new file mode 100644 index 00000000..922c711e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cinder_block/item.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "top": "tfmg:block/cinderblock_top", + "bottom": "tfmg:block/cinderblock_top", + "side": "tfmg:block/cinderblock" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cinderflour_block/block.json b/src/main/resources/assets/tfmg/models/block/cinderflour_block/block.json new file mode 100644 index 00000000..734b3d51 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cinderflour_block/block.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "top": "tfmg:block/cinderflourblock_top", + "bottom": "tfmg:block/cinderflourblock_top", + "side": "tfmg:block/cinderflourblock" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/cinderflour_block/item.json b/src/main/resources/assets/tfmg/models/block/cinderflour_block/item.json new file mode 100644 index 00000000..734b3d51 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/cinderflour_block/item.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "top": "tfmg:block/cinderflourblock_top", + "bottom": "tfmg:block/cinderflourblock_top", + "side": "tfmg:block/cinderflourblock" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/circular_light/block.json b/src/main/resources/assets/tfmg/models/block/circular_light/block.json new file mode 100644 index 00000000..25144581 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/circular_light/block.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/circular_lamp_off_outlet", + "1": "tfmg:block/circular_lamp_off", + "particle": "tfmg:block/circular_lamp_off" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 10, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [3, 3, 13, 13], "texture": "#1"}, + "east": {"uv": [3, 3, 13, 13], "texture": "#1"}, + "south": {"uv": [3, 3, 13, 13], "texture": "#1"}, + "west": {"uv": [3, 3, 13, 13], "texture": "#1"}, + "up": {"uv": [3, 3, 13, 13], "texture": "#1"}, + "down": {"uv": [3, 3, 13, 13], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/circular_light/block_powered.json b/src/main/resources/assets/tfmg/models/block/circular_light/block_powered.json new file mode 100644 index 00000000..db20c28c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/circular_light/block_powered.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "2": "tfmg:block/circular_lamp_on_outlet", + "3": "tfmg:block/circular_lamp_on", + "particle": "tfmg:block/circular_lamp_on" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 10, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [3, 3, 13, 13], "texture": "#3"}, + "east": {"uv": [3, 3, 13, 13], "texture": "#3"}, + "south": {"uv": [3, 3, 13, 13], "texture": "#3"}, + "west": {"uv": [3, 3, 13, 13], "texture": "#3"}, + "up": {"uv": [3, 3, 13, 13], "texture": "#3"}, + "down": {"uv": [3, 3, 13, 13], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/circular_light/item.json b/src/main/resources/assets/tfmg/models/block/circular_light/item.json new file mode 100644 index 00000000..e66bcc42 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/circular_light/item.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/circular_lamp_off_outlet", + "1": "tfmg:block/circular_lamp_off", + "particle": "tfmg:block/circular_lamp_off_outlet" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 10, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [3, 3, 13, 13], "texture": "#1"}, + "east": {"uv": [3, 3, 13, 13], "texture": "#1"}, + "south": {"uv": [3, 3, 13, 13], "texture": "#1"}, + "west": {"uv": [3, 3, 13, 13], "texture": "#1"}, + "up": {"uv": [3, 3, 13, 13], "texture": "#1"}, + "down": {"uv": [3, 3, 13, 13], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/circular_light/light.json b/src/main/resources/assets/tfmg/models/block/circular_light/light.json new file mode 100644 index 00000000..22bad623 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/circular_light/light.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/light", + "particle": "tfmg:block/light" + }, + "elements": [ + { + "from": [2.75, 2.75, -0.25], + "to": [13.25, 13.25, 10.25], + "rotation": {"angle": 0, "axis": "x", "origin": [7, 8, 8]}, + "faces": { + "north": {"uv": [3, 8, 13, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [3, 8, 13, 16], "rotation": 270, "texture": "#0"}, + "south": {"uv": [3, 8, 13, 16], "texture": "#0"}, + "west": {"uv": [3, 8, 13, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [3, 8, 13, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [3, 8, 13, 16], "texture": "#0"} + } + }, + { + "from": [2.5, 2.5, -0.5], + "to": [13.5, 13.5, 10.5], + "rotation": {"angle": 0, "axis": "x", "origin": [7, 8, 8]}, + "faces": { + "north": {"uv": [3, 0, 13, 8], "rotation": 180, "texture": "#0"}, + "east": {"uv": [3, 0, 13, 8], "rotation": 270, "texture": "#0"}, + "south": {"uv": [3, 0, 13, 8], "texture": "#0"}, + "west": {"uv": [3, 0, 13, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [3, 0, 13, 8], "rotation": 180, "texture": "#0"}, + "down": {"uv": [3, 0, 13, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/coal_coke_dust_layer.json b/src/main/resources/assets/tfmg/models/block/coal_coke_dust_layer.json new file mode 100644 index 00000000..231e1d85 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/coal_coke_dust_layer.json @@ -0,0 +1,20 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/coal_coke_dust", + "particle": "tfmg:block/coal_coke_dust" + }, + "elements": [ + { + "from": [0, 0.1, 0], + "to": [16, 0.1, 16], + "faces": { + "north": {"uv": [0, 0, 16, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 0], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/coke_oven/block.json b/src/main/resources/assets/tfmg/models/block/coke_oven/block.json new file mode 100644 index 00000000..339b53ce --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/coke_oven/block.json @@ -0,0 +1,7 @@ +{ + "credit": "Made with Blockbench", + "parent": "tfmg:block/coke_oven/controller", + "textures": { + "front": "tfmg:block/coke_oven/casual" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/coke_oven/block_bottom_off.json b/src/main/resources/assets/tfmg/models/block/coke_oven/block_bottom_off.json new file mode 100644 index 00000000..6ae02739 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/coke_oven/block_bottom_off.json @@ -0,0 +1,6 @@ +{ + "parent": "tfmg:block/coke_oven/controller", + "textures": { + "front": "tfmg:block/coke_oven/coke_oven_front_bottom_off" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/coke_oven/block_bottom_on.json b/src/main/resources/assets/tfmg/models/block/coke_oven/block_bottom_on.json new file mode 100644 index 00000000..0d31a9cc --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/coke_oven/block_bottom_on.json @@ -0,0 +1,6 @@ +{ + "parent": "tfmg:block/coke_oven/controller", + "textures": { + "front": "tfmg:block/coke_oven/coke_oven_front_bottom_on" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/coke_oven/block_casual.json b/src/main/resources/assets/tfmg/models/block/coke_oven/block_casual.json new file mode 100644 index 00000000..85551f81 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/coke_oven/block_casual.json @@ -0,0 +1,6 @@ +{ + "parent": "tfmg:block/coke_oven/controller", + "textures": { + "front": "tfmg:block/coke_oven/side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/coke_oven/block_middle_off.json b/src/main/resources/assets/tfmg/models/block/coke_oven/block_middle_off.json new file mode 100644 index 00000000..bfb51bda --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/coke_oven/block_middle_off.json @@ -0,0 +1,6 @@ +{ + "parent": "tfmg:block/coke_oven/controller", + "textures": { + "front": "tfmg:block/coke_oven/coke_oven_front_middle_off" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/coke_oven/block_middle_on.json b/src/main/resources/assets/tfmg/models/block/coke_oven/block_middle_on.json new file mode 100644 index 00000000..d92daccd --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/coke_oven/block_middle_on.json @@ -0,0 +1,6 @@ +{ + "parent": "tfmg:block/coke_oven/controller", + "textures": { + "front": "tfmg:block/coke_oven/coke_oven_front_middle_on" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/coke_oven/block_top_off.json b/src/main/resources/assets/tfmg/models/block/coke_oven/block_top_off.json new file mode 100644 index 00000000..dd0ccd53 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/coke_oven/block_top_off.json @@ -0,0 +1,6 @@ +{ + "parent": "tfmg:block/coke_oven/controller", + "textures": { + "front": "tfmg:block/coke_oven/coke_oven_front_top_off" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/coke_oven/block_top_on.json b/src/main/resources/assets/tfmg/models/block/coke_oven/block_top_on.json new file mode 100644 index 00000000..46382675 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/coke_oven/block_top_on.json @@ -0,0 +1,6 @@ +{ + "parent": "tfmg:block/coke_oven/controller", + "textures": { + "front": "tfmg:block/coke_oven/coke_oven_front_top_on" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/coke_oven/controller.json b/src/main/resources/assets/tfmg/models/block/coke_oven/controller.json new file mode 100644 index 00000000..48ed2b7c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/coke_oven/controller.json @@ -0,0 +1,12 @@ +{ + "parent": "minecraft:block/cube", + "textures": { + "particle": "tfmg:block/coke_oven/side", + "down": "tfmg:block/coke_oven/bottom", + "up": "tfmg:block/coke_oven/top", + "north": "tfmg:block/coke_oven/side", + "east": "tfmg:block/coke_oven/side", + "south": "#front", + "west": "tfmg:block/coke_oven/side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/coke_oven/door_left.json b/src/main/resources/assets/tfmg/models/block/coke_oven/door_left.json new file mode 100644 index 00000000..ee1a2694 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/coke_oven/door_left.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/coke_oven/coke_oven_door", + "particle": "tfmg:block/coke_oven/coke_oven_door" + }, + "elements": [ + { + "from": [8, 0, -1], + "to": [16, 16, 0], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 0, -2]}, + "faces": { + "north": {"uv": [0, 0, 8, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#0"}, + "south": {"uv": [8, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 1], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/coke_oven/door_left_bottom.json b/src/main/resources/assets/tfmg/models/block/coke_oven/door_left_bottom.json new file mode 100644 index 00000000..57a136e9 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/coke_oven/door_left_bottom.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/coke_oven/door_left", + "textures": { + "0": "tfmg:block/coke_oven/coke_oven_door_bottom", + "particle": "tfmg:block/coke_oven/coke_oven_door" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/coke_oven/door_left_middle.json b/src/main/resources/assets/tfmg/models/block/coke_oven/door_left_middle.json new file mode 100644 index 00000000..39a9611b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/coke_oven/door_left_middle.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/coke_oven/door_left", + "textures": { + "0": "tfmg:block/coke_oven/coke_oven_door_middle", + "particle": "tfmg:block/coke_oven/coke_oven_door" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/coke_oven/door_left_top.json b/src/main/resources/assets/tfmg/models/block/coke_oven/door_left_top.json new file mode 100644 index 00000000..c3ad937b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/coke_oven/door_left_top.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/coke_oven/door_left", + "textures": { + "0": "tfmg:block/coke_oven/coke_oven_door_top", + "particle": "tfmg:block/coke_oven/coke_oven_door" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/coke_oven/door_right.json b/src/main/resources/assets/tfmg/models/block/coke_oven/door_right.json new file mode 100644 index 00000000..95e826b9 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/coke_oven/door_right.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/coke_oven/coke_oven_door", + "particle": "tfmg:block/coke_oven/coke_oven_door" + }, + "elements": [ + { + "from": [0, 0, -1], + "to": [8, 16, 0], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 0, 1]}, + "faces": { + "north": {"uv": [8, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 1], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 8, 1], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/coke_oven/door_right_bottom.json b/src/main/resources/assets/tfmg/models/block/coke_oven/door_right_bottom.json new file mode 100644 index 00000000..d386b62d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/coke_oven/door_right_bottom.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/coke_oven/door_right", + "textures": { + "0": "tfmg:block/coke_oven/coke_oven_door_bottom", + "particle": "tfmg:block/coke_oven/coke_oven_door" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/coke_oven/door_right_middle.json b/src/main/resources/assets/tfmg/models/block/coke_oven/door_right_middle.json new file mode 100644 index 00000000..fd9ecbc8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/coke_oven/door_right_middle.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/coke_oven/door_right", + "textures": { + "0": "tfmg:block/coke_oven/coke_oven_door_middle", + "particle": "tfmg:block/coke_oven/coke_oven_door" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/coke_oven/door_right_top.json b/src/main/resources/assets/tfmg/models/block/coke_oven/door_right_top.json new file mode 100644 index 00000000..03303d1d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/coke_oven/door_right_top.json @@ -0,0 +1,7 @@ +{ + "parent": "tfmg:block/coke_oven/door_right", + "textures": { + "0": "tfmg:block/coke_oven/coke_oven_door_top", + "particle": "tfmg:block/coke_oven/coke_oven_door" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/coke_oven/item.json b/src/main/resources/assets/tfmg/models/block/coke_oven/item.json new file mode 100644 index 00000000..2e904da8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/coke_oven/item.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/coke_oven/coke_oven_door", + "1": "tfmg:block/coke_oven/side", + "3": "tfmg:block/coke_oven/top", + "particle": "tfmg:block/coke_oven/coke_oven_door" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "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": "#3"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#3"} + } + }, + { + "from": [0, 0, -1], + "to": [16, 16, 0], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -16]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 1], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/compact_engine/block.json b/src/main/resources/assets/tfmg/models/block/compact_engine/block.json new file mode 100644 index 00000000..57f37042 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/compact_engine/block.json @@ -0,0 +1,94 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/engines/compact", + "particle": "tfmg:block/engines/compact" + }, + "elements": [ + { + "from": [3, 3, 2], + "to": [13, 13, 14], + "faces": { + "north": {"uv": [0, 5, 2.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 3, 2.5], "texture": "#0"}, + "south": {"uv": [0, 5, 2.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 2.5, 3, 5], "texture": "#0"}, + "up": {"uv": [5.5, 3, 3, 0], "texture": "#0"}, + "down": {"uv": [5.5, 0, 3, 3], "texture": "#0"} + } + }, + { + "from": [4, 4, 14], + "to": [12, 12, 15], + "faces": { + "north": {"uv": [8, 0, 10, 2], "texture": "#0"}, + "east": {"uv": [12.75, 13, 13, 15], "texture": "#0"}, + "south": {"uv": [8, 7.5, 10, 9.5], "texture": "#0"}, + "west": {"uv": [10, 13, 10.25, 15], "texture": "#0"}, + "up": {"uv": [12.5, 13, 10.5, 12.75], "texture": "#0"}, + "down": {"uv": [12.5, 15, 10.5, 15.25], "texture": "#0"} + } + }, + { + "from": [0, 6, 3], + "to": [16, 10, 7], + "faces": { + "north": {"uv": [0, 7.5, 4, 8.5], "texture": "#0"}, + "east": {"uv": [1, 10.5, 2, 11.5], "texture": "#0"}, + "south": {"uv": [0, 7.5, 4, 8.5], "texture": "#0"}, + "west": {"uv": [2, 10.5, 3, 11.5], "texture": "#0"}, + "up": {"uv": [4, 8.5, 0, 7.5], "texture": "#0"}, + "down": {"uv": [4, 7.5, 0, 8.5], "texture": "#0"} + } + }, + { + "from": [0, 6, 9], + "to": [16, 10, 13], + "faces": { + "north": {"uv": [0, 7.5, 4, 8.5], "texture": "#0"}, + "east": {"uv": [10, 8.25, 11, 9.25], "texture": "#0"}, + "south": {"uv": [0, 7.5, 4, 8.5], "texture": "#0"}, + "west": {"uv": [9.5, 10.25, 10.5, 11.25], "texture": "#0"}, + "up": {"uv": [4, 8.5, 0, 7.5], "texture": "#0"}, + "down": {"uv": [4, 7.5, 0, 8.5], "texture": "#0"} + } + }, + { + "from": [1, 0, 1], + "to": [5, 4, 15], + "faces": { + "north": {"uv": [10.5, 4, 11.5, 5], "texture": "#0"}, + "east": {"uv": [1, 9.5, 4.5, 10.5], "texture": "#0"}, + "south": {"uv": [10.5, 4, 11.5, 5], "texture": "#0"}, + "west": {"uv": [1, 9.5, 4.5, 10.5], "texture": "#0"}, + "up": {"uv": [8, 12, 7, 8.5], "texture": "#0"}, + "down": {"uv": [1, 9.5, 0, 13], "texture": "#0"} + } + }, + { + "from": [5, 0, 4], + "to": [11, 3, 12], + "faces": { + "north": {"uv": [10, 0.75, 11.5, 1.5], "texture": "#0"}, + "east": {"uv": [9.5, 9.5, 11.5, 10.25], "texture": "#0"}, + "south": {"uv": [10, 0.75, 11.5, 1.5], "texture": "#0"}, + "west": {"uv": [10, 0, 12, 0.75], "texture": "#0"}, + "up": {"uv": [7, 11.5, 5.5, 9.5], "texture": "#0"}, + "down": {"uv": [9.5, 9.5, 8, 11.5], "texture": "#0"} + } + }, + { + "from": [11, 0, 1], + "to": [15, 4, 15], + "faces": { + "north": {"uv": [10.5, 4, 11.5, 5], "texture": "#0"}, + "east": {"uv": [1, 9.5, 4.5, 10.5], "texture": "#0"}, + "south": {"uv": [10.5, 4, 11.5, 5], "texture": "#0"}, + "west": {"uv": [1, 9.5, 4.5, 10.5], "texture": "#0"}, + "up": {"uv": [8, 15.5, 7, 12], "texture": "#0"}, + "down": {"uv": [5.5, 9.5, 4.5, 13], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/compact_engine/item.json b/src/main/resources/assets/tfmg/models/block/compact_engine/item.json new file mode 100644 index 00000000..eb96b537 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/compact_engine/item.json @@ -0,0 +1,109 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/engines/compact", + "1": "tfmg:block/shaft_top", + "2": "tfmg:block/shaft", + "particle": "tfmg:block/engines/compact" + }, + "elements": [ + { + "from": [3, 3, 2], + "to": [13, 13, 14], + "faces": { + "north": {"uv": [0, 5, 2.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 3, 2.5], "texture": "#0"}, + "south": {"uv": [0, 5, 2.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 2.5, 3, 5], "texture": "#0"}, + "up": {"uv": [5.5, 3, 3, 0], "texture": "#0"}, + "down": {"uv": [5.5, 0, 3, 3], "texture": "#0"} + } + }, + { + "from": [4, 4, 14], + "to": [12, 12, 15], + "faces": { + "north": {"uv": [8, 0, 10, 2], "texture": "#0"}, + "east": {"uv": [12.75, 13, 13, 15], "texture": "#0"}, + "south": {"uv": [8, 7.5, 10, 9.5], "texture": "#0"}, + "west": {"uv": [10, 13, 10.25, 15], "texture": "#0"}, + "up": {"uv": [12.5, 13, 10.5, 12.75], "texture": "#0"}, + "down": {"uv": [12.5, 15, 10.5, 15.25], "texture": "#0"} + } + }, + { + "from": [0, 6, 3], + "to": [16, 10, 7], + "faces": { + "north": {"uv": [0, 7.5, 4, 8.5], "texture": "#0"}, + "east": {"uv": [1, 10.5, 2, 11.5], "texture": "#0"}, + "south": {"uv": [0, 7.5, 4, 8.5], "texture": "#0"}, + "west": {"uv": [2, 10.5, 3, 11.5], "texture": "#0"}, + "up": {"uv": [4, 8.5, 0, 7.5], "texture": "#0"}, + "down": {"uv": [4, 7.5, 0, 8.5], "texture": "#0"} + } + }, + { + "from": [0, 6, 9], + "to": [16, 10, 13], + "faces": { + "north": {"uv": [0, 7.5, 4, 8.5], "texture": "#0"}, + "east": {"uv": [10, 8.25, 11, 9.25], "texture": "#0"}, + "south": {"uv": [0, 7.5, 4, 8.5], "texture": "#0"}, + "west": {"uv": [9.5, 10.25, 10.5, 11.25], "texture": "#0"}, + "up": {"uv": [4, 8.5, 0, 7.5], "texture": "#0"}, + "down": {"uv": [4, 7.5, 0, 8.5], "texture": "#0"} + } + }, + { + "from": [1, 0, 1], + "to": [5, 4, 15], + "faces": { + "north": {"uv": [10.5, 4, 11.5, 5], "texture": "#0"}, + "east": {"uv": [1, 9.5, 4.5, 10.5], "texture": "#0"}, + "south": {"uv": [10.5, 4, 11.5, 5], "texture": "#0"}, + "west": {"uv": [1, 9.5, 4.5, 10.5], "texture": "#0"}, + "up": {"uv": [8, 12, 7, 8.5], "texture": "#0"}, + "down": {"uv": [1, 9.5, 0, 13], "texture": "#0"} + } + }, + { + "from": [5, 0, 4], + "to": [11, 3, 12], + "faces": { + "north": {"uv": [10, 0.75, 11.5, 1.5], "texture": "#0"}, + "east": {"uv": [9.5, 9.5, 11.5, 10.25], "texture": "#0"}, + "south": {"uv": [10, 0.75, 11.5, 1.5], "texture": "#0"}, + "west": {"uv": [10, 0, 12, 0.75], "texture": "#0"}, + "up": {"uv": [7, 11.5, 5.5, 9.5], "texture": "#0"}, + "down": {"uv": [9.5, 9.5, 8, 11.5], "texture": "#0"} + } + }, + { + "from": [11, 0, 1], + "to": [15, 4, 15], + "faces": { + "north": {"uv": [10.5, 4, 11.5, 5], "texture": "#0"}, + "east": {"uv": [1, 9.5, 4.5, 10.5], "texture": "#0"}, + "south": {"uv": [10.5, 4, 11.5, 5], "texture": "#0"}, + "west": {"uv": [1, 9.5, 4.5, 10.5], "texture": "#0"}, + "up": {"uv": [8, 15.5, 7, 12], "texture": "#0"}, + "down": {"uv": [5.5, 9.5, 4.5, 13], "texture": "#0"} + } + }, + { + "name": "Axis", + "from": [6, 6, 0], + "to": [10, 10, 10], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [6, 6, 10, 10], "rotation": 180, "texture": "#1"}, + "east": {"uv": [6, 0, 10, 10], "rotation": 270, "texture": "#2"}, + "west": {"uv": [6, 0, 10, 10], "rotation": 90, "texture": "#2"}, + "up": {"uv": [6, 0, 10, 10], "rotation": 180, "texture": "#2"}, + "down": {"uv": [6, 0, 10, 10], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/concrete_encased_cable_tube.json b/src/main/resources/assets/tfmg/models/block/concrete_encased_cable_tube.json new file mode 100644 index 00000000..e5b17ecc --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/concrete_encased_cable_tube.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/concrete", + "1": "tfmg:block/concrete_encased_wire", + "particle": "tfmg:block/concrete" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/concrete_encased_electric_post.json b/src/main/resources/assets/tfmg/models/block/concrete_encased_electric_post.json new file mode 100644 index 00000000..e5b17ecc --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/concrete_encased_electric_post.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/concrete", + "1": "tfmg:block/concrete_encased_wire", + "particle": "tfmg:block/concrete" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/concrete_encased_industrial_pipe/block.json b/src/main/resources/assets/tfmg/models/block/concrete_encased_industrial_pipe/block.json new file mode 100644 index 00000000..64759511 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/concrete_encased_industrial_pipe/block.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/concrete_encased_industrial_pipe", + "1": "tfmg:block/concrete", + "particle": "tfmg:block/concrete_encased_industrial_pipe" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "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": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/concrete_encased_industrial_pipe/item.json b/src/main/resources/assets/tfmg/models/block/concrete_encased_industrial_pipe/item.json new file mode 100644 index 00000000..64759511 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/concrete_encased_industrial_pipe/item.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/concrete_encased_industrial_pipe", + "1": "tfmg:block/concrete", + "particle": "tfmg:block/concrete_encased_industrial_pipe" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "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": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/concrete_hose/block.json b/src/main/resources/assets/tfmg/models/block/concrete_hose/block.json new file mode 100644 index 00000000..812d4370 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/concrete_hose/block.json @@ -0,0 +1,129 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "create:block/hose_pulley", + "6": "tfmg:block/heavy_machinery_casing", + "7": "tfmg:block/steel_encased_pipe", + "8": "tfmg:block/heavy_gearbox", + "particle": "tfmg:block/heavy_machinery_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [3, 0, 0, 16], "texture": "#6"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#7"}, + "south": {"uv": [0, 0, 3, 16], "texture": "#6"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#6"}, + "up": {"uv": [16, 0, 13, 16], "texture": "#6"}, + "down": {"uv": [16, 0, 13, 16], "texture": "#6"} + } + }, + { + "from": [-1, 3, 3], + "to": [0, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [-1, 3, 3]}, + "faces": { + "north": {"uv": [12, 3, 13, 13], "texture": "#7"}, + "south": {"uv": [12, 3, 13, 13], "texture": "#7"}, + "west": {"uv": [3, 3, 13, 13], "texture": "#7"}, + "up": {"uv": [3, 3, 13, 4], "rotation": 90, "texture": "#7"}, + "down": {"uv": [3, 12, 13, 13], "rotation": 90, "texture": "#7"} + } + }, + { + "from": [14, 2, 2], + "to": [15, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 2, 2]}, + "faces": { + "east": {"uv": [2, 2, 14, 14], "texture": "#8"} + } + }, + { + "from": [13, 0, 14], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 0, 14]}, + "faces": { + "north": {"uv": [1, 0, 4, 16], "texture": "#6"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#6"}, + "south": {"uv": [13, 0, 16, 16], "texture": "#6"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#6"}, + "up": {"uv": [0, 0, 3, 2], "rotation": 180, "texture": "#6"}, + "down": {"uv": [0, 14, 3, 16], "rotation": 180, "texture": "#6"} + } + }, + { + "from": [13, 0, 0], + "to": [16, 16, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 0, 0]}, + "faces": { + "north": {"uv": [0, 0, 3, 16], "texture": "#6"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#6"}, + "south": {"uv": [16, 0, 13, 16], "texture": "#6"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#6"}, + "up": {"uv": [0, 14, 3, 16], "rotation": 180, "texture": "#6"}, + "down": {"uv": [0, 0, 3, 2], "rotation": 180, "texture": "#6"} + } + }, + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 14, 2]}, + "faces": { + "north": {"uv": [3, 16, 13, 14], "texture": "#6"}, + "south": {"uv": [3, 0, 13, 2], "texture": "#6"}, + "up": {"uv": [3, 3, 13, 13], "texture": "#6"} + } + }, + { + "from": [13, 14, 2], + "to": [16, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [26, 14, 2]}, + "faces": { + "east": {"uv": [2, 0, 14, 2], "texture": "#6"}, + "west": {"uv": [2, 0, 14, 2], "texture": "#6"}, + "up": {"uv": [0, 2, 3, 14], "rotation": 180, "texture": "#6"}, + "down": {"uv": [0, 2, 3, 14], "texture": "#6"} + } + }, + { + "from": [13, 0, 2], + "to": [16, 2, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [26, 0, 2]}, + "faces": { + "east": {"uv": [2, 14, 14, 16], "texture": "#6"}, + "west": {"uv": [2, 14, 14, 16], "texture": "#6"}, + "up": {"uv": [0, 2, 3, 14], "texture": "#6"}, + "down": {"uv": [0, 2, 3, 14], "rotation": 180, "texture": "#6"} + } + }, + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 0, 2]}, + "faces": { + "north": {"uv": [2, 16, 12, 14], "rotation": 180, "texture": "#6"}, + "east": {"uv": [0, 0, 10, 2], "texture": "#1"}, + "south": {"uv": [2, 16, 12, 14], "rotation": 180, "texture": "#6"}, + "west": {"uv": [0, 0, 10, 2], "texture": "#1"}, + "down": {"uv": [3, 3, 13, 13], "texture": "#8"} + } + } + ], + "display": { + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + } + }, + "groups": [ + { + "name": "casing", + "origin": [14, 0, 2], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/concrete_hose/item.json b/src/main/resources/assets/tfmg/models/block/concrete_hose/item.json new file mode 100644 index 00000000..4c7a3b91 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/concrete_hose/item.json @@ -0,0 +1,176 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "2": "create:block/hose_pulley_coil", + "4": "create:block/axis", + "5": "create:block/axis_top", + "6": "tfmg:block/heavy_machinery_casing", + "7": "tfmg:block/steel_encased_pipe", + "8": "tfmg:block/heavy_gearbox", + "particle": "create:block/fluid_tank_inner" + }, + "elements": [ + { + "from": [3, 2, 2], + "to": [13, 14, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 2, 2]}, + "faces": { + "north": {"uv": [3, 2, 13, 14], "texture": "#2"}, + "up": {"uv": [3, 0, 13, 2], "rotation": 180, "texture": "#2"}, + "down": {"uv": [3, 14, 13, 16], "rotation": 180, "texture": "#2"} + } + }, + { + "from": [3, 2, 12], + "to": [13, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 2, 12]}, + "faces": { + "south": {"uv": [3, 2, 13, 14], "texture": "#2"}, + "up": {"uv": [3, 0, 13, 2], "texture": "#2"}, + "down": {"uv": [3, 14, 13, 16], "texture": "#2"} + } + }, + { + "from": [8, 6, 6], + "to": [16, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 6, 6]}, + "faces": { + "north": {"uv": [6, 0, 10, 8], "rotation": 270, "texture": "#4"}, + "east": {"uv": [6, 6, 10, 10], "texture": "#5"}, + "south": {"uv": [6, 0, 10, 8], "rotation": 90, "texture": "#4"}, + "west": {"uv": [0, 0, 4, 4], "texture": "#4"}, + "up": {"uv": [6, 0, 10, 8], "rotation": 90, "texture": "#4"}, + "down": {"uv": [6, 0, 10, 8], "rotation": 90, "texture": "#4"} + } + }, + { + "from": [0, 0, 0], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [3, 0, 0, 16], "texture": "#6"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#6"}, + "south": {"uv": [0, 0, 3, 16], "texture": "#6"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#6"}, + "up": {"uv": [16, 0, 13, 16], "texture": "#6"}, + "down": {"uv": [16, 0, 13, 16], "texture": "#6"} + } + }, + { + "from": [-1, 3, 3], + "to": [0, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [-1, 3, 3]}, + "faces": { + "north": {"uv": [12, 3, 13, 13], "texture": "#7"}, + "south": {"uv": [12, 3, 13, 13], "texture": "#7"}, + "west": {"uv": [3, 3, 13, 13], "texture": "#7"}, + "up": {"uv": [3, 3, 13, 4], "rotation": 90, "texture": "#7"}, + "down": {"uv": [3, 12, 13, 13], "rotation": 90, "texture": "#7"} + } + }, + { + "from": [14, 2, 2], + "to": [15, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 2, 2]}, + "faces": { + "east": {"uv": [2, 2, 14, 14], "texture": "#8"} + } + }, + { + "from": [13, 0, 14], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 0, 14]}, + "faces": { + "north": {"uv": [1, 0, 4, 16], "texture": "#6"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#6"}, + "south": {"uv": [13, 0, 16, 16], "texture": "#6"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#6"}, + "up": {"uv": [0, 0, 3, 2], "rotation": 180, "texture": "#6"}, + "down": {"uv": [0, 14, 3, 16], "rotation": 180, "texture": "#6"} + } + }, + { + "from": [13, 0, 0], + "to": [16, 16, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 0, 0]}, + "faces": { + "north": {"uv": [0, 0, 3, 16], "texture": "#6"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#6"}, + "south": {"uv": [16, 0, 13, 16], "texture": "#6"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#6"}, + "up": {"uv": [0, 14, 3, 16], "rotation": 180, "texture": "#6"}, + "down": {"uv": [0, 0, 3, 2], "rotation": 180, "texture": "#6"} + } + }, + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 14, 2]}, + "faces": { + "north": {"uv": [3, 16, 13, 14], "texture": "#6"}, + "south": {"uv": [3, 0, 13, 2], "texture": "#6"}, + "up": {"uv": [3, 3, 13, 13], "texture": "#6"} + } + }, + { + "from": [13, 14, 2], + "to": [16, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [26, 14, 2]}, + "faces": { + "east": {"uv": [2, 0, 14, 2], "texture": "#6"}, + "west": {"uv": [2, 0, 14, 2], "texture": "#6"}, + "up": {"uv": [0, 2, 3, 14], "rotation": 180, "texture": "#6"}, + "down": {"uv": [0, 2, 3, 14], "texture": "#6"} + } + }, + { + "from": [13, 0, 2], + "to": [16, 2, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [26, 0, 2]}, + "faces": { + "east": {"uv": [2, 14, 14, 16], "texture": "#6"}, + "west": {"uv": [2, 14, 14, 16], "texture": "#6"}, + "up": {"uv": [0, 2, 3, 14], "texture": "#6"}, + "down": {"uv": [0, 2, 3, 14], "rotation": 180, "texture": "#6"} + } + }, + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 0, 2]}, + "faces": { + "north": {"uv": [2, 16, 12, 14], "rotation": 180, "texture": "#6"}, + "east": {"uv": [0, 0, 10, 2], "texture": "#6"}, + "south": {"uv": [2, 16, 12, 14], "rotation": 180, "texture": "#6"}, + "west": {"uv": [0, 0, 10, 2], "texture": "#6"}, + "down": {"uv": [3, 3, 13, 13], "texture": "#8"} + } + } + ], + "display": { + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + } + }, + "groups": [ + { + "name": "hose coil", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1] + }, + { + "name": "shaft", + "origin": [8, 8, 8], + "color": 0, + "children": [2] + }, + { + "name": "casing", + "origin": [14, 0, 2], + "color": 0, + "children": [3, 4, 5, 6, 7, 8, 9, 10, 11] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/concrete_smokestack/block.json b/src/main/resources/assets/tfmg/models/block/concrete_smokestack/block.json new file mode 100644 index 00000000..12615c8f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/concrete_smokestack/block.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/smokestack/smokestack", + "textures": { + "0": "tfmg:block/concrete_smokestack", + "particle": "tfmg:block/concrete_smokestack" + } + +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/concrete_smokestack/block_top.json b/src/main/resources/assets/tfmg/models/block/concrete_smokestack/block_top.json new file mode 100644 index 00000000..c33a1e40 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/concrete_smokestack/block_top.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/smokestack/smokestack_top", + "textures": { + "0": "tfmg:block/concrete_smokestack", + "particle": "tfmg:block/concrete_smokestack" + } + +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/concrete_smokestack/item.json b/src/main/resources/assets/tfmg/models/block/concrete_smokestack/item.json new file mode 100644 index 00000000..c33a1e40 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/concrete_smokestack/item.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/smokestack/smokestack_top", + "textures": { + "0": "tfmg:block/concrete_smokestack", + "particle": "tfmg:block/concrete_smokestack" + } + +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/constantan_frame/block.json b/src/main/resources/assets/tfmg/models/block/constantan_frame/block.json new file mode 100644 index 00000000..d299c85c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/constantan_frame/block.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/constantan_frame", + "particle": "tfmg:block/constantan_frame" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/constantan_frame/item.json b/src/main/resources/assets/tfmg/models/block/constantan_frame/item.json new file mode 100644 index 00000000..d299c85c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/constantan_frame/item.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/constantan_frame", + "particle": "tfmg:block/constantan_frame" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/constantan_truss.json b/src/main/resources/assets/tfmg/models/block/constantan_truss.json new file mode 100644 index 00000000..fe843c94 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/constantan_truss.json @@ -0,0 +1,106 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/constantan_truss", + "particle": "tfmg:block/constantan_truss_truss" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [2, 0, 15], + "to": [14, 16, 15], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + }, + { + "from": [15, 0, 2], + "to": [15, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 0, 2], + "to": [1, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 0, 1], + "to": [14, 16, 1], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/converter/block.json b/src/main/resources/assets/tfmg/models/block/converter/block.json new file mode 100644 index 00000000..62d87210 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/converter/block.json @@ -0,0 +1,141 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "1": "tfmg:block/converter", + "2": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "east": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "south": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "west": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "up": {"uv": [0, 8, 8, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#2"} + } + }, + { + "from": [1, 6, 5], + "to": [7, 14, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 6, 7]}, + "faces": { + "north": {"uv": [9.5, 0.5, 12.5, 4.5], "texture": "#1"}, + "east": {"uv": [9.5, 0.5, 12.5, 4.5], "texture": "#1"}, + "south": {"uv": [9.5, 0.5, 12.5, 4.5], "texture": "#1"}, + "west": {"uv": [9.5, 0.5, 12.5, 4.5], "texture": "#1"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [9, 6, 5], + "to": [15, 14, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [11, 6, 7]}, + "faces": { + "north": {"uv": [13, 0.5, 16, 4.5], "texture": "#1"}, + "east": {"uv": [13, 0.5, 16, 4.5], "texture": "#1"}, + "south": {"uv": [13, 0.5, 16, 4.5], "texture": "#1"}, + "west": {"uv": [13, 0.5, 16, 4.5], "texture": "#1"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [3, 15, 7], + "to": [5, 18, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 14, 7]}, + "faces": { + "north": {"uv": [5, 6, 6, 7.5], "texture": "#1"}, + "east": {"uv": [5, 4, 6, 5.5], "texture": "#1"}, + "south": {"uv": [6, 6, 5, 7.5], "texture": "#1"}, + "west": {"uv": [5, 4, 6, 5.5], "texture": "#1"}, + "up": {"uv": [6.5, 6, 7.5, 7], "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [5, 16, 7], + "to": [11, 18, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 14, 7]}, + "faces": { + "north": {"uv": [2, 6, 5, 7], "texture": "#1"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "south": {"uv": [5, 6, 2, 7], "texture": "#1"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "up": {"uv": [7.5, 6, 10.5, 7], "texture": "#1"}, + "down": {"uv": [0, 0, 6, 2], "texture": "#1"} + } + }, + { + "from": [11, 15, 7], + "to": [13, 18, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [11, 14, 7]}, + "faces": { + "north": {"uv": [1, 6, 2, 7.5], "texture": "#1"}, + "east": {"uv": [1, 4, 2, 5.5], "texture": "#1"}, + "south": {"uv": [2, 6, 1, 7.5], "texture": "#1"}, + "west": {"uv": [5, 4, 6, 5.5], "texture": "#1"}, + "up": {"uv": [10.5, 6, 11.5, 7], "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [0.5, 14, 4.5], + "to": [7.5, 15, 11.5], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 14, 4]}, + "faces": { + "north": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "east": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "south": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "west": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "up": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"}, + "down": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"} + } + }, + { + "from": [8.5, 14, 4.5], + "to": [15.5, 15, 11.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 14, 4]}, + "faces": { + "north": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "east": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "south": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "west": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "up": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"}, + "down": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"} + } + }, + { + "from": [0, 6, 6], + "to": [1, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 7, 7]}, + "faces": { + "north": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "south": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "west": {"uv": [14, 5, 16, 7], "texture": "#1"}, + "up": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [15, 6, 6], + "to": [16, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 7, 7]}, + "faces": { + "north": {"uv": [3, 5.5, 5, 6], "rotation": 90, "texture": "#1"}, + "east": {"uv": [3, 3, 5, 5], "texture": "#1"}, + "south": {"uv": [3, 5.5, 5, 6], "rotation": 90, "texture": "#1"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "up": {"uv": [3, 5.5, 5, 6], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/converter/block_rotated.json b/src/main/resources/assets/tfmg/models/block/converter/block_rotated.json new file mode 100644 index 00000000..30fd8040 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/converter/block_rotated.json @@ -0,0 +1,141 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "1": "tfmg:block/converter", + "2": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "east": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "south": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "west": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "up": {"uv": [0, 8, 8, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#2"} + } + }, + { + "from": [1, 6, 5], + "to": [7, 14, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 6, 7]}, + "faces": { + "north": {"uv": [9.5, 0.5, 12.5, 4.5], "texture": "#1"}, + "east": {"uv": [9.5, 0.5, 12.5, 4.5], "texture": "#1"}, + "south": {"uv": [9.5, 0.5, 12.5, 4.5], "texture": "#1"}, + "west": {"uv": [9.5, 0.5, 12.5, 4.5], "texture": "#1"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [9, 6, 5], + "to": [15, 14, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [11, 6, 7]}, + "faces": { + "north": {"uv": [13, 0.5, 16, 4.5], "texture": "#1"}, + "east": {"uv": [13, 0.5, 16, 4.5], "texture": "#1"}, + "south": {"uv": [13, 0.5, 16, 4.5], "texture": "#1"}, + "west": {"uv": [13, 0.5, 16, 4.5], "texture": "#1"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [3, 15, 7], + "to": [5, 18, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 14, 7]}, + "faces": { + "north": {"uv": [5, 6, 6, 7.5], "texture": "#1"}, + "east": {"uv": [5, 4, 6, 5.5], "texture": "#1"}, + "south": {"uv": [6, 6, 5, 7.5], "texture": "#1"}, + "west": {"uv": [5, 4, 6, 5.5], "texture": "#1"}, + "up": {"uv": [6.5, 6, 7.5, 7], "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [5, 16, 7], + "to": [11, 18, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 14, 7]}, + "faces": { + "north": {"uv": [2, 6, 5, 7], "texture": "#1"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "south": {"uv": [5, 6, 2, 7], "texture": "#1"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "up": {"uv": [7.5, 6, 10.5, 7], "texture": "#1"}, + "down": {"uv": [0, 0, 6, 2], "texture": "#1"} + } + }, + { + "from": [11, 15, 7], + "to": [13, 18, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [11, 14, 7]}, + "faces": { + "north": {"uv": [1, 6, 2, 7.5], "texture": "#1"}, + "east": {"uv": [1, 4, 2, 5.5], "texture": "#1"}, + "south": {"uv": [2, 6, 1, 7.5], "texture": "#1"}, + "west": {"uv": [5, 4, 6, 5.5], "texture": "#1"}, + "up": {"uv": [10.5, 6, 11.5, 7], "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [0.5, 14, 4.5], + "to": [7.5, 15, 11.5], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 14, 4]}, + "faces": { + "north": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "east": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "south": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "west": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "up": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"}, + "down": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"} + } + }, + { + "from": [8.5, 14, 4.5], + "to": [15.5, 15, 11.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 14, 4]}, + "faces": { + "north": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "east": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "south": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "west": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "up": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"}, + "down": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"} + } + }, + { + "from": [15, 6, 6], + "to": [16, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, 8]}, + "faces": { + "north": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "east": {"uv": [3, 3, 5, 5], "texture": "#1"}, + "south": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "up": {"uv": [5, 3, 7, 3.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [0, 6, 6], + "to": [1, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, 8]}, + "faces": { + "north": {"uv": [3, 5.5, 5, 6], "rotation": 90, "texture": "#1"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "south": {"uv": [3, 5.5, 5, 6], "rotation": 90, "texture": "#1"}, + "west": {"uv": [14, 5, 16, 7], "texture": "#1"}, + "up": {"uv": [3, 5.5, 5, 6], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "rotation": 180, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/converter/item.json b/src/main/resources/assets/tfmg/models/block/converter/item.json new file mode 100644 index 00000000..feb9195d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/converter/item.json @@ -0,0 +1,140 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "1": "tfmg:block/converter", + "2": "tfmg:block/heavy_machinery_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "east": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "south": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "west": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "up": {"uv": [0, 8, 8, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#2"} + } + }, + { + "from": [1, 6, 5], + "to": [7, 14, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 6, 7]}, + "faces": { + "north": {"uv": [9.5, 0.5, 12.5, 4.5], "texture": "#1"}, + "east": {"uv": [9.5, 0.5, 12.5, 4.5], "texture": "#1"}, + "south": {"uv": [9.5, 0.5, 12.5, 4.5], "texture": "#1"}, + "west": {"uv": [9.5, 0.5, 12.5, 4.5], "texture": "#1"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [9, 6, 5], + "to": [15, 14, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [11, 6, 7]}, + "faces": { + "north": {"uv": [13, 0.5, 16, 4.5], "texture": "#1"}, + "east": {"uv": [13, 0.5, 16, 4.5], "texture": "#1"}, + "south": {"uv": [13, 0.5, 16, 4.5], "texture": "#1"}, + "west": {"uv": [13, 0.5, 16, 4.5], "texture": "#1"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [3, 15, 7], + "to": [5, 18, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 14, 7]}, + "faces": { + "north": {"uv": [5, 6, 6, 7.5], "texture": "#1"}, + "east": {"uv": [5, 4, 6, 5.5], "texture": "#1"}, + "south": {"uv": [6, 6, 5, 7.5], "texture": "#1"}, + "west": {"uv": [5, 4, 6, 5.5], "texture": "#1"}, + "up": {"uv": [6.5, 6, 7.5, 7], "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [5, 16, 7], + "to": [11, 18, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 14, 7]}, + "faces": { + "north": {"uv": [2, 6, 5, 7], "texture": "#1"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "south": {"uv": [5, 6, 2, 7], "texture": "#1"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "up": {"uv": [7.5, 6, 10.5, 7], "texture": "#1"}, + "down": {"uv": [0, 0, 6, 2], "texture": "#1"} + } + }, + { + "from": [11, 15, 7], + "to": [13, 18, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [11, 14, 7]}, + "faces": { + "north": {"uv": [1, 6, 2, 7.5], "texture": "#1"}, + "east": {"uv": [1, 4, 2, 5.5], "texture": "#1"}, + "south": {"uv": [2, 6, 1, 7.5], "texture": "#1"}, + "west": {"uv": [5, 4, 6, 5.5], "texture": "#1"}, + "up": {"uv": [10.5, 6, 11.5, 7], "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [0.5, 14, 4.5], + "to": [7.5, 15, 11.5], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 14, 4]}, + "faces": { + "north": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "east": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "south": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "west": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "up": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"}, + "down": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"} + } + }, + { + "from": [8.5, 14, 4.5], + "to": [15.5, 15, 11.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 14, 4]}, + "faces": { + "north": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "east": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "south": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "west": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "up": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"}, + "down": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"} + } + }, + { + "from": [0, 6, 6], + "to": [1, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 7, 7]}, + "faces": { + "north": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "south": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "west": {"uv": [14, 5, 16, 7], "texture": "#1"}, + "up": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [15, 6, 6], + "to": [16, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 7, 7]}, + "faces": { + "north": {"uv": [3, 5.5, 5, 6], "rotation": 90, "texture": "#1"}, + "east": {"uv": [3, 3, 5, 5], "texture": "#1"}, + "south": {"uv": [3, 5.5, 5, 6], "rotation": 90, "texture": "#1"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "up": {"uv": [3, 5.5, 5, 6], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/copper_coil/block.json b/src/main/resources/assets/tfmg/models/block/copper_coil/block.json new file mode 100644 index 00000000..0870a56e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/copper_coil/block.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/copper_coil", + "2": "tfmg:block/copper_coil_top", + "particle": "tfmg:block/copper_coil" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/copper_coil/block_arrow.json b/src/main/resources/assets/tfmg/models/block/copper_coil/block_arrow.json new file mode 100644 index 00000000..eb0e59d8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/copper_coil/block_arrow.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/copper_coil_arrow", + "1": "tfmg:block/copper_coil_top", + "particle": "tfmg:block/copper_coil_arrow" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/copper_coil/item.json b/src/main/resources/assets/tfmg/models/block/copper_coil/item.json new file mode 100644 index 00000000..0870a56e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/copper_coil/item.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/copper_coil", + "2": "tfmg:block/copper_coil_top", + "particle": "tfmg:block/copper_coil" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/copper_encased_aluminum_pipe/block_flat.json b/src/main/resources/assets/tfmg/models/block/copper_encased_aluminum_pipe/block_flat.json new file mode 100644 index 00000000..6d7bd9ea --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/copper_encased_aluminum_pipe/block_flat.json @@ -0,0 +1,16 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/copper_encased_aluminum_pipe_side", + "particle": "tfmg:block/copper_encased_aluminum_pipe_side" + }, + "elements": [ + { + "from": [0, 0, 15], + "to": [16, 16, 16], + "faces": { + "south": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/copper_encased_aluminum_pipe/block_open.json b/src/main/resources/assets/tfmg/models/block/copper_encased_aluminum_pipe/block_open.json new file mode 100644 index 00000000..fefa0ca2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/copper_encased_aluminum_pipe/block_open.json @@ -0,0 +1,16 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/copper_encased_aluminum_pipe", + "particle": "tfmg:block/copper_encased_aluminum_pipe" + }, + "elements": [ + { + "from": [0, 0, 15], + "to": [16, 16, 16], + "faces": { + "south": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/copper_encased_brass_pipe/block_flat.json b/src/main/resources/assets/tfmg/models/block/copper_encased_brass_pipe/block_flat.json new file mode 100644 index 00000000..51019955 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/copper_encased_brass_pipe/block_flat.json @@ -0,0 +1,16 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/copper_encased_brass_pipe_side", + "particle": "tfmg:block/copper_encased_brass_pipe_side" + }, + "elements": [ + { + "from": [0, 0, 15], + "to": [16, 16, 16], + "faces": { + "south": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/copper_encased_brass_pipe/block_open.json b/src/main/resources/assets/tfmg/models/block/copper_encased_brass_pipe/block_open.json new file mode 100644 index 00000000..0d0b5060 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/copper_encased_brass_pipe/block_open.json @@ -0,0 +1,16 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/copper_encased_brass_pipe", + "particle": "tfmg:block/copper_encased_brass_pipe" + }, + "elements": [ + { + "from": [0, 0, 15], + "to": [16, 16, 16], + "faces": { + "south": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/copper_encased_cast_iron_pipe/block_flat.json b/src/main/resources/assets/tfmg/models/block/copper_encased_cast_iron_pipe/block_flat.json new file mode 100644 index 00000000..1e58d7dc --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/copper_encased_cast_iron_pipe/block_flat.json @@ -0,0 +1,16 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/copper_encased_cast_iron_pipe_side", + "particle": "tfmg:block/copper_encased_cast_iron_pipe_side" + }, + "elements": [ + { + "from": [0, 0, 15], + "to": [16, 16, 16], + "faces": { + "south": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/copper_encased_cast_iron_pipe/block_open.json b/src/main/resources/assets/tfmg/models/block/copper_encased_cast_iron_pipe/block_open.json new file mode 100644 index 00000000..adfe0cb1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/copper_encased_cast_iron_pipe/block_open.json @@ -0,0 +1,16 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/copper_encased_cast_iron_pipe", + "particle": "tfmg:block/copper_encased_cast_iron_pipe" + }, + "elements": [ + { + "from": [0, 0, 15], + "to": [16, 16, 16], + "faces": { + "south": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/copper_encased_plastic_pipe/block_flat.json b/src/main/resources/assets/tfmg/models/block/copper_encased_plastic_pipe/block_flat.json new file mode 100644 index 00000000..183c25ae --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/copper_encased_plastic_pipe/block_flat.json @@ -0,0 +1,16 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/copper_encased_plastic_pipe_side", + "particle": "tfmg:block/copper_encased_plastic_pipe_side" + }, + "elements": [ + { + "from": [0, 0, 15], + "to": [16, 16, 16], + "faces": { + "south": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/copper_encased_plastic_pipe/block_open.json b/src/main/resources/assets/tfmg/models/block/copper_encased_plastic_pipe/block_open.json new file mode 100644 index 00000000..790c2c84 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/copper_encased_plastic_pipe/block_open.json @@ -0,0 +1,16 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/copper_encased_plastic_pipe", + "particle": "tfmg:block/copper_encased_plastic_pipe" + }, + "elements": [ + { + "from": [0, 0, 15], + "to": [16, 16, 16], + "faces": { + "south": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/copper_encased_steel_pipe/block_flat.json b/src/main/resources/assets/tfmg/models/block/copper_encased_steel_pipe/block_flat.json new file mode 100644 index 00000000..db4c4929 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/copper_encased_steel_pipe/block_flat.json @@ -0,0 +1,16 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/copper_encased_steel_pipe_side", + "particle": "tfmg:block/copper_encased_steel_pipe_side" + }, + "elements": [ + { + "from": [0, 0, 15], + "to": [16, 16, 16], + "faces": { + "south": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/copper_encased_steel_pipe/block_open.json b/src/main/resources/assets/tfmg/models/block/copper_encased_steel_pipe/block_open.json new file mode 100644 index 00000000..dba7e96d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/copper_encased_steel_pipe/block_open.json @@ -0,0 +1,16 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/copper_encased_steel_pipe", + "particle": "tfmg:block/copper_encased_steel_pipe" + }, + "elements": [ + { + "from": [0, 0, 15], + "to": [16, 16, 16], + "faces": { + "south": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/copper_frame/block.json b/src/main/resources/assets/tfmg/models/block/copper_frame/block.json new file mode 100644 index 00000000..fa822299 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/copper_frame/block.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/copper_frame", + "particle": "tfmg:block/copper_frame" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/copper_frame/item.json b/src/main/resources/assets/tfmg/models/block/copper_frame/item.json new file mode 100644 index 00000000..fa822299 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/copper_frame/item.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/copper_frame", + "particle": "tfmg:block/copper_frame" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/copper_truss.json b/src/main/resources/assets/tfmg/models/block/copper_truss.json new file mode 100644 index 00000000..92254777 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/copper_truss.json @@ -0,0 +1,106 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/copper_truss", + "particle": "tfmg:block/copper_truss" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [2, 0, 15], + "to": [14, 16, 15], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + }, + { + "from": [15, 0, 2], + "to": [15, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 0, 2], + "to": [1, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 0, 1], + "to": [14, 16, 1], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/copycat_cable_base/block.json b/src/main/resources/assets/tfmg/models/block/copycat_cable_base/block.json new file mode 100644 index 00000000..93511244 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/copycat_cable_base/block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "tfmg:block/copycat_cable_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/copycat_cable_base/item.json b/src/main/resources/assets/tfmg/models/block/copycat_cable_base/item.json new file mode 100644 index 00000000..93511244 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/copycat_cable_base/item.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "tfmg:block/copycat_cable_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/copycat_cable_block/block.json b/src/main/resources/assets/tfmg/models/block/copycat_cable_block/block.json new file mode 100644 index 00000000..93511244 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/copycat_cable_block/block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "tfmg:block/copycat_cable_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/copycat_cable_block/item.json b/src/main/resources/assets/tfmg/models/block/copycat_cable_block/item.json new file mode 100644 index 00000000..93511244 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/copycat_cable_block/item.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "tfmg:block/copycat_cable_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/diagonal_cable_block/block.json b/src/main/resources/assets/tfmg/models/block/diagonal_cable_block/block.json new file mode 100644 index 00000000..2d342b26 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/diagonal_cable_block/block.json @@ -0,0 +1,49 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [24, 24], + "textures": { + "0": "tfmg:block/diagonal_cable_block", + "particle": "tfmg:block/diagonal_cable_block" + }, + "elements": [ + { + "from": [4, 0, 4], + "to": [12, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 14.66667, 5.33333, 16], "texture": "#0"}, + "east": {"uv": [0, 14.66667, 5.33333, 16], "texture": "#0"}, + "south": {"uv": [0, 14.66667, 5.33333, 16], "texture": "#0"}, + "west": {"uv": [0, 14.66667, 5.33333, 16], "texture": "#0"}, + "up": {"uv": [5.33333, 8, 0, 2.66667], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.33333, 8, 0, 13.33333], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [14, 4, 4], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 13.33333, 5.33333, 14.66667], "rotation": 270, "texture": "#0"}, + "east": {"uv": [5.33333, 13.33333, 0, 8], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 13.33333, 5.33333, 14.66667], "rotation": 90, "texture": "#0"}, + "west": {"uv": [5.33333, 2.66667, 0, 8], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 13.33333, 5.33333, 14.66667], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 13.33333, 5.33333, 14.66667], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6.65685, -0.58579, 6], + "to": [20.65685, 3.41421, 10], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [9.33333, 6.66667, 12, 16], "rotation": 270, "texture": "#0"}, + "east": {"uv": [16, 2.66667, 13.33333, 0], "rotation": 270, "texture": "#0"}, + "south": {"uv": [13.33333, 6.66667, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [16, 2, 13.33333, 4.66667], "rotation": 270, "texture": "#0"}, + "up": {"uv": [11.33333, 6.66667, 14, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.66667, 6.66667, 9.33333, 16], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/diagonal_cable_block/block_up.json b/src/main/resources/assets/tfmg/models/block/diagonal_cable_block/block_up.json new file mode 100644 index 00000000..8b30eb66 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/diagonal_cable_block/block_up.json @@ -0,0 +1,49 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [24, 24], + "textures": { + "1": "tfmg:block/diagonal_cable_block", + "particle": "tfmg:block/diagonal_cable_block" + }, + "elements": [ + { + "from": [4, 14, 4], + "to": [12, 16, 12], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 14.66667, 5.33333, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [0, 14.66667, 5.33333, 16], "rotation": 180, "texture": "#1"}, + "south": {"uv": [0, 14.66667, 5.33333, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [0, 14.66667, 5.33333, 16], "rotation": 180, "texture": "#1"}, + "up": {"uv": [5.33333, 8, 0, 13.33333], "rotation": 180, "texture": "#1"}, + "down": {"uv": [5.33333, 8, 0, 2.66667], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [14, 4, 4], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13.33333, 5.33333, 14.66667], "rotation": 270, "texture": "#1"}, + "east": {"uv": [5.33333, 13.33333, 0, 8], "rotation": 90, "texture": "#1"}, + "south": {"uv": [0, 13.33333, 5.33333, 14.66667], "rotation": 90, "texture": "#1"}, + "west": {"uv": [5.33333, 2.66667, 0, 8], "rotation": 90, "texture": "#1"}, + "up": {"uv": [0, 13.33333, 5.33333, 14.66667], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 13.33333, 5.33333, 14.66667], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [1, 10.24264, 6], + "to": [15, 14.24264, 10], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.33333, 6.66667, 16, 16], "rotation": 270, "texture": "#1"}, + "east": {"uv": [16, 2.66667, 13.33333, 0], "rotation": 90, "texture": "#1"}, + "south": {"uv": [9.33333, 6.66667, 12, 16], "rotation": 90, "texture": "#1"}, + "west": {"uv": [16, 2, 13.33333, 4.66667], "rotation": 90, "texture": "#1"}, + "up": {"uv": [6.66667, 6.66667, 9.33333, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [11.33333, 6.66667, 14, 16], "rotation": 90, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/diagonal_cable_block/item.json b/src/main/resources/assets/tfmg/models/block/diagonal_cable_block/item.json new file mode 100644 index 00000000..9c0201f0 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/diagonal_cable_block/item.json @@ -0,0 +1,49 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [24, 24], + "textures": { + "0": "tfmg:block/diagonal_cable_block", + "particle": "tfmg:block/diagonal_cable_block" + }, + "elements": [ + { + "from": [4, 0, 4], + "to": [12, 2, 12], + "faces": { + "north": {"uv": [0, 14.66667, 5.33333, 16], "texture": "#0"}, + "east": {"uv": [0, 14.66667, 5.33333, 16], "texture": "#0"}, + "south": {"uv": [0, 14.66667, 5.33333, 16], "texture": "#0"}, + "west": {"uv": [0, 14.66667, 5.33333, 16], "texture": "#0"}, + "up": {"uv": [5.33333, 8, 0, 2.66667], "texture": "#0"}, + "down": {"uv": [5.33333, 8, 0, 13.33333], "texture": "#0"} + } + }, + { + "from": [0, 4, 4], + "to": [2, 12, 12], + "rotation": {"angle": 0, "axis": "z", "origin": [1, 8, 8]}, + "faces": { + "north": {"uv": [0, 13.33333, 5.33333, 14.66667], "rotation": 90, "texture": "#0"}, + "east": {"uv": [5.33333, 2.66667, 0, 8], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 13.33333, 5.33333, 14.66667], "rotation": 270, "texture": "#0"}, + "west": {"uv": [5.33333, 13.33333, 0, 8], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 13.33333, 5.33333, 14.66667], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 13.33333, 5.33333, 14.66667], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [-2, 3, 6], + "to": [12, 7, 10], + "rotation": {"angle": -45, "axis": "z", "origin": [5, 5, 8]}, + "faces": { + "north": {"uv": [13.33333, 6.66667, 16, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [16, 2, 13.33333, 4.66667], "rotation": 270, "texture": "#0"}, + "south": {"uv": [9.33333, 6.66667, 12, 16], "rotation": 270, "texture": "#0"}, + "west": {"uv": [16, 2.66667, 13.33333, 0], "rotation": 270, "texture": "#0"}, + "up": {"uv": [11.33333, 6.66667, 14, 16], "rotation": 270, "texture": "#0"}, + "down": {"uv": [6.66667, 6.66667, 9.33333, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/diesel_engine_expansion.json b/src/main/resources/assets/tfmg/models/block/diesel_engine_expansion.json new file mode 100644 index 00000000..338dad99 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/diesel_engine_expansion.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/diesel_engine_back", + "1": "tfmg:block/diesel_engine_expansion", + "particle": "tfmg:block/diesel_engine_back" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "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": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/diesel_engine_expansion/block.json b/src/main/resources/assets/tfmg/models/block/diesel_engine_expansion/block.json new file mode 100644 index 00000000..338dad99 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/diesel_engine_expansion/block.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/diesel_engine_back", + "1": "tfmg:block/diesel_engine_expansion", + "particle": "tfmg:block/diesel_engine_back" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "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": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/diesel_engine_expansion/item.json b/src/main/resources/assets/tfmg/models/block/diesel_engine_expansion/item.json new file mode 100644 index 00000000..338dad99 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/diesel_engine_expansion/item.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/diesel_engine_back", + "1": "tfmg:block/diesel_engine_expansion", + "particle": "tfmg:block/diesel_engine_back" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "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": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/distillation_tower/gauge.json b/src/main/resources/assets/tfmg/models/block/distillation_tower/gauge.json new file mode 100644 index 00000000..009c9397 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/distillation_tower/gauge.json @@ -0,0 +1,36 @@ +{ + "credit": "Made with Blockbench", + "render_type": "cutout", + "textures": { + "0": "tfmg:block/steel_gauge", + "particle": "tfmg:block/steel_gauge" + }, + "elements": [ + { + "name": "casing", + "from": [14.05, 1.05, 1.05], + "to": [16.95, 13.95, 14.95], + "rotation": {"angle": 0, "axis": "y", "origin": [22, 8, 8]}, + "faces": { + "north": {"uv": [10.5, 9, 12, 15.5], "texture": "#0"}, + "east": {"uv": [0.5, 1, 7.5, 7.5], "texture": "#0"}, + "south": {"uv": [12, 9, 10.5, 15.5], "texture": "#0"}, + "up": {"uv": [10, 8.5, 8.5, 15.5], "texture": "#0"}, + "down": {"uv": [12.5, 8.5, 14, 15.5], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "interior", + "from": [16.95, 1.05, 1.05], + "to": [16.05, 13.95, 14.95], + "rotation": {"angle": 0, "axis": "y", "origin": [22, 8, 8]}, + "faces": { + "north": {"uv": [13.5, 8.5, 14, 15.5], "texture": "#0"}, + "east": {"uv": [0.5, 9, 7.5, 15.5], "texture": "#0"}, + "south": {"uv": [14, 8.5, 13.5, 15.5], "texture": "#0"}, + "up": {"uv": [14, 8.5, 13.5, 15.5], "texture": "#0"}, + "down": {"uv": [13.5, 9, 14, 15.5], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electric_diode/block.json b/src/main/resources/assets/tfmg/models/block/electric_diode/block.json new file mode 100644 index 00000000..a9e8f71b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electric_diode/block.json @@ -0,0 +1,36 @@ +{ + "credit": "Made with Blockbench", + "parent": "block_block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/diode", + "particle": "tfmg:block/diode" + }, + "elements": [ + { + "from": [3, 3, 0], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [9, 6, 14, 11], "texture": "#0"}, + "east": {"uv": [8, 0, 0, 5], "texture": "#0"}, + "south": {"uv": [9, 0, 14, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 5], "texture": "#0"}, + "up": {"uv": [8, 0, 0, 5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [8, 0, 0, 5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 0, 1], + "to": [15, 3, 15], + "faces": { + "north": {"uv": [0, 6.5, 7, 8], "texture": "#0"}, + "east": {"uv": [0, 6.5, 7, 8], "texture": "#0"}, + "south": {"uv": [0, 6.5, 7, 8], "texture": "#0"}, + "west": {"uv": [0, 6.5, 7, 8], "texture": "#0"}, + "up": {"uv": [0, 8, 7, 15], "texture": "#0"}, + "down": {"uv": [0, 8, 7, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electric_diode/block_vertical.json b/src/main/resources/assets/tfmg/models/block/electric_diode/block_vertical.json new file mode 100644 index 00000000..d616f008 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electric_diode/block_vertical.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "1": "tfmg:block/diode", + "particle": "tfmg:block/diode" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [8, 0, 0, 5], "rotation": 90, "texture": "#1"}, + "east": {"uv": [0, 0, 8, 5], "rotation": 270, "texture": "#1"}, + "south": {"uv": [8, 0, 0, 5], "rotation": 90, "texture": "#1"}, + "west": {"uv": [8, 0, 0, 5], "rotation": 90, "texture": "#1"}, + "up": {"uv": [9, 0, 14, 5], "rotation": 180, "texture": "#1"}, + "down": {"uv": [9, 6, 14, 11], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electric_diode/item.json b/src/main/resources/assets/tfmg/models/block/electric_diode/item.json new file mode 100644 index 00000000..ba5a4c6b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electric_diode/item.json @@ -0,0 +1,36 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/diode", + "particle": "tfmg:block/diode" + }, + "elements": [ + { + "from": [3, 3, 0], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [9, 0, 14, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 5], "texture": "#0"}, + "south": {"uv": [9, 6, 14, 11], "texture": "#0"}, + "west": {"uv": [8, 0, 0, 5], "texture": "#0"}, + "up": {"uv": [8, 0, 0, 5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8, 0, 0, 5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 0, 1], + "to": [15, 3, 15], + "faces": { + "north": {"uv": [0, 6.5, 7, 8], "texture": "#0"}, + "east": {"uv": [0, 6.5, 7, 8], "texture": "#0"}, + "south": {"uv": [0, 6.5, 7, 8], "texture": "#0"}, + "west": {"uv": [0, 6.5, 7, 8], "texture": "#0"}, + "up": {"uv": [0, 8, 7, 15], "texture": "#0"}, + "down": {"uv": [0, 8, 7, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electric_industrial_mixer/block.json b/src/main/resources/assets/tfmg/models/block/electric_industrial_mixer/block.json new file mode 100644 index 00000000..86969acb --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electric_industrial_mixer/block.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "2": "tfmg:block/industrial_mixer", + "3": "tfmg:block/electric_mixer_input", + "4": "tfmg:block/encased_coil", + "particle": "tfmg:block/encased_coil" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electric_industrial_mixer/item.json b/src/main/resources/assets/tfmg/models/block/electric_industrial_mixer/item.json new file mode 100644 index 00000000..f5a168bc --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electric_industrial_mixer/item.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/electric_mixer_input", + "2": "tfmg:block/industrial_mixer", + "3": "tfmg:block/encased_coil", + "particle": "tfmg:block/electric_mixer_input" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electric_motor/block.json b/src/main/resources/assets/tfmg/models/block/electric_motor/block.json new file mode 100644 index 00000000..f9bd4119 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electric_motor/block.json @@ -0,0 +1,115 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [64, 64], + "textures": { + "1": "tfmg:block/electric_motor", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [3, 3, 5], + "to": [13, 13, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [3.75, 2.75, 6.25, 5.25], "texture": "#1"}, + "east": {"uv": [3.5, 0, 1.25, 2.5], "texture": "#1"}, + "south": {"uv": [3.75, 0, 6.25, 2.5], "texture": "#1"}, + "west": {"uv": [1.25, 0, 3.5, 2.5], "texture": "#1"}, + "up": {"uv": [3.5, 8, 1.25, 5.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [1.25, 5.5, 11.25, 14.5], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [12, 12, 2], + "to": [13, 13, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "up": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#1"} + } + }, + { + "from": [3, 12, 2], + "to": [4, 13, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "up": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#1"} + } + }, + { + "from": [12, 3, 2], + "to": [13, 4, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "up": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#1"} + } + }, + { + "from": [3, 3, 2], + "to": [4, 4, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#1"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#1"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "up": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#1"} + } + }, + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [3.75, 2.75, 6.25, 5.25], "texture": "#1"}, + "east": {"uv": [0.5, 0, 0, 2.5], "texture": "#1"}, + "south": {"uv": [3.75, 2.75, 6.25, 5.25], "texture": "#1"}, + "west": {"uv": [0, 0, 0.5, 2.5], "texture": "#1"}, + "up": {"uv": [0.5, 0, 0, 2.5], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 0, 0.5, 2.5], "rotation": 270, "texture": "#1"} + } + }, + { + "from": [4, 4, 2], + "to": [12, 12, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "east": {"uv": [0.5, 0.25, 1.25, 2.25], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [0.5, 0.25, 1.25, 2.25], "texture": "#1"}, + "up": {"uv": [0.5, 0.25, 1.25, 2.25], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0.5, 0.25, 1.25, 2.25], "rotation": 270, "texture": "#1"} + } + }, + { + "from": [1, 0, 3], + "to": [15, 3, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 2.75, 10, 3.5], "texture": "#1"}, + "east": {"uv": [6.5, 3.75, 9, 4.5], "texture": "#1"}, + "south": {"uv": [6.5, 2.75, 10, 3.5], "texture": "#1"}, + "west": {"uv": [6.5, 3.75, 9, 4.5], "texture": "#1"}, + "up": {"uv": [6.5, 0, 10, 2.5], "rotation": 180, "texture": "#1"}, + "down": {"uv": [6.5, 0, 10, 2.5], "rotation": 180, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electric_motor/block_test.json b/src/main/resources/assets/tfmg/models/block/electric_motor/block_test.json new file mode 100644 index 00000000..b1e63cb7 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electric_motor/block_test.json @@ -0,0 +1,122 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/electric_motor_2", + "1": "tfmg:block/shaft_top", + "2": "tfmg:block/shaft", + "particle": "tfmg:block/electric_motor_2" + }, + "elements": [ + { + "from": [6, 6, 0], + "to": [10, 10, 2], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [6, 6, 10, 10], "texture": "#1"}, + "east": {"uv": [10, 16, 6, 14], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "west": {"uv": [6, 14, 10, 16], "rotation": 90, "texture": "#2"}, + "up": {"uv": [6, 14, 10, 16], "rotation": 180, "texture": "#2"}, + "down": {"uv": [6, 16, 10, 14], "rotation": 180, "texture": "#2"} + } + }, + { + "from": [3, 3, 2], + "to": [13, 13, 11], + "faces": { + "north": {"uv": [7.5, 0, 12.5, 5], "texture": "#missing"}, + "east": {"uv": [2.5, 0, 7, 5], "texture": "#missing"}, + "south": {"uv": [7.5, 5.5, 12.5, 10.5], "texture": "#missing"}, + "west": {"uv": [7, 0, 2.5, 5], "texture": "#missing"}, + "up": {"uv": [7, 16, 2.5, 11], "rotation": 90, "texture": "#missing"}, + "down": {"uv": [2.5, 11, 22.5, 29], "texture": "#missing"} + } + }, + { + "from": [3, 12, 11], + "to": [4, 13, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "east": {"uv": [1, 4.5, 2.5, 5], "texture": "#missing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "west": {"uv": [1, 4.5, 2.5, 5], "texture": "#missing"}, + "up": {"uv": [1, 4.5, 2.5, 5], "rotation": 90, "texture": "#missing"}, + "down": {"uv": [1, 4.5, 2.5, 5], "rotation": 90, "texture": "#missing"} + } + }, + { + "from": [12, 12, 11], + "to": [13, 13, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "east": {"uv": [1, 4.5, 2.5, 5], "texture": "#missing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "west": {"uv": [1, 4.5, 2.5, 5], "texture": "#missing"}, + "up": {"uv": [1, 4.5, 2.5, 5], "rotation": 90, "texture": "#missing"}, + "down": {"uv": [1, 4.5, 2.5, 5], "rotation": 90, "texture": "#missing"} + } + }, + { + "from": [3, 3, 11], + "to": [4, 4, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "east": {"uv": [1, 4.5, 2.5, 5], "texture": "#missing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "west": {"uv": [1, 4.5, 2.5, 5], "texture": "#missing"}, + "up": {"uv": [1, 4.5, 2.5, 5], "rotation": 90, "texture": "#missing"}, + "down": {"uv": [1, 4.5, 2.5, 5], "rotation": 90, "texture": "#missing"} + } + }, + { + "from": [12, 3, 11], + "to": [13, 4, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "texture": "#missing"}, + "east": {"uv": [1, 4.5, 2.5, 5], "texture": "#missing"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#missing"}, + "west": {"uv": [1, 4.5, 2.5, 5], "texture": "#missing"}, + "up": {"uv": [1, 4.5, 2.5, 5], "rotation": 90, "texture": "#missing"}, + "down": {"uv": [1, 4.5, 2.5, 5], "rotation": 90, "texture": "#missing"} + } + }, + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "faces": { + "north": {"uv": [7.5, 5.5, 12.5, 10.5], "texture": "#missing"}, + "east": {"uv": [0, 0, 1, 5], "texture": "#missing"}, + "south": {"uv": [7.5, 5.5, 12.5, 10.5], "texture": "#missing"}, + "west": {"uv": [1, 0, 0, 5], "texture": "#missing"}, + "up": {"uv": [1, 0, 0, 5], "rotation": 90, "texture": "#missing"}, + "down": {"uv": [0, 0, 1, 5], "rotation": 90, "texture": "#missing"} + } + }, + { + "from": [4, 4, 11], + "to": [12, 12, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "east": {"uv": [1, 0.5, 2.5, 4.5], "texture": "#missing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "west": {"uv": [1, 0.5, 2.5, 4.5], "texture": "#missing"}, + "up": {"uv": [1, 0.5, 2.5, 4.5], "rotation": 90, "texture": "#missing"}, + "down": {"uv": [1, 0.5, 2.5, 4.5], "rotation": 90, "texture": "#missing"} + } + }, + { + "from": [1, 0, 3], + "to": [15, 3, 13], + "faces": { + "north": {"uv": [9, 5, 16, 6.5], "texture": "#0"}, + "east": {"uv": [11, 6.5, 16, 8], "texture": "#0"}, + "south": {"uv": [9, 5, 16, 6.5], "texture": "#0"}, + "west": {"uv": [11, 6.5, 16, 8], "texture": "#0"}, + "up": {"uv": [9, 0, 16, 5], "texture": "#0"}, + "down": {"uv": [9, 0, 16, 5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electric_motor/block_vertical.json b/src/main/resources/assets/tfmg/models/block/electric_motor/block_vertical.json new file mode 100644 index 00000000..06ba28b2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electric_motor/block_vertical.json @@ -0,0 +1,102 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [64, 64], + "textures": { + "0": "tfmg:block/electric_motor", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [3, 5, 3], + "to": [13, 14, 13], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [1.25, 5.5, 3.5, 8], "rotation": 270, "texture": "#0"}, + "east": {"uv": [1.25, 5.5, 3.5, 8], "rotation": 270, "texture": "#0"}, + "south": {"uv": [3.5, 8, 1.25, 5.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [3.5, 5.5, 1.25, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [3.75, 0, 6.25, 2.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [3.75, 2.75, 6.25, 5.25], "texture": "#0"} + } + }, + { + "from": [3, 2, 12], + "to": [4, 5, 13], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [12, 2, 12], + "to": [13, 5, 13], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [3, 2, 3], + "to": [4, 5, 4], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [12, 2, 3], + "to": [13, 5, 4], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [0, 0, 0.5, 2.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 0.5, 2.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0.5, 0, 0, 2.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.5, 0, 0, 2.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [3.75, 2.75, 6.25, 5.25], "rotation": 180, "texture": "#0"}, + "down": {"uv": [3.75, 2.75, 6.25, 5.25], "texture": "#0"} + } + }, + { + "from": [4, 2, 4], + "to": [12, 5, 12], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [0.5, 0.25, 1.25, 2.25], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0.5, 0.25, 1.25, 2.25], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0.5, 0.25, 1.25, 2.25], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.5, 0.25, 1.25, 2.25], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electric_motor/item.json b/src/main/resources/assets/tfmg/models/block/electric_motor/item.json new file mode 100644 index 00000000..f0eb8012 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electric_motor/item.json @@ -0,0 +1,120 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [64, 64], + "textures": { + "1": "tfmg:block/electric_motor", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [3, 3, 2], + "to": [13, 13, 11], + "faces": { + "north": {"uv": [3.75, 0, 6.25, 2.5], "texture": "#1"}, + "east": {"uv": [1.25, 0, 3.5, 2.5], "texture": "#1"}, + "south": {"uv": [3.75, 2.75, 6.25, 5.25], "texture": "#1"}, + "west": {"uv": [3.5, 0, 1.25, 2.5], "texture": "#1"}, + "up": {"uv": [3.5, 8, 1.25, 5.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [1.25, 5.5, 11.25, 14.5], "texture": "#1"} + } + }, + { + "from": [3, 12, 11], + "to": [4, 13, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "up": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [12, 12, 11], + "to": [13, 13, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "up": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 11], + "to": [4, 4, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "up": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [12, 3, 11], + "to": [13, 4, 14], + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#1"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#1"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "up": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "faces": { + "north": {"uv": [3.75, 2.75, 6.25, 5.25], "texture": "#1"}, + "east": {"uv": [0, 0, 0.5, 2.5], "texture": "#1"}, + "south": {"uv": [3.75, 2.75, 6.25, 5.25], "texture": "#1"}, + "west": {"uv": [0.5, 0, 0, 2.5], "texture": "#1"}, + "up": {"uv": [0.5, 0, 0, 2.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 0.5, 2.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [4, 4, 11], + "to": [12, 12, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "east": {"uv": [0.5, 0.25, 1.25, 2.25], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [0.5, 0.25, 1.25, 2.25], "texture": "#1"}, + "up": {"uv": [0.5, 0.25, 1.25, 2.25], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0.5, 0.25, 1.25, 2.25], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [1, 0, 3], + "to": [15, 3, 13], + "faces": { + "north": {"uv": [6.5, 2.75, 10, 3.5], "texture": "#1"}, + "east": {"uv": [6.5, 3.75, 9, 4.5], "texture": "#1"}, + "south": {"uv": [6.5, 2.75, 10, 3.5], "texture": "#1"}, + "west": {"uv": [6.5, 3.75, 9, 4.5], "texture": "#1"}, + "up": {"uv": [6.5, 0, 10, 2.5], "texture": "#1"}, + "down": {"uv": [6.5, 0, 10, 2.5], "texture": "#1"} + } + }, + { + "from": [6, 6, 0], + "to": [10, 10, 2], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [10.5, 5, 11.5, 6], "texture": "#1"}, + "east": {"uv": [6.5, 4.75, 7.5, 5.25], "rotation": 90, "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [6.5, 4.75, 7.5, 5.25], "rotation": 90, "texture": "#1"}, + "up": {"uv": [6.5, 4.75, 7.5, 5.25], "texture": "#1"}, + "down": {"uv": [6.5, 4.75, 7.5, 5.25], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electric_motor/unfinished.json b/src/main/resources/assets/tfmg/models/block/electric_motor/unfinished.json new file mode 100644 index 00000000..8bd0455f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electric_motor/unfinished.json @@ -0,0 +1,102 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [64, 64], + "textures": { + "1": "tfmg:block/electric_motor", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [3, 3, 2], + "to": [13, 13, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [3.75, 0, 6.25, 2.5], "texture": "#1"}, + "east": {"uv": [1.25, 0, 3.5, 2.5], "texture": "#1"}, + "south": {"uv": [3.75, 0, 6.25, 2.5], "texture": "#1"}, + "west": {"uv": [3.5, 0, 1.25, 2.5], "texture": "#1"}, + "up": {"uv": [3.5, 8, 1.25, 5.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [1.25, 5.5, 11.25, 14.5], "texture": "#1"} + } + }, + { + "from": [3, 12, 11], + "to": [4, 13, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "up": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [12, 12, 11], + "to": [13, 13, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "up": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 11], + "to": [4, 4, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "up": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [12, 3, 11], + "to": [13, 4, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#1"}, + "east": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#1"}, + "west": {"uv": [0.5, 2.25, 1.25, 2.5], "texture": "#1"}, + "up": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0.5, 2.25, 1.25, 2.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [3.75, 2.75, 6.25, 5.25], "texture": "#1"}, + "east": {"uv": [0, 0, 0.5, 2.5], "texture": "#1"}, + "south": {"uv": [3.75, 2.75, 6.25, 5.25], "texture": "#1"}, + "west": {"uv": [0.5, 0, 0, 2.5], "texture": "#1"}, + "up": {"uv": [0.5, 0, 0, 2.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 0.5, 2.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [1, 0, 3], + "to": [15, 3, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [6.5, 2.75, 10, 3.5], "texture": "#1"}, + "east": {"uv": [6.5, 3.75, 9, 4.5], "texture": "#1"}, + "south": {"uv": [6.5, 2.75, 10, 3.5], "texture": "#1"}, + "west": {"uv": [6.5, 3.75, 9, 4.5], "texture": "#1"}, + "up": {"uv": [6.5, 0, 10, 2.5], "texture": "#1"}, + "down": {"uv": [6.5, 0, 10, 2.5], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electric_post.json b/src/main/resources/assets/tfmg/models/block/electric_post.json new file mode 100644 index 00000000..12545bb0 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electric_post.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "2": "tfmg:block/electric_post", + "particle": "tfmg:block/electric_post" + }, + "elements": [ + { + "from": [5, 0, 5], + "to": [11, 16, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 7]}, + "faces": { + "north": {"uv": [0, 0, 6, 16], "texture": "#2"}, + "east": {"uv": [0, 0, 6, 16], "texture": "#2"}, + "south": {"uv": [0, 0, 6, 16], "texture": "#2"}, + "west": {"uv": [0, 0, 6, 16], "texture": "#2"}, + "up": {"uv": [6, 0, 12, 6], "texture": "#2"}, + "down": {"uv": [6, 0, 12, 6], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electric_pump/block.json b/src/main/resources/assets/tfmg/models/block/electric_pump/block.json new file mode 100644 index 00000000..b2804c8d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electric_pump/block.json @@ -0,0 +1,114 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "2": "tfmg:block/steel_pipes", + "3": "tfmg:block/electric_pump", + "4": "tfmg:block/steel_pump", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "name": "middle", + "from": [4, 5, 4], + "to": [12, 13, 12], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [4, 4.5, 0, 8.5], "rotation": 180, "texture": "#2"}, + "east": {"uv": [4, 4.5, 0, 8.5], "rotation": 180, "texture": "#2"}, + "south": {"uv": [4, 4.5, 0, 8.5], "rotation": 180, "texture": "#2"}, + "west": {"uv": [4, 4.5, 0, 8.5], "texture": "#2"}, + "up": {"uv": [4, 4.5, 0, 8.5], "rotation": 180, "texture": "#2"}, + "down": {"uv": [4, 4.5, 0, 8.5], "rotation": 180, "texture": "#2"} + } + }, + { + "name": "front", + "from": [3, 11, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [6, 1, 11, 11], "rotation": 90, "texture": "#3"}, + "east": {"uv": [6, 1, 11, 11], "rotation": 90, "texture": "#3"}, + "south": {"uv": [6, 1, 11, 11], "rotation": 90, "texture": "#3"}, + "west": {"uv": [6, 1, 11, 11], "rotation": 90, "texture": "#3"}, + "up": {"uv": [11, 11, 16, 16], "texture": "#2"}, + "down": {"uv": [6, 11, 11, 16], "texture": "#2"} + } + }, + { + "name": "front", + "from": [3, 0, 3], + "to": [13, 5, 13], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [6, 1, 11, 11], "rotation": 90, "texture": "#3"}, + "east": {"uv": [6, 1, 11, 11], "rotation": 90, "texture": "#3"}, + "south": {"uv": [6, 1, 11, 11], "rotation": 90, "texture": "#3"}, + "west": {"uv": [6, 1, 11, 11], "rotation": 90, "texture": "#3"}, + "up": {"uv": [11, 11, 16, 16], "texture": "#2"}, + "down": {"uv": [11, 11, 16, 16], "texture": "#2"} + } + }, + { + "from": [0, 5, 5], + "to": [4, 11, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6, 6, 10], "rotation": 90, "texture": "#3"}, + "south": {"uv": [0, 6, 6, 10], "rotation": 270, "texture": "#3"}, + "west": {"uv": [0, 0, 6, 6], "rotation": 90, "texture": "#3"}, + "up": {"uv": [0, 6, 6, 10], "rotation": 270, "texture": "#3"}, + "down": {"uv": [0, 6, 6, 10], "rotation": 270, "texture": "#3"} + } + }, + { + "from": [5, 5, 12], + "to": [11, 11, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [0, 6, 6, 10], "rotation": 270, "texture": "#3"}, + "south": {"uv": [0, 0, 6, 6], "rotation": 90, "texture": "#3"}, + "west": {"uv": [0, 6, 6, 10], "rotation": 90, "texture": "#3"}, + "up": {"uv": [0, 6, 6, 10], "rotation": 180, "texture": "#3"}, + "down": {"uv": [0, 6, 6, 10], "texture": "#3"} + } + }, + { + "from": [12, 5, 5], + "to": [16, 11, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6, 6, 10], "rotation": 270, "texture": "#3"}, + "east": {"uv": [0, 0, 6, 6], "rotation": 90, "texture": "#3"}, + "south": {"uv": [0, 6, 6, 10], "rotation": 90, "texture": "#3"}, + "up": {"uv": [0, 6, 6, 10], "rotation": 90, "texture": "#3"}, + "down": {"uv": [0, 6, 6, 10], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [5, 5, 0], + "to": [11, 11, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "rotation": 90, "texture": "#3"}, + "east": {"uv": [0, 6, 6, 10], "rotation": 90, "texture": "#3"}, + "west": {"uv": [0, 6, 6, 10], "rotation": 270, "texture": "#3"}, + "up": {"uv": [0, 6, 6, 10], "texture": "#3"}, + "down": {"uv": [0, 6, 6, 10], "rotation": 180, "texture": "#3"} + } + }, + { + "from": [2, 6, 2], + "to": [14, 10, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 0, 16, 12], "rotation": 270, "texture": "#3"}, + "east": {"uv": [12, 0, 16, 12], "rotation": 90, "texture": "#3"}, + "south": {"uv": [12, 0, 16, 12], "rotation": 90, "texture": "#3"}, + "west": {"uv": [12, 0, 16, 12], "rotation": 90, "texture": "#3"}, + "up": {"uv": [0, 0, 12, 12], "rotation": 90, "texture": "#4"}, + "down": {"uv": [0, 0, 12, 12], "rotation": 90, "texture": "#4"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electric_pump/item.json b/src/main/resources/assets/tfmg/models/block/electric_pump/item.json new file mode 100644 index 00000000..10667c01 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electric_pump/item.json @@ -0,0 +1,115 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "2": "tfmg:block/steel_pipes", + "3": "tfmg:block/electric_pump", + "4": "tfmg:block/steel_pump", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "name": "middle", + "from": [4, 5, 4], + "to": [12, 13, 12], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [4, 4.5, 0, 8.5], "rotation": 180, "texture": "#2"}, + "east": {"uv": [4, 4.5, 0, 8.5], "rotation": 180, "texture": "#2"}, + "south": {"uv": [4, 4.5, 0, 8.5], "rotation": 180, "texture": "#2"}, + "west": {"uv": [4, 4.5, 0, 8.5], "texture": "#2"}, + "up": {"uv": [4, 4.5, 0, 8.5], "rotation": 180, "texture": "#2"}, + "down": {"uv": [4, 4.5, 0, 8.5], "rotation": 180, "texture": "#2"} + } + }, + { + "name": "front", + "from": [3, 11, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [6, 1, 11, 11], "rotation": 90, "texture": "#3"}, + "east": {"uv": [6, 1, 11, 11], "rotation": 90, "texture": "#3"}, + "south": {"uv": [6, 1, 11, 11], "rotation": 90, "texture": "#3"}, + "west": {"uv": [6, 1, 11, 11], "rotation": 90, "texture": "#3"}, + "up": {"uv": [11, 11, 16, 16], "texture": "#2"}, + "down": {"uv": [6, 11, 11, 16], "texture": "#2"} + } + }, + { + "name": "front", + "from": [3, 0, 3], + "to": [13, 5, 13], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [6, 1, 11, 11], "rotation": 90, "texture": "#3"}, + "east": {"uv": [6, 1, 11, 11], "rotation": 90, "texture": "#3"}, + "south": {"uv": [6, 1, 11, 11], "rotation": 90, "texture": "#3"}, + "west": {"uv": [6, 1, 11, 11], "rotation": 90, "texture": "#3"}, + "up": {"uv": [11, 11, 16, 16], "texture": "#2"}, + "down": {"uv": [11, 11, 16, 16], "texture": "#2"} + } + }, + { + "from": [0, 5, 5], + "to": [4, 11, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6, 6, 10], "rotation": 90, "texture": "#3"}, + "south": {"uv": [0, 6, 6, 10], "rotation": 270, "texture": "#3"}, + "west": {"uv": [0, 0, 6, 6], "rotation": 90, "texture": "#3"}, + "up": {"uv": [0, 6, 6, 10], "rotation": 270, "texture": "#3"}, + "down": {"uv": [0, 6, 6, 10], "rotation": 270, "texture": "#3"} + } + }, + { + "from": [5, 5, 12], + "to": [11, 11, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [0, 6, 6, 10], "rotation": 270, "texture": "#3"}, + "south": {"uv": [0, 0, 6, 6], "rotation": 90, "texture": "#3"}, + "west": {"uv": [0, 6, 6, 10], "rotation": 90, "texture": "#3"}, + "up": {"uv": [0, 6, 6, 10], "rotation": 180, "texture": "#3"}, + "down": {"uv": [0, 6, 6, 10], "texture": "#3"} + } + }, + { + "from": [12, 5, 5], + "to": [16, 11, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6, 6, 10], "rotation": 270, "texture": "#3"}, + "east": {"uv": [0, 0, 6, 6], "rotation": 90, "texture": "#3"}, + "south": {"uv": [0, 6, 6, 10], "rotation": 90, "texture": "#3"}, + "up": {"uv": [0, 6, 6, 10], "rotation": 90, "texture": "#3"}, + "down": {"uv": [0, 6, 6, 10], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [5, 5, 0], + "to": [11, 11, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 6], "rotation": 90, "texture": "#3"}, + "east": {"uv": [0, 6, 6, 10], "rotation": 90, "texture": "#3"}, + "west": {"uv": [0, 6, 6, 10], "rotation": 270, "texture": "#3"}, + "up": {"uv": [0, 6, 6, 10], "texture": "#3"}, + "down": {"uv": [0, 6, 6, 10], "rotation": 180, "texture": "#3"} + } + }, + { + "from": [2, 6, 2], + "to": [14, 10, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 0, 16, 12], "rotation": 270, "texture": "#3"}, + "east": {"uv": [12, 0, 16, 12], "rotation": 90, "texture": "#3"}, + "south": {"uv": [12, 0, 16, 12], "rotation": 90, "texture": "#3"}, + "west": {"uv": [12, 0, 16, 12], "rotation": 90, "texture": "#3"}, + "up": {"uv": [0, 0, 12, 12], "rotation": 90, "texture": "#4"}, + "down": {"uv": [0, 0, 12, 12], "rotation": 90, "texture": "#4"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electric_relay/block.json b/src/main/resources/assets/tfmg/models/block/electric_relay/block.json new file mode 100644 index 00000000..d7ca6aea --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electric_relay/block.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/relay_inlet", + "1": "tfmg:block/switch_inlet", + "particle": "tfmg:block/relay_inlet" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electric_relay/item.json b/src/main/resources/assets/tfmg/models/block/electric_relay/item.json new file mode 100644 index 00000000..d7ca6aea --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electric_relay/item.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/relay_inlet", + "1": "tfmg:block/switch_inlet", + "particle": "tfmg:block/relay_inlet" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electrical_switch/block.json b/src/main/resources/assets/tfmg/models/block/electrical_switch/block.json new file mode 100644 index 00000000..e54e402b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electrical_switch/block.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/redstone_inlet", + "1": "tfmg:block/switch_inlet", + "particle": "tfmg:block/redstone_inlet" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electrical_switch/item.json b/src/main/resources/assets/tfmg/models/block/electrical_switch/item.json new file mode 100644 index 00000000..e54e402b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electrical_switch/item.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/redstone_inlet", + "1": "tfmg:block/switch_inlet", + "particle": "tfmg:block/redstone_inlet" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electrode_holder/block.json b/src/main/resources/assets/tfmg/models/block/electrode_holder/block.json new file mode 100644 index 00000000..0861ee05 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electrode_holder/block.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/aluminum_inlet", + "2": "tfmg:block/electrode_holder_slot", + "3": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/industrial_aluminum_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electrode_holder/copper_electrode.json b/src/main/resources/assets/tfmg/models/block/electrode_holder/copper_electrode.json new file mode 100644 index 00000000..74589d3a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electrode_holder/copper_electrode.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/electrodes", + "particle": "tfmg:block/electrodes" + }, + "elements": [ + { + "from": [6, -8, 6], + "to": [10, 16, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 6]}, + "faces": { + "north": {"uv": [2.5, 0, 4.5, 12], "texture": "#0"}, + "east": {"uv": [2.5, 0, 4.5, 12], "texture": "#0"}, + "south": {"uv": [2.5, 0, 4.5, 12], "texture": "#0"}, + "west": {"uv": [2.5, 0, 4.5, 12], "texture": "#0"}, + "down": {"uv": [2.5, 12, 4.5, 14], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electrode_holder/graphite_electrode.json b/src/main/resources/assets/tfmg/models/block/electrode_holder/graphite_electrode.json new file mode 100644 index 00000000..5fe4a6ff --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electrode_holder/graphite_electrode.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/electrodes", + "particle": "tfmg:block/electrodes" + }, + "elements": [ + { + "from": [6, -8, 6], + "to": [10, 16, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 6]}, + "faces": { + "north": {"uv": [5, 0, 7, 12], "texture": "#0"}, + "east": {"uv": [5, 0, 7, 12], "texture": "#0"}, + "south": {"uv": [5, 0, 7, 12], "texture": "#0"}, + "west": {"uv": [5, 0, 7, 12], "texture": "#0"}, + "down": {"uv": [5, 12, 7, 14], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electrode_holder/item.json b/src/main/resources/assets/tfmg/models/block/electrode_holder/item.json new file mode 100644 index 00000000..0861ee05 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electrode_holder/item.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/aluminum_inlet", + "2": "tfmg:block/electrode_holder_slot", + "3": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/industrial_aluminum_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electrode_holder/superheated_graphite_electrode.json b/src/main/resources/assets/tfmg/models/block/electrode_holder/superheated_graphite_electrode.json new file mode 100644 index 00000000..8a344d96 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electrode_holder/superheated_graphite_electrode.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/electrodes", + "particle": "tfmg:block/electrodes" + }, + "elements": [ + { + "from": [6, -8, 6], + "to": [10, 16, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 6]}, + "faces": { + "north": {"uv": [7.5, 0, 9.5, 12], "texture": "#0"}, + "east": {"uv": [7.5, 0, 9.5, 12], "texture": "#0"}, + "south": {"uv": [7.5, 0, 9.5, 12], "texture": "#0"}, + "west": {"uv": [7.5, 0, 9.5, 12], "texture": "#0"}, + "down": {"uv": [7.5, 12, 9.5, 14], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/electrode_holder/zinc_electrode.json b/src/main/resources/assets/tfmg/models/block/electrode_holder/zinc_electrode.json new file mode 100644 index 00000000..52962ce6 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/electrode_holder/zinc_electrode.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/electrodes", + "particle": "tfmg:block/electrodes" + }, + "elements": [ + { + "from": [6, -8, 6], + "to": [10, 16, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 6]}, + "faces": { + "north": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "down": {"uv": [0, 12, 2, 14], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/encased_cogwheel/block.json b/src/main/resources/assets/tfmg/models/block/encased_cogwheel/block.json new file mode 100644 index 00000000..559f7ebf --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/encased_cogwheel/block.json @@ -0,0 +1,55 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "block/stripped_spruce_log_top", + "particle": "create:block/andesite_casing", + "casing": "create:block/andesite_casing", + "side": "create:block/andesite_encased_cogwheel_side" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "east": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "south": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "west": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#casing"} + } + }, + { + "from": [0, 6, 0], + "to": [16, 10, 16], + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"}, + "east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"} + } + }, + { + "from": [15.95, 6, 0.05], + "to": [0.05, 10, 15.95], + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"}, + "east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"} + } + }, + { + "from": [0, 10, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "east": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "west": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#casing"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/encased_cogwheel/block_bottom.json b/src/main/resources/assets/tfmg/models/block/encased_cogwheel/block_bottom.json new file mode 100644 index 00000000..f7c55e20 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/encased_cogwheel/block_bottom.json @@ -0,0 +1,96 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "block/stripped_spruce_log_top", + "4": "create:block/gearbox", + "particle": "create:block/andesite_casing", + "casing": "create:block/andesite_casing", + "side": "create:block/andesite_encased_cogwheel_side" + }, + "elements": [ + { + "from": [0, 1, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "east": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "south": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "west": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "from": [0, 6, 0], + "to": [16, 10, 16], + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"}, + "east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"} + } + }, + { + "from": [15.95, 6, 0.05], + "to": [0.05, 10, 15.95], + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"}, + "east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"} + } + }, + { + "from": [0, 10, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "east": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "west": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#casing"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 1, 2], + "faces": { + "north": {"uv": [0, 15, 16, 16], "texture": "#side"}, + "east": {"uv": [14, 15, 16, 16], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [0, 15, 2, 16], "texture": "#side"}, + "down": {"uv": [0, 14, 16, 16], "texture": "#casing"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 1, 14], + "faces": { + "east": {"uv": [2, 15, 14, 16], "texture": "#side"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#casing"} + } + }, + { + "from": [0, 0, 14], + "to": [16, 1, 16], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [0, 15, 2, 16], "texture": "#side"}, + "south": {"uv": [0, 15, 16, 16], "texture": "#side"}, + "west": {"uv": [14, 15, 16, 16], "texture": "#side"}, + "down": {"uv": [0, 0, 16, 2], "texture": "#casing"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 1, 14], + "faces": { + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "west": {"uv": [2, 15, 14, 16], "texture": "#side"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#casing"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/encased_cogwheel/block_top.json b/src/main/resources/assets/tfmg/models/block/encased_cogwheel/block_top.json new file mode 100644 index 00000000..336f03c9 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/encased_cogwheel/block_top.json @@ -0,0 +1,96 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "block/stripped_spruce_log_top", + "4": "create:block/gearbox", + "particle": "create:block/andesite_casing", + "casing": "create:block/andesite_casing", + "side": "create:block/andesite_encased_cogwheel_side" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "east": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "south": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "west": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#casing"} + } + }, + { + "from": [0, 6, 0], + "to": [16, 10, 16], + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"}, + "east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"} + } + }, + { + "from": [15.95, 6, 0.05], + "to": [0.05, 10, 15.95], + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"}, + "east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"} + } + }, + { + "from": [0, 10, 0], + "to": [16, 15, 16], + "faces": { + "north": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "east": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "south": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "west": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [0, 15, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#side"}, + "east": {"uv": [14, 0, 16, 1], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 2], "texture": "#casing"} + } + }, + { + "from": [0, 15, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#side"}, + "west": {"uv": [14, 0, 16, 1], "texture": "#side"}, + "up": {"uv": [0, 14, 16, 16], "texture": "#casing"} + } + }, + { + "from": [0, 15, 2], + "to": [2, 16, 14], + "faces": { + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#side"}, + "up": {"uv": [0, 2, 2, 14], "texture": "#casing"} + } + }, + { + "from": [14, 15, 2], + "to": [16, 16, 14], + "faces": { + "east": {"uv": [2, 0, 14, 1], "texture": "#side"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "up": {"uv": [14, 2, 16, 14], "texture": "#casing"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/encased_cogwheel/block_top_bottom.json b/src/main/resources/assets/tfmg/models/block/encased_cogwheel/block_top_bottom.json new file mode 100644 index 00000000..af8d29d8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/encased_cogwheel/block_top_bottom.json @@ -0,0 +1,136 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "block/stripped_spruce_log_top", + "4": "create:block/gearbox", + "particle": "create:block/andesite_casing", + "casing": "create:block/andesite_casing", + "side": "create:block/andesite_encased_cogwheel_side" + }, + "elements": [ + { + "from": [0, 1, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "east": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "south": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "west": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "from": [0, 6, 0], + "to": [16, 10, 16], + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"}, + "east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"} + } + }, + { + "from": [15.95, 6, 0.05], + "to": [0.05, 10, 15.95], + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"}, + "east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"} + } + }, + { + "from": [0, 10, 0], + "to": [16, 15, 16], + "faces": { + "north": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "east": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "south": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "west": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [0, 15, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#side"}, + "east": {"uv": [14, 0, 16, 1], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 2], "texture": "#casing"} + } + }, + { + "from": [0, 15, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#side"}, + "west": {"uv": [14, 0, 16, 1], "texture": "#side"}, + "up": {"uv": [0, 14, 16, 16], "texture": "#casing"} + } + }, + { + "from": [0, 15, 2], + "to": [2, 16, 14], + "faces": { + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#side"}, + "up": {"uv": [0, 2, 2, 14], "texture": "#casing"} + } + }, + { + "from": [14, 15, 2], + "to": [16, 16, 14], + "faces": { + "east": {"uv": [2, 0, 14, 1], "texture": "#side"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "up": {"uv": [14, 2, 16, 14], "texture": "#casing"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 1, 2], + "faces": { + "north": {"uv": [0, 15, 16, 16], "texture": "#side"}, + "east": {"uv": [14, 15, 16, 16], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [0, 15, 2, 16], "texture": "#side"}, + "down": {"uv": [0, 14, 16, 16], "texture": "#casing"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 1, 14], + "faces": { + "east": {"uv": [2, 15, 14, 16], "texture": "#side"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#casing"} + } + }, + { + "from": [0, 0, 14], + "to": [16, 1, 16], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [0, 15, 2, 16], "texture": "#side"}, + "south": {"uv": [0, 15, 16, 16], "texture": "#side"}, + "west": {"uv": [14, 15, 16, 16], "texture": "#side"}, + "down": {"uv": [0, 0, 16, 2], "texture": "#casing"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 1, 14], + "faces": { + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "west": {"uv": [2, 15, 14, 16], "texture": "#side"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#casing"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/encased_cogwheel/item.json b/src/main/resources/assets/tfmg/models/block/encased_cogwheel/item.json new file mode 100644 index 00000000..300a0240 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/encased_cogwheel/item.json @@ -0,0 +1,153 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "block/stripped_spruce_log_top", + "particle": "create:block/andesite_casing", + "casing": "create:block/andesite_casing", + "side": "create:block/andesite_encased_cogwheel_side", + "1_2": "create:block/cogwheel" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "east": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "south": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "west": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#casing"} + } + }, + { + "from": [0, 6, 0], + "to": [16, 10, 16], + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#side"}, + "east": {"uv": [0, 6, 16, 10], "texture": "#side"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#side"}, + "west": {"uv": [0, 6, 16, 10], "texture": "#side"} + } + }, + { + "from": [15.95, 6, 0.05], + "to": [0.05, 10, 15.95], + "faces": { + "north": {"uv": [0, 6, 16, 10], "texture": "#side"}, + "east": {"uv": [0, 6, 16, 10], "texture": "#side"}, + "south": {"uv": [0, 6, 16, 10], "texture": "#side"}, + "west": {"uv": [0, 6, 16, 10], "texture": "#side"} + } + }, + { + "from": [0, 10, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "east": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "west": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#casing"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "name": "Gear", + "from": [-1, 6.025, 6.5], + "to": [17, 9.975, 9.5], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7, 8, 16, 10], "texture": "#1_2"}, + "east": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"}, + "south": {"uv": [7, 8, 16, 10], "texture": "#1_2"}, + "west": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"} + } + }, + { + "name": "Gear2", + "from": [-1, 6.025, 6.5], + "to": [17, 9.975, 9.5], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7, 8, 16, 10], "texture": "#1_2"}, + "east": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"}, + "south": {"uv": [7, 8, 16, 10], "texture": "#1_2"}, + "west": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"} + } + }, + { + "name": "Gear3", + "from": [6.5, 6.025, -1], + "to": [9.5, 9.975, 17], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"}, + "east": {"uv": [7, 8, 16, 10], "texture": "#1_2"}, + "south": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"}, + "west": {"uv": [7, 8, 16, 10], "texture": "#1_2"}, + "up": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#1_2"}, + "down": {"uv": [7, 6, 16, 7.5], "rotation": 270, "texture": "#1_2"} + } + }, + { + "name": "Gear4", + "from": [6.5, 6.025, -1], + "to": [9.5, 9.975, 17], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"}, + "east": {"uv": [7, 8, 16, 10], "texture": "#1_2"}, + "south": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"}, + "west": {"uv": [7, 8, 16, 10], "texture": "#1_2"}, + "up": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#1_2"}, + "down": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#1_2"} + } + }, + { + "name": "GearCaseInner", + "from": [2, 6.5, 2], + "to": [14, 9.5, 14], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"}, + "east": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"}, + "south": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"}, + "west": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"}, + "up": {"uv": [4, 0, 10, 6], "texture": "#1_2"}, + "down": {"uv": [4, 0, 10, 6], "texture": "#1_2"} + } + }, + { + "name": "GearCaseOuter", + "from": [4, 6, 4], + "to": [12, 10, 12], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 4, 4, 6], "texture": "#1_2"}, + "east": {"uv": [0, 4, 4, 6], "texture": "#1_2"}, + "south": {"uv": [0, 4, 4, 6], "texture": "#1_2"}, + "west": {"uv": [0, 4, 4, 6], "texture": "#1_2"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#1_2"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#1_2"} + } + } + ], + "groups": [ + 0, + 1, + 2, + 3, + { + "name": "cogwheel", + "origin": [8, 8, 8], + "color": 0, + "children": [4, 5, 6, 7, 8, 9] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/encased_diode.json b/src/main/resources/assets/tfmg/models/block/encased_diode.json new file mode 100644 index 00000000..a0bc816c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/encased_diode.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/heavy_machinery_casing", + "1": "tfmg:block/encased_diode_back", + "2": "tfmg:block/encased_diode_front", + "particle": "tfmg:block/heavy_machinery_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/encased_large_cogwheel/block.json b/src/main/resources/assets/tfmg/models/block/encased_large_cogwheel/block.json new file mode 100644 index 00000000..84c56d7a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/encased_large_cogwheel/block.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "block/stripped_spruce_log_top", + "particle": "create:block/andesite_casing", + "casing": "create:block/andesite_casing", + "side": "create:block/andesite_encased_cogwheel_side_connected" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "east": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "south": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "west": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "up": {"uv": [0, 2, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#casing"} + } + }, + { + "from": [0, 10, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "east": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "west": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#casing"}, + "down": {"uv": [0, 0, 16, 14], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/encased_large_cogwheel/block_bottom.json b/src/main/resources/assets/tfmg/models/block/encased_large_cogwheel/block_bottom.json new file mode 100644 index 00000000..4949caee --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/encased_large_cogwheel/block_bottom.json @@ -0,0 +1,84 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "block/stripped_spruce_log_top", + "4": "create:block/gearbox", + "particle": "create:block/andesite_casing", + "casing": "create:block/andesite_casing", + "side": "create:block/andesite_encased_cogwheel_side_connected" + }, + "elements": [ + { + "from": [0, 1, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "east": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "south": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "west": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "from": [0, 10, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "east": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "west": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#casing"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 1, 2], + "faces": { + "north": {"uv": [0, 15, 16, 16], "texture": "#casing"}, + "east": {"uv": [14, 15, 16, 16], "texture": "#casing"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [0, 15, 2, 16], "texture": "#casing"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "down": {"uv": [0, 14, 16, 16], "texture": "#casing"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 1, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "east": {"uv": [2, 15, 14, 16], "texture": "#casing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#casing"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 1, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "west": {"uv": [2, 15, 14, 16], "texture": "#casing"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#casing"} + } + }, + { + "from": [0, 0, 14], + "to": [16, 1, 16], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [0, 15, 2, 16], "texture": "#casing"}, + "south": {"uv": [0, 15, 16, 16], "texture": "#casing"}, + "west": {"uv": [14, 15, 16, 16], "texture": "#casing"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "down": {"uv": [0, 0, 16, 2], "texture": "#casing"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/encased_large_cogwheel/block_top.json b/src/main/resources/assets/tfmg/models/block/encased_large_cogwheel/block_top.json new file mode 100644 index 00000000..6feb7109 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/encased_large_cogwheel/block_top.json @@ -0,0 +1,84 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "block/stripped_spruce_log_top", + "4": "create:block/gearbox", + "particle": "create:block/andesite_casing", + "casing": "create:block/andesite_casing", + "side": "create:block/andesite_encased_cogwheel_side_connected" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "east": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "south": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "west": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#casing"} + } + }, + { + "from": [0, 10, 0], + "to": [16, 15, 16], + "faces": { + "north": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "east": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "south": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "west": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [14, 15, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "up": {"uv": [14, 2, 16, 14], "texture": "#casing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#casing"} + } + }, + { + "from": [0, 15, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [14, 0, 16, 1], "texture": "#casing"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#casing"}, + "up": {"uv": [0, 0, 16, 2], "texture": "#casing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#casing"} + } + }, + { + "from": [0, 15, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "up": {"uv": [0, 2, 2, 14], "texture": "#casing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#casing"} + } + }, + { + "from": [0, 15, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#casing"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [14, 0, 16, 1], "texture": "#casing"}, + "up": {"uv": [0, 14, 16, 16], "texture": "#casing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#casing"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/encased_large_cogwheel/block_top_bottom.json b/src/main/resources/assets/tfmg/models/block/encased_large_cogwheel/block_top_bottom.json new file mode 100644 index 00000000..1ce76bad --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/encased_large_cogwheel/block_top_bottom.json @@ -0,0 +1,124 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "block/stripped_spruce_log_top", + "4": "create:block/gearbox", + "particle": "create:block/andesite_casing", + "casing": "create:block/andesite_casing", + "side": "create:block/andesite_encased_cogwheel_side_connected" + }, + "elements": [ + { + "from": [0, 1, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "east": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "south": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "west": {"uv": [0, 10, 16, 15], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "from": [0, 10, 0], + "to": [16, 15, 16], + "faces": { + "north": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "east": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "south": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "west": {"uv": [0, 1, 16, 6], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [14, 15, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "up": {"uv": [14, 2, 16, 14], "texture": "#casing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#casing"} + } + }, + { + "from": [0, 15, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [14, 0, 16, 1], "texture": "#casing"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#casing"}, + "up": {"uv": [0, 0, 16, 2], "texture": "#casing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#casing"} + } + }, + { + "from": [0, 15, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "up": {"uv": [0, 2, 2, 14], "texture": "#casing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#casing"} + } + }, + { + "from": [0, 15, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#casing"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [14, 0, 16, 1], "texture": "#casing"}, + "up": {"uv": [0, 14, 16, 16], "texture": "#casing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#casing"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 1, 2], + "faces": { + "north": {"uv": [0, 15, 16, 16], "texture": "#casing"}, + "east": {"uv": [14, 15, 16, 16], "texture": "#casing"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "west": {"uv": [0, 15, 2, 16], "texture": "#casing"}, + "down": {"uv": [0, 14, 16, 16], "texture": "#casing"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 1, 14], + "faces": { + "east": {"uv": [2, 15, 14, 16], "texture": "#casing"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#casing"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 1, 14], + "faces": { + "east": {"uv": [2, 0, 14, 1], "texture": "#casing"}, + "west": {"uv": [2, 15, 14, 16], "texture": "#casing"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#casing"} + } + }, + { + "from": [0, 0, 14], + "to": [16, 1, 16], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#casing"}, + "east": {"uv": [0, 15, 2, 16], "texture": "#casing"}, + "south": {"uv": [0, 15, 16, 16], "texture": "#casing"}, + "west": {"uv": [14, 15, 16, 16], "texture": "#casing"}, + "down": {"uv": [0, 0, 16, 2], "texture": "#casing"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/encased_large_cogwheel/item.json b/src/main/resources/assets/tfmg/models/block/encased_large_cogwheel/item.json new file mode 100644 index 00000000..d5763dd5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/encased_large_cogwheel/item.json @@ -0,0 +1,250 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/large_wheels", + "textures": { + "1": "block/stripped_spruce_log_top", + "4": "create:block/large_cogwheel", + "particle": "create:block/andesite_casing", + "casing": "create:block/andesite_casing", + "side": "create:block/andesite_encased_cogwheel_side_connected" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "east": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "south": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "west": {"uv": [0, 10, 16, 16], "texture": "#side"}, + "up": {"uv": [0, 2, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#casing"} + } + }, + { + "from": [0, 10, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "east": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "south": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "west": {"uv": [0, 0, 16, 6], "texture": "#side"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#casing"}, + "down": {"uv": [0, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "GearCaseInnerRotated", + "from": [-2, 6.525, -2], + "to": [18, 9.475, 18], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 10, 10, 11.5], "texture": "#4"}, + "east": {"uv": [0, 10, 10, 11.5], "texture": "#4"}, + "south": {"uv": [0, 10, 10, 11.5], "texture": "#4"}, + "west": {"uv": [0, 10, 10, 11.5], "texture": "#4"}, + "up": {"uv": [0, 0, 10, 10], "texture": "#4"}, + "down": {"uv": [0, 0, 10, 10], "texture": "#4"} + } + }, + { + "name": "Gear2", + "from": [-7, 6.025, 6.5], + "to": [23, 9.975, 9.5], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "east": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "south": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "west": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#4"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#4"} + } + }, + { + "name": "Gear3", + "from": [-7, 6.025, 6.5], + "to": [23, 9.975, 9.5], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "east": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "south": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "west": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#4"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#4"} + } + }, + { + "name": "Gear4", + "from": [6.5, 6.025, -7], + "to": [9.5, 9.975, 23], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "east": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "south": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "west": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"} + } + }, + { + "name": "GearCaseInner", + "from": [-2, 6.5, -2], + "to": [18, 9.5, 18], + "faces": { + "north": {"uv": [0, 10, 10, 11.5], "texture": "#4"}, + "east": {"uv": [0, 10, 10, 11.5], "texture": "#4"}, + "south": {"uv": [0, 10, 10, 11.5], "texture": "#4"}, + "west": {"uv": [0, 10, 10, 11.5], "texture": "#4"}, + "up": {"uv": [0, 0, 10, 10], "texture": "#4"}, + "down": {"uv": [0, 0, 10, 10], "texture": "#4"} + } + }, + { + "name": "GearCaseOuter", + "from": [1, 5.975, 1], + "to": [15, 10.025, 15], + "faces": { + "north": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"}, + "east": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"}, + "south": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"}, + "west": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"}, + "up": {"uv": [1.5, 1.5, 8.5, 8.5], "texture": "#4"}, + "down": {"uv": [1.5, 1.5, 8.5, 8.5], "texture": "#4"} + } + }, + { + "name": "GearCaseOuter", + "from": [-1, 5.975, 1], + "to": [1, 10.025, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"}, + "south": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"}, + "west": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"}, + "up": {"uv": [12, 0, 13, 7], "rotation": 180, "texture": "#4"}, + "down": {"uv": [13, 0, 14, 7], "rotation": 180, "texture": "#4"} + } + }, + { + "name": "GearCaseOuter", + "from": [1, 5.975, -1], + "to": [15, 10.025, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"}, + "east": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"}, + "west": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"}, + "up": {"uv": [13, 0, 14, 7], "rotation": 270, "texture": "#4"}, + "down": {"uv": [12, 0, 13, 7], "rotation": 90, "texture": "#4"} + } + }, + { + "name": "GearCaseOuter", + "from": [15, 5.975, 1], + "to": [17, 10.025, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"}, + "east": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"}, + "south": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"}, + "up": {"uv": [15, 0, 16, 7], "texture": "#4"}, + "down": {"uv": [14, 0, 15, 7], "texture": "#4"} + } + }, + { + "name": "GearCaseOuter", + "from": [1, 5.975, 15], + "to": [15, 10.025, 17], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"}, + "south": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"}, + "west": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"}, + "up": {"uv": [14, 0, 15, 7], "rotation": 90, "texture": "#4"}, + "down": {"uv": [15, 0, 16, 7], "rotation": 270, "texture": "#4"} + } + }, + { + "name": "Gear", + "from": [6.5, 6.025, -7], + "to": [9.5, 9.975, 23], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "east": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "south": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "west": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"} + } + }, + { + "name": "Gear5", + "from": [-7, 6.025, 6.5], + "to": [23, 9.975, 9.5], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "east": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "south": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "west": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#4"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#4"} + } + }, + { + "name": "Gear6", + "from": [6.5, 6.025, -7], + "to": [9.5, 9.975, 23], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "east": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "south": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "west": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"} + } + }, + { + "name": "Gear7", + "from": [-7, 6.025, 6.5], + "to": [23, 9.975, 9.5], + "faces": { + "north": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "east": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "south": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "west": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#4"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#4"} + } + }, + { + "name": "Gear8", + "from": [6.5, 6.025, -7], + "to": [9.5, 9.975, 23], + "faces": { + "north": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "east": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "south": {"uv": [10, 9, 11.5, 11], "texture": "#4"}, + "west": {"uv": [0, 13, 15, 15], "texture": "#4"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"} + } + } + ], + "groups": [ + 0, + 1, + { + "name": "large_cogwheel", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/encased_potentiometer.json b/src/main/resources/assets/tfmg/models/block/encased_potentiometer.json new file mode 100644 index 00000000..3a514377 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/encased_potentiometer.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/heavy_machinery_casing", + "1": "tfmg:block/encased_resistor", + "particle": "tfmg:block/heavy_machinery_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/encased_shaft/block.json b/src/main/resources/assets/tfmg/models/block/encased_shaft/block.json new file mode 100644 index 00000000..e69de29b diff --git a/src/main/resources/assets/tfmg/models/block/encased_shaft/block_heavy_casing.json b/src/main/resources/assets/tfmg/models/block/encased_shaft/block_heavy_casing.json new file mode 100644 index 00000000..ae633208 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/encased_shaft/block_heavy_casing.json @@ -0,0 +1,7 @@ +{ + "parent": "create:block/encased_shaft/block", + "textures": { + "casing": "tfmg:block/heavy_machinery_casing", + "opening": "tfmg:block/heavy_gearbox" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/encased_shaft/block_steel.json b/src/main/resources/assets/tfmg/models/block/encased_shaft/block_steel.json new file mode 100644 index 00000000..2cded803 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/encased_shaft/block_steel.json @@ -0,0 +1,7 @@ +{ + "parent": "create:block/encased_shaft/block", + "textures": { + "casing": "tfmg:block/steel_casing", + "opening": "tfmg:block/steel_gearbox" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/encased_shaft/item.json b/src/main/resources/assets/tfmg/models/block/encased_shaft/item.json new file mode 100644 index 00000000..e69de29b diff --git a/src/main/resources/assets/tfmg/models/block/encased_shaft/item_heavy_casing.json b/src/main/resources/assets/tfmg/models/block/encased_shaft/item_heavy_casing.json new file mode 100644 index 00000000..8b5cdbca --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/encased_shaft/item_heavy_casing.json @@ -0,0 +1,7 @@ +{ + "parent": "create:block/encased_shaft/item", + "textures": { + "casing": "tfmg:block/heavy_machinery_casing", + "opening": "tfmg:block/heavy_gearbox" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/encased_shaft/item_steel.json b/src/main/resources/assets/tfmg/models/block/encased_shaft/item_steel.json new file mode 100644 index 00000000..60c8a6d3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/encased_shaft/item_steel.json @@ -0,0 +1,7 @@ +{ + "parent": "create:block/encased_shaft/item", + "textures": { + "casing": "tfmg:block/steel_casing", + "opening": "tfmg:block/steel_gearbox" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/engine_block.json b/src/main/resources/assets/tfmg/models/block/engine_block.json new file mode 100644 index 00000000..e69de29b diff --git a/src/main/resources/assets/tfmg/models/block/engine_block/block.json b/src/main/resources/assets/tfmg/models/block/engine_block/block.json new file mode 100644 index 00000000..6321b38c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/engine_block/block.json @@ -0,0 +1,49 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/engines/engine_back", + "1": "tfmg:block/engines/engine_bottom", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 7, 16], + "faces": { + "north": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "west": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "up": {"uv": [13, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 3, 16], "texture": "#1"} + } + }, + { + "from": [13, 0, 0], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "east": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 3, 16], "texture": "#4"}, + "down": {"uv": [13, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 0], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "east": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "west": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "up": {"uv": [3, 0, 13, 16], "texture": "#4"}, + "down": {"uv": [3, 0, 13, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/engine_block/item.json b/src/main/resources/assets/tfmg/models/block/engine_block/item.json new file mode 100644 index 00000000..6321b38c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/engine_block/item.json @@ -0,0 +1,49 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/engines/engine_back", + "1": "tfmg:block/engines/engine_bottom", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 7, 16], + "faces": { + "north": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "west": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "up": {"uv": [13, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 3, 16], "texture": "#1"} + } + }, + { + "from": [13, 0, 0], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "east": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 3, 16], "texture": "#4"}, + "down": {"uv": [13, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 0], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "east": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "west": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "up": {"uv": [3, 0, 13, 16], "texture": "#4"}, + "down": {"uv": [3, 0, 13, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/engine_controller/block.json b/src/main/resources/assets/tfmg/models/block/engine_controller/block.json new file mode 100644 index 00000000..6ea53cde --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/engine_controller/block.json @@ -0,0 +1,143 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/engine_controller", + "particle": "tfmg:block/engine_controller" + }, + "elements": [ + { + "from": [4, 0, 5], + "to": [15, 5, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 4]}, + "faces": { + "north": {"uv": [0, 5, 5.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 5, 5.5, 7.5], "texture": "#0"}, + "south": {"uv": [7, 0, 12.5, 2.5], "texture": "#0"}, + "up": {"uv": [14, 10.5, 8.5, 16], "texture": "#0"}, + "down": {"uv": [14, 10.5, 8.5, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [4, 5, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-3, 0, 4]}, + "faces": { + "north": {"uv": [13.5, 0, 15.5, 2.5], "texture": "#0"}, + "east": {"uv": [6, 8, 14, 10.5], "texture": "#0"}, + "south": {"uv": [5, 0, 7, 2.5], "texture": "#0"}, + "west": {"uv": [6, 8, 14, 10.5], "texture": "#0"}, + "up": {"uv": [16, 8, 14, 16], "texture": "#0"}, + "down": {"uv": [16, 16, 14, 8], "texture": "#0"} + } + }, + { + "from": [2, 5, 5], + "to": [14, 12, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 5, 4]}, + "faces": { + "north": {"uv": [0, 12, 6, 15.5], "texture": "#0"}, + "east": {"uv": [11.5, 4.5, 16, 8], "texture": "#0"}, + "south": {"uv": [0, 12, 6, 15.5], "texture": "#0"}, + "west": {"uv": [11.5, 4.5, 16, 8], "texture": "#0"}, + "up": {"uv": [0, 7.5, 6, 12], "texture": "#0"} + } + }, + { + "from": [3, 14, 9], + "to": [13, 19, 13], + "rotation": {"angle": 22.5, "axis": "x", "origin": [5, 12, 3]}, + "faces": { + "north": {"uv": [0, 0, 5, 2.5], "texture": "#0"}, + "east": {"uv": [5, 2.5, 7, 5], "texture": "#0"}, + "south": {"uv": [0, 2.5, 5, 5], "texture": "#0"}, + "west": {"uv": [5.5, 2.5, 7.5, 5], "texture": "#0"}, + "up": {"uv": [0, 3, 5, 5], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 4], "texture": "#missing"} + } + }, + { + "from": [3, 14, 8], + "to": [4, 19, 9], + "rotation": {"angle": 22.5, "axis": "x", "origin": [5, 12, 3]}, + "faces": { + "north": {"uv": [0, 0, 0.5, 2.5], "texture": "#0"}, + "east": {"uv": [4.5, 0, 5, 2.5], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 7], "texture": "#0"}, + "west": {"uv": [5, 2.5, 5.5, 5], "texture": "#0"}, + "up": {"uv": [0, 2.5, 0.5, 3], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [12, 14, 8], + "to": [13, 19, 9], + "rotation": {"angle": 22.5, "axis": "x", "origin": [14, 12, 3]}, + "faces": { + "north": {"uv": [0, 0, 0.5, 2.5], "texture": "#0"}, + "east": {"uv": [7, 2.5, 7.5, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 7], "texture": "#0"}, + "west": {"uv": [0, 0, 0.5, 2.5], "texture": "#0"}, + "up": {"uv": [4.5, 2.5, 5, 3], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [4, 18, 8], + "to": [12, 19, 9], + "rotation": {"angle": 22.5, "axis": "x", "origin": [13, 12, 3]}, + "faces": { + "north": {"uv": [0.5, 0, 4.5, 0.5], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0.5, 2.5, 4.5, 3], "texture": "#0"}, + "down": {"uv": [0.5, 0, 4.5, 0.5], "texture": "#0"} + } + }, + { + "from": [7, 15, 8], + "to": [9, 18, 9], + "rotation": {"angle": 22.5, "axis": "x", "origin": [13, 12, 3]}, + "faces": { + "north": {"uv": [2, 0.5, 3, 2], "texture": "#0"}, + "east": {"uv": [2, 0.5, 2.5, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 3], "texture": "#missing"}, + "west": {"uv": [2.5, 0.5, 3, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 1], "texture": "#missing"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#missing"} + } + }, + { + "from": [4, 14, 8], + "to": [12, 15, 9], + "rotation": {"angle": 22.5, "axis": "x", "origin": [13, 12, 3]}, + "faces": { + "north": {"uv": [0.5, 2, 4.5, 2.5], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#missing"}, + "south": {"uv": [0, 0, 8, 1], "texture": "#missing"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#missing"}, + "up": {"uv": [0.5, 2, 4.5, 2.5], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 1], "texture": "#missing"} + } + } + ], + "groups": [ + { + "name": "steering_wheel", + "origin": [-3, 10, 4], + "color": 0, + "children": [] + }, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/engine_controller/dial.json b/src/main/resources/assets/tfmg/models/block/engine_controller/dial.json new file mode 100644 index 00000000..ff5de347 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/engine_controller/dial.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engines/engine_top_connected", + "particle": "tfmg:block/engines/engine_top_connected" + }, + "elements": [ + { + "from": [7.5, 7.5, 1], + "to": [8.5, 9.5, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 0]}, + "faces": { + "north": {"uv": [2.5, 0, 3, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/engine_controller/item.json b/src/main/resources/assets/tfmg/models/block/engine_controller/item.json new file mode 100644 index 00000000..83c2fe0f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/engine_controller/item.json @@ -0,0 +1,345 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/engine_controller", + "1": "tfmg:block/shaft", + "2": "tfmg:block/engines/engine_controller_parts", + "particle": "tfmg:block/engine_controller" + }, + "elements": [ + { + "from": [6, 9, 2], + "to": [10, 13, 10], + "rotation": {"angle": 22.5, "axis": "x", "origin": [7, 10, 6]}, + "faces": { + "north": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "east": {"uv": [6, 0, 10, 8], "rotation": 90, "texture": "#1"}, + "south": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "west": {"uv": [6, 0, 10, 8], "rotation": 90, "texture": "#1"}, + "up": {"uv": [6, 0, 10, 8], "texture": "#1"}, + "down": {"uv": [6, 0, 10, 8], "texture": "#1"} + } + }, + { + "from": [5, 8, 1], + "to": [11, 14, 3], + "rotation": {"angle": 22.5, "axis": "x", "origin": [3, 10, 6]}, + "faces": { + "north": {"uv": [3, 0, 9, 6], "texture": "#2"}, + "east": {"uv": [3, 7, 9, 9], "rotation": 90, "texture": "#2"}, + "south": {"uv": [3, 0, 9, 6], "texture": "#2"}, + "west": {"uv": [3, 9, 9, 7], "rotation": 90, "texture": "#2"}, + "up": {"uv": [3, 7, 9, 9], "texture": "#2"}, + "down": {"uv": [3, 7, 9, 9], "texture": "#2"} + } + }, + { + "from": [11, 8, 1], + "to": [15, 10, 3], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 10, 6]}, + "faces": { + "north": {"uv": [13, 4, 9, 6], "texture": "#2"}, + "east": {"uv": [0, 10, 2, 12], "texture": "#2"}, + "south": {"uv": [9, 4, 13, 6], "texture": "#2"}, + "up": {"uv": [0, 11, 2, 15], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 11, 2, 15], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [1, 10, 1], + "to": [3, 14, 3], + "rotation": {"angle": 22.5, "axis": "x", "origin": [-2, 10, 6]}, + "faces": { + "north": {"uv": [11, 0, 13, 4], "texture": "#2"}, + "east": {"uv": [11, 0, 13, 4], "texture": "#2"}, + "south": {"uv": [11, 0, 13, 4], "texture": "#2"}, + "west": {"uv": [0, 12, 2, 16], "texture": "#2"}, + "up": {"uv": [0, 8, 2, 10], "texture": "#2"} + } + }, + { + "from": [13, 10, 1], + "to": [15, 14, 3], + "rotation": {"angle": 22.5, "axis": "x", "origin": [7, 10, 6]}, + "faces": { + "north": {"uv": [11, 0, 13, 4], "texture": "#2"}, + "east": {"uv": [0, 10, 2, 14], "texture": "#2"}, + "south": {"uv": [0, 10, 2, 14], "texture": "#2"}, + "west": {"uv": [11, 0, 13, 4], "texture": "#2"}, + "up": {"uv": [0, 8, 2, 10], "texture": "#2"} + } + }, + { + "from": [1, 8, 1], + "to": [5, 10, 3], + "rotation": {"angle": 22.5, "axis": "x", "origin": [-3, 10, 6]}, + "faces": { + "north": {"uv": [9, 4, 13, 6], "texture": "#2"}, + "south": {"uv": [13, 4, 9, 6], "texture": "#2"}, + "west": {"uv": [0, 12, 2, 14], "texture": "#2"}, + "up": {"uv": [0, 12, 2, 16], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 15, 2, 11], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [4, 0, 5], + "to": [15, 5, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 4]}, + "faces": { + "north": {"uv": [0, 5, 5.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 5, 5.5, 7.5], "texture": "#0"}, + "south": {"uv": [7, 0, 12.5, 2.5], "texture": "#0"}, + "up": {"uv": [14, 10.5, 8.5, 16], "texture": "#0"}, + "down": {"uv": [14, 10.5, 8.5, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [4, 5, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-3, 0, 4]}, + "faces": { + "north": {"uv": [13.5, 0, 15.5, 2.5], "texture": "#0"}, + "east": {"uv": [6, 8, 14, 10.5], "texture": "#0"}, + "south": {"uv": [5, 0, 7, 2.5], "texture": "#0"}, + "west": {"uv": [6, 8, 14, 10.5], "texture": "#0"}, + "up": {"uv": [16, 8, 14, 16], "texture": "#0"}, + "down": {"uv": [16, 16, 14, 8], "texture": "#0"} + } + }, + { + "from": [2, 5, 5], + "to": [14, 12, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 5, 4]}, + "faces": { + "north": {"uv": [0, 12, 6, 15.5], "texture": "#0"}, + "east": {"uv": [11.5, 4.5, 16, 8], "texture": "#0"}, + "south": {"uv": [0, 12, 6, 15.5], "texture": "#0"}, + "west": {"uv": [11.5, 4.5, 16, 8], "texture": "#0"}, + "up": {"uv": [0, 7.5, 6, 12], "texture": "#0"} + } + }, + { + "from": [3, 14, 9], + "to": [13, 19, 13], + "rotation": {"angle": 22.5, "axis": "x", "origin": [5, 12, 3]}, + "faces": { + "north": {"uv": [0, 0, 5, 2.5], "texture": "#0"}, + "east": {"uv": [5, 2.5, 7, 5], "texture": "#0"}, + "south": {"uv": [0, 2.5, 5, 5], "texture": "#0"}, + "west": {"uv": [5.5, 2.5, 7.5, 5], "texture": "#0"}, + "up": {"uv": [0, 3, 5, 5], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 4], "texture": "#missing"} + } + }, + { + "from": [3, 14, 8], + "to": [4, 19, 9], + "rotation": {"angle": 22.5, "axis": "x", "origin": [5, 12, 3]}, + "faces": { + "north": {"uv": [0, 0, 0.5, 2.5], "texture": "#0"}, + "east": {"uv": [4.5, 0, 5, 2.5], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 7], "texture": "#0"}, + "west": {"uv": [5, 2.5, 5.5, 5], "texture": "#0"}, + "up": {"uv": [0, 2.5, 0.5, 3], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [12, 14, 8], + "to": [13, 19, 9], + "rotation": {"angle": 22.5, "axis": "x", "origin": [14, 12, 3]}, + "faces": { + "north": {"uv": [0, 0, 0.5, 2.5], "texture": "#0"}, + "east": {"uv": [7, 2.5, 7.5, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 7], "texture": "#0"}, + "west": {"uv": [0, 0, 0.5, 2.5], "texture": "#0"}, + "up": {"uv": [4.5, 2.5, 5, 3], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [4, 18, 8], + "to": [12, 19, 9], + "rotation": {"angle": 22.5, "axis": "x", "origin": [13, 12, 3]}, + "faces": { + "north": {"uv": [0.5, 0, 4.5, 0.5], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0.5, 2.5, 4.5, 3], "texture": "#0"}, + "down": {"uv": [0.5, 0, 4.5, 0.5], "texture": "#0"} + } + }, + { + "from": [7, 15, 8], + "to": [9, 18, 9], + "rotation": {"angle": 22.5, "axis": "x", "origin": [13, 12, 3]}, + "faces": { + "north": {"uv": [2, 0.5, 3, 2], "texture": "#0"}, + "east": {"uv": [2, 0.5, 2.5, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 3], "texture": "#missing"}, + "west": {"uv": [2.5, 0.5, 3, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 1], "texture": "#missing"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#missing"} + } + }, + { + "from": [4, 14, 8], + "to": [12, 15, 9], + "rotation": {"angle": 22.5, "axis": "x", "origin": [13, 12, 3]}, + "faces": { + "north": {"uv": [0.5, 2, 4.5, 2.5], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#missing"}, + "south": {"uv": [0, 0, 8, 1], "texture": "#missing"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#missing"}, + "up": {"uv": [0.5, 2, 4.5, 2.5], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 1], "texture": "#missing"} + } + }, + { + "from": [4.5, 0, 2], + "to": [7.5, 6, 2], + "rotation": {"angle": 22.5, "axis": "x", "origin": [4, 1, 4]}, + "faces": { + "north": {"uv": [10, 7, 13, 13], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 4], "texture": "#2"}, + "south": {"uv": [10, 7, 13, 13], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 4], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 2, 0], "texture": "#2"} + } + }, + { + "from": [8.5, 0, 2], + "to": [11.5, 6, 2], + "rotation": {"angle": 22.5, "axis": "x", "origin": [3, 1, 4]}, + "faces": { + "north": {"uv": [10, 7, 13, 13], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 4], "texture": "#2"}, + "south": {"uv": [10, 7, 13, 13], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 4], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 2, 0], "texture": "#2"} + } + }, + { + "from": [5.5, 1, 2], + "to": [5.5, 3, 6], + "rotation": {"angle": 22.5, "axis": "x", "origin": [4, 1, 4]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#2"}, + "east": {"uv": [5, 10, 9, 12], "texture": "#2"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#2"}, + "west": {"uv": [5, 10, 9, 12], "texture": "#2"}, + "up": {"uv": [0, 0, 0, 4], "texture": "#2"}, + "down": {"uv": [0, 0, 0, 4], "texture": "#2"} + } + }, + { + "from": [9.5, 1, 2], + "to": [9.5, 3, 6], + "rotation": {"angle": 22.5, "axis": "x", "origin": [3, 1, 4]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#2"}, + "east": {"uv": [5, 10, 9, 12], "texture": "#2"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#2"}, + "west": {"uv": [5, 8, 10, 12], "texture": "#2"}, + "up": {"uv": [0, 0, 0, 4], "texture": "#2"}, + "down": {"uv": [0, 0, 0, 4], "texture": "#2"} + } + }, + { + "from": [12.5, 0, 2], + "to": [15.5, 6, 2], + "rotation": {"angle": 22.5, "axis": "x", "origin": [7, 1, 4]}, + "faces": { + "north": {"uv": [10, 7, 13, 13], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 4], "texture": "#2"}, + "south": {"uv": [10, 7, 13, 13], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 4], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 2, 0], "texture": "#2"} + } + }, + { + "from": [13.5, 1, 2], + "to": [13.5, 3, 6], + "rotation": {"angle": 22.5, "axis": "x", "origin": [7, 1, 4]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#2"}, + "east": {"uv": [5, 10, 9, 12], "texture": "#2"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#2"}, + "west": {"uv": [5, 8, 10, 12], "texture": "#2"}, + "up": {"uv": [0, 0, 0, 4], "texture": "#2"}, + "down": {"uv": [0, 0, 0, 4], "texture": "#2"} + } + }, + { + "from": [-2, 2, 1], + "to": [0, 4, 3], + "rotation": {"angle": -22.5, "axis": "x", "origin": [-1, 3, 2]}, + "faces": { + "north": {"uv": [7, 10, 9, 12], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "south": {"uv": [7, 10, 9, 12], "texture": "#2"}, + "west": {"uv": [7, 10, 9, 12], "texture": "#2"}, + "up": {"uv": [7, 10, 9, 12], "texture": "#2"}, + "down": {"uv": [7, 10, 9, 12], "texture": "#2"} + } + }, + { + "from": [-2, 4, 1], + "to": [-2, 10, 3], + "rotation": {"angle": -22.5, "axis": "x", "origin": [-1, 3, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 6], "texture": "#missing"}, + "east": {"uv": [2, 12, 8, 10], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 0, 0, 6], "texture": "#missing"}, + "west": {"uv": [2, 10, 8, 12], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 0, 2], "texture": "#missing"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#missing"} + } + }, + { + "from": [-3, 10, 1], + "to": [-1, 12, 3], + "rotation": {"angle": -22.5, "axis": "x", "origin": [-1, 3, 2]}, + "faces": { + "north": {"uv": [4, 13, 6, 15], "texture": "#2"}, + "east": {"uv": [4, 13, 6, 15], "texture": "#2"}, + "south": {"uv": [4, 13, 6, 15], "texture": "#2"}, + "west": {"uv": [4, 13, 6, 15], "texture": "#2"}, + "up": {"uv": [4, 13, 6, 15], "texture": "#2"}, + "down": {"uv": [4, 13, 6, 15], "texture": "#2"} + } + } + ], + "groups": [ + { + "name": "steering_wheel", + "origin": [-3, 10, 4], + "color": 0, + "children": [0, 1, 2, 3, 4, 5] + }, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/engine_controller/pedal.json b/src/main/resources/assets/tfmg/models/block/engine_controller/pedal.json new file mode 100644 index 00000000..78123e37 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/engine_controller/pedal.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engines/engine_controller_parts", + "particle": "tfmg:block/engines/engine_controller_parts" + }, + "elements": [ + { + "from": [10.5, 1, 2], + "to": [10.5, 3, 6], + "rotation": {"angle": 22.5, "axis": "x", "origin": [4, 1, 4]}, + "faces": { + "north": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "east": {"uv": [5, 10, 9, 12], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "west": {"uv": [5, 10, 9, 12], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 8], "texture": "#0"} + } + }, + { + "from": [9.5, 0, 2], + "to": [12.5, 6, 2], + "rotation": {"angle": 22.5, "axis": "x", "origin": [4, 1, 4]}, + "faces": { + "north": {"uv": [10, 7, 13, 13], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "south": {"uv": [10, 7, 13, 13], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/engine_controller/transmission_lever.json b/src/main/resources/assets/tfmg/models/block/engine_controller/transmission_lever.json new file mode 100644 index 00000000..ba94b6a4 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/engine_controller/transmission_lever.json @@ -0,0 +1,48 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/engines/engine_controller_parts", + "particle": "tfmg:block/engines/engine_controller_parts" + }, + "elements": [ + { + "from": [-2, 7, 7], + "to": [0, 9, 9], + "rotation": {"angle": -22.5, "axis": "x", "origin": [-1, 8, 8]}, + "faces": { + "north": {"uv": [7, 10, 9, 12], "texture": "#0"}, + "south": {"uv": [7, 10, 9, 12], "texture": "#0"}, + "west": {"uv": [7, 10, 9, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 9, 12], "texture": "#0"}, + "down": {"uv": [7, 10, 9, 12], "texture": "#0"} + } + }, + { + "from": [-2, 9, 7], + "to": [-2, 15, 9], + "rotation": {"angle": -22.5, "axis": "x", "origin": [-1, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "east": {"uv": [2, 12, 8, 10], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "west": {"uv": [2, 10, 8, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#0"} + } + }, + { + "from": [-3, 15, 7], + "to": [-1, 17, 9], + "rotation": {"angle": -22.5, "axis": "x", "origin": [-1, 8, 8]}, + "faces": { + "north": {"uv": [4, 13, 6, 15], "texture": "#0"}, + "east": {"uv": [4, 13, 6, 15], "texture": "#0"}, + "south": {"uv": [4, 13, 6, 15], "texture": "#0"}, + "west": {"uv": [4, 13, 6, 15], "texture": "#0"}, + "up": {"uv": [4, 13, 6, 15], "texture": "#0"}, + "down": {"uv": [4, 13, 6, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/engine_controller/wheel.json b/src/main/resources/assets/tfmg/models/block/engine_controller/wheel.json new file mode 100644 index 00000000..d57da7de --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/engine_controller/wheel.json @@ -0,0 +1,89 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/engines/engine_controller_parts", + "1": "tfmg:block/shaft", + "particle": "tfmg:block/engines/engine_controller_parts" + }, + "elements": [ + { + "from": [6, 6, 2], + "to": [10, 10, 10], + "rotation": {"angle": 0, "axis": "x", "origin": [7, 7, 6]}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "east": {"uv": [6, 0, 10, 8], "rotation": 90, "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [6, 0, 10, 8], "rotation": 90, "texture": "#1"}, + "up": {"uv": [6, 0, 10, 8], "texture": "#1"}, + "down": {"uv": [6, 0, 10, 8], "texture": "#1"} + } + }, + { + "from": [11, 5, 1], + "to": [15, 7, 3], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 7, 6]}, + "faces": { + "north": {"uv": [13, 4, 9, 6], "texture": "#0"}, + "east": {"uv": [0, 10, 2, 12], "texture": "#0"}, + "south": {"uv": [9, 4, 13, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "up": {"uv": [0, 11, 2, 15], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11, 2, 15], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13, 7, 1], + "to": [15, 11, 3], + "rotation": {"angle": 0, "axis": "x", "origin": [7, 7, 6]}, + "faces": { + "north": {"uv": [11, 0, 13, 4], "texture": "#0"}, + "east": {"uv": [0, 10, 2, 14], "texture": "#0"}, + "south": {"uv": [0, 10, 2, 14], "texture": "#0"}, + "west": {"uv": [11, 0, 13, 4], "texture": "#0"}, + "up": {"uv": [0, 8, 2, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [5, 5, 1], + "to": [11, 11, 3], + "rotation": {"angle": 0, "axis": "x", "origin": [3, 7, 6]}, + "faces": { + "north": {"uv": [3, 0, 9, 6], "texture": "#0"}, + "east": {"uv": [3, 7, 9, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [3, 0, 9, 6], "texture": "#0"}, + "west": {"uv": [3, 9, 9, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [3, 7, 9, 9], "texture": "#0"}, + "down": {"uv": [3, 7, 9, 9], "texture": "#0"} + } + }, + { + "from": [1, 7, 1], + "to": [3, 11, 3], + "rotation": {"angle": 0, "axis": "x", "origin": [-2, 7, 6]}, + "faces": { + "north": {"uv": [11, 0, 13, 4], "texture": "#0"}, + "east": {"uv": [11, 0, 13, 4], "texture": "#0"}, + "south": {"uv": [11, 0, 13, 4], "texture": "#0"}, + "west": {"uv": [0, 12, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 8, 2, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [1, 5, 1], + "to": [5, 7, 3], + "rotation": {"angle": 0, "axis": "x", "origin": [-3, 7, 6]}, + "faces": { + "north": {"uv": [9, 4, 13, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "south": {"uv": [13, 4, 9, 6], "texture": "#0"}, + "west": {"uv": [0, 12, 2, 14], "texture": "#0"}, + "up": {"uv": [0, 12, 2, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 15, 2, 11], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/engine_expansion/block.json b/src/main/resources/assets/tfmg/models/block/engine_expansion/block.json new file mode 100644 index 00000000..8acbb406 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/engine_expansion/block.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/blast_furnace_output", + "1": "tfmg:block/fireproof_bricks", + "particle": "tfmg:block/blast_furnace_output" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "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], "rotation": 180, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/engine_expansion/item.json b/src/main/resources/assets/tfmg/models/block/engine_expansion/item.json new file mode 100644 index 00000000..d8c59aae --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/engine_expansion/item.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/blast_furnace_output", + "1": "tfmg:block/fireproof_bricks", + "particle": "tfmg:block/blast_furnace_output" + }, + "elements": [ + { + "from": [0, 0, -1], + "to": [16, 16, 15], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "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], "rotation": 180, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/engine_gearbox/block.json b/src/main/resources/assets/tfmg/models/block/engine_gearbox/block.json new file mode 100644 index 00000000..319a32a6 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/engine_gearbox/block.json @@ -0,0 +1,191 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/engines/engine_bottom", + "2": "tfmg:block/engines/engine_front", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "6": "tfmg:block/shaft", + "7": "tfmg:block/engines/engine_gearbox", + "8": "tfmg:block/engines/engine_gearbox_front", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [3, 0, -1], + "to": [13, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, -1]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#2"}, + "east": {"uv": [12, 3, 0, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#4"}, + "west": {"uv": [0, 3, 12, 15], "texture": "#3"}, + "up": {"uv": [3, 0, 13, 12], "texture": "#4"}, + "down": {"uv": [3, 4, 13, 16], "texture": "#1"} + } + }, + { + "from": [0, 5, 11], + "to": [3, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 4, 13]}, + "faces": { + "north": {"uv": [0, 8, 3, 16], "texture": "#4"}, + "east": {"uv": [0, 0, 2, 8], "texture": "#4"}, + "south": {"uv": [13, 5, 16, 13], "texture": "#4"}, + "west": {"uv": [8, 6, 10, 14], "texture": "#7"}, + "up": {"uv": [8, 5, 10, 8], "rotation": 90, "texture": "#7"}, + "down": {"uv": [0, 0, 3, 2], "texture": "#4"} + } + }, + { + "from": [3, 0, 11], + "to": [13, 11, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 3]}, + "faces": { + "east": {"uv": [5, 4, 16, 0], "rotation": 90, "texture": "#4"}, + "south": {"uv": [3, 5, 13, 16], "texture": "#8"}, + "west": {"uv": [5, 0, 16, 4], "rotation": 90, "texture": "#4"}, + "up": {"uv": [3, 12, 13, 16], "texture": "#4"}, + "down": {"uv": [3, 0, 13, 4], "texture": "#1"} + } + }, + { + "from": [13, 0, -1], + "to": [16, 5, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 5]}, + "faces": { + "north": {"uv": [0, 11, 3, 16], "texture": "#2"}, + "east": {"uv": [0, 11, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 11, 16, 16], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "up": {"uv": [13, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [13, 0, 16, 16], "texture": "#2"} + } + }, + { + "from": [0, 11, 5], + "to": [3, 13, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 4, 13]}, + "faces": { + "east": {"uv": [5, 0, 11, 2], "texture": "#4"}, + "west": {"uv": [2, 6, 8, 8], "texture": "#7"}, + "up": {"uv": [2, 5, 8, 8], "rotation": 90, "texture": "#7"}, + "down": {"uv": [13, 5, 16, 11], "texture": "#4"} + } + }, + { + "from": [0, 5, -1], + "to": [3, 7, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 2, 5]}, + "faces": { + "north": {"uv": [3, 9, 0, 11], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "south": {"uv": [13, 11, 16, 13], "texture": "#2"}, + "west": {"uv": [14, 14, 8, 16], "texture": "#7"}, + "up": {"uv": [0, 0, 3, 6], "texture": "#4"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#2"} + } + }, + { + "from": [0, 7, 3], + "to": [3, 13, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 4, 5]}, + "faces": { + "north": {"uv": [13, 5, 16, 11], "texture": "#4"}, + "east": {"uv": [0, 0, 2, 6], "texture": "#4"}, + "south": {"uv": [13, 9, 16, 15], "texture": "#4"}, + "west": {"uv": [0, 6, 2, 12], "texture": "#7"}, + "up": {"uv": [0, 5, 2, 8], "rotation": 90, "texture": "#7"}, + "down": {"uv": [0, 0, 3, 2], "texture": "#4"} + } + }, + { + "from": [0, 0, -1], + "to": [3, 5, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 5]}, + "faces": { + "north": {"uv": [13, 11, 16, 16], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "south": {"uv": [0, 9, 3, 14], "texture": "#4"}, + "west": {"uv": [0, 11, 16, 16], "texture": "#3"}, + "up": {"uv": [0, 0, 3, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 3, 16], "texture": "#2"} + } + }, + { + "from": [13, 5, -1], + "to": [16, 7, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 2, 5]}, + "faces": { + "north": {"uv": [0, 9, 3, 11], "texture": "#2"}, + "east": {"uv": [8, 14, 14, 16], "texture": "#7"}, + "south": {"uv": [13, 10, 16, 12], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "up": {"uv": [0, 0, 3, 6], "texture": "#4"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#2"} + } + }, + { + "from": [13, 7, 3], + "to": [16, 13, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 4, 5]}, + "faces": { + "north": {"uv": [0, 5, 3, 11], "texture": "#4"}, + "east": {"uv": [8, 6, 10, 12], "texture": "#7"}, + "south": {"uv": [13, 9, 16, 15], "texture": "#4"}, + "west": {"uv": [0, 0, 2, 6], "texture": "#4"}, + "up": {"uv": [0, 5, 2, 8], "rotation": 90, "texture": "#7"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#4"} + } + }, + { + "from": [13, 5, 11], + "to": [16, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 4, 13]}, + "faces": { + "north": {"uv": [0, 8, 3, 16], "texture": "#4"}, + "east": {"uv": [0, 6, 2, 14], "texture": "#7"}, + "south": {"uv": [0, 5, 3, 13], "texture": "#4"}, + "west": {"uv": [0, 0, 2, 8], "texture": "#4"}, + "up": {"uv": [8, 5, 10, 8], "rotation": 90, "texture": "#7"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#4"} + } + }, + { + "from": [13, 11, 5], + "to": [16, 13, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 4, 13]}, + "faces": { + "east": {"uv": [2, 6, 8, 8], "texture": "#7"}, + "west": {"uv": [5, 0, 11, 2], "texture": "#4"}, + "up": {"uv": [2, 5, 8, 8], "rotation": 90, "texture": "#7"}, + "down": {"uv": [13, 5, 16, 11], "texture": "#4"} + } + }, + { + "from": [1, 5, 5], + "to": [1, 11, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 6, 8]}, + "faces": { + "north": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#6"}, + "south": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#6"}, + "west": {"uv": [2, 8, 8, 14], "texture": "#7"}, + "up": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#6"}, + "down": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#6"} + } + }, + { + "from": [15, 5, 5], + "to": [15, 11, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 6, 8]}, + "faces": { + "north": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#6"}, + "east": {"uv": [2, 8, 8, 14], "texture": "#7"}, + "south": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#6"}, + "up": {"uv": [6, 0, 10, 16], "rotation": 270, "texture": "#6"}, + "down": {"uv": [6, 0, 10, 16], "rotation": 270, "texture": "#6"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/engine_gearbox/item.json b/src/main/resources/assets/tfmg/models/block/engine_gearbox/item.json new file mode 100644 index 00000000..319a32a6 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/engine_gearbox/item.json @@ -0,0 +1,191 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/engines/engine_bottom", + "2": "tfmg:block/engines/engine_front", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "6": "tfmg:block/shaft", + "7": "tfmg:block/engines/engine_gearbox", + "8": "tfmg:block/engines/engine_gearbox_front", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [3, 0, -1], + "to": [13, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, -1]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#2"}, + "east": {"uv": [12, 3, 0, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#4"}, + "west": {"uv": [0, 3, 12, 15], "texture": "#3"}, + "up": {"uv": [3, 0, 13, 12], "texture": "#4"}, + "down": {"uv": [3, 4, 13, 16], "texture": "#1"} + } + }, + { + "from": [0, 5, 11], + "to": [3, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 4, 13]}, + "faces": { + "north": {"uv": [0, 8, 3, 16], "texture": "#4"}, + "east": {"uv": [0, 0, 2, 8], "texture": "#4"}, + "south": {"uv": [13, 5, 16, 13], "texture": "#4"}, + "west": {"uv": [8, 6, 10, 14], "texture": "#7"}, + "up": {"uv": [8, 5, 10, 8], "rotation": 90, "texture": "#7"}, + "down": {"uv": [0, 0, 3, 2], "texture": "#4"} + } + }, + { + "from": [3, 0, 11], + "to": [13, 11, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 3]}, + "faces": { + "east": {"uv": [5, 4, 16, 0], "rotation": 90, "texture": "#4"}, + "south": {"uv": [3, 5, 13, 16], "texture": "#8"}, + "west": {"uv": [5, 0, 16, 4], "rotation": 90, "texture": "#4"}, + "up": {"uv": [3, 12, 13, 16], "texture": "#4"}, + "down": {"uv": [3, 0, 13, 4], "texture": "#1"} + } + }, + { + "from": [13, 0, -1], + "to": [16, 5, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 5]}, + "faces": { + "north": {"uv": [0, 11, 3, 16], "texture": "#2"}, + "east": {"uv": [0, 11, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 11, 16, 16], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "up": {"uv": [13, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [13, 0, 16, 16], "texture": "#2"} + } + }, + { + "from": [0, 11, 5], + "to": [3, 13, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 4, 13]}, + "faces": { + "east": {"uv": [5, 0, 11, 2], "texture": "#4"}, + "west": {"uv": [2, 6, 8, 8], "texture": "#7"}, + "up": {"uv": [2, 5, 8, 8], "rotation": 90, "texture": "#7"}, + "down": {"uv": [13, 5, 16, 11], "texture": "#4"} + } + }, + { + "from": [0, 5, -1], + "to": [3, 7, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 2, 5]}, + "faces": { + "north": {"uv": [3, 9, 0, 11], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "south": {"uv": [13, 11, 16, 13], "texture": "#2"}, + "west": {"uv": [14, 14, 8, 16], "texture": "#7"}, + "up": {"uv": [0, 0, 3, 6], "texture": "#4"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#2"} + } + }, + { + "from": [0, 7, 3], + "to": [3, 13, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 4, 5]}, + "faces": { + "north": {"uv": [13, 5, 16, 11], "texture": "#4"}, + "east": {"uv": [0, 0, 2, 6], "texture": "#4"}, + "south": {"uv": [13, 9, 16, 15], "texture": "#4"}, + "west": {"uv": [0, 6, 2, 12], "texture": "#7"}, + "up": {"uv": [0, 5, 2, 8], "rotation": 90, "texture": "#7"}, + "down": {"uv": [0, 0, 3, 2], "texture": "#4"} + } + }, + { + "from": [0, 0, -1], + "to": [3, 5, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 5]}, + "faces": { + "north": {"uv": [13, 11, 16, 16], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "south": {"uv": [0, 9, 3, 14], "texture": "#4"}, + "west": {"uv": [0, 11, 16, 16], "texture": "#3"}, + "up": {"uv": [0, 0, 3, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 3, 16], "texture": "#2"} + } + }, + { + "from": [13, 5, -1], + "to": [16, 7, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 2, 5]}, + "faces": { + "north": {"uv": [0, 9, 3, 11], "texture": "#2"}, + "east": {"uv": [8, 14, 14, 16], "texture": "#7"}, + "south": {"uv": [13, 10, 16, 12], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "up": {"uv": [0, 0, 3, 6], "texture": "#4"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#2"} + } + }, + { + "from": [13, 7, 3], + "to": [16, 13, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 4, 5]}, + "faces": { + "north": {"uv": [0, 5, 3, 11], "texture": "#4"}, + "east": {"uv": [8, 6, 10, 12], "texture": "#7"}, + "south": {"uv": [13, 9, 16, 15], "texture": "#4"}, + "west": {"uv": [0, 0, 2, 6], "texture": "#4"}, + "up": {"uv": [0, 5, 2, 8], "rotation": 90, "texture": "#7"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#4"} + } + }, + { + "from": [13, 5, 11], + "to": [16, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 4, 13]}, + "faces": { + "north": {"uv": [0, 8, 3, 16], "texture": "#4"}, + "east": {"uv": [0, 6, 2, 14], "texture": "#7"}, + "south": {"uv": [0, 5, 3, 13], "texture": "#4"}, + "west": {"uv": [0, 0, 2, 8], "texture": "#4"}, + "up": {"uv": [8, 5, 10, 8], "rotation": 90, "texture": "#7"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#4"} + } + }, + { + "from": [13, 11, 5], + "to": [16, 13, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 4, 13]}, + "faces": { + "east": {"uv": [2, 6, 8, 8], "texture": "#7"}, + "west": {"uv": [5, 0, 11, 2], "texture": "#4"}, + "up": {"uv": [2, 5, 8, 8], "rotation": 90, "texture": "#7"}, + "down": {"uv": [13, 5, 16, 11], "texture": "#4"} + } + }, + { + "from": [1, 5, 5], + "to": [1, 11, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 6, 8]}, + "faces": { + "north": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#6"}, + "south": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#6"}, + "west": {"uv": [2, 8, 8, 14], "texture": "#7"}, + "up": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#6"}, + "down": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#6"} + } + }, + { + "from": [15, 5, 5], + "to": [15, 11, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 6, 8]}, + "faces": { + "north": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#6"}, + "east": {"uv": [2, 8, 8, 14], "texture": "#7"}, + "south": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#6"}, + "up": {"uv": [6, 0, 10, 16], "rotation": 270, "texture": "#6"}, + "down": {"uv": [6, 0, 10, 16], "rotation": 270, "texture": "#6"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/engine_upgrades/exhaust_alone.json b/src/main/resources/assets/tfmg/models/block/engine_upgrades/exhaust_alone.json new file mode 100644 index 00000000..263920e7 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/engine_upgrades/exhaust_alone.json @@ -0,0 +1,42 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/compact_exhaust", + "particle": "tfmg:block/compact_exhaust" + }, + "elements": [ + { + "from": [6, 6, 0], + "to": [9, 9, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 0]}, + "faces": { + "east": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 16, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [9, 6, 2], + "to": [11, 9, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 6, 2]}, + "faces": { + "north": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 3], "texture": "#0"} + } + }, + { + "from": [9, 6, 11], + "to": [11, 9, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 6, 11]}, + "faces": { + "north": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 3], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/engine_upgrades/exhaust_back.json b/src/main/resources/assets/tfmg/models/block/engine_upgrades/exhaust_back.json new file mode 100644 index 00000000..263920e7 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/engine_upgrades/exhaust_back.json @@ -0,0 +1,42 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/compact_exhaust", + "particle": "tfmg:block/compact_exhaust" + }, + "elements": [ + { + "from": [6, 6, 0], + "to": [9, 9, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 0]}, + "faces": { + "east": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 16, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [9, 6, 2], + "to": [11, 9, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 6, 2]}, + "faces": { + "north": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 3], "texture": "#0"} + } + }, + { + "from": [9, 6, 11], + "to": [11, 9, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 6, 11]}, + "faces": { + "north": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 3], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/engine_upgrades/exhaust_front.json b/src/main/resources/assets/tfmg/models/block/engine_upgrades/exhaust_front.json new file mode 100644 index 00000000..263920e7 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/engine_upgrades/exhaust_front.json @@ -0,0 +1,42 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/compact_exhaust", + "particle": "tfmg:block/compact_exhaust" + }, + "elements": [ + { + "from": [6, 6, 0], + "to": [9, 9, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 0]}, + "faces": { + "east": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 16, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [9, 6, 2], + "to": [11, 9, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 6, 2]}, + "faces": { + "north": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 3], "texture": "#0"} + } + }, + { + "from": [9, 6, 11], + "to": [11, 9, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 6, 11]}, + "faces": { + "north": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 3], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/engine_upgrades/exhaust_middle.json b/src/main/resources/assets/tfmg/models/block/engine_upgrades/exhaust_middle.json new file mode 100644 index 00000000..263920e7 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/engine_upgrades/exhaust_middle.json @@ -0,0 +1,42 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/compact_exhaust", + "particle": "tfmg:block/compact_exhaust" + }, + "elements": [ + { + "from": [6, 6, 0], + "to": [9, 9, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 0]}, + "faces": { + "east": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 16, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [9, 6, 2], + "to": [11, 9, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 6, 2]}, + "faces": { + "north": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 3], "texture": "#0"} + } + }, + { + "from": [9, 6, 11], + "to": [11, 9, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 6, 11]}, + "faces": { + "north": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 3], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 3], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/engine_upgrades/generator.json b/src/main/resources/assets/tfmg/models/block/engine_upgrades/generator.json new file mode 100644 index 00000000..e1e06ef2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/engine_upgrades/generator.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engine_generator", + "particle": "tfmg:block/engine_generator" + }, + "elements": [ + { + "from": [4, 6, 6], + "to": [12, 14, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 4, 7]}, + "faces": { + "north": {"uv": [4, 8, 12, 16], "texture": "#0"}, + "east": {"uv": [4, 3, 12, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [4, 8, 12, 16], "texture": "#0"}, + "west": {"uv": [4, 3, 12, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 3, 12, 7], "texture": "#0"}, + "down": {"uv": [4, 3, 12, 7], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/engine_upgrades/golden_turbo.json b/src/main/resources/assets/tfmg/models/block/engine_upgrades/golden_turbo.json new file mode 100644 index 00000000..e2c5ffce --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/engine_upgrades/golden_turbo.json @@ -0,0 +1,162 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "5": "tfmg:block/golden_turbo" + }, + "elements": [ + { + "from": [10, 13, 5], + "to": [11, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 13, 3]}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#5"}, + "east": {"uv": [8, 0, 2, 2], "texture": "#5"}, + "south": {"uv": [8, 0, 6, 1], "rotation": 90, "texture": "#5"}, + "west": {"uv": [2, 0, 8, 2], "texture": "#5"}, + "up": {"uv": [2, 0, 8, 1], "rotation": 90, "texture": "#5"}, + "down": {"uv": [0, 0, 6, 1], "rotation": 90, "texture": "#5"} + } + }, + { + "from": [9, 13, 2], + "to": [11, 15, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 13, -3]}, + "faces": { + "north": {"uv": [2, 2, 0, 0], "rotation": 90, "texture": "#5"}, + "east": {"uv": [3, 0, 0, 2], "texture": "#5"}, + "south": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#5"}, + "west": {"uv": [0, 0, 3, 2], "texture": "#5"}, + "up": {"uv": [0, 0, 3, 2], "rotation": 90, "texture": "#5"}, + "down": {"uv": [0, 0, 3, 2], "rotation": 90, "texture": "#5"} + } + }, + { + "from": [9, 12, 2], + "to": [11, 13, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 12, -3]}, + "faces": { + "north": {"uv": [0, 2, 1, 0], "rotation": 90, "texture": "#5"}, + "east": {"uv": [2, 1, 0, 2], "texture": "#5"}, + "south": {"uv": [7, 0, 8, 2], "rotation": 90, "texture": "#5"}, + "west": {"uv": [0, 1, 2, 2], "texture": "#5"}, + "up": {"uv": [0, 0, 2, 2], "rotation": 90, "texture": "#5"}, + "down": {"uv": [0, 0, 2, 2], "rotation": 90, "texture": "#5"} + } + }, + { + "from": [6, 13, 10], + "to": [10, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 13, 3]}, + "faces": { + "north": {"uv": [6, 1, 8, 5], "rotation": 90, "texture": "#5"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#5"}, + "south": {"uv": [8, 1, 6, 5], "rotation": 90, "texture": "#5"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#5"}, + "up": {"uv": [7, 1, 8, 5], "rotation": 90, "texture": "#5"}, + "down": {"uv": [0, 0, 4, 1], "texture": "#5"} + } + }, + { + "from": [6, 13, 5], + "to": [10, 15, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 13, 0]}, + "faces": { + "north": {"uv": [2, 5, 4, 1], "rotation": 90, "texture": "#5"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#5"}, + "south": {"uv": [2, 1, 4, 5], "rotation": 90, "texture": "#5"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#5"}, + "up": {"uv": [2, 1, 3, 5], "rotation": 90, "texture": "#5"}, + "down": {"uv": [0, 0, 4, 1], "texture": "#5"} + } + }, + { + "from": [5, 13, 5], + "to": [6, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 13, 0]}, + "faces": { + "north": {"uv": [2, 5, 4, 6], "rotation": 90, "texture": "#5"}, + "east": {"uv": [2, 4, 8, 6], "texture": "#5"}, + "south": {"uv": [6, 5, 8, 6], "rotation": 90, "texture": "#5"}, + "west": {"uv": [2, 4, 8, 6], "texture": "#5"}, + "up": {"uv": [2, 5, 8, 6], "rotation": 90, "texture": "#5"}, + "down": {"uv": [2, 0, 3, 6], "texture": "#5"} + } + }, + { + "from": [6, 13, 6], + "to": [10, 13, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 13, 0]}, + "faces": { + "north": {"uv": [2, 4, 4, 5], "rotation": 90, "texture": "#5"}, + "east": {"uv": [2, 4, 8, 6], "texture": "#5"}, + "south": {"uv": [6, 4, 8, 5], "rotation": 90, "texture": "#5"}, + "west": {"uv": [2, 4, 8, 6], "texture": "#5"}, + "up": {"uv": [0, 7, 4, 11], "rotation": 90, "texture": "#5"}, + "down": {"uv": [0, 7, 4, 11], "texture": "#5"} + } + }, + { + "from": [7, 12, 7], + "to": [9, 13, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 13, 0]}, + "faces": { + "north": {"uv": [3, 4, 4, 6], "rotation": 90, "texture": "#5"}, + "east": {"uv": [4, 4, 6, 5], "texture": "#5"}, + "south": {"uv": [7, 4, 8, 6], "rotation": 90, "texture": "#5"}, + "west": {"uv": [2, 7, 4, 8], "texture": "#5"} + } + }, + { + "from": [5.5, 12, 5.5], + "to": [5.5, 13, 6.5], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 12, 6]}, + "faces": { + "north": {"uv": [10, 0, 11, 3], "texture": "#5"}, + "east": {"uv": [10, 1, 11, 2], "texture": "#5"}, + "south": {"uv": [10, 0, 11, 3], "texture": "#5"}, + "west": {"uv": [10, 1, 11, 2], "texture": "#5"}, + "up": {"uv": [10, 0, 11, 1], "texture": "#5"}, + "down": {"uv": [10, 0, 11, 1], "texture": "#5"} + } + }, + { + "from": [5.5, 12, 9.5], + "to": [5.5, 13, 10.5], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 12, 10]}, + "faces": { + "north": {"uv": [10, 0, 11, 3], "texture": "#5"}, + "east": {"uv": [10, 1, 11, 2], "texture": "#5"}, + "south": {"uv": [10, 0, 11, 3], "texture": "#5"}, + "west": {"uv": [10, 0, 11, 1], "texture": "#5"}, + "up": {"uv": [10, 0, 11, 1], "texture": "#5"}, + "down": {"uv": [10, 0, 11, 1], "texture": "#5"} + } + }, + { + "from": [10.5, 12, 5.5], + "to": [10.5, 13, 6.5], + "rotation": {"angle": 0, "axis": "y", "origin": [11, 12, 6]}, + "faces": { + "north": {"uv": [10, 0, 11, 3], "texture": "#5"}, + "east": {"uv": [10, 0, 11, 1], "texture": "#5"}, + "south": {"uv": [10, 0, 11, 3], "texture": "#5"}, + "west": {"uv": [10, 4, 11, 5], "texture": "#5"}, + "up": {"uv": [10, 0, 11, 1], "texture": "#5"}, + "down": {"uv": [10, 0, 11, 1], "texture": "#5"} + } + }, + { + "from": [10.5, 12, 9.5], + "to": [10.5, 13, 10.5], + "rotation": {"angle": 0, "axis": "y", "origin": [11, 12, 10]}, + "faces": { + "north": {"uv": [10, 0, 11, 3], "texture": "#5"}, + "east": {"uv": [10, 5, 11, 6], "texture": "#5"}, + "south": {"uv": [10, 0, 11, 3], "texture": "#5"}, + "west": {"uv": [10, 0, 11, 1], "texture": "#5"}, + "up": {"uv": [10, 0, 11, 1], "texture": "#5"}, + "down": {"uv": [10, 0, 11, 1], "texture": "#5"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/engine_upgrades/golden_turbo_propeller.json b/src/main/resources/assets/tfmg/models/block/engine_upgrades/golden_turbo_propeller.json new file mode 100644 index 00000000..55320585 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/engine_upgrades/golden_turbo_propeller.json @@ -0,0 +1,74 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/golden_turbo", + "particle": "tfmg:block/golden_turbo" + }, + "elements": [ + { + "from": [7.5, 12, 7.5], + "to": [8.5, 15, 8.5], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 3], "texture": "#0"}, + "east": {"uv": [10, 0, 11, 3], "texture": "#0"}, + "south": {"uv": [10, 0, 11, 3], "texture": "#0"}, + "west": {"uv": [10, 0, 11, 3], "texture": "#0"}, + "up": {"uv": [12, 1, 13, 2], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [8, 14, 5], + "to": [8, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 13, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "east": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "west": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 14, 8], + "to": [11, 15, 8], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 13, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "south": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [8, 14, 5], + "to": [8, 15, 11], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 13, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "east": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "west": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 14, 8], + "to": [11, 15, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 13, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "south": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/engine_upgrades/turbo.json b/src/main/resources/assets/tfmg/models/block/engine_upgrades/turbo.json new file mode 100644 index 00000000..073af9a8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/engine_upgrades/turbo.json @@ -0,0 +1,163 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "tfmg:block/turbo", + "particle": "tfmg:block/turbo" + }, + "elements": [ + { + "from": [10, 13, 5], + "to": [11, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 13, 3]}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#1"}, + "east": {"uv": [8, 0, 2, 2], "texture": "#1"}, + "south": {"uv": [8, 0, 6, 1], "rotation": 90, "texture": "#1"}, + "west": {"uv": [2, 0, 8, 2], "texture": "#1"}, + "up": {"uv": [2, 0, 8, 1], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 6, 1], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [9, 13, 2], + "to": [11, 15, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 13, -3]}, + "faces": { + "north": {"uv": [2, 2, 0, 0], "rotation": 90, "texture": "#1"}, + "east": {"uv": [3, 0, 0, 2], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#1"}, + "west": {"uv": [0, 0, 3, 2], "texture": "#1"}, + "up": {"uv": [0, 0, 3, 2], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 3, 2], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [9, 12, 2], + "to": [11, 13, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 12, -3]}, + "faces": { + "north": {"uv": [0, 2, 1, 0], "rotation": 90, "texture": "#1"}, + "east": {"uv": [2, 1, 0, 2], "texture": "#1"}, + "south": {"uv": [7, 0, 8, 2], "rotation": 90, "texture": "#1"}, + "west": {"uv": [0, 1, 2, 2], "texture": "#1"}, + "up": {"uv": [0, 0, 2, 2], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 2, 2], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [6, 13, 10], + "to": [10, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 13, 3]}, + "faces": { + "north": {"uv": [6, 1, 8, 5], "rotation": 90, "texture": "#1"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "south": {"uv": [8, 1, 6, 5], "rotation": 90, "texture": "#1"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "up": {"uv": [7, 1, 8, 5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 4, 1], "texture": "#1"} + } + }, + { + "from": [6, 13, 5], + "to": [10, 15, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 13, 0]}, + "faces": { + "north": {"uv": [2, 5, 4, 1], "rotation": 90, "texture": "#1"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "south": {"uv": [2, 1, 4, 5], "rotation": 90, "texture": "#1"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "up": {"uv": [2, 1, 3, 5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 4, 1], "texture": "#1"} + } + }, + { + "from": [5, 13, 5], + "to": [6, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 13, 0]}, + "faces": { + "north": {"uv": [2, 5, 4, 6], "rotation": 90, "texture": "#1"}, + "east": {"uv": [2, 4, 8, 6], "texture": "#1"}, + "south": {"uv": [6, 5, 8, 6], "rotation": 90, "texture": "#1"}, + "west": {"uv": [2, 4, 8, 6], "texture": "#1"}, + "up": {"uv": [2, 5, 8, 6], "rotation": 90, "texture": "#1"}, + "down": {"uv": [2, 0, 3, 6], "texture": "#1"} + } + }, + { + "from": [6, 13, 6], + "to": [10, 13, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 13, 0]}, + "faces": { + "north": {"uv": [2, 4, 4, 5], "rotation": 90, "texture": "#1"}, + "east": {"uv": [2, 4, 8, 6], "texture": "#1"}, + "south": {"uv": [6, 4, 8, 5], "rotation": 90, "texture": "#1"}, + "west": {"uv": [2, 4, 8, 6], "texture": "#1"}, + "up": {"uv": [0, 7, 4, 11], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 7, 4, 11], "texture": "#1"} + } + }, + { + "from": [7, 12, 7], + "to": [9, 13, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 13, 0]}, + "faces": { + "north": {"uv": [3, 4, 4, 6], "rotation": 90, "texture": "#1"}, + "east": {"uv": [4, 4, 6, 5], "texture": "#1"}, + "south": {"uv": [7, 4, 8, 6], "rotation": 90, "texture": "#1"}, + "west": {"uv": [2, 7, 4, 8], "texture": "#1"} + } + }, + { + "from": [5.5, 12, 5.5], + "to": [5.5, 13, 6.5], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 12, 6]}, + "faces": { + "north": {"uv": [10, 0, 11, 3], "texture": "#1"}, + "east": {"uv": [10, 1, 11, 2], "texture": "#1"}, + "south": {"uv": [10, 0, 11, 3], "texture": "#1"}, + "west": {"uv": [10, 1, 11, 2], "texture": "#1"}, + "up": {"uv": [10, 0, 11, 1], "texture": "#1"}, + "down": {"uv": [10, 0, 11, 1], "texture": "#1"} + } + }, + { + "from": [5.5, 12, 9.5], + "to": [5.5, 13, 10.5], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 12, 10]}, + "faces": { + "north": {"uv": [10, 0, 11, 3], "texture": "#1"}, + "east": {"uv": [10, 1, 11, 2], "texture": "#1"}, + "south": {"uv": [10, 0, 11, 3], "texture": "#1"}, + "west": {"uv": [10, 0, 11, 1], "texture": "#1"}, + "up": {"uv": [10, 0, 11, 1], "texture": "#1"}, + "down": {"uv": [10, 0, 11, 1], "texture": "#1"} + } + }, + { + "from": [10.5, 12, 5.5], + "to": [10.5, 13, 6.5], + "rotation": {"angle": 0, "axis": "y", "origin": [11, 12, 6]}, + "faces": { + "north": {"uv": [10, 0, 11, 3], "texture": "#1"}, + "east": {"uv": [10, 0, 11, 1], "texture": "#1"}, + "south": {"uv": [10, 0, 11, 3], "texture": "#1"}, + "west": {"uv": [10, 4, 11, 5], "texture": "#1"}, + "up": {"uv": [10, 0, 11, 1], "texture": "#1"}, + "down": {"uv": [10, 0, 11, 1], "texture": "#1"} + } + }, + { + "from": [10.5, 12, 9.5], + "to": [10.5, 13, 10.5], + "rotation": {"angle": 0, "axis": "y", "origin": [11, 12, 10]}, + "faces": { + "north": {"uv": [10, 0, 11, 3], "texture": "#1"}, + "east": {"uv": [10, 5, 11, 6], "texture": "#1"}, + "south": {"uv": [10, 0, 11, 3], "texture": "#1"}, + "west": {"uv": [10, 0, 11, 1], "texture": "#1"}, + "up": {"uv": [10, 0, 11, 1], "texture": "#1"}, + "down": {"uv": [10, 0, 11, 1], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/engine_upgrades/turbo_propeller.json b/src/main/resources/assets/tfmg/models/block/engine_upgrades/turbo_propeller.json new file mode 100644 index 00000000..5a609fce --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/engine_upgrades/turbo_propeller.json @@ -0,0 +1,74 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/turbo", + "particle": "tfmg:block/turbo" + }, + "elements": [ + { + "from": [7.5, 12, 7.5], + "to": [8.5, 15, 8.5], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 3], "texture": "#0"}, + "east": {"uv": [10, 0, 11, 3], "texture": "#0"}, + "south": {"uv": [10, 0, 11, 3], "texture": "#0"}, + "west": {"uv": [10, 0, 11, 3], "texture": "#0"}, + "up": {"uv": [10, 1, 11, 2], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 14, 8], + "to": [11, 15, 8], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 13, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "south": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 14, 8], + "to": [11, 15, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 13, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "south": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [8, 14, 5], + "to": [8, 15, 11], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 13, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "east": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "west": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [8, 14, 5], + "to": [8, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 13, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "east": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "west": {"uv": [10, 0, 11, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/exhaust.json b/src/main/resources/assets/tfmg/models/block/exhaust.json new file mode 100644 index 00000000..3601cc2c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/exhaust.json @@ -0,0 +1,86 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/exhaust", + "particle": "tfmg:block/exhaust" + }, + "elements": [ + { + "from": [6, 2, 6], + "to": [10, 16, 10], + "faces": { + "north": {"uv": [4, 0, 6, 7], "texture": "#0"}, + "east": {"uv": [4, 0, 6, 7], "texture": "#0"}, + "south": {"uv": [4, 0, 6, 7], "texture": "#0"}, + "west": {"uv": [4, 0, 6, 7], "texture": "#0"}, + "up": {"uv": [0.5, 6.5, 2.5, 8.5], "texture": "#0"}, + "down": {"uv": [6, 0, 6, 0], "texture": "#0"} + } + }, + { + "from": [4, 0, 4], + "to": [12, 2, 12], + "faces": { + "north": {"uv": [3.5, 7.5, 7.5, 8.5], "texture": "#0"}, + "east": {"uv": [3.5, 7.5, 7.5, 8.5], "texture": "#0"}, + "south": {"uv": [3.5, 7.5, 7.5, 8.5], "texture": "#0"}, + "west": {"uv": [3.5, 7.5, 7.5, 8.5], "texture": "#0"}, + "up": {"uv": [6, 10, 10, 14], "texture": "#0"}, + "down": {"uv": [0.5, 10, 4.5, 14], "texture": "#0"} + } + }, + { + "from": [5, 3, 5], + "to": [11, 15, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "texture": "#0"} + } + }, + { + "from": [11, 3, 5], + "to": [11, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 12], "texture": "#0"}, + "east": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 12], "texture": "#0"}, + "west": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 3, 11], + "to": [11, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 3, 5], + "to": [5, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/exhaust/block.json b/src/main/resources/assets/tfmg/models/block/exhaust/block.json new file mode 100644 index 00000000..3601cc2c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/exhaust/block.json @@ -0,0 +1,86 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/exhaust", + "particle": "tfmg:block/exhaust" + }, + "elements": [ + { + "from": [6, 2, 6], + "to": [10, 16, 10], + "faces": { + "north": {"uv": [4, 0, 6, 7], "texture": "#0"}, + "east": {"uv": [4, 0, 6, 7], "texture": "#0"}, + "south": {"uv": [4, 0, 6, 7], "texture": "#0"}, + "west": {"uv": [4, 0, 6, 7], "texture": "#0"}, + "up": {"uv": [0.5, 6.5, 2.5, 8.5], "texture": "#0"}, + "down": {"uv": [6, 0, 6, 0], "texture": "#0"} + } + }, + { + "from": [4, 0, 4], + "to": [12, 2, 12], + "faces": { + "north": {"uv": [3.5, 7.5, 7.5, 8.5], "texture": "#0"}, + "east": {"uv": [3.5, 7.5, 7.5, 8.5], "texture": "#0"}, + "south": {"uv": [3.5, 7.5, 7.5, 8.5], "texture": "#0"}, + "west": {"uv": [3.5, 7.5, 7.5, 8.5], "texture": "#0"}, + "up": {"uv": [6, 10, 10, 14], "texture": "#0"}, + "down": {"uv": [0.5, 10, 4.5, 14], "texture": "#0"} + } + }, + { + "from": [5, 3, 5], + "to": [11, 15, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "texture": "#0"} + } + }, + { + "from": [11, 3, 5], + "to": [11, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 12], "texture": "#0"}, + "east": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 12], "texture": "#0"}, + "west": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 3, 11], + "to": [11, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 3, 5], + "to": [5, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/exhaust/item.json b/src/main/resources/assets/tfmg/models/block/exhaust/item.json new file mode 100644 index 00000000..3601cc2c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/exhaust/item.json @@ -0,0 +1,86 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/exhaust", + "particle": "tfmg:block/exhaust" + }, + "elements": [ + { + "from": [6, 2, 6], + "to": [10, 16, 10], + "faces": { + "north": {"uv": [4, 0, 6, 7], "texture": "#0"}, + "east": {"uv": [4, 0, 6, 7], "texture": "#0"}, + "south": {"uv": [4, 0, 6, 7], "texture": "#0"}, + "west": {"uv": [4, 0, 6, 7], "texture": "#0"}, + "up": {"uv": [0.5, 6.5, 2.5, 8.5], "texture": "#0"}, + "down": {"uv": [6, 0, 6, 0], "texture": "#0"} + } + }, + { + "from": [4, 0, 4], + "to": [12, 2, 12], + "faces": { + "north": {"uv": [3.5, 7.5, 7.5, 8.5], "texture": "#0"}, + "east": {"uv": [3.5, 7.5, 7.5, 8.5], "texture": "#0"}, + "south": {"uv": [3.5, 7.5, 7.5, 8.5], "texture": "#0"}, + "west": {"uv": [3.5, 7.5, 7.5, 8.5], "texture": "#0"}, + "up": {"uv": [6, 10, 10, 14], "texture": "#0"}, + "down": {"uv": [0.5, 10, 4.5, 14], "texture": "#0"} + } + }, + { + "from": [5, 3, 5], + "to": [11, 15, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "texture": "#0"} + } + }, + { + "from": [11, 3, 5], + "to": [11, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 12], "texture": "#0"}, + "east": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 12], "texture": "#0"}, + "west": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 3, 11], + "to": [11, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 3, 5], + "to": [5, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 3, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/blue_fire_floor0.json b/src/main/resources/assets/tfmg/models/block/fire/blue_fire_floor0.json new file mode 100644 index 00000000..1e8295f5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/blue_fire_floor0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_floor", + "textures": { + "fire": "tfmg:block/blue_fire_0" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/blue_fire_floor1.json b/src/main/resources/assets/tfmg/models/block/fire/blue_fire_floor1.json new file mode 100644 index 00000000..6285f8da --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/blue_fire_floor1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_floor", + "textures": { + "fire": "tfmg:block/blue_fire_1" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/blue_fire_side0.json b/src/main/resources/assets/tfmg/models/block/fire/blue_fire_side0.json new file mode 100644 index 00000000..1ca09c5f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/blue_fire_side0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_side", + "textures": { + "fire": "tfmg:block/blue_fire_0" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/blue_fire_side1.json b/src/main/resources/assets/tfmg/models/block/fire/blue_fire_side1.json new file mode 100644 index 00000000..24a287e6 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/blue_fire_side1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_side", + "textures": { + "fire": "tfmg:block/blue_fire_1" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/blue_fire_side_alt0.json b/src/main/resources/assets/tfmg/models/block/fire/blue_fire_side_alt0.json new file mode 100644 index 00000000..a4f0b1a8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/blue_fire_side_alt0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_side_alt", + "textures": { + "fire": "tfmg:block/blue_fire_0" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/blue_fire_side_alt1.json b/src/main/resources/assets/tfmg/models/block/fire/blue_fire_side_alt1.json new file mode 100644 index 00000000..5f3ceb62 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/blue_fire_side_alt1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_side_alt", + "textures": { + "fire": "tfmg:block/blue_fire_1" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/blue_fire_up0.json b/src/main/resources/assets/tfmg/models/block/fire/blue_fire_up0.json new file mode 100644 index 00000000..9beeea9a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/blue_fire_up0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_up", + "textures": { + "fire": "tfmg:block/blue_fire_0" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/blue_fire_up1.json b/src/main/resources/assets/tfmg/models/block/fire/blue_fire_up1.json new file mode 100644 index 00000000..c270199e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/blue_fire_up1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_up", + "textures": { + "fire": "tfmg:block/blue_fire_1" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/blue_fire_up_alt0.json b/src/main/resources/assets/tfmg/models/block/fire/blue_fire_up_alt0.json new file mode 100644 index 00000000..c59c3133 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/blue_fire_up_alt0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_up_alt", + "textures": { + "fire": "tfmg:block/blue_fire_0" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/blue_fire_up_alt1.json b/src/main/resources/assets/tfmg/models/block/fire/blue_fire_up_alt1.json new file mode 100644 index 00000000..64eb8ba0 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/blue_fire_up_alt1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_up_alt", + "textures": { + "fire": "tfmg:block/blue_fire_1" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/green_fire_floor0.json b/src/main/resources/assets/tfmg/models/block/fire/green_fire_floor0.json new file mode 100644 index 00000000..a3497cbe --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/green_fire_floor0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_floor", + "textures": { + "fire": "tfmg:block/green_fire_0" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/green_fire_floor1.json b/src/main/resources/assets/tfmg/models/block/fire/green_fire_floor1.json new file mode 100644 index 00000000..0044d15d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/green_fire_floor1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_floor", + "textures": { + "fire": "tfmg:block/green_fire_1" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/green_fire_side0.json b/src/main/resources/assets/tfmg/models/block/fire/green_fire_side0.json new file mode 100644 index 00000000..dc539a0b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/green_fire_side0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_side", + "textures": { + "fire": "tfmg:block/green_fire_0" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/green_fire_side1.json b/src/main/resources/assets/tfmg/models/block/fire/green_fire_side1.json new file mode 100644 index 00000000..abb94e87 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/green_fire_side1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_side", + "textures": { + "fire": "tfmg:block/green_fire_1" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/green_fire_side_alt0.json b/src/main/resources/assets/tfmg/models/block/fire/green_fire_side_alt0.json new file mode 100644 index 00000000..167c7919 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/green_fire_side_alt0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_side_alt", + "textures": { + "fire": "tfmg:block/green_fire_0" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/green_fire_side_alt1.json b/src/main/resources/assets/tfmg/models/block/fire/green_fire_side_alt1.json new file mode 100644 index 00000000..aa0910bf --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/green_fire_side_alt1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_side_alt", + "textures": { + "fire": "tfmg:block/green_fire_1" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/green_fire_up0.json b/src/main/resources/assets/tfmg/models/block/fire/green_fire_up0.json new file mode 100644 index 00000000..890311cc --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/green_fire_up0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_up", + "textures": { + "fire": "tfmg:block/green_fire_0" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/green_fire_up1.json b/src/main/resources/assets/tfmg/models/block/fire/green_fire_up1.json new file mode 100644 index 00000000..758881f2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/green_fire_up1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_up", + "textures": { + "fire": "tfmg:block/green_fire_1" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/green_fire_up_alt0.json b/src/main/resources/assets/tfmg/models/block/fire/green_fire_up_alt0.json new file mode 100644 index 00000000..52b7f998 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/green_fire_up_alt0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_up_alt", + "textures": { + "fire": "tfmg:block/green_fire_0" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/green_fire_up_alt1.json b/src/main/resources/assets/tfmg/models/block/fire/green_fire_up_alt1.json new file mode 100644 index 00000000..2677bee3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/green_fire_up_alt1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_up_alt", + "textures": { + "fire": "tfmg:block/green_fire_1" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_floor0.json b/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_floor0.json new file mode 100644 index 00000000..502bfc1e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_floor0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_floor", + "textures": { + "fire": "tfmg:block/lithium_fire_0" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_floor1.json b/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_floor1.json new file mode 100644 index 00000000..629182ec --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_floor1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_floor", + "textures": { + "fire": "tfmg:block/lithium_fire_1" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_side0.json b/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_side0.json new file mode 100644 index 00000000..3f0720fa --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_side0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_side", + "textures": { + "fire": "tfmg:block/lithium_fire_0" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_side1.json b/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_side1.json new file mode 100644 index 00000000..edcbdcd5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_side1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_side", + "textures": { + "fire": "tfmg:block/lithium_fire_1" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_side_alt0.json b/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_side_alt0.json new file mode 100644 index 00000000..38249766 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_side_alt0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_side_alt", + "textures": { + "fire": "tfmg:block/lithium_fire_0" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_side_alt1.json b/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_side_alt1.json new file mode 100644 index 00000000..70ab3c1c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_side_alt1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_side_alt", + "textures": { + "fire": "tfmg:block/lithium_fire_1" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_up0.json b/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_up0.json new file mode 100644 index 00000000..5e912d9f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_up0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_up", + "textures": { + "fire": "tfmg:block/lithium_fire_0" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_up1.json b/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_up1.json new file mode 100644 index 00000000..5a5ba1dd --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_up1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_up", + "textures": { + "fire": "tfmg:block/lithium_fire_1" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_up_alt0.json b/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_up_alt0.json new file mode 100644 index 00000000..851cc638 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_up_alt0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_up_alt", + "textures": { + "fire": "tfmg:block/lithium_fire_0" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_up_alt1.json b/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_up_alt1.json new file mode 100644 index 00000000..3d0097e7 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fire/lithium_fire_up_alt1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fire_up_alt", + "textures": { + "fire": "tfmg:block/lithium_fire_1" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/firebox/block.json b/src/main/resources/assets/tfmg/models/block/firebox/block.json new file mode 100644 index 00000000..2cc5bb17 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/firebox/block.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/firebox", + "1": "tfmg:block/fireproof_bricks", + "2": "tfmg:block/firebox_top", + "particle": "tfmg:block/firebox" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/firebox/item.json b/src/main/resources/assets/tfmg/models/block/firebox/item.json new file mode 100644 index 00000000..42c7b023 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/firebox/item.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/firebox", + "1": "tfmg:block/fireproof_bricks", + "particle": "tfmg:block/firebox" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "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"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_brick_reinforcement.json b/src/main/resources/assets/tfmg/models/block/fireproof_brick_reinforcement.json new file mode 100644 index 00000000..e69de29b diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_bottom.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_bottom.json new file mode 100644 index 00000000..5d12944d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_bottom.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_vat_top", + "1": "tfmg:block/firebrick_vat", + "particle": "tfmg:block/firebrick_vat" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_bottom_window.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_bottom_window.json new file mode 100644 index 00000000..95538232 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_bottom_window.json @@ -0,0 +1,153 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "4": "tfmg:block/steel_vat_top", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [3, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [13, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 3], + "faces": { + "east": {"uv": [13, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [13, 4, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [13, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 13], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [13, 0, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [3, 4, 1], + "to": [13, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "north"}, + "south": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15, 4, 3], + "to": [15, 16, 13], + "faces": { + "east": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "east"}, + "west": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [3, 4, 15], + "to": [13, 16, 15], + "faces": { + "north": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "south"}, + "south": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [1, 4, 3], + "to": [1, 16, 13], + "faces": { + "east": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "west"}, + "west": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [13, 4, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 3, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 13], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 0, 3, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 3, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 16, 3], + "faces": { + "east": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 3, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_bottom_window_ne.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_bottom_window_ne.json new file mode 100644 index 00000000..b2f94712 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_bottom_window_ne.json @@ -0,0 +1,72 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "4": "tfmg:block/steel_vat_top", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 11], + "faces": { + "east": {"uv": [5, 0, 16, 12], "texture": "#1"}, + "south": {"uv": [12, 0, 13, 12], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 4, 1], + "to": [5, 16, 1], + "faces": { + "north": {"uv": [0, 2, 2.5, 8], "texture": "#3"}, + "south": {"uv": [2.5, 2, 5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15, 4, 11], + "to": [15, 16, 16], + "faces": { + "east": {"uv": [2, 2, 4.5, 8], "texture": "#3"}, + "west": {"uv": [0, 2, 2.5, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [5, 4, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 11, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "west": {"uv": [3, 0, 4, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_bottom_window_nw.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_bottom_window_nw.json new file mode 100644 index 00000000..2123e022 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_bottom_window_nw.json @@ -0,0 +1,72 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "4": "tfmg:block/steel_vat_top", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [11, 16, 1], + "faces": { + "north": {"uv": [5, 0, 16, 12], "texture": "#1"}, + "east": {"uv": [12, 0, 13, 12], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 4, 11], + "to": [1, 16, 16], + "faces": { + "east": {"uv": [1.5, 2, 4, 8], "texture": "#3"}, + "west": {"uv": [0, 2, 2.5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [11, 4, 1], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [1.5, 2, 4, 8], "texture": "#3"}, + "south": {"uv": [0, 2, 2.5, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 16, 11], + "faces": { + "east": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "south": {"uv": [3, 0, 4, 12], "texture": "#1"}, + "west": {"uv": [0, 0, 11, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_bottom_window_se.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_bottom_window_se.json new file mode 100644 index 00000000..b0e4e14d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_bottom_window_se.json @@ -0,0 +1,72 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_vat_top", + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [5, 4, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "south": {"uv": [5, 0, 16, 12], "texture": "#1"}, + "west": {"uv": [12, 0, 13, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 4, 0], + "to": [15, 16, 5], + "faces": { + "east": {"uv": [0, 2, 2.5, 8], "texture": "#3"}, + "west": {"uv": [2, 2, 4.5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 4, 15], + "to": [5, 16, 15], + "faces": { + "north": {"uv": [0, 2, 2.5, 8], "texture": "#3"}, + "south": {"uv": [2.5, 2, 5, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 5], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [3, 0, 4, 12], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [5, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_bottom_window_sw.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_bottom_window_sw.json new file mode 100644 index 00000000..5b174a27 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_bottom_window_sw.json @@ -0,0 +1,72 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_vat_top", + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 5], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 12], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [5, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [11, 4, 15], + "to": [16, 16, 15], + "faces": { + "north": {"uv": [2.5, 2, 5, 8], "texture": "#3"}, + "south": {"uv": [0, 2, 2.5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [1, 4, 0], + "to": [1, 16, 5], + "faces": { + "east": {"uv": [0, 2, 2.5, 8], "texture": "#3"}, + "west": {"uv": [2, 2, 4.5, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [11, 16, 16], + "faces": { + "north": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "east": {"uv": [3, 0, 4, 12], "texture": "#1"}, + "south": {"uv": [0, 0, 11, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_middle.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_middle.json new file mode 100644 index 00000000..c82f862f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_middle.json @@ -0,0 +1,58 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/firebrick_vat", + "particle": "tfmg:block/firebrick_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 15], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [1, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_middle_window.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_middle_window.json new file mode 100644 index 00000000..651fdd2b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_middle_window.json @@ -0,0 +1,138 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [3, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [13, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 0, 13, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 3], + "faces": { + "east": {"uv": [13, 0, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 0, 13, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [13, 0, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [13, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 0, 13, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 13], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 16], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [13, 0, 16, 16], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [3, 0, 1], + "to": [13, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "north"}, + "south": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15, 0, 3], + "to": [15, 16, 13], + "faces": { + "east": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "east"}, + "west": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [3, 0, 15], + "to": [13, 16, 15], + "faces": { + "north": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "south"}, + "south": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [1, 0, 3], + "to": [1, 16, 13], + "faces": { + "east": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "west"}, + "west": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [13, 0, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 3, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 0, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 13], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [3, 0, 4, 16], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 0, 3, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 0, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 3, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 16, 3], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 0, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 3, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_middle_window_ne.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_middle_window_ne.json new file mode 100644 index 00000000..9f8f5238 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_middle_window_ne.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 11], + "faces": { + "east": {"uv": [5, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [12, 0, 13, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 0, 1], + "to": [5, 16, 1], + "faces": { + "north": {"uv": [5, 0, 7.5, 8], "texture": "#3"}, + "south": {"uv": [7.5, 0, 10, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15, 0, 11], + "to": [15, 16, 16], + "faces": { + "east": {"uv": [7.5, 0, 10, 8], "texture": "#3"}, + "west": {"uv": [5, 0, 7.5, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [5, 0, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 11, 16], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [3, 0, 4, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_middle_window_nw.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_middle_window_nw.json new file mode 100644 index 00000000..b4ebd3d1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_middle_window_nw.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [11, 16, 1], + "faces": { + "north": {"uv": [5, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [12, 0, 13, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 0, 11], + "to": [1, 16, 16], + "faces": { + "east": {"uv": [7, 0, 10, 8], "texture": "#3"}, + "west": {"uv": [5, 0, 7.5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [11, 0, 1], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [7.5, 0, 10, 8], "texture": "#3"}, + "south": {"uv": [5, 0, 7.5, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 16, 11], + "faces": { + "east": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [3, 0, 4, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 11, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_middle_window_se.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_middle_window_se.json new file mode 100644 index 00000000..6bc49a61 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_middle_window_se.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [5, 0, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 11, 16], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [12, 0, 13, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 0, 0], + "to": [15, 16, 5], + "faces": { + "east": {"uv": [5, 0, 7.5, 8], "texture": "#3"}, + "west": {"uv": [7.5, 0, 10, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 0, 15], + "to": [5, 16, 15], + "faces": { + "north": {"uv": [5, 0, 7.5, 8], "texture": "#3"}, + "south": {"uv": [7.5, 0, 10, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 5], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [3, 0, 4, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 11, 16], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_middle_window_sw.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_middle_window_sw.json new file mode 100644 index 00000000..2af8678f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_middle_window_sw.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 5], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "west": {"uv": [5, 0, 16, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [11, 0, 15], + "to": [16, 16, 15], + "faces": { + "north": {"uv": [7.5, 0, 10, 8], "texture": "#3"}, + "south": {"uv": [5, 0, 7.5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [1, 0, 0], + "to": [1, 16, 5], + "faces": { + "east": {"uv": [5, 0, 7.5, 8], "texture": "#3"}, + "west": {"uv": [7.5, 0, 10, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [11, 16, 16], + "faces": { + "north": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [3, 0, 4, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 11, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_single.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_single.json new file mode 100644 index 00000000..e64a2c3d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_single.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_vat_top", + "1": "tfmg:block/firebrick_vat", + "particle": "tfmg:block/firebrick_vat" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#missing"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#missing"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [] + }, + { + "name": "block_middle", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [] + } + ] + }, + { + "name": "block_bottom", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] + }, + { + "name": "block_top", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [4, 5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window.json new file mode 100644 index 00000000..870e68ec --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window.json @@ -0,0 +1,167 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "4": "tfmg:block/steel_vat_top", + "5": "tfmg:block/steel_vat_window_single", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [3, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [13, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 3], + "faces": { + "east": {"uv": [13, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [13, 4, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [13, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 13], + "to": [1, 12, 16], + "faces": { + "north": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [13, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [3, 4, 1], + "to": [13, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "north"}, + "south": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15, 4, 3], + "to": [15, 12, 13], + "faces": { + "east": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "east"}, + "west": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [3, 4, 15], + "to": [13, 12, 15], + "faces": { + "north": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "south"}, + "south": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [1, 4, 3], + "to": [1, 12, 13], + "faces": { + "east": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "west"}, + "west": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [13, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 3, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 13], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 4, 3, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [3, 12, 16], + "faces": { + "north": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 3, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 12, 3], + "faces": { + "east": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 3, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window_ne.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window_ne.json new file mode 100644 index 00000000..d1181599 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window_ne.json @@ -0,0 +1,103 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_vat_top", + "1": "tfmg:block/steel_vat", + "5": "tfmg:block/steel_vat_window_single", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [5, 4, 16, 12], "texture": "#1"}, + "south": {"uv": [12, 4, 13, 12], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 4, 1], + "to": [5, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 5, 8], "texture": "#5"}, + "south": {"uv": [5, 0, 10, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [15, 4, 11], + "to": [15, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [5, 0, 10, 8], "texture": "#5"}, + "west": {"uv": [0, 0, 5, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [5, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 11, 12], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "west": {"uv": [3, 4, 4, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window_nw.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window_nw.json new file mode 100644 index 00000000..32ab2a44 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window_nw.json @@ -0,0 +1,103 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "4": "tfmg:block/steel_vat_top", + "5": "tfmg:block/steel_vat_window_single", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [11, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [5, 4, 16, 12], "texture": "#1"}, + "east": {"uv": [12, 4, 13, 12], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 4, 11], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [5, 0, 10, 8], "texture": "#5"}, + "west": {"uv": [0, 0, 5, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [11, 4, 1], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [5, 0, 10, 8], "texture": "#5"}, + "south": {"uv": [0, 0, 5, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "south": {"uv": [3, 4, 4, 12], "texture": "#1"}, + "west": {"uv": [0, 4, 11, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window_se.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window_se.json new file mode 100644 index 00000000..3ff91cde --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window_se.json @@ -0,0 +1,103 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "4": "tfmg:block/steel_vat_top", + "5": "tfmg:block/steel_vat_window_single", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [5, 4, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "south": {"uv": [5, 4, 16, 12], "texture": "#1"}, + "west": {"uv": [12, 4, 13, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 4, 0], + "to": [15, 12, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 5, 8], "texture": "#5"}, + "west": {"uv": [5, 0, 10, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [0, 4, 15], + "to": [5, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 5, 8], "texture": "#5"}, + "south": {"uv": [5, 0, 10, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 5], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [3, 4, 4, 12], "texture": "#1"}, + "east": {"uv": [0, 4, 11, 12], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window_sw.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window_sw.json new file mode 100644 index 00000000..ff8b4308 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_single_window_sw.json @@ -0,0 +1,103 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "4": "tfmg:block/steel_vat_top", + "5": "tfmg:block/steel_vat_window_single", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 5], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [12, 4, 13, 12], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "west": {"uv": [5, 4, 16, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [11, 4, 15], + "to": [16, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [5, 0, 10, 8], "texture": "#5"}, + "south": {"uv": [0, 0, 5, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [1, 4, 0], + "to": [1, 12, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 5, 8], "texture": "#5"}, + "west": {"uv": [5, 0, 10, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [11, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "east": {"uv": [3, 4, 4, 12], "texture": "#1"}, + "south": {"uv": [0, 4, 11, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_top.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_top.json new file mode 100644 index 00000000..d2362875 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_top.json @@ -0,0 +1,70 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_vat_top", + "1": "tfmg:block/firebrick_vat", + "particle": "tfmg:block/firebrick_vat" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 16], + "faces": { + "east": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [1, 12, 16], + "faces": { + "east": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_top_window.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_top_window.json new file mode 100644 index 00000000..6da6f56c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_top_window.json @@ -0,0 +1,153 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "4": "tfmg:block/steel_vat_top", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [3, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [13, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 4, 13, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 3], + "faces": { + "east": {"uv": [13, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 4, 13, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [13, 0, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [13, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 4, 13, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 13], + "to": [1, 12, 16], + "faces": { + "north": {"uv": [12, 4, 13, 16], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [13, 4, 16, 16], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [3, 0, 1], + "to": [13, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "north"}, + "south": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15, 0, 3], + "to": [15, 12, 13], + "faces": { + "east": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "east"}, + "west": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [3, 0, 15], + "to": [13, 12, 15], + "faces": { + "north": {"uv": [0, 0, 4, 6], "texture": "#3", "cullface": "south"}, + "south": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [1, 0, 3], + "to": [1, 12, 13], + "faces": { + "east": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "west"}, + "west": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [13, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 3, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 4, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 13], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [3, 4, 4, 16], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 4, 3, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [3, 12, 16], + "faces": { + "north": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 4, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 3, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 12, 3], + "faces": { + "east": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 4, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 3, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_top_window_ne.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_top_window_ne.json new file mode 100644 index 00000000..a38d3a38 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_top_window_ne.json @@ -0,0 +1,76 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "4": "tfmg:block/steel_vat_top", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [5, 4, 16, 16], "texture": "#1"}, + "south": {"uv": [12, 4, 13, 16], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 0, 1], + "to": [5, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 2.5, 6], "texture": "#3"}, + "south": {"uv": [2.5, 0, 5, 6], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15, 0, 11], + "to": [15, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [2.5, 0, 5, 6], "texture": "#3"}, + "west": {"uv": [0, 0, 2.5, 6], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [5, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 11, 16], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "west": {"uv": [3, 4, 4, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_top_window_nw.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_top_window_nw.json new file mode 100644 index 00000000..bcebb3ae --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_top_window_nw.json @@ -0,0 +1,76 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_vat_top", + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [11, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [5, 4, 16, 16], "texture": "#1"}, + "east": {"uv": [12, 4, 13, 16], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 0, 11], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [1.5, 0, 4, 6], "texture": "#3"}, + "west": {"uv": [0, 0, 2.5, 6], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [11, 0, 1], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [1.5, 0, 4, 6], "texture": "#3"}, + "south": {"uv": [0, 0, 2.5, 6], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "south": {"uv": [3, 4, 4, 16], "texture": "#1"}, + "west": {"uv": [0, 4, 11, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_top_window_se.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_top_window_se.json new file mode 100644 index 00000000..3e51b035 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_top_window_se.json @@ -0,0 +1,76 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "4": "tfmg:block/steel_vat_top", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [5, 0, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "south": {"uv": [5, 4, 16, 16], "texture": "#1"}, + "west": {"uv": [12, 4, 13, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 0, 0], + "to": [15, 12, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 2.5, 6], "texture": "#3"}, + "west": {"uv": [1.5, 0, 4, 6], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 0, 15], + "to": [5, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 2.5, 6], "texture": "#3"}, + "south": {"uv": [1.5, 0, 4, 6], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 5], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [3, 4, 4, 16], "texture": "#1"}, + "east": {"uv": [0, 4, 11, 16], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_top_window_sw.json b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_top_window_sw.json new file mode 100644 index 00000000..e3a52664 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fireproof_chemical_vat/block_top_window_sw.json @@ -0,0 +1,76 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "4": "tfmg:block/steel_vat_top", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 5], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [12, 4, 13, 16], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "west": {"uv": [5, 4, 16, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [11, 0, 15], + "to": [16, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [1.5, 0, 4, 6], "texture": "#3"}, + "south": {"uv": [0, 0, 2.5, 6], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [1, 0, 0], + "to": [1, 12, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 9]}, + "faces": { + "east": {"uv": [0, 0, 2.5, 6], "texture": "#3"}, + "west": {"uv": [1.5, 0, 4, 6], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [11, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "east": {"uv": [3, 4, 4, 16], "texture": "#1"}, + "south": {"uv": [0, 4, 11, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/flarestack/block.json b/src/main/resources/assets/tfmg/models/block/flarestack/block.json new file mode 100644 index 00000000..16bd9e84 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/flarestack/block.json @@ -0,0 +1,94 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/flarestack", + "particle": "block/anvil" + }, + "elements": [ + { + "name": "mesh", + "from": [3, 1, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [7, 0, 12, 6], "texture": "#0"}, + "east": {"uv": [7, 0, 12, 6], "texture": "#0"}, + "south": {"uv": [7, 0, 12, 6], "texture": "#0"}, + "west": {"uv": [7, 0, 12, 6], "texture": "#0"}, + "down": {"uv": [10.5, 9, 10.5, 15], "texture": "#0"} + } + }, + { + "from": [6, 14, 6], + "to": [10, 15, 10], + "faces": { + "north": {"uv": [4.5, 2.5, 6.5, 3], "texture": "#0"}, + "east": {"uv": [4.5, 2.5, 6.5, 3], "texture": "#0"}, + "south": {"uv": [4.5, 2.5, 6.5, 3], "texture": "#0"}, + "west": {"uv": [4.5, 2.5, 6.5, 3], "texture": "#0"}, + "up": {"uv": [4.5, 0, 6.5, 2], "texture": "#0"}, + "down": {"uv": [10.5, 6, 10.5, 6], "texture": "#0", "cullface": "down"} + } + }, + { + "from": [7, 1, 3], + "to": [9, 15, 4], + "faces": { + "north": {"uv": [4.5, 3.5, 5.5, 10.5], "texture": "#0"}, + "east": {"uv": [4.5, 3.5, 5, 10.5], "texture": "#0"}, + "south": {"uv": [4.5, 3.5, 5.5, 10.5], "texture": "#0"}, + "west": {"uv": [4.5, 3.5, 5, 10.5], "texture": "#0"}, + "up": {"uv": [4.5, 14, 5.5, 14.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4.5, 14, 5.5, 14.5], "texture": "#0"} + } + }, + { + "from": [7, 1, 12], + "to": [9, 15, 13], + "faces": { + "north": {"uv": [4.5, 3.5, 5.5, 10.5], "texture": "#0"}, + "east": {"uv": [4.5, 3.5, 5, 10.5], "texture": "#0"}, + "south": {"uv": [4.5, 3.5, 5.5, 10.5], "texture": "#0"}, + "west": {"uv": [4.5, 3.5, 5, 10.5], "texture": "#0"}, + "up": {"uv": [4.5, 14, 5.5, 14.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4.5, 14, 5.5, 14.5], "texture": "#0"} + } + }, + { + "from": [12, 1, 7], + "to": [13, 15, 9], + "faces": { + "north": {"uv": [4.5, 3.5, 5, 10.5], "texture": "#0"}, + "east": {"uv": [4.5, 3.5, 5.5, 10.5], "texture": "#0"}, + "south": {"uv": [4.5, 3.5, 5.5, 10.5], "texture": "#0"}, + "west": {"uv": [5.5, 3.5, 4.5, 10.5], "texture": "#0"}, + "up": {"uv": [4.5, 14, 5.5, 14.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4.5, 14, 5.5, 14.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3, 1, 7], + "to": [4, 15, 9], + "faces": { + "north": {"uv": [4.5, 3.5, 5, 10.5], "texture": "#0"}, + "east": {"uv": [5.5, 3.5, 4.5, 10.5], "texture": "#0"}, + "south": {"uv": [4.5, 3.5, 5, 10.5], "texture": "#0"}, + "west": {"uv": [4.5, 3.5, 5.5, 10.5], "texture": "#0"}, + "up": {"uv": [4.5, 14, 5.5, 14.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4.5, 14, 5.5, 14.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 0, 4], + "to": [12, 14, 12], + "faces": { + "north": {"uv": [0, 0, 4, 7], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 7], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 7], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 7], "texture": "#0"}, + "up": {"uv": [0, 12, 4, 16], "texture": "#0"}, + "down": {"uv": [0, 7.5, 4, 11.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/flarestack/block_lit.json b/src/main/resources/assets/tfmg/models/block/flarestack/block_lit.json new file mode 100644 index 00000000..15d966ba --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/flarestack/block_lit.json @@ -0,0 +1,123 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/flarestack", + "3": "block/campfire_fire", + "particle": "block/anvil" + }, + "elements": [ + { + "from": [4, 0, 4], + "to": [12, 14, 12], + "faces": { + "north": {"uv": [0, 0, 4, 7], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 7], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 7], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 7], "texture": "#0"}, + "up": {"uv": [0, 12, 4, 16], "texture": "#0"}, + "down": {"uv": [0, 7.5, 4, 11.5], "texture": "#0"} + } + }, + { + "from": [3, 1, 7], + "to": [4, 15, 9], + "faces": { + "north": {"uv": [4.5, 3.5, 5, 10.5], "texture": "#0"}, + "east": {"uv": [5.5, 3.5, 4.5, 10.5], "texture": "#0"}, + "south": {"uv": [4.5, 3.5, 5, 10.5], "texture": "#0"}, + "west": {"uv": [4.5, 3.5, 5.5, 10.5], "texture": "#0"}, + "up": {"uv": [4.5, 14, 5.5, 14.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4.5, 14, 5.5, 14.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [12, 1, 7], + "to": [13, 15, 9], + "faces": { + "north": {"uv": [4.5, 3.5, 5, 10.5], "texture": "#0"}, + "east": {"uv": [4.5, 3.5, 5.5, 10.5], "texture": "#0"}, + "south": {"uv": [4.5, 3.5, 5.5, 10.5], "texture": "#0"}, + "west": {"uv": [5.5, 3.5, 4.5, 10.5], "texture": "#0"}, + "up": {"uv": [4.5, 14, 5.5, 14.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4.5, 14, 5.5, 14.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [7, 1, 12], + "to": [9, 15, 13], + "faces": { + "north": {"uv": [4.5, 3.5, 5.5, 10.5], "texture": "#0"}, + "east": {"uv": [4.5, 3.5, 5, 10.5], "texture": "#0"}, + "south": {"uv": [4.5, 3.5, 5.5, 10.5], "texture": "#0"}, + "west": {"uv": [4.5, 3.5, 5, 10.5], "texture": "#0"}, + "up": {"uv": [4.5, 14, 5.5, 14.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4.5, 14, 5.5, 14.5], "texture": "#0"} + } + }, + { + "from": [7, 1, 3], + "to": [9, 15, 4], + "faces": { + "north": {"uv": [4.5, 3.5, 5.5, 10.5], "texture": "#0"}, + "east": {"uv": [4.5, 3.5, 5, 10.5], "texture": "#0"}, + "south": {"uv": [4.5, 3.5, 5.5, 10.5], "texture": "#0"}, + "west": {"uv": [4.5, 3.5, 5, 10.5], "texture": "#0"}, + "up": {"uv": [4.5, 14, 5.5, 14.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4.5, 14, 5.5, 14.5], "texture": "#0"} + } + }, + { + "from": [6, 14, 6], + "to": [10, 15, 10], + "faces": { + "north": {"uv": [4.5, 2.5, 6.5, 3], "texture": "#0"}, + "east": {"uv": [4.5, 2.5, 6.5, 3], "texture": "#0"}, + "south": {"uv": [4.5, 2.5, 6.5, 3], "texture": "#0"}, + "west": {"uv": [4.5, 2.5, 6.5, 3], "texture": "#0"}, + "up": {"uv": [4.5, 0, 6.5, 2], "texture": "#0"}, + "down": {"uv": [10.5, 6, 10.5, 6], "texture": "#0", "cullface": "down"} + } + }, + { + "name": "mesh", + "from": [3, 1, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [7, 0, 12, 6], "texture": "#0"}, + "east": {"uv": [7, 0, 12, 6], "texture": "#0"}, + "south": {"uv": [7, 0, 12, 6], "texture": "#0"}, + "west": {"uv": [7, 0, 12, 6], "texture": "#0"}, + "down": {"uv": [10.5, 9, 10.5, 15], "texture": "#0"} + } + }, + { + "from": [8, 13, 2.8], + "to": [8, 29, 13.2], + "shade": false, + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8], "rescale": true}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#3"} + } + }, + { + "from": [2.8, 13, 8], + "to": [13.2, 29, 8], + "shade": false, + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8], "rescale": true}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#3"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/flarestack/item.json b/src/main/resources/assets/tfmg/models/block/flarestack/item.json new file mode 100644 index 00000000..16bd9e84 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/flarestack/item.json @@ -0,0 +1,94 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/flarestack", + "particle": "block/anvil" + }, + "elements": [ + { + "name": "mesh", + "from": [3, 1, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [7, 0, 12, 6], "texture": "#0"}, + "east": {"uv": [7, 0, 12, 6], "texture": "#0"}, + "south": {"uv": [7, 0, 12, 6], "texture": "#0"}, + "west": {"uv": [7, 0, 12, 6], "texture": "#0"}, + "down": {"uv": [10.5, 9, 10.5, 15], "texture": "#0"} + } + }, + { + "from": [6, 14, 6], + "to": [10, 15, 10], + "faces": { + "north": {"uv": [4.5, 2.5, 6.5, 3], "texture": "#0"}, + "east": {"uv": [4.5, 2.5, 6.5, 3], "texture": "#0"}, + "south": {"uv": [4.5, 2.5, 6.5, 3], "texture": "#0"}, + "west": {"uv": [4.5, 2.5, 6.5, 3], "texture": "#0"}, + "up": {"uv": [4.5, 0, 6.5, 2], "texture": "#0"}, + "down": {"uv": [10.5, 6, 10.5, 6], "texture": "#0", "cullface": "down"} + } + }, + { + "from": [7, 1, 3], + "to": [9, 15, 4], + "faces": { + "north": {"uv": [4.5, 3.5, 5.5, 10.5], "texture": "#0"}, + "east": {"uv": [4.5, 3.5, 5, 10.5], "texture": "#0"}, + "south": {"uv": [4.5, 3.5, 5.5, 10.5], "texture": "#0"}, + "west": {"uv": [4.5, 3.5, 5, 10.5], "texture": "#0"}, + "up": {"uv": [4.5, 14, 5.5, 14.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4.5, 14, 5.5, 14.5], "texture": "#0"} + } + }, + { + "from": [7, 1, 12], + "to": [9, 15, 13], + "faces": { + "north": {"uv": [4.5, 3.5, 5.5, 10.5], "texture": "#0"}, + "east": {"uv": [4.5, 3.5, 5, 10.5], "texture": "#0"}, + "south": {"uv": [4.5, 3.5, 5.5, 10.5], "texture": "#0"}, + "west": {"uv": [4.5, 3.5, 5, 10.5], "texture": "#0"}, + "up": {"uv": [4.5, 14, 5.5, 14.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4.5, 14, 5.5, 14.5], "texture": "#0"} + } + }, + { + "from": [12, 1, 7], + "to": [13, 15, 9], + "faces": { + "north": {"uv": [4.5, 3.5, 5, 10.5], "texture": "#0"}, + "east": {"uv": [4.5, 3.5, 5.5, 10.5], "texture": "#0"}, + "south": {"uv": [4.5, 3.5, 5.5, 10.5], "texture": "#0"}, + "west": {"uv": [5.5, 3.5, 4.5, 10.5], "texture": "#0"}, + "up": {"uv": [4.5, 14, 5.5, 14.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4.5, 14, 5.5, 14.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3, 1, 7], + "to": [4, 15, 9], + "faces": { + "north": {"uv": [4.5, 3.5, 5, 10.5], "texture": "#0"}, + "east": {"uv": [5.5, 3.5, 4.5, 10.5], "texture": "#0"}, + "south": {"uv": [4.5, 3.5, 5, 10.5], "texture": "#0"}, + "west": {"uv": [4.5, 3.5, 5.5, 10.5], "texture": "#0"}, + "up": {"uv": [4.5, 14, 5.5, 14.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4.5, 14, 5.5, 14.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 0, 4], + "to": [12, 14, 12], + "faces": { + "north": {"uv": [0, 0, 4, 7], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 7], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 7], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 7], "texture": "#0"}, + "up": {"uv": [0, 12, 4, 16], "texture": "#0"}, + "down": {"uv": [0, 7.5, 4, 11.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/formwork_block/block_base.json b/src/main/resources/assets/tfmg/models/block/formwork_block/block_base.json new file mode 100644 index 00000000..e69de29b diff --git a/src/main/resources/assets/tfmg/models/block/formwork_block/block_bottom.json b/src/main/resources/assets/tfmg/models/block/formwork_block/block_bottom.json new file mode 100644 index 00000000..c798dee0 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/formwork_block/block_bottom.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/formwork_bottom", + "particle": "tfmg:block/formwork_bottom" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 1, 16], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/formwork_block/block_side.json b/src/main/resources/assets/tfmg/models/block/formwork_block/block_side.json new file mode 100644 index 00000000..fd17c855 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/formwork_block/block_side.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/formwork_side", + "particle": "tfmg:block/formwork_side" + }, + "elements": [ + { + "from": [0, 0, -0.1], + "to": [16, 16.001, 0.9], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 1], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/formwork_block/formwork_bottom.json b/src/main/resources/assets/tfmg/models/block/formwork_block/formwork_bottom.json new file mode 100644 index 00000000..34fc6fdf --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/formwork_block/formwork_bottom.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/formwork_bottom", + "particle": "tfmg:block/formwork_bottom" + }, + "elements": [ + { + "from": [1, 0, 1], + "to": [15, 1, 15], + "faces": { + "north": {"uv": [0, 0, 14, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 14, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 14, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 14, 1], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [0, 0, 14, 14], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/formwork_block/item.json b/src/main/resources/assets/tfmg/models/block/formwork_block/item.json new file mode 100644 index 00000000..a3096241 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/formwork_block/item.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/formwork_bottom", + "1": "tfmg:block/formwork_side", + "particle": "tfmg:block/formwork_bottom" + }, + "elements": [ + { + "from": [1, 1, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 15, 15], "texture": "#1"}, + "east": {"uv": [0, 0, 1, 15], "texture": "#1"}, + "south": {"uv": [0, 0, 15, 15], "texture": "#1"}, + "west": {"uv": [0, 0, 1, 15], "texture": "#1"}, + "up": {"uv": [0, 0, 15, 1], "texture": "#1"}, + "down": {"uv": [0, 0, 15, 1], "texture": "#1"} + } + }, + { + "from": [0, 1, 0], + "to": [1, 16, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 15], "texture": "#1"}, + "east": {"uv": [0, 0, 15, 15], "texture": "#1"}, + "south": {"uv": [0, 0, 1, 15], "texture": "#1"}, + "west": {"uv": [0, 0, 15, 15], "texture": "#1"}, + "up": {"uv": [0, 0, 15, 1], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 0, 15, 1], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [0, 1, 15], + "to": [15, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 15, 15], "texture": "#1"}, + "east": {"uv": [0, 0, 1, 15], "texture": "#1"}, + "south": {"uv": [0, 0, 15, 15], "texture": "#1"}, + "west": {"uv": [0, 0, 1, 15], "texture": "#1"}, + "up": {"uv": [0, 0, 15, 1], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 0, 15, 1], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [15, 1, 1], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 15], "texture": "#1"}, + "east": {"uv": [0, 0, 15, 15], "texture": "#1"}, + "south": {"uv": [0, 0, 1, 15], "texture": "#1"}, + "west": {"uv": [0, 0, 15, 15], "texture": "#1"}, + "up": {"uv": [0, 0, 15, 1], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 15, 1], "rotation": 270, "texture": "#1"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 1, 16], + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fuse_block/block.json b/src/main/resources/assets/tfmg/models/block/fuse_block/block.json new file mode 100644 index 00000000..f357b355 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fuse_block/block.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/fuse_block", + "2": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/fuse_block" + }, + "elements": [ + { + "from": [0, 0, 8], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [2.5, 8, 10.5, 16], "texture": "#0"}, + "east": {"uv": [16, 0, 12, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "west": {"uv": [12, 0, 8, 8], "texture": "#0"}, + "up": {"uv": [8, 4, 0, 0], "texture": "#0"}, + "down": {"uv": [8, 0, 0, 4], "texture": "#0"} + } + }, + { + "from": [0, 13, 0], + "to": [16, 16, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 13, 0]}, + "faces": { + "north": {"uv": [0, 0, 8, 1.5], "texture": "#0"}, + "east": {"uv": [4, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1.5], "texture": "#0"}, + "west": {"uv": [8, 0, 12, 1.5], "texture": "#0"}, + "up": {"uv": [8, 0, 0, 4], "texture": "#0"}, + "down": {"uv": [8, 14.5, 16, 10.5], "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 3, 8], + "faces": { + "north": {"uv": [0, 6.5, 8, 8], "texture": "#0"}, + "east": {"uv": [4, 1.5, 0, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1.5], "texture": "#0"}, + "west": {"uv": [0, 1.5, 4, 0], "texture": "#0"}, + "up": {"uv": [8, 10.5, 16, 14.5], "texture": "#0"}, + "down": {"uv": [8, 4, 0, 8], "texture": "#0"} + } + }, + { + "from": [0, 3, 0], + "to": [3, 13, 8], + "rotation": {"angle": 0, "axis": "z", "origin": [3, 3, 0]}, + "faces": { + "north": {"uv": [1.5, 0, 6.5, 1.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 9.5, 4, 14.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 0, 5, 1.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [9.5, 0, 14.5, 4], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 1.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13, 3, 0], + "to": [16, 13, 8], + "rotation": {"angle": 0, "axis": "z", "origin": [3, 3, 0]}, + "faces": { + "north": {"uv": [1.5, 1.5, 6.5, 0], "rotation": 90, "texture": "#0"}, + "east": {"uv": [9.5, 4, 14.5, 0], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 5, 1.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 9.5, 4, 14.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 1.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 1.5], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fuse_block/fuse.json b/src/main/resources/assets/tfmg/models/block/fuse_block/fuse.json new file mode 100644 index 00000000..9e2efd97 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fuse_block/fuse.json @@ -0,0 +1,49 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "1": "tfmg:block/fuse", + "particle": "tfmg:block/fuse_block" + }, + "elements": [ + { + "from": [3, 5, 1], + "to": [13, 11, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 7, 2]}, + "faces": { + "north": {"uv": [0, 6, 6, 16], "rotation": 90, "texture": "#1"}, + "south": {"uv": [0, 6, 6, 16], "rotation": 90, "texture": "#1"}, + "west": {"uv": [0, 0, 3, 3], "texture": "#1"}, + "up": {"uv": [0, 6, 6, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 6, 6, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 7.50268, 3.99989], + "to": [13, 8.50268, 3.99989], + "rotation": {"angle": -45, "axis": "x", "origin": [2, 8, 4]}, + "faces": { + "north": {"uv": [7, 6, 8, 16], "rotation": 90, "texture": "#1"}, + "east": {"uv": [0, 0, 0, 0.5], "texture": "#1"}, + "south": {"uv": [7, 6, 8, 16], "rotation": 90, "texture": "#1"}, + "west": {"uv": [0, 0, 0, 0.5], "texture": "#1"}, + "up": {"uv": [0, 0, 5, 0], "texture": "#1"}, + "down": {"uv": [0, 0, 5, 0], "texture": "#1"} + } + }, + { + "from": [3, 7.99989, 3.49732], + "to": [13, 7.99989, 4.49732], + "rotation": {"angle": -45, "axis": "x", "origin": [2, 8, 4]}, + "faces": { + "north": {"uv": [0, 0, 5, 0], "rotation": 180, "texture": "#1"}, + "east": {"uv": [0, 0, 0, 0.5], "rotation": 90, "texture": "#1"}, + "south": {"uv": [0, 0, 5, 0], "texture": "#1"}, + "west": {"uv": [0, 0, 0, 0.5], "rotation": 270, "texture": "#1"}, + "up": {"uv": [7, 6, 8, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [7, 6, 8, 16], "rotation": 90, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/fuse_block/item.json b/src/main/resources/assets/tfmg/models/block/fuse_block/item.json new file mode 100644 index 00000000..cf31bb51 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/fuse_block/item.json @@ -0,0 +1,113 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/fuse_block", + "1": "tfmg:block/fuse", + "particle": "tfmg:block/fuse_block" + }, + "elements": [ + { + "from": [0, 0, 8], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [2.5, 8, 10.5, 16], "texture": "#0"}, + "east": {"uv": [8, 0, 12, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "west": {"uv": [12, 0, 8, 8], "texture": "#0"}, + "up": {"uv": [0, 4, 8, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 4], "texture": "#0"} + } + }, + { + "from": [0, 13, 0], + "to": [16, 16, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 13, 0]}, + "faces": { + "north": {"uv": [0, 0, 8, 1.5], "texture": "#0"}, + "east": {"uv": [4, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1.5], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 4], "texture": "#0"}, + "down": {"uv": [8, 14.5, 16, 10.5], "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 3, 8], + "faces": { + "north": {"uv": [0, 6.5, 8, 8], "texture": "#0"}, + "east": {"uv": [4, 1.5, 0, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1.5], "texture": "#0"}, + "west": {"uv": [0, 1.5, 4, 0], "texture": "#0"}, + "up": {"uv": [8, 10.5, 16, 14.5], "texture": "#0"}, + "down": {"uv": [0, 4, 8, 8], "texture": "#0"} + } + }, + { + "from": [0, 3, 0], + "to": [3, 13, 8], + "rotation": {"angle": 0, "axis": "z", "origin": [3, 3, 0]}, + "faces": { + "north": {"uv": [1.5, 0, 6.5, 1.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 9.5, 4, 14.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 0, 5, 1.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [9.5, 0, 14.5, 4], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 1.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13, 3, 0], + "to": [16, 13, 8], + "rotation": {"angle": 0, "axis": "z", "origin": [3, 3, 0]}, + "faces": { + "north": {"uv": [1.5, 1.5, 6.5, 0], "rotation": 90, "texture": "#0"}, + "east": {"uv": [9.5, 4, 14.5, 0], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 5, 1.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 9.5, 4, 14.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 1.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 1.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 5, 1], + "to": [13, 11, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 7, 2]}, + "faces": { + "north": {"uv": [0, 6, 6, 16], "rotation": 90, "texture": "#1"}, + "south": {"uv": [0, 6, 6, 16], "rotation": 90, "texture": "#1"}, + "west": {"uv": [0, 0, 3, 3], "texture": "#1"}, + "up": {"uv": [0, 6, 6, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 6, 6, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 7.50268, 3.99989], + "to": [13, 8.50268, 3.99989], + "rotation": {"angle": -45, "axis": "x", "origin": [2, 8, 4]}, + "faces": { + "north": {"uv": [7, 6, 8, 16], "rotation": 90, "texture": "#1"}, + "east": {"uv": [0, 0, 0, 0.5], "texture": "#1"}, + "south": {"uv": [7, 6, 8, 16], "rotation": 90, "texture": "#1"}, + "west": {"uv": [0, 0, 0, 0.5], "texture": "#1"}, + "up": {"uv": [0, 0, 5, 0], "texture": "#1"}, + "down": {"uv": [0, 0, 5, 0], "texture": "#1"} + } + }, + { + "from": [3, 7.99989, 3.49732], + "to": [13, 7.99989, 4.49732], + "rotation": {"angle": -45, "axis": "x", "origin": [2, 8, 4]}, + "faces": { + "north": {"uv": [0, 0, 5, 0], "rotation": 180, "texture": "#1"}, + "east": {"uv": [0, 0, 0, 0.5], "rotation": 90, "texture": "#1"}, + "south": {"uv": [0, 0, 5, 0], "texture": "#1"}, + "west": {"uv": [0, 0, 0, 0.5], "rotation": 270, "texture": "#1"}, + "up": {"uv": [7, 6, 8, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [7, 6, 8, 16], "rotation": 90, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/galvanic_cell/block.json b/src/main/resources/assets/tfmg/models/block/galvanic_cell/block.json new file mode 100644 index 00000000..fe3c2dd5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/galvanic_cell/block.json @@ -0,0 +1,107 @@ +{ + "credit": "Made with Blockbench", + "parent":"block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/galvanic_cell", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [1, 0, 5], + "to": [7, 10, 11], + "faces": { + "north": {"uv": [0, 3.5, 3, 8.5], "texture": "#0"}, + "east": {"uv": [0, 3.5, 3, 8.5], "texture": "#0"}, + "south": {"uv": [0, 3.5, 3, 8.5], "texture": "#0"}, + "west": {"uv": [0, 3.5, 3, 8.5], "texture": "#0"}, + "up": {"uv": [0, 9, 3, 12], "texture": "#0"}, + "down": {"uv": [0, 9, 3, 12], "texture": "#0"} + } + }, + { + "from": [9, 0, 5], + "to": [15, 10, 11], + "faces": { + "north": {"uv": [3.5, 3.5, 6.5, 8.5], "texture": "#0"}, + "east": {"uv": [3.5, 3.5, 6.5, 8.5], "texture": "#0"}, + "south": {"uv": [3.5, 3.5, 6.5, 8.5], "texture": "#0"}, + "west": {"uv": [3.5, 3.5, 6.5, 8.5], "texture": "#0"}, + "up": {"uv": [0, 9, 3, 12], "texture": "#0"}, + "down": {"uv": [0, 9, 3, 12], "texture": "#0"} + } + }, + { + "from": [5, 8, 8], + "to": [11, 13, 8], + "faces": { + "north": {"uv": [3.5, 9, 6.5, 11.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "south": {"uv": [3.5, 9, 6.5, 11.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "texture": "#0"} + } + }, + { + "from": [5, 5, 0], + "to": [11, 11, 3], + "faces": { + "north": {"uv": [0, 0, 3, 3], "rotation": 90, "texture": "#0"}, + "east": {"uv": [7, 0, 8.5, 3], "texture": "#0"}, + "south": {"uv": [3.5, 0, 6.5, 3], "rotation": 90, "texture": "#0"}, + "west": {"uv": [7, 0, 8.5, 3], "texture": "#0"}, + "up": {"uv": [7, 0, 8.5, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 0, 8.5, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 0.001, 1], + "to": [10, 6.001, 9], + "faces": { + "north": {"uv": [7, 3.5, 9, 6.5], "texture": "#0"}, + "east": {"uv": [7, 8, 11, 11], "texture": "#0"}, + "south": {"uv": [7, 3.5, 9, 6.5], "texture": "#0"}, + "west": {"uv": [7, 8, 11, 11], "texture": "#0"}, + "up": {"uv": [9.5, 3.5, 11.5, 7.5], "texture": "#0"}, + "down": {"uv": [9.5, 3.5, 11.5, 7.5], "texture": "#0"} + } + }, + { + "from": [2, 7, 2], + "to": [3, 8, 5], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "east": {"uv": [0, 12.5, 1.5, 13], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 12.5, 1.5, 13], "texture": "#0"}, + "up": {"uv": [0, 12.5, 1.5, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 12.5, 1.5, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13, 7, 2], + "to": [14, 8, 5], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "east": {"uv": [4.5, 12.5, 6, 13], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [6, 12.5, 4.5, 13], "texture": "#0"}, + "up": {"uv": [6, 12.5, 4.5, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4.5, 12.5, 6, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 7, 1], + "to": [14, 8, 2], + "faces": { + "north": {"uv": [6, 12.5, 0, 13], "texture": "#0"}, + "east": {"uv": [5.5, 12.5, 6, 13], "texture": "#0"}, + "south": {"uv": [0, 12.5, 6, 13], "texture": "#0"}, + "west": {"uv": [0, 12.5, 0.5, 13], "texture": "#0"}, + "up": {"uv": [0, 12.5, 6, 13], "texture": "#0"}, + "down": {"uv": [0, 12.5, 6, 13], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/galvanic_cell/item.json b/src/main/resources/assets/tfmg/models/block/galvanic_cell/item.json new file mode 100644 index 00000000..fe3c2dd5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/galvanic_cell/item.json @@ -0,0 +1,107 @@ +{ + "credit": "Made with Blockbench", + "parent":"block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/galvanic_cell", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [1, 0, 5], + "to": [7, 10, 11], + "faces": { + "north": {"uv": [0, 3.5, 3, 8.5], "texture": "#0"}, + "east": {"uv": [0, 3.5, 3, 8.5], "texture": "#0"}, + "south": {"uv": [0, 3.5, 3, 8.5], "texture": "#0"}, + "west": {"uv": [0, 3.5, 3, 8.5], "texture": "#0"}, + "up": {"uv": [0, 9, 3, 12], "texture": "#0"}, + "down": {"uv": [0, 9, 3, 12], "texture": "#0"} + } + }, + { + "from": [9, 0, 5], + "to": [15, 10, 11], + "faces": { + "north": {"uv": [3.5, 3.5, 6.5, 8.5], "texture": "#0"}, + "east": {"uv": [3.5, 3.5, 6.5, 8.5], "texture": "#0"}, + "south": {"uv": [3.5, 3.5, 6.5, 8.5], "texture": "#0"}, + "west": {"uv": [3.5, 3.5, 6.5, 8.5], "texture": "#0"}, + "up": {"uv": [0, 9, 3, 12], "texture": "#0"}, + "down": {"uv": [0, 9, 3, 12], "texture": "#0"} + } + }, + { + "from": [5, 8, 8], + "to": [11, 13, 8], + "faces": { + "north": {"uv": [3.5, 9, 6.5, 11.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "south": {"uv": [3.5, 9, 6.5, 11.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "texture": "#0"} + } + }, + { + "from": [5, 5, 0], + "to": [11, 11, 3], + "faces": { + "north": {"uv": [0, 0, 3, 3], "rotation": 90, "texture": "#0"}, + "east": {"uv": [7, 0, 8.5, 3], "texture": "#0"}, + "south": {"uv": [3.5, 0, 6.5, 3], "rotation": 90, "texture": "#0"}, + "west": {"uv": [7, 0, 8.5, 3], "texture": "#0"}, + "up": {"uv": [7, 0, 8.5, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 0, 8.5, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 0.001, 1], + "to": [10, 6.001, 9], + "faces": { + "north": {"uv": [7, 3.5, 9, 6.5], "texture": "#0"}, + "east": {"uv": [7, 8, 11, 11], "texture": "#0"}, + "south": {"uv": [7, 3.5, 9, 6.5], "texture": "#0"}, + "west": {"uv": [7, 8, 11, 11], "texture": "#0"}, + "up": {"uv": [9.5, 3.5, 11.5, 7.5], "texture": "#0"}, + "down": {"uv": [9.5, 3.5, 11.5, 7.5], "texture": "#0"} + } + }, + { + "from": [2, 7, 2], + "to": [3, 8, 5], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "east": {"uv": [0, 12.5, 1.5, 13], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 12.5, 1.5, 13], "texture": "#0"}, + "up": {"uv": [0, 12.5, 1.5, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 12.5, 1.5, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13, 7, 2], + "to": [14, 8, 5], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "east": {"uv": [4.5, 12.5, 6, 13], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [6, 12.5, 4.5, 13], "texture": "#0"}, + "up": {"uv": [6, 12.5, 4.5, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4.5, 12.5, 6, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 7, 1], + "to": [14, 8, 2], + "faces": { + "north": {"uv": [6, 12.5, 0, 13], "texture": "#0"}, + "east": {"uv": [5.5, 12.5, 6, 13], "texture": "#0"}, + "south": {"uv": [0, 12.5, 6, 13], "texture": "#0"}, + "west": {"uv": [0, 12.5, 0.5, 13], "texture": "#0"}, + "up": {"uv": [0, 12.5, 6, 13], "texture": "#0"}, + "down": {"uv": [0, 12.5, 6, 13], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/gasoline_engine/block.json b/src/main/resources/assets/tfmg/models/block/gasoline_engine/block.json new file mode 100644 index 00000000..4b4cbd79 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/gasoline_engine/block.json @@ -0,0 +1,119 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "2": "tfmg:block/engines/gasoline", + "particle": "block/anvil" + }, + "elements": [ + { + "from": [3, 0, 2], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [1, 0, 3.5, 3], "texture": "#2"}, + "east": {"uv": [3.5, 12.25, 0, 15.25], "texture": "#2"}, + "south": {"uv": [5.5, 0, 8, 3], "texture": "#2"}, + "west": {"uv": [0, 12.25, 3.5, 15.25], "texture": "#2"}, + "up": {"uv": [1, 7, 3.5, 10.5], "rotation": 180, "texture": "#2"}, + "down": {"uv": [5.5, 3.5, 8, 7], "rotation": 180, "texture": "#2"} + } + }, + { + "from": [4.08658, 7.3806, 11], + "to": [8.08658, 16.3806, 15], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [13.75, 0, 12.75, 2.25], "texture": "#2"}, + "east": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "south": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "west": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "up": {"uv": [12.75, 2.25, 13.75, 3.25], "texture": "#2"} + } + }, + { + "from": [7.91342, 7.3806, 5], + "to": [11.91342, 16.3806, 9], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "east": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "south": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "west": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "up": {"uv": [12.75, 2.25, 13.75, 3.25], "texture": "#2"} + } + }, + { + "from": [7.91342, 7.3806, 11], + "to": [11.91342, 16.3806, 15], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "east": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "south": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "west": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "up": {"uv": [12.75, 2.25, 13.75, 3.25], "texture": "#2"} + } + }, + { + "from": [4.08658, 7.3806, 5], + "to": [8.08658, 16.3806, 9], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "east": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "south": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "west": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "up": {"uv": [12.75, 2.25, 13.75, 3.25], "texture": "#2"} + } + }, + { + "from": [0, 0, 2], + "to": [3, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [3.5, 1.25, 4.25, 3], "texture": "#2"}, + "south": {"uv": [4.75, 1.25, 5.5, 3], "texture": "#2"}, + "west": {"uv": [0, 13.75, 3.5, 15.5], "texture": "#2"}, + "up": {"uv": [0, 3.5, 0.75, 7], "texture": "#2"}, + "down": {"uv": [8.625, 7, 8, 3.5], "texture": "#2"} + } + }, + { + "from": [13, 0, 2], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [0.25, 1.25, 1, 3], "texture": "#2"}, + "east": {"uv": [3.5, 13.75, 0, 15.5], "texture": "#2"}, + "south": {"uv": [8, 1.25, 8.75, 3], "texture": "#2"}, + "up": {"uv": [3.75, 3.5, 4.5, 7], "texture": "#2"}, + "down": {"uv": [5.5, 3.5, 4.75, 7], "texture": "#2"} + } + }, + { + "from": [2, 7, 2], + "to": [3, 10, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [14, 1, 14.25, 1.75], "texture": "#2"}, + "south": {"uv": [14, 1, 14.25, 1.75], "texture": "#2"}, + "west": {"uv": [14, 1, 14.5, 1.75], "texture": "#2"}, + "up": {"uv": [14, 1.25, 14.5, 1.5], "texture": "#2"}, + "down": {"uv": [14.25, 0, 15.25, 2], "texture": "#2"} + } + }, + { + "from": [13, 7, 2], + "to": [14, 10, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [14, 1, 14.25, 1.75], "texture": "#2"}, + "east": {"uv": [14, 1, 14.5, 1.75], "texture": "#2"}, + "south": {"uv": [14, 1, 14.25, 1.75], "texture": "#2"}, + "up": {"uv": [14, 1.25, 14.5, 1.5], "texture": "#2"}, + "down": {"uv": [14.25, 0.125, 15.25, 2.125], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/gasoline_engine/item.json b/src/main/resources/assets/tfmg/models/block/gasoline_engine/item.json new file mode 100644 index 00000000..9a74ddd2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/gasoline_engine/item.json @@ -0,0 +1,134 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "1": "create:block/axis", + "2": "tfmg:block/engines/gasoline", + "3": "create:block/axis_top", + "particle": "block/anvil" + }, + "elements": [ + { + "from": [3, 0, 2], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [1, 0, 3.5, 3], "texture": "#2"}, + "east": {"uv": [3.5, 12.25, 0, 15.25], "texture": "#2"}, + "south": {"uv": [5.5, 0, 8, 3], "texture": "#2"}, + "west": {"uv": [0, 12.25, 3.5, 15.25], "texture": "#2"}, + "up": {"uv": [1, 7, 3.5, 10.5], "rotation": 180, "texture": "#2"}, + "down": {"uv": [5.5, 3.5, 8, 7], "rotation": 180, "texture": "#2"} + } + }, + { + "from": [4.08658, 7.3806, 11], + "to": [8.08658, 16.3806, 15], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [13.75, 0, 12.75, 2.25], "texture": "#2"}, + "east": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "south": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "west": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "up": {"uv": [12.75, 2.25, 13.75, 3.25], "texture": "#2"} + } + }, + { + "from": [7.91342, 7.3806, 5], + "to": [11.91342, 16.3806, 9], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "east": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "south": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "west": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "up": {"uv": [12.75, 2.25, 13.75, 3.25], "texture": "#2"} + } + }, + { + "from": [7.91342, 7.3806, 11], + "to": [11.91342, 16.3806, 15], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "east": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "south": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "west": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "up": {"uv": [12.75, 2.25, 13.75, 3.25], "texture": "#2"} + } + }, + { + "from": [4.08658, 7.3806, 5], + "to": [8.08658, 16.3806, 9], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "east": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "south": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "west": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#2"}, + "up": {"uv": [12.75, 2.25, 13.75, 3.25], "texture": "#2"} + } + }, + { + "from": [0, 0, 2], + "to": [3, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [3.5, 1.25, 4.25, 3], "texture": "#2"}, + "south": {"uv": [4.75, 1.25, 5.5, 3], "texture": "#2"}, + "west": {"uv": [0, 13.75, 3.5, 15.5], "texture": "#2"}, + "up": {"uv": [0, 3.5, 0.75, 7], "texture": "#2"}, + "down": {"uv": [8.625, 7, 8, 3.5], "texture": "#2"} + } + }, + { + "from": [13, 0, 2], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [0.25, 1.25, 1, 3], "texture": "#2"}, + "east": {"uv": [3.5, 13.75, 0, 15.5], "texture": "#2"}, + "south": {"uv": [8, 1.25, 8.75, 3], "texture": "#2"}, + "up": {"uv": [3.75, 3.5, 4.5, 7], "texture": "#2"}, + "down": {"uv": [5.5, 3.5, 4.75, 7], "texture": "#2"} + } + }, + { + "from": [2, 7, 2], + "to": [3, 10, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [14, 1, 14.25, 1.75], "texture": "#2"}, + "south": {"uv": [14, 1, 14.25, 1.75], "texture": "#2"}, + "west": {"uv": [14, 1, 14.5, 1.75], "texture": "#2"}, + "up": {"uv": [14, 1.25, 14.5, 1.5], "texture": "#2"}, + "down": {"uv": [14.25, 0, 15.25, 2], "texture": "#2"} + } + }, + { + "from": [13, 7, 2], + "to": [14, 10, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [14, 1, 14.25, 1.75], "texture": "#2"}, + "east": {"uv": [14, 1, 14.5, 1.75], "texture": "#2"}, + "south": {"uv": [14, 1, 14.25, 1.75], "texture": "#2"}, + "up": {"uv": [14, 1.25, 14.5, 1.5], "texture": "#2"}, + "down": {"uv": [14.25, 0.125, 15.25, 2.125], "texture": "#2"} + } + }, + { + "name": "Axis", + "from": [6, 6, 0], + "to": [10, 10, 10], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [6, 6, 10, 10], "texture": "#3"}, + "east": {"uv": [6, 0, 10, 10], "rotation": 90, "texture": "#1"}, + "west": {"uv": [6, 0, 10, 10], "rotation": 270, "texture": "#1"}, + "up": {"uv": [6, 0, 10, 10], "texture": "#1"}, + "down": {"uv": [6, 0, 10, 10], "rotation": 180, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/gasoline_engine_back/block.json b/src/main/resources/assets/tfmg/models/block/gasoline_engine_back/block.json new file mode 100644 index 00000000..2270fa5a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/gasoline_engine_back/block.json @@ -0,0 +1,111 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "1": "tfmg:block/engines/gasoline", + "particle": "tfmg:block/engines/gasoline" + }, + "elements": [ + { + "from": [3, 0, 0], + "to": [13, 12, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [5.5, 0, 8, 3], "texture": "#1"}, + "east": {"uv": [7, 12.25, 3.5, 15.25], "texture": "#1"}, + "west": {"uv": [3.5, 12.25, 7, 15.25], "texture": "#1"}, + "up": {"uv": [1, 10.5, 3.5, 7], "rotation": 180, "texture": "#1"}, + "down": {"uv": [5.5, 7, 8, 10.5], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [0, 0, 14], + "to": [16, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [11.25, 7, 15.25, 10.25], "texture": "#1"}, + "east": {"uv": [10.5, 3.75, 11, 7], "texture": "#1"}, + "south": {"uv": [11.25, 3.75, 15.25, 6.75], "texture": "#1"}, + "west": {"uv": [15.5, 3.75, 16, 7], "texture": "#1"}, + "up": {"uv": [11.25, 9.5, 15.25, 9], "texture": "#1"}, + "down": {"uv": [4.75, 10.5, 8.75, 11], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [6, 7, 7], + "to": [10, 16, 11], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "east": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "south": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "west": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "up": {"uv": [12.75, 2.25, 13.75, 3.25], "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [6, 7, 7], + "to": [10, 16, 11], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "east": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "south": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "west": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "up": {"uv": [12.75, 2.25, 13.75, 3.25], "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [6, 7, 1], + "to": [10, 16, 5], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "east": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "south": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "west": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "up": {"uv": [12.75, 2.25, 13.75, 3.25], "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [6, 7, 1], + "to": [10, 16, 5], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "east": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "south": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "west": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "up": {"uv": [12.75, 2.25, 13.75, 3.25], "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [0, 0, 0], + "to": [3, 7, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [8, 1.25, 8.75, 3], "texture": "#1"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [3.5, 13.75, 7, 15.5], "texture": "#1"}, + "up": {"uv": [0, 7, 0.75, 10.5], "texture": "#1"}, + "down": {"uv": [8, 7, 8.75, 10.5], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [13, 0, 0], + "to": [16, 7, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [4.75, 1.25, 5.5, 3], "texture": "#1"}, + "east": {"uv": [3.5, 15.5, 7, 13.75], "rotation": 180, "texture": "#1"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "up": {"uv": [4.5, 10.5, 3.75, 7], "rotation": 180, "texture": "#1"}, + "down": {"uv": [5.5, 7, 4.75, 10.5], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/gasoline_engine_back/item.json b/src/main/resources/assets/tfmg/models/block/gasoline_engine_back/item.json new file mode 100644 index 00000000..2270fa5a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/gasoline_engine_back/item.json @@ -0,0 +1,111 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "1": "tfmg:block/engines/gasoline", + "particle": "tfmg:block/engines/gasoline" + }, + "elements": [ + { + "from": [3, 0, 0], + "to": [13, 12, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [5.5, 0, 8, 3], "texture": "#1"}, + "east": {"uv": [7, 12.25, 3.5, 15.25], "texture": "#1"}, + "west": {"uv": [3.5, 12.25, 7, 15.25], "texture": "#1"}, + "up": {"uv": [1, 10.5, 3.5, 7], "rotation": 180, "texture": "#1"}, + "down": {"uv": [5.5, 7, 8, 10.5], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [0, 0, 14], + "to": [16, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [11.25, 7, 15.25, 10.25], "texture": "#1"}, + "east": {"uv": [10.5, 3.75, 11, 7], "texture": "#1"}, + "south": {"uv": [11.25, 3.75, 15.25, 6.75], "texture": "#1"}, + "west": {"uv": [15.5, 3.75, 16, 7], "texture": "#1"}, + "up": {"uv": [11.25, 9.5, 15.25, 9], "texture": "#1"}, + "down": {"uv": [4.75, 10.5, 8.75, 11], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [6, 7, 7], + "to": [10, 16, 11], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "east": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "south": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "west": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "up": {"uv": [12.75, 2.25, 13.75, 3.25], "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [6, 7, 7], + "to": [10, 16, 11], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "east": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "south": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "west": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "up": {"uv": [12.75, 2.25, 13.75, 3.25], "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [6, 7, 1], + "to": [10, 16, 5], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "east": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "south": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "west": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "up": {"uv": [12.75, 2.25, 13.75, 3.25], "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [6, 7, 1], + "to": [10, 16, 5], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "east": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "south": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "west": {"uv": [12.75, 0, 13.75, 2.25], "texture": "#1"}, + "up": {"uv": [12.75, 2.25, 13.75, 3.25], "texture": "#1"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [0, 0, 0], + "to": [3, 7, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [8, 1.25, 8.75, 3], "texture": "#1"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [3.5, 13.75, 7, 15.5], "texture": "#1"}, + "up": {"uv": [0, 7, 0.75, 10.5], "texture": "#1"}, + "down": {"uv": [8, 7, 8.75, 10.5], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [13, 0, 0], + "to": [16, 7, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [4.75, 1.25, 5.5, 3], "texture": "#1"}, + "east": {"uv": [3.5, 15.5, 7, 13.75], "rotation": 180, "texture": "#1"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "up": {"uv": [4.5, 10.5, 3.75, 7], "rotation": 180, "texture": "#1"}, + "down": {"uv": [5.5, 7, 4.75, 10.5], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/generator/block.json b/src/main/resources/assets/tfmg/models/block/generator/block.json new file mode 100644 index 00000000..2a5e2370 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/generator/block.json @@ -0,0 +1,36 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/generator", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [0, 4, 0], + "to": [16, 10, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, -1, 0]}, + "faces": { + "north": {"uv": [5, 0, 2, 8], "rotation": 270, "texture": "#0"}, + "east": {"uv": [5, 0, 2, 8], "rotation": 270, "texture": "#0"}, + "south": {"uv": [2, 0, 5, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [2, 0, 5, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [7, 0, 15, 8], "rotation": 180, "texture": "#0"}, + "down": {"uv": [7, 0, 15, 8], "texture": "#0"} + } + }, + { + "from": [3, 0, 3], + "to": [13, 14, 13], + "faces": { + "north": {"uv": [0, 1.5, 7, 6.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 1.5, 7, 6.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 1.5, 7, 6.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 1.5, 7, 6.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8.5, 1.5, 13.5, 6.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 8.5, 5, 13.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/generator/item.json b/src/main/resources/assets/tfmg/models/block/generator/item.json new file mode 100644 index 00000000..b1b48b3f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/generator/item.json @@ -0,0 +1,48 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/generator", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [0, 0, 6], + "to": [16, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [7, 0, 15, 8], "texture": "#0"}, + "east": {"uv": [5, 0, 2, 8], "texture": "#0"}, + "south": {"uv": [7, 0, 15, 8], "texture": "#0"}, + "west": {"uv": [2, 0, 5, 8], "texture": "#0"}, + "up": {"uv": [2, 0, 5, 8], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5, 0, 2, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3, 3, 2], + "to": [13, 13, 16], + "faces": { + "north": {"uv": [8.5, 1.5, 13.5, 6.5], "texture": "#0"}, + "east": {"uv": [0, 1.5, 7, 6.5], "texture": "#0"}, + "south": {"uv": [0, 8.5, 5, 13.5], "texture": "#0"}, + "west": {"uv": [0, 1.5, 7, 6.5], "texture": "#0"}, + "up": {"uv": [0, 1.5, 7, 6.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 1.5, 7, 6.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 6, 0], + "to": [10, 10, 2], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [8.5, 14, 10.5, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [11, 15, 13, 16], "rotation": 270, "texture": "#0"}, + "west": {"uv": [11, 15, 13, 16], "rotation": 270, "texture": "#0"}, + "up": {"uv": [11, 15, 13, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [11, 15, 13, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/glass_cable_insulator/block.json b/src/main/resources/assets/tfmg/models/block/glass_cable_insulator/block.json new file mode 100644 index 00000000..5025ac05 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/glass_cable_insulator/block.json @@ -0,0 +1,140 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/glass_insulator", + "particle": "tfmg:block/glass_insulator" + }, + "elements": [ + { + "from": [6, 0, 8], + "to": [10, 1, 8], + "rotation": {"angle": 45, "axis": "y", "origin": [8, -1, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "south": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [8, 0, 6], + "to": [8, 1, 10], + "rotation": {"angle": 45, "axis": "y", "origin": [8, -1, 8]}, + "faces": { + "north": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "east": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "south": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 1, 6], + "to": [10, 2, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 1, 7]}, + "faces": { + "north": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "east": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "south": {"uv": [7, 12, 11, 13], "texture": "#0"}, + "west": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [4, 2, 4], + "to": [12, 4, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 2, 9]}, + "faces": { + "north": {"uv": [8, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [8, 0, 0, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#0"} + } + }, + { + "from": [4, 7, 4], + "to": [12, 9, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 7, 9]}, + "faces": { + "north": {"uv": [8, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [8, 0, 0, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#0"} + } + }, + { + "from": [6, 4, 6], + "to": [10, 5, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 7]}, + "faces": { + "north": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "east": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "south": {"uv": [7, 12, 11, 13], "texture": "#0"}, + "west": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 5, 8], + "to": [10, 6, 8], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "south": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 5, 8], + "to": [10, 6, 8], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "south": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 6, 6], + "to": [10, 7, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "east": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "south": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "west": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 9, 6], + "to": [10, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 7]}, + "faces": { + "north": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "east": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "south": {"uv": [7, 12, 11, 13], "texture": "#0"}, + "west": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/glass_cable_insulator/block_extension.json b/src/main/resources/assets/tfmg/models/block/glass_cable_insulator/block_extension.json new file mode 100644 index 00000000..15710f9e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/glass_cable_insulator/block_extension.json @@ -0,0 +1,230 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/glass_insulator", + "particle": "tfmg:block/glass_insulator" + }, + "elements": [ + { + "from": [6, 0, 8], + "to": [10, 1, 8], + "rotation": {"angle": 45, "axis": "y", "origin": [8, -1, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "south": {"uv": [2, 11, 6, 13], "texture": "#0"}, + "west": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [8, 0, 6], + "to": [8, 1, 10], + "rotation": {"angle": 45, "axis": "y", "origin": [8, -1, 8]}, + "faces": { + "north": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "east": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "south": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 1, 6], + "to": [10, 2, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 1, 7]}, + "faces": { + "north": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "east": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "south": {"uv": [7, 12, 11, 13], "texture": "#0"}, + "west": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 4, 6], + "to": [10, 5, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 7]}, + "faces": { + "north": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "east": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "south": {"uv": [7, 12, 11, 13], "texture": "#0"}, + "west": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [8, 5, 6], + "to": [8, 6, 10], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "south": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 5, 8], + "to": [10, 6, 8], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "south": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 6, 6], + "to": [10, 7, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "east": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "south": {"uv": [7, 12, 11, 13], "texture": "#0"}, + "west": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 9, 6], + "to": [10, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 7]}, + "faces": { + "north": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "east": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "south": {"uv": [7, 12, 11, 13], "texture": "#0"}, + "west": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 10, 8], + "to": [10, 11, 8], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 10, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "south": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [8, 10, 6], + "to": [8, 11, 10], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 10, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "south": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 11, 6], + "to": [10, 12, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 11, 7]}, + "faces": { + "north": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "east": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "south": {"uv": [7, 12, 11, 13], "texture": "#0"}, + "west": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 14, 6], + "to": [10, 15, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 7]}, + "faces": { + "north": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "east": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "south": {"uv": [7, 12, 11, 13], "texture": "#0"}, + "west": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [8, 15, 6], + "to": [8, 16, 10], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 15, 8]}, + "faces": { + "north": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "east": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "south": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 15, 8], + "to": [10, 16, 8], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 15, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "south": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [4, 12, 4], + "to": [12, 14, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 12, 9]}, + "faces": { + "north": {"uv": [8, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [8, 0, 0, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#0"} + } + }, + { + "from": [4, 7, 4], + "to": [12, 9, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 7, 9]}, + "faces": { + "north": {"uv": [8, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [8, 0, 0, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#0"} + } + }, + { + "from": [4, 2, 4], + "to": [12, 4, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 2, 9]}, + "faces": { + "north": {"uv": [8, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [8, 0, 0, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/glass_cable_insulator/full.json b/src/main/resources/assets/tfmg/models/block/glass_cable_insulator/full.json new file mode 100644 index 00000000..6c4a5891 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/glass_cable_insulator/full.json @@ -0,0 +1,685 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/glass_insulator", + "particle": "tfmg:block/glass_insulator" + }, + "elements": [ + { + "from": [5, 3, 5], + "to": [11, 4, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 3, 9]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#0"} + } + }, + { + "from": [5, 6, 5], + "to": [11, 7, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 9]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#0"} + } + }, + { + "from": [5, 9, 5], + "to": [11, 10, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 9, 9]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#0"} + } + }, + { + "from": [5, 12, 5], + "to": [11, 13, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 12, 9]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#0"} + } + }, + { + "from": [5, 15, 5], + "to": [11, 16, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 15, 9]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#0"} + } + }, + { + "from": [4, 18, 4], + "to": [12, 20, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 18, 9]}, + "faces": { + "north": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#0"} + } + }, + { + "from": [4, 12, 4], + "to": [12, 14, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 13, 9]}, + "faces": { + "north": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#0"} + } + }, + { + "from": [4, 2, 4], + "to": [12, 4, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 3, 9]}, + "faces": { + "north": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#0"} + } + }, + { + "from": [6, 17, 6], + "to": [10, 18, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 17, 7]}, + "faces": { + "north": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "east": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "south": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "west": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 25, 6], + "to": [10, 26, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 25, 7]}, + "faces": { + "north": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "east": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "south": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "west": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 14, 6], + "to": [10, 15, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 7]}, + "faces": { + "north": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "east": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "south": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "west": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 1, 6], + "to": [10, 2, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 1, 7]}, + "faces": { + "north": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "east": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "south": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "west": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 4, 6], + "to": [10, 5, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 7]}, + "faces": { + "north": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "east": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "south": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "west": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 6, 6], + "to": [10, 7, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "east": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "south": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "west": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 9, 6], + "to": [10, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 7]}, + "faces": { + "north": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "east": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "south": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "west": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 11, 6], + "to": [10, 12, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 11, 7]}, + "faces": { + "north": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "east": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "south": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "west": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 20, 6], + "to": [10, 21, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 20, 7]}, + "faces": { + "north": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "east": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "south": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "west": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 22, 6], + "to": [10, 23, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 22, 7]}, + "faces": { + "north": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "east": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "south": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "west": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 21, 8], + "to": [10, 22, 8], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 21, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "south": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 21, 8], + "to": [10, 22, 8], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 21, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "south": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 10, 8], + "to": [10, 11, 8], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 10, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "south": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 5, 8], + "to": [10, 6, 8], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "south": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 0, 8], + "to": [10, 1, 8], + "rotation": {"angle": 45, "axis": "y", "origin": [8, -1, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "south": {"uv": [2, 11, 6, 13], "texture": "#0"}, + "west": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [8, -1, 6], + "to": [8, 0, 10], + "rotation": {"angle": 45, "axis": "y", "origin": [8, -1, 8]}, + "faces": { + "north": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "east": {"uv": [2, 11, 6, 13], "texture": "#0"}, + "south": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, -1, 8], + "to": [10, 0, 8], + "rotation": {"angle": 45, "axis": "y", "origin": [8, -1, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "south": {"uv": [2, 11, 6, 13], "texture": "#0"}, + "west": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, -2, 6], + "to": [10, -1, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, -2, 7]}, + "faces": { + "north": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "east": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "south": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "west": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [4, -4, 4], + "to": [12, -2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [6, -3, 9]}, + "faces": { + "north": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#0"} + } + }, + { + "from": [6, -5, 6], + "to": [10, -4, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, -5, 7]}, + "faces": { + "north": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "east": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "south": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "west": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, -6, 8], + "to": [10, -5, 8], + "rotation": {"angle": 45, "axis": "y", "origin": [8, -6, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "south": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [8, -6, 6], + "to": [8, -5, 10], + "rotation": {"angle": 45, "axis": "y", "origin": [8, -6, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "south": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, -7, 6], + "to": [10, -6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, -7, 7]}, + "faces": { + "north": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "east": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "south": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "west": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [4, -9, 4], + "to": [12, -7, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [6, -9, 9]}, + "faces": { + "north": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#0"} + } + }, + { + "from": [6, -10, 6], + "to": [10, -9, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, -10, 7]}, + "faces": { + "north": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "east": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "south": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "west": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, -11, 8], + "to": [10, -10, 8], + "rotation": {"angle": 45, "axis": "y", "origin": [8, -11, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "south": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [8, -11, 6], + "to": [8, -10, 10], + "rotation": {"angle": 45, "axis": "y", "origin": [8, -11, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "south": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, -12, 6], + "to": [10, -11, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, -12, 7]}, + "faces": { + "north": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "east": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "south": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "west": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [4, -14, 4], + "to": [12, -12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [6, -13, 9]}, + "faces": { + "north": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#0"} + } + }, + { + "from": [6, -15, 6], + "to": [10, -14, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, -15, 7]}, + "faces": { + "north": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "east": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "south": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "west": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [8, -16, 6], + "to": [8, -15, 10], + "rotation": {"angle": 45, "axis": "y", "origin": [8, -17, 8]}, + "faces": { + "north": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "east": {"uv": [2, 11, 6, 13], "texture": "#0"}, + "south": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, -16, 8], + "to": [10, -15, 8], + "rotation": {"angle": 45, "axis": "y", "origin": [8, -17, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "south": {"uv": [2, 11, 6, 13], "texture": "#0"}, + "west": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 15, 8], + "to": [10, 16, 8], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 15, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "south": {"uv": [2, 11, 6, 13], "texture": "#0"}, + "west": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [8, 10, 6], + "to": [8, 11, 10], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 10, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "south": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [8, 5, 6], + "to": [8, 6, 10], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "south": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [8, 0, 6], + "to": [8, 1, 10], + "rotation": {"angle": 45, "axis": "y", "origin": [8, -1, 8]}, + "faces": { + "north": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "east": {"uv": [2, 11, 6, 13], "texture": "#0"}, + "south": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 16, 8], + "to": [10, 17, 8], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 15, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "south": {"uv": [2, 11, 6, 13], "texture": "#0"}, + "west": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [8, 16, 6], + "to": [8, 17, 10], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 15, 8]}, + "faces": { + "north": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "east": {"uv": [2, 11, 6, 13], "texture": "#0"}, + "south": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [8, 15, 6], + "to": [8, 16, 10], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 15, 8]}, + "faces": { + "north": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "east": {"uv": [2, 11, 6, 13], "texture": "#0"}, + "south": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 7, 4], + "to": [12, 9, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 7, 9]}, + "faces": { + "north": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#0"} + } + }, + { + "from": [4, 23, 4], + "to": [12, 25, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 24, 9]}, + "faces": { + "north": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#0"} + } + }, + { + "from": [5, 18, 5], + "to": [11, 19, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 18, 9]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#0"} + } + }, + { + "from": [5, 21, 5], + "to": [11, 22, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 21, 9]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 6], "texture": "#0"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#0"} + } + }, + { + "from": [7, 0, 7], + "to": [9, 16, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [12, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [12, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [12, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [12, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [12, 4, 14, 6], "texture": "#0"}, + "down": {"uv": [12, 4, 14, 6], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/glass_cable_insulator/item.json b/src/main/resources/assets/tfmg/models/block/glass_cable_insulator/item.json new file mode 100644 index 00000000..5025ac05 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/glass_cable_insulator/item.json @@ -0,0 +1,140 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/glass_insulator", + "particle": "tfmg:block/glass_insulator" + }, + "elements": [ + { + "from": [6, 0, 8], + "to": [10, 1, 8], + "rotation": {"angle": 45, "axis": "y", "origin": [8, -1, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "south": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [8, 0, 6], + "to": [8, 1, 10], + "rotation": {"angle": 45, "axis": "y", "origin": [8, -1, 8]}, + "faces": { + "north": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "east": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "south": {"uv": [2, 10, 2, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 1, 6], + "to": [10, 2, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 1, 7]}, + "faces": { + "north": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "east": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "south": {"uv": [7, 12, 11, 13], "texture": "#0"}, + "west": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [4, 2, 4], + "to": [12, 4, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 2, 9]}, + "faces": { + "north": {"uv": [8, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [8, 0, 0, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#0"} + } + }, + { + "from": [4, 7, 4], + "to": [12, 9, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 7, 9]}, + "faces": { + "north": {"uv": [8, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [8, 0, 0, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#0"} + } + }, + { + "from": [6, 4, 6], + "to": [10, 5, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 7]}, + "faces": { + "north": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "east": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "south": {"uv": [7, 12, 11, 13], "texture": "#0"}, + "west": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 5, 8], + "to": [10, 6, 8], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "south": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 5, 8], + "to": [10, 6, 8], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "east": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "south": {"uv": [2, 11, 6, 12], "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 6, 6], + "to": [10, 7, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "east": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "south": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "west": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 9, 6], + "to": [10, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 7]}, + "faces": { + "north": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "east": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "south": {"uv": [7, 12, 11, 13], "texture": "#0"}, + "west": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/heavy_casing_door/block_bottom.json b/src/main/resources/assets/tfmg/models/block/heavy_casing_door/block_bottom.json new file mode 100644 index 00000000..90c814ff --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/heavy_casing_door/block_bottom.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/heavy_casing_side", + "2": "tfmg:block/heavy_casing_door_bottom", + "particle": "tfmg:block/heavy_machinery_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [0, 12, 16, 15], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 12, 16, 15], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "down": {"uv": [0, 8, 16, 11], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/heavy_casing_door/block_top.json b/src/main/resources/assets/tfmg/models/block/heavy_casing_door/block_top.json new file mode 100644 index 00000000..ae10a877 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/heavy_casing_door/block_top.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/heavy_casing_side", + "2": "tfmg:block/heavy_casing_top", + "particle": "tfmg:block/heavy_machinery_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 3], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/heavy_casing_door/fold_left.json b/src/main/resources/assets/tfmg/models/block/heavy_casing_door/fold_left.json new file mode 100644 index 00000000..c6b52879 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/heavy_casing_door/fold_left.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/heavy_casing_side", + "2": "tfmg:block/heavy_casing_top", + "3": "tfmg:block/heavy_casing_door_bottom", + "particle": "tfmg:block/heavy_machinery_casing" + }, + "elements": [ + { + "from": [0, 16, 0], + "to": [3, 32, 8], + "faces": { + "north": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 8, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 8, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [3, 16, 8], + "faces": { + "north": {"uv": [16, 4, 0, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8, 0, 16, 16], "texture": "#3"}, + "south": {"uv": [16, 4, 0, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 8, 16], "texture": "#3"}, + "down": {"uv": [0, 8, 8, 11], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/heavy_casing_door/fold_right.json b/src/main/resources/assets/tfmg/models/block/heavy_casing_door/fold_right.json new file mode 100644 index 00000000..8bfc364b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/heavy_casing_door/fold_right.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/heavy_casing_side", + "2": "tfmg:block/heavy_casing_top", + "3": "tfmg:block/heavy_casing_door_bottom", + "particle": "tfmg:block/heavy_machinery_casing" + }, + "elements": [ + { + "from": [0, 16, 0], + "to": [3, 32, 8], + "faces": { + "north": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 8, 16], "texture": "#2"}, + "south": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 0, 16, 16], "texture": "#2"}, + "up": {"uv": [8, 0, 16, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [3, 16, 8], + "faces": { + "north": {"uv": [16, 4, 0, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 8, 16], "texture": "#3"}, + "south": {"uv": [16, 4, 0, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 0, 16, 16], "texture": "#3"}, + "down": {"uv": [8, 8, 16, 11], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/heavy_plated_door/block_bottom.json b/src/main/resources/assets/tfmg/models/block/heavy_plated_door/block_bottom.json new file mode 100644 index 00000000..4d5ead94 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/heavy_plated_door/block_bottom.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/heavy_plated_door_side", + "2": "tfmg:block/heavy_plated_door_bottom", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [0, 12, 16, 15], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 12, 16, 15], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "down": {"uv": [0, 8, 16, 11], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/heavy_plated_door/block_top.json b/src/main/resources/assets/tfmg/models/block/heavy_plated_door/block_top.json new file mode 100644 index 00000000..8da8233e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/heavy_plated_door/block_top.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/heavy_plated_door_side", + "2": "tfmg:block/heavy_plated_door_top", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 3], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/heavy_plated_door/fold_left.json b/src/main/resources/assets/tfmg/models/block/heavy_plated_door/fold_left.json new file mode 100644 index 00000000..3c10d6db --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/heavy_plated_door/fold_left.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/heavy_plated_door_side", + "2": "tfmg:block/heavy_plated_door_top", + "3": "tfmg:block/heavy_plated_door_bottom", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [0, 16, 0], + "to": [3, 32, 8], + "faces": { + "north": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 8, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 8, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [3, 16, 8], + "faces": { + "north": {"uv": [16, 4, 0, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8, 0, 16, 16], "texture": "#3"}, + "south": {"uv": [16, 4, 0, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 8, 16], "texture": "#3"}, + "down": {"uv": [0, 8, 8, 11], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/heavy_plated_door/fold_right.json b/src/main/resources/assets/tfmg/models/block/heavy_plated_door/fold_right.json new file mode 100644 index 00000000..f0b5fde8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/heavy_plated_door/fold_right.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/heavy_plated_door_side", + "2": "tfmg:block/heavy_plated_door_top", + "3": "tfmg:block/heavy_plated_door_bottom", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [0, 16, 0], + "to": [3, 32, 8], + "faces": { + "north": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 8, 16], "texture": "#2"}, + "south": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 0, 16, 16], "texture": "#2"}, + "up": {"uv": [8, 0, 16, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [3, 16, 8], + "faces": { + "north": {"uv": [16, 4, 0, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 8, 16], "texture": "#3"}, + "south": {"uv": [16, 4, 0, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 0, 16, 16], "texture": "#3"}, + "down": {"uv": [8, 8, 16, 11], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/industrial_light/block.json b/src/main/resources/assets/tfmg/models/block/industrial_light/block.json new file mode 100644 index 00000000..def7b9c1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/industrial_light/block.json @@ -0,0 +1,52 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/light_bulb", + "particle": "tfmg:block/light_bulb" + }, + "elements": [ + { + "from": [6, 2, 6], + "to": [10, 3, 10], + "faces": { + "north": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "east": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "south": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 0, 6], + "to": [10, 2, 10], + "faces": { + "north": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "east": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "south": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "west": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 6, 4, 10], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 4, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [8, 2, 6], + "to": [8, 7, 10], + "faces": { + "east": {"uv": [7, 1, 11, 6], "rotation": 180, "texture": "#0"}, + "west": {"uv": [7, 1, 11, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 3, 5], + "to": [11, 9, 11], + "faces": { + "north": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/industrial_light/item.json b/src/main/resources/assets/tfmg/models/block/industrial_light/item.json new file mode 100644 index 00000000..def7b9c1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/industrial_light/item.json @@ -0,0 +1,52 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/light_bulb", + "particle": "tfmg:block/light_bulb" + }, + "elements": [ + { + "from": [6, 2, 6], + "to": [10, 3, 10], + "faces": { + "north": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "east": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "south": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 0, 6], + "to": [10, 2, 10], + "faces": { + "north": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "east": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "south": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "west": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 6, 4, 10], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 4, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [8, 2, 6], + "to": [8, 7, 10], + "faces": { + "east": {"uv": [7, 1, 11, 6], "rotation": 180, "texture": "#0"}, + "west": {"uv": [7, 1, 11, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 3, 5], + "to": [11, 9, 11], + "faces": { + "north": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/industrial_light/light.json b/src/main/resources/assets/tfmg/models/block/industrial_light/light.json new file mode 100644 index 00000000..4d09eebf --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/industrial_light/light.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/light", + "particle": "tfmg:block/light" + }, + "elements": [ + { + "from": [4.5, 4.5, 2.4], + "to": [11.5, 11.5, 9.4], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 6], "rotation": 90, "texture": "#0"}, + "south": {"uv": [8, 0, 16, 8], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 8, 6], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 8, 6], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5.5, 5.5, 3.4], + "to": [10.5, 10.5, 8.4], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [8, 8, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 9, 8, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [8, 8, 16, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 8, 8, 15], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 8, 8, 15], "texture": "#0"}, + "down": {"uv": [0, 8, 8, 15], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/industrial_mixer/block.json b/src/main/resources/assets/tfmg/models/block/industrial_mixer/block.json new file mode 100644 index 00000000..ff05bbc7 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/industrial_mixer/block.json @@ -0,0 +1,111 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/heavy_machinery_casing", + "1": "tfmg:block/heavy_gearbox", + "2": "tfmg:block/industrial_mixer", + "particle": "tfmg:block/heavy_machinery_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 15, 16], + "faces": { + "north": {"uv": [0, 1, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 1, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 1, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 1, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#2"} + } + }, + { + "from": [0, 15, 0], + "to": [16, 16, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 15, 0]}, + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "east": {"uv": [2, 0, 0, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [0, 15, 14], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 15, 14]}, + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "west": {"uv": [2, 0, 0, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 16, 0], "texture": "#0"} + } + }, + { + "from": [0, 15, 2], + "to": [2, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 15, 8]}, + "faces": { + "north": {"uv": [2, 0, 0, 1], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#0"}, + "up": {"uv": [2, 0, 14, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [14, 15, 2], + "to": [16, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 15, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 1], "texture": "#0"}, + "south": {"uv": [2, 0, 0, 1], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#0"}, + "up": {"uv": [2, 2, 14, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 15, 2], + "to": [3, 16, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 15, 2]}, + "faces": { + "east": {"uv": [2, 2, 3, 3], "texture": "#0"}, + "south": {"uv": [2, 2, 3, 3], "texture": "#0"}, + "up": {"uv": [2, 2, 3, 3], "texture": "#0"} + } + }, + { + "from": [13, 15, 2], + "to": [14, 16, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 15, 2]}, + "faces": { + "south": {"uv": [2, 2, 3, 3], "texture": "#0"}, + "west": {"uv": [2, 2, 3, 3], "texture": "#0"}, + "up": {"uv": [2, 2, 3, 3], "texture": "#0"} + } + }, + { + "from": [2, 15, 13], + "to": [3, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 15, 13]}, + "faces": { + "north": {"uv": [2, 2, 3, 3], "texture": "#0"}, + "east": {"uv": [2, 2, 3, 3], "texture": "#0"}, + "up": {"uv": [2, 2, 3, 3], "texture": "#0"} + } + }, + { + "from": [13, 15, 13], + "to": [14, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 15, 13]}, + "faces": { + "north": {"uv": [2, 2, 3, 3], "texture": "#0"}, + "west": {"uv": [2, 2, 3, 3], "texture": "#0"}, + "up": {"uv": [2, 2, 3, 3], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/industrial_mixer/centrifuge.json b/src/main/resources/assets/tfmg/models/block/industrial_mixer/centrifuge.json new file mode 100644 index 00000000..1b09a019 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/industrial_mixer/centrifuge.json @@ -0,0 +1,70 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/centrifuge", + "1": "tfmg:block/centrifuge_top", + "particle": "tfmg:block/centrifuge" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 16, 13], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 0, 15.5, 8], "texture": "#0"}, + "east": {"uv": [10.5, 0, 15.5, 8], "texture": "#0"}, + "south": {"uv": [10.5, 0, 15.5, 8], "texture": "#0"}, + "west": {"uv": [10.5, 0, 15.5, 8], "texture": "#0"} + } + }, + { + "from": [3, 16, 3], + "to": [13, 26, 13], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 16, 8]}, + "faces": { + "north": {"uv": [10.5, 0, 15.5, 5], "texture": "#0"}, + "east": {"uv": [10.5, 0, 15.5, 5], "texture": "#0"}, + "south": {"uv": [10.5, 0, 15.5, 5], "texture": "#0"}, + "west": {"uv": [10.5, 0, 15.5, 5], "texture": "#0"}, + "up": {"uv": [10.5, 0, 15.5, 5], "texture": "#1"} + } + }, + { + "from": [5, 26, 5], + "to": [11, 28, 11], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 18, 8]}, + "faces": { + "north": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "east": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "south": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "west": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "up": {"uv": [3.5, 3.5, 6.5, 6.5], "texture": "#1"} + } + }, + { + "from": [5, -12, 5], + "to": [11, -10, 11], + "rotation": {"angle": -45, "axis": "y", "origin": [8, -20, 8]}, + "faces": { + "north": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "east": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "south": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "west": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "down": {"uv": [3.5, 3.5, 6.5, 6.5], "texture": "#1"} + } + }, + { + "from": [3, -10, 3], + "to": [13, 0, 13], + "rotation": {"angle": -45, "axis": "y", "origin": [8, -16, 8]}, + "faces": { + "north": {"uv": [10.5, 0, 15.5, 5], "texture": "#0"}, + "east": {"uv": [10.5, 0, 15.5, 5], "texture": "#0"}, + "south": {"uv": [10.5, 0, 15.5, 5], "texture": "#0"}, + "west": {"uv": [10.5, 0, 15.5, 5], "texture": "#0"}, + "down": {"uv": [10.5, 0, 15.5, 5], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/industrial_mixer/centrifuge_large.json b/src/main/resources/assets/tfmg/models/block/industrial_mixer/centrifuge_large.json new file mode 100644 index 00000000..a9640921 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/industrial_mixer/centrifuge_large.json @@ -0,0 +1,70 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/centrifuge", + "1": "tfmg:block/centrifuge_top", + "particle": "tfmg:block/centrifuge" + }, + "elements": [ + { + "from": [-2, 0, -2], + "to": [18, 16, 18], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 10, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 10, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 8], "texture": "#0"} + } + }, + { + "from": [-2, 16, -2], + "to": [18, 26, 18], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 16, 8]}, + "faces": { + "north": {"uv": [0, 0, 10, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 10, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 5], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 10], "texture": "#1"} + } + }, + { + "from": [-2, -10, -2], + "to": [18, 0, 18], + "rotation": {"angle": -45, "axis": "y", "origin": [8, -16, 8]}, + "faces": { + "north": {"uv": [0, 0, 10, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 10, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 5], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 10], "texture": "#1"} + } + }, + { + "from": [5, 26, 5], + "to": [11, 28, 11], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 18, 8]}, + "faces": { + "north": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "east": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "south": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "west": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "up": {"uv": [3.5, 3.5, 6.5, 6.5], "texture": "#1"} + } + }, + { + "from": [5, -12, 5], + "to": [11, -10, 11], + "rotation": {"angle": -45, "axis": "y", "origin": [8, -20, 8]}, + "faces": { + "north": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "east": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "south": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "west": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "down": {"uv": [3.5, 3.5, 6.5, 6.5], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/industrial_mixer/item.json b/src/main/resources/assets/tfmg/models/block/industrial_mixer/item.json new file mode 100644 index 00000000..7b825385 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/industrial_mixer/item.json @@ -0,0 +1,127 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/heavy_machinery_casing", + "1": "tfmg:block/heavy_gearbox", + "2": "tfmg:block/industrial_mixer", + "3": "tfmg:block/shaft", + "4": "tfmg:block/shaft_top", + "particle": "tfmg:block/heavy_machinery_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 15, 16], + "faces": { + "north": {"uv": [0, 1, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 1, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 1, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 1, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#2"} + } + }, + { + "from": [0, 15, 0], + "to": [16, 16, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 15, 0]}, + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "east": {"uv": [2, 0, 0, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [0, 15, 14], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 15, 14]}, + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "west": {"uv": [2, 0, 0, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 16, 0], "texture": "#0"} + } + }, + { + "from": [0, 15, 2], + "to": [2, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 15, 8]}, + "faces": { + "north": {"uv": [2, 0, 0, 1], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#0"}, + "up": {"uv": [2, 0, 14, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [14, 15, 2], + "to": [16, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 15, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 1], "texture": "#0"}, + "south": {"uv": [2, 0, 0, 1], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 1], "texture": "#0"}, + "up": {"uv": [2, 2, 14, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 15, 2], + "to": [3, 16, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 15, 2]}, + "faces": { + "east": {"uv": [2, 2, 3, 3], "texture": "#0"}, + "south": {"uv": [2, 2, 3, 3], "texture": "#0"}, + "up": {"uv": [2, 2, 3, 3], "texture": "#0"} + } + }, + { + "from": [13, 15, 2], + "to": [14, 16, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 15, 2]}, + "faces": { + "south": {"uv": [2, 2, 3, 3], "texture": "#0"}, + "west": {"uv": [2, 2, 3, 3], "texture": "#0"}, + "up": {"uv": [2, 2, 3, 3], "texture": "#0"} + } + }, + { + "from": [2, 15, 13], + "to": [3, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 15, 13]}, + "faces": { + "north": {"uv": [2, 2, 3, 3], "texture": "#0"}, + "east": {"uv": [2, 2, 3, 3], "texture": "#0"}, + "up": {"uv": [2, 2, 3, 3], "texture": "#0"} + } + }, + { + "from": [13, 15, 13], + "to": [14, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 15, 13]}, + "faces": { + "north": {"uv": [2, 2, 3, 3], "texture": "#0"}, + "west": {"uv": [2, 2, 3, 3], "texture": "#0"}, + "up": {"uv": [2, 2, 3, 3], "texture": "#0"} + } + }, + { + "from": [6, 8, 6], + "to": [10, 16, 10], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [6, 0, 10, 8], "texture": "#3"}, + "east": {"uv": [6, 0, 10, 8], "texture": "#3"}, + "south": {"uv": [6, 0, 10, 8], "texture": "#3"}, + "west": {"uv": [6, 0, 10, 8], "texture": "#3"}, + "up": {"uv": [6, 6, 10, 10], "texture": "#4"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#3"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/industrial_mixer/large_centrifuge_alone.json b/src/main/resources/assets/tfmg/models/block/industrial_mixer/large_centrifuge_alone.json new file mode 100644 index 00000000..d1074127 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/industrial_mixer/large_centrifuge_alone.json @@ -0,0 +1,49 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/centrifuge", + "1": "tfmg:block/centrifuge_top", + "particle": "tfmg:block/centrifuge" + }, + "elements": [ + { + "from": [-2, 4, -2], + "to": [18, 12, 18], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 2, 8]}, + "faces": { + "north": {"uv": [0, 2, 10, 6], "texture": "#0"}, + "east": {"uv": [0, 2, 10, 6], "texture": "#0"}, + "south": {"uv": [0, 2, 10, 6], "texture": "#0"}, + "west": {"uv": [0, 2, 10, 6], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 10], "texture": "#1"}, + "down": {"uv": [0, 0, 10, 10], "texture": "#1"} + } + }, + { + "from": [5, 12, 5], + "to": [11, 14, 11], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "east": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "south": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "west": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "up": {"uv": [3.5, 3.5, 6.5, 6.5], "texture": "#1"} + } + }, + { + "from": [5, 2, 5], + "to": [11, 4, 11], + "rotation": {"angle": -45, "axis": "y", "origin": [8, -6, 8]}, + "faces": { + "north": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "east": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "south": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "west": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "down": {"uv": [3.5, 3.5, 6.5, 6.5], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/industrial_mixer/large_centrifuge_bottom.json b/src/main/resources/assets/tfmg/models/block/industrial_mixer/large_centrifuge_bottom.json new file mode 100644 index 00000000..85a19bb8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/industrial_mixer/large_centrifuge_bottom.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "1": "tfmg:block/centrifuge_top", + "particle": "tfmg:block/centrifuge" + }, + "elements": [ + { + "from": [5, 4, 5], + "to": [11, 6, 11], + "rotation": {"angle": -45, "axis": "y", "origin": [8, -4, 8]}, + "faces": { + "north": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "east": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "south": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "west": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "down": {"uv": [3.5, 3.5, 6.5, 6.5], "texture": "#1"} + } + }, + { + "from": [-2, 6, -2], + "to": [18, 16, 18], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 10, 5], "texture": "#particle"}, + "east": {"uv": [0, 0, 10, 5], "texture": "#particle"}, + "south": {"uv": [0, 0, 10, 5], "texture": "#particle"}, + "west": {"uv": [0, 0, 10, 5], "texture": "#particle"}, + "down": {"uv": [0, 0, 10, 10], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/industrial_mixer/large_centrifuge_middle.json b/src/main/resources/assets/tfmg/models/block/industrial_mixer/large_centrifuge_middle.json new file mode 100644 index 00000000..78abd010 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/industrial_mixer/large_centrifuge_middle.json @@ -0,0 +1,20 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "particle": "tfmg:block/centrifuge" + }, + "elements": [ + { + "from": [-2, 0, -2], + "to": [18, 16, 18], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 10, 8], "texture": "#particle"}, + "east": {"uv": [0, 0, 10, 8], "texture": "#particle"}, + "south": {"uv": [0, 0, 10, 8], "texture": "#particle"}, + "west": {"uv": [0, 0, 10, 8], "texture": "#particle"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/industrial_mixer/large_centrifuge_top.json b/src/main/resources/assets/tfmg/models/block/industrial_mixer/large_centrifuge_top.json new file mode 100644 index 00000000..ae93dd45 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/industrial_mixer/large_centrifuge_top.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "1": "tfmg:block/centrifuge_top", + "particle": "tfmg:block/centrifuge" + }, + "elements": [ + { + "from": [-2, 0, -2], + "to": [18, 10, 18], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 10, 5], "texture": "#particle"}, + "east": {"uv": [0, 0, 10, 5], "texture": "#particle"}, + "south": {"uv": [0, 0, 10, 5], "texture": "#particle"}, + "west": {"uv": [0, 0, 10, 5], "texture": "#particle"}, + "up": {"uv": [0, 0, 10, 10], "texture": "#1"} + } + }, + { + "from": [5, 10, 5], + "to": [11, 12, 11], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 2, 8]}, + "faces": { + "north": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "east": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "south": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "west": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "up": {"uv": [3.5, 3.5, 6.5, 6.5], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/industrial_mixer/mixer.json b/src/main/resources/assets/tfmg/models/block/industrial_mixer/mixer.json new file mode 100644 index 00000000..1b7d5eb2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/industrial_mixer/mixer.json @@ -0,0 +1,36 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/small_mixer", + "1": "tfmg:block/air_intake/air_intake_medium", + "particle": "tfmg:block/small_mixer" + }, + "elements": [ + { + "from": [7, 4, 7], + "to": [9, 16, 9], + "rotation": {"angle": 0, "axis": "z", "origin": [7, 8, 7]}, + "faces": { + "north": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "down": {"uv": [7, 13, 9, 15], "texture": "#0"} + } + }, + { + "from": [-8, 5, -8], + "to": [24, 5, 24], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 5, -8]}, + "faces": { + "north": {"uv": [0, 0, 8, 0], "texture": "#1"}, + "east": {"uv": [0, 0, 8, 0], "texture": "#1"}, + "south": {"uv": [0, 0, 8, 0], "texture": "#1"}, + "west": {"uv": [0, 0, 8, 0], "texture": "#1"}, + "up": {"uv": [8, 8, 16, 16], "texture": "#1"}, + "down": {"uv": [8, 16, 16, 8], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/industrial_mixer/mixer_shaft.json b/src/main/resources/assets/tfmg/models/block/industrial_mixer/mixer_shaft.json new file mode 100644 index 00000000..12ead8dc --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/industrial_mixer/mixer_shaft.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/small_mixer", + "particle": "tfmg:block/small_mixer" + }, + "elements": [ + { + "from": [7, 0, 7], + "to": [9, 16, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/industrial_mixer/mixer_small.json b/src/main/resources/assets/tfmg/models/block/industrial_mixer/mixer_small.json new file mode 100644 index 00000000..8e65c94b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/industrial_mixer/mixer_small.json @@ -0,0 +1,43 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/small_mixer", + "1": "tfmg:block/air_intake/small_fan", + "particle": "tfmg:block/small_mixer" + }, + "elements": [ + { + "from": [0, 6, 0], + "to": [16, 6, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 0], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 0], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 0], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [16, 0, 0, 16], "texture": "#1"} + } + }, + { + "from": [7, 5, 7], + "to": [9, 16, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [0, 0, 2, 11], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 11], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 11], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 11], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + } + ], + "display": { + "gui": { + "rotation": [22, 39, 0], + "translation": [0, -3.75, 0], + "scale": [1.3, 1.3, 1.3] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/industrial_mixer/small_centrifuge_alone.json b/src/main/resources/assets/tfmg/models/block/industrial_mixer/small_centrifuge_alone.json new file mode 100644 index 00000000..3a281fe8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/industrial_mixer/small_centrifuge_alone.json @@ -0,0 +1,48 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/centrifuge", + "1": "tfmg:block/centrifuge_top", + "particle": "tfmg:block/centrifuge" + }, + "elements": [ + { + "from": [3, 4, 3], + "to": [13, 12, 13], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 2, 8]}, + "faces": { + "north": {"uv": [10.5, 0, 15.5, 4], "texture": "#0"}, + "east": {"uv": [10.5, 0, 15.5, 4], "texture": "#0"}, + "south": {"uv": [10.5, 0, 15.5, 4], "texture": "#0"}, + "west": {"uv": [10.5, 0, 15.5, 4], "texture": "#0"}, + "up": {"uv": [10.5, 0, 15.5, 5], "texture": "#1"}, + "down": {"uv": [10.5, 0, 15.5, 5], "texture": "#1"} + } + }, + { + "from": [5, 12, 5], + "to": [11, 14, 11], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "east": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "south": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "west": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "up": {"uv": [3.5, 3.5, 6.5, 6.5], "texture": "#1"} + } + }, + { + "from": [5, 2, 5], + "to": [11, 4, 11], + "rotation": {"angle": -45, "axis": "y", "origin": [8, -6, 8]}, + "faces": { + "north": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "east": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "south": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "west": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "down": {"uv": [3.5, 3.5, 6.5, 6.5], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/industrial_mixer/small_centrifuge_bottom.json b/src/main/resources/assets/tfmg/models/block/industrial_mixer/small_centrifuge_bottom.json new file mode 100644 index 00000000..e18a14cb --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/industrial_mixer/small_centrifuge_bottom.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/centrifuge", + "1": "tfmg:block/centrifuge_top", + "particle": "tfmg:block/centrifuge" + }, + "elements": [ + { + "from": [5, 4, 5], + "to": [11, 6, 11], + "rotation": {"angle": -45, "axis": "y", "origin": [8, -4, 8]}, + "faces": { + "north": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "east": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "south": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "west": {"uv": [0, 11.5, 3, 10.5], "texture": "#1"}, + "down": {"uv": [3.5, 3.5, 6.5, 6.5], "texture": "#1"} + } + }, + { + "from": [3, 6, 3], + "to": [13, 16, 13], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 0, 15.5, 5], "texture": "#0"}, + "east": {"uv": [10.5, 0, 15.5, 5], "texture": "#0"}, + "south": {"uv": [10.5, 0, 15.5, 5], "texture": "#0"}, + "west": {"uv": [10.5, 0, 15.5, 5], "texture": "#0"}, + "down": {"uv": [10.5, 0, 15.5, 5], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/industrial_mixer/small_centrifuge_middle.json b/src/main/resources/assets/tfmg/models/block/industrial_mixer/small_centrifuge_middle.json new file mode 100644 index 00000000..30f97cb0 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/industrial_mixer/small_centrifuge_middle.json @@ -0,0 +1,20 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "particle": "tfmg:block/centrifuge" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 16, 13], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 0, 15.5, 8], "texture": "#particle"}, + "east": {"uv": [10.5, 0, 15.5, 8], "texture": "#particle"}, + "south": {"uv": [10.5, 0, 15.5, 8], "texture": "#particle"}, + "west": {"uv": [10.5, 0, 15.5, 8], "texture": "#particle"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/industrial_mixer/small_centrifuge_top.json b/src/main/resources/assets/tfmg/models/block/industrial_mixer/small_centrifuge_top.json new file mode 100644 index 00000000..6be796f4 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/industrial_mixer/small_centrifuge_top.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "1": "tfmg:block/centrifuge_top", + "particle": "tfmg:block/centrifuge" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 10, 13], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [10.5, 0, 15.5, 5], "texture": "#particle"}, + "east": {"uv": [10.5, 0, 15.5, 5], "texture": "#particle"}, + "south": {"uv": [10.5, 0, 15.5, 5], "texture": "#particle"}, + "west": {"uv": [10.5, 0, 15.5, 5], "texture": "#particle"}, + "up": {"uv": [10.5, 0, 15.5, 5], "texture": "#1"} + } + }, + { + "from": [5, 10, 5], + "to": [11, 12, 11], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 2, 8]}, + "faces": { + "north": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "east": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "south": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "west": {"uv": [0, 10.5, 3, 11.5], "texture": "#1"}, + "up": {"uv": [3.5, 3.5, 6.5, 6.5], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/industrial_pipe/block.json b/src/main/resources/assets/tfmg/models/block/industrial_pipe/block.json new file mode 100644 index 00000000..e0b79159 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/industrial_pipe/block.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/industrial_pipe", + "particle": "tfmg:block/industrial_pipe" + }, + "elements": [ + { + "from": [4, 0, 4], + "to": [12, 16, 12], + "faces": { + "north": {"uv": [0, 0, 4, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 8], "texture": "#0"}, + "up": {"uv": [4.5, 2.5, 8.5, 6.5], "texture": "#0"}, + "down": {"uv": [4.5, 2.5, 8.5, 6.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/industrial_pipe/item.json b/src/main/resources/assets/tfmg/models/block/industrial_pipe/item.json new file mode 100644 index 00000000..e0b79159 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/industrial_pipe/item.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/industrial_pipe", + "particle": "tfmg:block/industrial_pipe" + }, + "elements": [ + { + "from": [4, 0, 4], + "to": [12, 16, 12], + "faces": { + "north": {"uv": [0, 0, 4, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 8], "texture": "#0"}, + "up": {"uv": [4.5, 2.5, 8.5, 6.5], "texture": "#0"}, + "down": {"uv": [4.5, 2.5, 8.5, 6.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/ladder.json b/src/main/resources/assets/tfmg/models/block/ladder.json new file mode 100644 index 00000000..be089e71 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/ladder.json @@ -0,0 +1,8 @@ +{ + "parent": "create:block/ladder", + "textures": { + "0": "tfmg:block/ladder_aluminum_hoop", + "1": "tfmg:block/ladder_aluminum", + "particle": "tfmg:block/ladder_aluminum" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/large_aluminum_cogwheel.json b/src/main/resources/assets/tfmg/models/block/large_aluminum_cogwheel.json new file mode 100644 index 00000000..a5b5aa70 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/large_aluminum_cogwheel.json @@ -0,0 +1,206 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "render_type": "minecraft:cutout", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/large_aluminum_coghweel", + "1": "create:block/axis_top", + "2": "create:block/axis", + "particle": "tfmg:block/large_aluminum_coghweel" + }, + "elements": [ + { + "name": "Gear2", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear3", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear4", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "GearCaseInner", + "from": [-2, 7.6, -2], + "to": [18, 8.4, 18], + "faces": { + "north": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "east": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "south": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "west": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 10], "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [-1, 5.975, 1], + "to": [1, 10.025, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#0"}, + "east": {"uv": [13.975, 0, 16, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [12, 0, 13, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [13, 0, 14, 7], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [1, 5.975, -1], + "to": [15, 10.025, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#0"}, + "south": {"uv": [13.975, 0, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [13, 0, 14, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12, 0, 13, 7], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [15, 5.975, 1], + "to": [17, 10.025, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#0"}, + "west": {"uv": [13.975, 0, 16, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15, 0, 16, 7], "texture": "#0"}, + "down": {"uv": [14, 0, 15, 7], "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [1, 5.975, 15], + "to": [15, 10.025, 17], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.975, 0, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 0, 15, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 0, 16, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "Gear", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Gear5", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear6", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Gear7", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear8", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Axis", + "from": [6, 0, 6], + "to": [10, 16, 10], + "faces": { + "north": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "east": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "south": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "west": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "up": {"uv": [6, 6, 10, 10], "texture": "#1"}, + "down": {"uv": [6, 6, 10, 10], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/large_aluminum_cogwheel_shaftless.json b/src/main/resources/assets/tfmg/models/block/large_aluminum_cogwheel_shaftless.json new file mode 100644 index 00000000..1b281ff8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/large_aluminum_cogwheel_shaftless.json @@ -0,0 +1,191 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "render_type": "minecraft:cutout", + "textures": { + "0": "tfmg:block/large_aluminum_coghweel", + "particle": "tfmg:block/large_aluminum_coghweel" + }, + "elements": [ + { + "name": "Gear2", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear3", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear4", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "GearCaseInner", + "from": [-2, 7.6, -2], + "to": [18, 8.4, 18], + "faces": { + "north": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "east": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "south": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "west": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 10], "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [-1, 5.975, 1], + "to": [1, 10.025, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#0"}, + "east": {"uv": [13.975, 0, 16, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [12, 0, 13, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [13, 0, 14, 7], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [1, 5.975, -1], + "to": [15, 10.025, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#0"}, + "south": {"uv": [13.975, 0, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [13, 0, 14, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12, 0, 13, 7], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [15, 5.975, 1], + "to": [17, 10.025, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#0"}, + "west": {"uv": [13.975, 0, 16, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15, 0, 16, 7], "texture": "#0"}, + "down": {"uv": [14, 0, 15, 7], "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [1, 5.975, 15], + "to": [15, 10.025, 17], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.975, 0, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 0, 15, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 0, 16, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "Gear", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Gear5", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear6", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Gear7", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear8", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/large_engine/block.json b/src/main/resources/assets/tfmg/models/block/large_engine/block.json new file mode 100644 index 00000000..177ec86d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/large_engine/block.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/diesel_engine_back", + "1": "tfmg:block/diesel_engine_front", + "2": "tfmg:block/diesel_engine_side", + "particle": "tfmg:block/diesel_engine_back" + }, + "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": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/large_engine/item.json b/src/main/resources/assets/tfmg/models/block/large_engine/item.json new file mode 100644 index 00000000..177ec86d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/large_engine/item.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/diesel_engine_back", + "1": "tfmg:block/diesel_engine_front", + "2": "tfmg:block/diesel_engine_side", + "particle": "tfmg:block/diesel_engine_back" + }, + "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": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/large_engine/linkage.json b/src/main/resources/assets/tfmg/models/block/large_engine/linkage.json new file mode 100644 index 00000000..f925092f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/large_engine/linkage.json @@ -0,0 +1,51 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/diesel_engine_linkage" + }, + "elements": [ + { + "from": [6, 1, 4], + "to": [10, 7, 12], + "faces": { + "north": {"uv": [8.5, 11, 10.5, 14], "texture": "#0"}, + "east": {"uv": [10.5, 11, 14.5, 14], "texture": "#0"}, + "south": {"uv": [8.5, 11, 10.5, 14], "texture": "#0"}, + "west": {"uv": [10.5, 11, 14.5, 14], "texture": "#0"}, + "up": {"uv": [10.5, 9, 14.5, 11], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 14, 14.5, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 15, 4], + "to": [10, 21, 12], + "faces": { + "north": {"uv": [8.5, 11, 10.5, 14], "texture": "#0"}, + "east": {"uv": [10.5, 11, 14.5, 14], "texture": "#0"}, + "south": {"uv": [8.5, 11, 10.5, 14], "texture": "#0"}, + "west": {"uv": [10.5, 11, 14.5, 14], "texture": "#0"}, + "up": {"uv": [10.5, 9, 14.5, 11], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 14, 14.5, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 7, 6], + "to": [10, 15, 10], + "faces": { + "north": {"uv": [1.5, 1, 3.5, 6], "texture": "#0"}, + "east": {"uv": [1.5, 1, 3.5, 6], "texture": "#0"}, + "south": {"uv": [1.5, 1, 3.5, 6], "texture": "#0"}, + "west": {"uv": [1.5, 1, 3.5, 6], "texture": "#0"} + } + } + ], + "display": {}, + "groups": [ + { + "name": "Linkage", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/large_engine/piston.json b/src/main/resources/assets/tfmg/models/block/large_engine/piston.json new file mode 100644 index 00000000..33ca3939 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/large_engine/piston.json @@ -0,0 +1,28 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/diesel_engine_linkage" + }, + "elements": [ + { + "from": [5, 3, 5], + "to": [11, 22, 11], + "faces": { + "north": {"uv": [4, 6.5, 7, 16], "texture": "#0"}, + "east": {"uv": [1, 6.5, 4, 16], "texture": "#0"}, + "south": {"uv": [4, 6.5, 7, 16], "texture": "#0"}, + "west": {"uv": [1, 6.5, 4, 16], "texture": "#0"}, + "up": {"uv": [4, 3.5, 7, 6.5], "texture": "#0"} + } + } + ], + "display": {}, + "groups": [ + { + "name": "Piston", + "origin": [0, 0, 0], + "color": 0, + "children": [0] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/large_pumpjack_hammer_connector.json b/src/main/resources/assets/tfmg/models/block/large_pumpjack_hammer_connector.json new file mode 100644 index 00000000..0cf25ced --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/large_pumpjack_hammer_connector.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/large_pumpjack_hammer_part", + "2": "tfmg:block/pumpjack_hammer_connector", + "particle": "tfmg:block/large_pumpjack_hammer_part" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "south": {"uv": [8, 0.05, 16, 8.05], "texture": "#0"}, + "west": {"uv": [0, 0.05, 8, 8.05], "texture": "#0"}, + "up": {"uv": [8, 8, 16, 16], "texture": "#0"}, + "down": {"uv": [8, 8, 16, 16], "texture": "#0"} + } + }, + { + "from": [-1, 6, 6], + "to": [17, 10, 10], + "faces": { + "north": {"uv": [0, 9, 9, 11], "texture": "#2"}, + "east": {"uv": [0, 12, 2, 14], "texture": "#2"}, + "south": {"uv": [0, 9, 9, 11], "texture": "#2"}, + "west": {"uv": [0, 12, 2, 14], "texture": "#2"}, + "up": {"uv": [0, 9, 9, 11], "texture": "#2"}, + "down": {"uv": [0, 9, 9, 11], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/large_pumpjack_hammer_head.json b/src/main/resources/assets/tfmg/models/block/large_pumpjack_hammer_head.json new file mode 100644 index 00000000..dde8e1fc --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/large_pumpjack_hammer_head.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/large_pumpjack_hammer_head", + "particle": "tfmg:block/large_pumpjack_hammer_head" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 8, 8, 16], "texture": "#0"}, + "east": {"uv": [8, 0, 16, 8], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 8, 8, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [8, 0, 16, 8], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/large_pumpjack_hammer_part.json b/src/main/resources/assets/tfmg/models/block/large_pumpjack_hammer_part.json new file mode 100644 index 00000000..164314ad --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/large_pumpjack_hammer_part.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/large_pumpjack_hammer_part", + "particle": "tfmg:block/large_pumpjack_hammer_part" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "south": {"uv": [8, 0.05, 16, 8.05], "texture": "#0"}, + "west": {"uv": [0, 0.05, 8, 8.05], "texture": "#0"}, + "up": {"uv": [8, 8, 16, 16], "texture": "#0"}, + "down": {"uv": [8, 8, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "south": {"uv": [8, 0.05, 16, 8.05], "texture": "#0"}, + "west": {"uv": [0, 0.05, 8, 8.05], "texture": "#0"}, + "up": {"uv": [8, 8, 16, 16], "texture": "#0"}, + "down": {"uv": [8, 8, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/large_steel_cogwheel.json b/src/main/resources/assets/tfmg/models/block/large_steel_cogwheel.json new file mode 100644 index 00000000..3d7423e9 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/large_steel_cogwheel.json @@ -0,0 +1,176 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/large_wheels", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/large_steel_cogwheel", + "1": "create:block/axis_top", + "2": "create:block/axis", + "particle": "tfmg:block/large_steel_cogwheel" + }, + "elements": [ + { + "name": "GearCaseInnerRotated", + "from": [-2, 6.625, -2], + "to": [18, 9.375, 18], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "east": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "south": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "west": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 10], "texture": "#0"} + } + }, + { + "name": "Gear2", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear3", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear4", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "GearCaseInner", + "from": [-2, 6.6, -2], + "to": [18, 9.4, 18], + "faces": { + "north": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "east": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "south": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "west": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 10], "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [0, 4.975, 0], + "to": [16, 11.025, 16], + "faces": { + "north": {"uv": [10, 0, 12.5, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 0, 12.5, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10, 0, 12.5, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 0, 12.5, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [1, 1, 9, 9], "texture": "#0"}, + "down": {"uv": [1, 1, 9, 9], "texture": "#0"} + } + }, + { + "name": "Gear", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Gear5", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear6", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Gear7", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear8", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Axis", + "from": [6, 0, 6], + "to": [10, 16, 10], + "faces": { + "north": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "east": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "south": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "west": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "up": {"uv": [6, 6, 10, 10], "texture": "#1"}, + "down": {"uv": [6, 6, 10, 10], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/large_steel_cogwheel_shaftless.json b/src/main/resources/assets/tfmg/models/block/large_steel_cogwheel_shaftless.json new file mode 100644 index 00000000..acd85bf6 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/large_steel_cogwheel_shaftless.json @@ -0,0 +1,161 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/large_wheels", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/large_steel_cogwheel", + "particle": "tfmg:block/large_steel_cogwheel" + }, + "elements": [ + { + "name": "GearCaseInnerRotated", + "from": [-2, 6.625, -2], + "to": [18, 9.375, 18], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "east": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "south": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "west": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 10], "texture": "#0"} + } + }, + { + "name": "Gear2", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear3", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear4", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "GearCaseInner", + "from": [-2, 6.6, -2], + "to": [18, 9.4, 18], + "faces": { + "north": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "east": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "south": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "west": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 10], "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [0, 4.975, 0], + "to": [16, 11.025, 16], + "faces": { + "north": {"uv": [10, 0, 12.5, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 0, 12.5, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10, 0, 12.5, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 0, 12.5, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [1, 1, 9, 9], "texture": "#0"}, + "down": {"uv": [1, 1, 9, 9], "texture": "#0"} + } + }, + { + "name": "Gear", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Gear5", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear6", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Gear7", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear8", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lead_flywheel/block.json b/src/main/resources/assets/tfmg/models/block/lead_flywheel/block.json new file mode 100644 index 00000000..cbca5aea --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lead_flywheel/block.json @@ -0,0 +1,6 @@ +{ + "parent": "tfmg:block/lead_flywheel/flywheel", + "loader": "neoforge:obj", + "flip-v": true, + "model": "create:models/block/flywheel/flywheel_shaftless.obj" +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lead_flywheel/flywheel.json b/src/main/resources/assets/tfmg/models/block/lead_flywheel/flywheel.json new file mode 100644 index 00000000..1c2fb2b9 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lead_flywheel/flywheel.json @@ -0,0 +1,10 @@ +{ + "parent": "block/block", + "ambientocclusion": false, + "textures": { + "0": "tfmg:block/lead_flywheel", + "1": "create:block/axis", + "2": "create:block/axis_top", + "particle": "tfmg:block/lead_flywheel" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lead_flywheel/item.json b/src/main/resources/assets/tfmg/models/block/lead_flywheel/item.json new file mode 100644 index 00000000..c567f031 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lead_flywheel/item.json @@ -0,0 +1,18 @@ +{ + "parent": "tfmg:block/lead_flywheel/flywheel", + "loader": "neoforge:obj", + "flip-v": true, + "model": "create:models/block/flywheel/flywheel.obj", + "display": { + "gui": { + "rotation": [ 30, 225, 0 ], + "translation": [ 0, 0, 0], + "scale":[ 0.4, 0.4, 0.4 ] + }, + "fixed": { + "rotation": [ 90, 0, 0 ], + "translation": [ 0, 0, 0], + "scale":[ 0.4, 0.4, 0.4 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lead_frame/block.json b/src/main/resources/assets/tfmg/models/block/lead_frame/block.json new file mode 100644 index 00000000..0a9d9a08 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lead_frame/block.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/lead_frame_2", + "particle": "tfmg:block/lead_frame_2" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lead_frame/item.json b/src/main/resources/assets/tfmg/models/block/lead_frame/item.json new file mode 100644 index 00000000..0a9d9a08 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lead_frame/item.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/lead_frame_2", + "particle": "tfmg:block/lead_frame_2" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lead_glass/block.json b/src/main/resources/assets/tfmg/models/block/lead_glass/block.json new file mode 100644 index 00000000..492bbfac --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lead_glass/block.json @@ -0,0 +1,7 @@ +{ + "parent": "block/block", + "textures": { + "0": "tfmg:block/lead_glass", + "particle": "tfmg:block/lead_glass" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lead_glass/item.json b/src/main/resources/assets/tfmg/models/block/lead_glass/item.json new file mode 100644 index 00000000..824ef931 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lead_glass/item.json @@ -0,0 +1,7 @@ +{ + "parent": "block/block", + "textures": { + "0": "tfmg:block/lead_glass_item", + "particle": "tfmg:block/lead_glass" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lead_truss.json b/src/main/resources/assets/tfmg/models/block/lead_truss.json new file mode 100644 index 00000000..8be6551f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lead_truss.json @@ -0,0 +1,106 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/lead_truss", + "particle": "tfmg:block/lead_block" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [2, 0, 15], + "to": [14, 16, 15], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + }, + { + "from": [15, 0, 2], + "to": [15, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 0, 2], + "to": [1, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 0, 1], + "to": [14, 16, 1], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/light_bulb/block.json b/src/main/resources/assets/tfmg/models/block/light_bulb/block.json new file mode 100644 index 00000000..def7b9c1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/light_bulb/block.json @@ -0,0 +1,52 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/light_bulb", + "particle": "tfmg:block/light_bulb" + }, + "elements": [ + { + "from": [6, 2, 6], + "to": [10, 3, 10], + "faces": { + "north": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "east": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "south": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 0, 6], + "to": [10, 2, 10], + "faces": { + "north": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "east": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "south": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "west": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 6, 4, 10], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 4, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [8, 2, 6], + "to": [8, 7, 10], + "faces": { + "east": {"uv": [7, 1, 11, 6], "rotation": 180, "texture": "#0"}, + "west": {"uv": [7, 1, 11, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 3, 5], + "to": [11, 9, 11], + "faces": { + "north": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/light_bulb/item.json b/src/main/resources/assets/tfmg/models/block/light_bulb/item.json new file mode 100644 index 00000000..def7b9c1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/light_bulb/item.json @@ -0,0 +1,52 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/light_bulb", + "particle": "tfmg:block/light_bulb" + }, + "elements": [ + { + "from": [6, 2, 6], + "to": [10, 3, 10], + "faces": { + "north": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "east": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "south": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 0, 6], + "to": [10, 2, 10], + "faces": { + "north": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "east": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "south": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "west": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 6, 4, 10], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 4, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [8, 2, 6], + "to": [8, 7, 10], + "faces": { + "east": {"uv": [7, 1, 11, 6], "rotation": 180, "texture": "#0"}, + "west": {"uv": [7, 1, 11, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 3, 5], + "to": [11, 9, 11], + "faces": { + "north": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/light_bulb/light.json b/src/main/resources/assets/tfmg/models/block/light_bulb/light.json new file mode 100644 index 00000000..4d09eebf --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/light_bulb/light.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/light", + "particle": "tfmg:block/light" + }, + "elements": [ + { + "from": [4.5, 4.5, 2.4], + "to": [11.5, 11.5, 9.4], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 6], "rotation": 90, "texture": "#0"}, + "south": {"uv": [8, 0, 16, 8], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 8, 6], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 8, 6], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5.5, 5.5, 3.4], + "to": [10.5, 10.5, 8.4], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [8, 8, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 9, 8, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [8, 8, 16, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 8, 8, 15], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 8, 8, 15], "texture": "#0"}, + "down": {"uv": [0, 8, 8, 15], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lithium_torch/block.json b/src/main/resources/assets/tfmg/models/block/lithium_torch/block.json new file mode 100644 index 00000000..1868d0b3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lithium_torch/block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_torch", + "textures": { + "torch": "tfmg:block/lithium_torch" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lithium_torch/block_wall.json b/src/main/resources/assets/tfmg/models/block/lithium_torch/block_wall.json new file mode 100644 index 00000000..c5df0169 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lithium_torch/block_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_torch_wall", + "textures": { + "torch": "tfmg:block/lithium_torch" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lithium_torch/item.json b/src/main/resources/assets/tfmg/models/block/lithium_torch/item.json new file mode 100644 index 00000000..9e3ecf4d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lithium_torch/item.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:block/lithium_torch" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/casing.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/casing.json new file mode 100644 index 00000000..9040c0c9 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/casing.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "east": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "south": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "west": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "up": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "down": {"uv": [1, 11, 6, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/connection/down.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/connection/down.json new file mode 100644 index 00000000..e5c05d5a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/connection/down.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [4, 0, 4], + "to": [12, 4, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 6, 4, 8], "texture": "#0"}, + "east": {"uv": [0, 6, 4, 8], "texture": "#0"}, + "south": {"uv": [4, 6, 0, 8], "texture": "#0"}, + "west": {"uv": [4, 6, 0, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/connection/east.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/connection/east.json new file mode 100644 index 00000000..1567e4f6 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/connection/east.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [12, 4, 4], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 0, 0, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 6, 0, 8], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/connection/north.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/connection/north.json new file mode 100644 index 00000000..3831e775 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/connection/north.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [4, 4, 0], + "to": [12, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 6, 4, 8], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 2], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/connection/south.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/connection/south.json new file mode 100644 index 00000000..93c6a13f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/connection/south.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [4, 4, 12], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 2], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 6, 4, 8], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/connection/up.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/connection/up.json new file mode 100644 index 00000000..6702559f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/connection/up.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [4, 12, 4], + "to": [12, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [4, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [4, 0, 0, 2], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/connection/west.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/connection/west.json new file mode 100644 index 00000000..19c9f428 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/connection/west.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [0, 4, 4], + "to": [4, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 6, 0, 8], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 0, 2], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/core_x.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/core_x.json new file mode 100644 index 00000000..0c76a63b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/core_x.json @@ -0,0 +1,17 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/brass_pipes_connected", + "particle": "tfmg:block/brass_pipes_connected" + }, + "elements": [ + { + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "east": {"uv": [16, 8, 12, 12], "rotation": 180, "texture": "#0"}, + "west": {"uv": [16, 8, 12, 12], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/core_y.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/core_y.json new file mode 100644 index 00000000..07ec4202 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/core_y.json @@ -0,0 +1,17 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/brass_pipes_connected", + "particle": "tfmg:block/brass_pipes_connected" + }, + "elements": [ + { + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "up": {"uv": [16, 8, 12, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 8, 12, 12], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/core_z.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/core_z.json new file mode 100644 index 00000000..e02bcb8d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/core_z.json @@ -0,0 +1,17 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/brass_pipes_connected", + "particle": "tfmg:block/brass_pipes_connected" + }, + "elements": [ + { + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "north": {"uv": [12, 8, 16, 12], "rotation": 180, "texture": "#0"}, + "south": {"uv": [12, 8, 16, 12], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/drain/down.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/drain/down.json new file mode 100644 index 00000000..df04fe0a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/drain/down.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [4.95, -3.95, 4.95], + "to": [11.05, -0.95, 11.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "down": {"uv": [13, 8, 16, 11], "rotation": 90, "texture": "#0", "cullface": "down"} + } + }, + { + "from": [2.95, -0.95, 2.95], + "to": [13.05, 2, 13.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 9.5, 4, 8], "texture": "#0"}, + "east": {"uv": [4, 8, 9, 9.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [4, 8, 9, 9.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [9, 9.5, 4, 8], "texture": "#0"}, + "up": {"uv": [6, 11, 11, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0", "cullface": "down"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/drain/east.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/drain/east.json new file mode 100644 index 00000000..e9724f9c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/drain/east.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [16.95, 4.95, 4.95], + "to": [19.95, 11.05, 11.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 8, 13.5, 11], "rotation": 180, "texture": "#0"}, + "east": {"uv": [13, 8, 16, 11], "texture": "#0", "cullface": "east"}, + "south": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "up": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "down": {"uv": [12, 8, 13.5, 11], "texture": "#0"} + } + }, + { + "from": [14, 2.95, 2.95], + "to": [16.95, 13.05, 13.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 9.5, 4, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "east"}, + "south": {"uv": [4, 8, 9, 9.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [6, 11, 11, 16], "texture": "#0"}, + "up": {"uv": [4, 8, 9, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [9, 9.5, 4, 8], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/drain/north.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/drain/north.json new file mode 100644 index 00000000..3ad4cc88 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/drain/north.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [2.95, 2.95, -0.95], + "to": [13.05, 13.05, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "north"}, + "east": {"uv": [4, 8, 9, 9.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [6, 11, 11, 16], "texture": "#0"}, + "west": {"uv": [9, 9.5, 4, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 8, 9, 9.5], "texture": "#0"}, + "down": {"uv": [9, 9.5, 4, 8], "texture": "#0"} + } + }, + { + "from": [4.95, 4.95, -3.95], + "to": [11.05, 11.05, -0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [13, 8, 16, 11], "texture": "#0", "cullface": "north"}, + "east": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "west": {"uv": [12, 8, 13.5, 11], "rotation": 180, "texture": "#0"}, + "up": {"uv": [12, 8, 13.5, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/drain/south.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/drain/south.json new file mode 100644 index 00000000..271685c7 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/drain/south.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [4.95, 4.95, 16.95], + "to": [11.05, 11.05, 19.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "east": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "south": {"uv": [16, 8, 13, 11], "texture": "#0", "cullface": "south"}, + "west": {"uv": [13.5, 8, 12, 11], "rotation": 180, "texture": "#0"}, + "up": {"uv": [13.5, 8, 12, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2.95, 2.95, 14], + "to": [13.05, 13.05, 16.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [11, 11, 6, 16], "texture": "#0"}, + "east": {"uv": [4, 9.5, 9, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [16, 11, 11, 16], "texture": "#0", "cullface": "south"}, + "west": {"uv": [9, 8, 4, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 9.5, 9, 8], "texture": "#0"}, + "down": {"uv": [9, 8, 4, 9.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/drain/up.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/drain/up.json new file mode 100644 index 00000000..a20bf380 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/drain/up.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [2.95, 14, 2.95], + "to": [13.05, 16.95, 13.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 8, 4, 9.5], "texture": "#0"}, + "east": {"uv": [4, 9.5, 9, 8], "rotation": 180, "texture": "#0"}, + "south": {"uv": [4, 9.5, 9, 8], "rotation": 180, "texture": "#0"}, + "west": {"uv": [9, 8, 4, 9.5], "texture": "#0"}, + "up": {"uv": [16, 11, 11, 16], "rotation": 90, "texture": "#0", "cullface": "up"}, + "down": {"uv": [11, 11, 6, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4.95, 16.95, 4.95], + "to": [11.05, 19.95, 11.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 8, 13, 11], "rotation": 90, "texture": "#0", "cullface": "up"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/drain/west.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/drain/west.json new file mode 100644 index 00000000..6eebafe8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/drain/west.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [-0.95, 2.95, 2.95], + "to": [2, 13.05, 13.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 8, 4, 9.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [11, 11, 6, 16], "texture": "#0"}, + "south": {"uv": [4, 9.5, 9, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [16, 11, 11, 16], "texture": "#0", "cullface": "west"}, + "up": {"uv": [4, 9.5, 9, 8], "rotation": 90, "texture": "#0"}, + "down": {"uv": [9, 8, 4, 9.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [-3.95, 4.95, 4.95], + "to": [-0.95, 11.05, 11.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.5, 8, 12, 11], "rotation": 180, "texture": "#0"}, + "south": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "west": {"uv": [16, 8, 13, 11], "texture": "#0", "cullface": "west"}, + "up": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "down": {"uv": [13.5, 8, 12, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/item.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/item.json new file mode 100644 index 00000000..817bf484 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/item.json @@ -0,0 +1,78 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "east": {"uv": [0, 0, 4, 4], "rotation": 90, "texture": "#1"}, + "west": {"uv": [0, 0, 4, 4], "rotation": 90, "texture": "#1"}, + "up": {"uv": [0, 0, 4, 4], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 0, 4, 4], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [4, 4, 12], + "to": [12, 12, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "east": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#1"}, + "up": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [4, 4, 2], + "to": [12, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "east": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#1"}, + "up": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#1"}, + "east": {"uv": [10.5, 11, 11.5, 16], "texture": "#1"}, + "south": {"uv": [6, 11, 11, 16], "texture": "#1"}, + "west": {"uv": [11.5, 16, 10.5, 11], "texture": "#1"}, + "up": {"uv": [10.5, 11, 11.5, 16], "rotation": 270, "texture": "#1"}, + "down": {"uv": [11.5, 16, 10.5, 11], "rotation": 270, "texture": "#1"} + } + }, + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [6, 11, 11, 16], "texture": "#1"}, + "east": {"uv": [11.5, 16, 10.5, 11], "texture": "#1"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#1"}, + "west": {"uv": [10.5, 11, 11.5, 16], "texture": "#1"}, + "up": {"uv": [11.5, 16, 10.5, 11], "rotation": 270, "texture": "#1"}, + "down": {"uv": [10.5, 11, 11.5, 16], "rotation": 270, "texture": "#1"} + } + } + ], + "display": { + "fixed": { + "rotation": [0, 90, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim/down.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim/down.json new file mode 100644 index 00000000..00338adb --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim/down.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "faces": { + "north": {"uv": [10.5, 11, 11.5, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10.5, 11, 11.5, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10.5, 11, 11.5, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10.5, 11, 11.5, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [6, 11, 11, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 270, "texture": "#0", "cullface": "down"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim/east.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim/east.json new file mode 100644 index 00000000..c0bced68 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "faces": { + "north": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "east"}, + "south": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"}, + "west": {"uv": [6, 11, 11, 16], "texture": "#0"}, + "up": {"uv": [11.5, 16, 10.5, 11], "rotation": 180, "texture": "#0"}, + "down": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim/north.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim/north.json new file mode 100644 index 00000000..77be0597 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim/north.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "north"}, + "east": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"}, + "south": {"uv": [6, 11, 11, 16], "texture": "#0"}, + "west": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"}, + "up": {"uv": [10.5, 11, 11.5, 16], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11.5, 16, 10.5, 11], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim/south.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim/south.json new file mode 100644 index 00000000..f265604d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim/south.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [6, 11, 11, 16], "texture": "#0"}, + "east": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "south"}, + "west": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"}, + "up": {"uv": [11.5, 16, 10.5, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [10.5, 11, 11.5, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim/up.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim/up.json new file mode 100644 index 00000000..140d60ad --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim/up.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "faces": { + "north": {"uv": [11.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [11.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [11.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0", "cullface": "up"}, + "down": {"uv": [6, 11, 11, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim/west.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim/west.json new file mode 100644 index 00000000..a28ca332 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim/west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "faces": { + "north": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"}, + "east": {"uv": [6, 11, 11, 16], "texture": "#0"}, + "south": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"}, + "west": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "west"}, + "up": {"uv": [10.5, 11, 11.5, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim_connector/down.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim_connector/down.json new file mode 100644 index 00000000..6e13e027 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim_connector/down.json @@ -0,0 +1,20 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [4, 2, 4], + "to": [12, 4, 12], + "faces": { + "north": {"uv": [0, 9, 4, 10], "texture": "#0"}, + "east": {"uv": [0, 9, 4, 10], "texture": "#0"}, + "south": {"uv": [4, 9, 0, 10], "texture": "#0"}, + "west": {"uv": [4, 9, 0, 10], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim_connector/east.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim_connector/east.json new file mode 100644 index 00000000..b4a94844 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim_connector/east.json @@ -0,0 +1,20 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [12, 4, 4], + "to": [14, 12, 12], + "faces": { + "north": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 8, 0, 9], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 9, 0, 10], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim_connector/north.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim_connector/north.json new file mode 100644 index 00000000..bfa9a935 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim_connector/north.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [4, 4, 2], + "to": [12, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim_connector/south.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim_connector/south.json new file mode 100644 index 00000000..64d5c3c4 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim_connector/south.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [4, 4, 12], + "to": [12, 12, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim_connector/up.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim_connector/up.json new file mode 100644 index 00000000..0492aaa7 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim_connector/up.json @@ -0,0 +1,20 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [4, 12, 4], + "to": [12, 14, 12], + "faces": { + "north": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "east": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "south": {"uv": [4, 8, 0, 9], "texture": "#0"}, + "west": {"uv": [4, 8, 0, 9], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim_connector/west.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim_connector/west.json new file mode 100644 index 00000000..baffefc2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/rim_connector/west.json @@ -0,0 +1,20 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brass_pipes", + "particle": "tfmg:block/brass_pipes" + }, + "elements": [ + { + "from": [2, 4, 4], + "to": [4, 12, 12], + "faces": { + "north": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 9, 0, 10], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 8, 0, 9], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/window.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/window.json new file mode 100644 index 00000000..786290f1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/window.json @@ -0,0 +1,85 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/glass_brass_pipe", + "particle": "tfmg:block/brass_block" + }, + "elements": [ + { + "name": "Outer", + "from": [4, 0, 4], + "to": [12, 16, 12], + "faces": { + "north": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [4, 0, 11.9], + "to": [12, 16, 11.9], + "faces": { + "north": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [4.1, 0, 4], + "to": [4.1, 16, 12], + "faces": { + "east": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [4, 0, 4.1], + "to": [12, 16, 4.1], + "faces": { + "south": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [11.9, 0, 4], + "to": [11.9, 16, 12], + "faces": { + "west": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 0, 4], + "to": [6, 16, 6], + "faces": { + "east": {"uv": [0, 14, 16, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 16, 10], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 0, 10], + "to": [6, 16, 12], + "faces": { + "north": {"uv": [0, 10, 16, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 16, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [10, 0, 4], + "to": [12, 16, 6], + "faces": { + "south": {"uv": [0, 14, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 16, 10], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [10, 0, 10], + "to": [12, 16, 12], + "faces": { + "north": {"uv": [0, 16, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 10, 16, 8], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/window_alt.json b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/window_alt.json new file mode 100644 index 00000000..952e4968 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lo/brass_pipe/window_alt.json @@ -0,0 +1,58 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/glass_brass_pipe", + "particle": "#0" + }, + "elements": [ + { + "name": "Outer", + "from": [4, 0, 4], + "to": [12, 16, 12], + "shade": false, + "faces": { + "north": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [4, 0, 11.5], + "to": [12, 16, 11.5], + "shade": false, + "faces": { + "north": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [4, 0, 4.5], + "to": [12, 16, 4.5], + "shade": false, + "faces": { + "south": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [4.5, 0, 4], + "to": [4.5, 16, 12], + "shade": false, + "faces": { + "east": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [11.5, 0, 4], + "to": [11.5, 16, 12], + "shade": false, + "faces": { + "west": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/casing.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/casing.json new file mode 100644 index 00000000..7fd2878d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/casing.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "east": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "south": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "west": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "up": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "down": {"uv": [1, 11, 6, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/connection/down.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/connection/down.json new file mode 100644 index 00000000..3ea2ecbc --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/connection/down.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [4, 0, 4], + "to": [12, 4, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 6, 4, 8], "texture": "#0"}, + "east": {"uv": [0, 6, 4, 8], "texture": "#0"}, + "south": {"uv": [4, 6, 0, 8], "texture": "#0"}, + "west": {"uv": [4, 6, 0, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/connection/east.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/connection/east.json new file mode 100644 index 00000000..dbd9770f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/connection/east.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [12, 4, 4], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 0, 0, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 6, 0, 8], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/connection/north.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/connection/north.json new file mode 100644 index 00000000..c3732679 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/connection/north.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [4, 4, 0], + "to": [12, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 6, 4, 8], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 2], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/connection/south.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/connection/south.json new file mode 100644 index 00000000..3238f757 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/connection/south.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [4, 4, 12], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 2], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 6, 4, 8], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/connection/up.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/connection/up.json new file mode 100644 index 00000000..6f442a98 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/connection/up.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [4, 12, 4], + "to": [12, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [4, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [4, 0, 0, 2], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/connection/west.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/connection/west.json new file mode 100644 index 00000000..c1f30251 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/connection/west.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [0, 4, 4], + "to": [4, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 6, 0, 8], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 0, 2], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/core_x.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/core_x.json new file mode 100644 index 00000000..d67c1014 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/core_x.json @@ -0,0 +1,17 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/steel_pipes_connected", + "particle": "tfmg:block/steel_pipes_connected" + }, + "elements": [ + { + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "east": {"uv": [16, 8, 12, 12], "rotation": 180, "texture": "#0"}, + "west": {"uv": [16, 8, 12, 12], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/core_y.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/core_y.json new file mode 100644 index 00000000..b05df846 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/core_y.json @@ -0,0 +1,17 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/steel_pipes_connected", + "particle": "tfmg:block/steel_pipes_connected" + }, + "elements": [ + { + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "up": {"uv": [16, 8, 12, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [16, 8, 12, 12], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/core_z.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/core_z.json new file mode 100644 index 00000000..2a12b9ad --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/core_z.json @@ -0,0 +1,17 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/steel_pipes_connected", + "particle": "tfmg:block/steel_pipes_connected" + }, + "elements": [ + { + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "north": {"uv": [12, 8, 16, 12], "rotation": 180, "texture": "#0"}, + "south": {"uv": [12, 8, 16, 12], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/drain/down.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/drain/down.json new file mode 100644 index 00000000..df6a9b7d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/drain/down.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [4.95, -3.95, 4.95], + "to": [11.05, -0.95, 11.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "down": {"uv": [13, 8, 16, 11], "rotation": 90, "texture": "#0", "cullface": "down"} + } + }, + { + "from": [2.95, -0.95, 2.95], + "to": [13.05, 2, 13.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 9.5, 4, 8], "texture": "#0"}, + "east": {"uv": [4, 8, 9, 9.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [4, 8, 9, 9.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [9, 9.5, 4, 8], "texture": "#0"}, + "up": {"uv": [6, 11, 11, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0", "cullface": "down"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/drain/east.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/drain/east.json new file mode 100644 index 00000000..ddc310d5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/drain/east.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [16.95, 4.95, 4.95], + "to": [19.95, 11.05, 11.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 8, 13.5, 11], "rotation": 180, "texture": "#0"}, + "east": {"uv": [13, 8, 16, 11], "texture": "#0", "cullface": "east"}, + "south": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "up": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "down": {"uv": [12, 8, 13.5, 11], "texture": "#0"} + } + }, + { + "from": [14, 2.95, 2.95], + "to": [16.95, 13.05, 13.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 9.5, 4, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "east"}, + "south": {"uv": [4, 8, 9, 9.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [6, 11, 11, 16], "texture": "#0"}, + "up": {"uv": [4, 8, 9, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [9, 9.5, 4, 8], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/drain/north.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/drain/north.json new file mode 100644 index 00000000..e57a85ec --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/drain/north.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [2.95, 2.95, -0.95], + "to": [13.05, 13.05, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "north"}, + "east": {"uv": [4, 8, 9, 9.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [6, 11, 11, 16], "texture": "#0"}, + "west": {"uv": [9, 9.5, 4, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 8, 9, 9.5], "texture": "#0"}, + "down": {"uv": [9, 9.5, 4, 8], "texture": "#0"} + } + }, + { + "from": [4.95, 4.95, -3.95], + "to": [11.05, 11.05, -0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [13, 8, 16, 11], "texture": "#0", "cullface": "north"}, + "east": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "west": {"uv": [12, 8, 13.5, 11], "rotation": 180, "texture": "#0"}, + "up": {"uv": [12, 8, 13.5, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/drain/south.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/drain/south.json new file mode 100644 index 00000000..b9701b87 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/drain/south.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [4.95, 4.95, 16.95], + "to": [11.05, 11.05, 19.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "east": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "south": {"uv": [16, 8, 13, 11], "texture": "#0", "cullface": "south"}, + "west": {"uv": [13.5, 8, 12, 11], "rotation": 180, "texture": "#0"}, + "up": {"uv": [13.5, 8, 12, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2.95, 2.95, 14], + "to": [13.05, 13.05, 16.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [11, 11, 6, 16], "texture": "#0"}, + "east": {"uv": [4, 9.5, 9, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [16, 11, 11, 16], "texture": "#0", "cullface": "south"}, + "west": {"uv": [9, 8, 4, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 9.5, 9, 8], "texture": "#0"}, + "down": {"uv": [9, 8, 4, 9.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/drain/up.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/drain/up.json new file mode 100644 index 00000000..a38ef73d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/drain/up.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [2.95, 14, 2.95], + "to": [13.05, 16.95, 13.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 8, 4, 9.5], "texture": "#0"}, + "east": {"uv": [4, 9.5, 9, 8], "rotation": 180, "texture": "#0"}, + "south": {"uv": [4, 9.5, 9, 8], "rotation": 180, "texture": "#0"}, + "west": {"uv": [9, 8, 4, 9.5], "texture": "#0"}, + "up": {"uv": [16, 11, 11, 16], "rotation": 90, "texture": "#0", "cullface": "up"}, + "down": {"uv": [11, 11, 6, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4.95, 16.95, 4.95], + "to": [11.05, 19.95, 11.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 8, 13, 11], "rotation": 90, "texture": "#0", "cullface": "up"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/drain/west.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/drain/west.json new file mode 100644 index 00000000..2f190637 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/drain/west.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [-0.95, 2.95, 2.95], + "to": [2, 13.05, 13.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 8, 4, 9.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [11, 11, 6, 16], "texture": "#0"}, + "south": {"uv": [4, 9.5, 9, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [16, 11, 11, 16], "texture": "#0", "cullface": "west"}, + "up": {"uv": [4, 9.5, 9, 8], "rotation": 90, "texture": "#0"}, + "down": {"uv": [9, 8, 4, 9.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [-3.95, 4.95, 4.95], + "to": [-0.95, 11.05, 11.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.5, 8, 12, 11], "rotation": 180, "texture": "#0"}, + "south": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "west": {"uv": [16, 8, 13, 11], "texture": "#0", "cullface": "west"}, + "up": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "down": {"uv": [13.5, 8, 12, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/item.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/item.json new file mode 100644 index 00000000..230783b3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/item.json @@ -0,0 +1,78 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "east": {"uv": [0, 0, 4, 4], "rotation": 90, "texture": "#1"}, + "west": {"uv": [0, 0, 4, 4], "rotation": 90, "texture": "#1"}, + "up": {"uv": [0, 0, 4, 4], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 0, 4, 4], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [4, 4, 12], + "to": [12, 12, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "east": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#1"}, + "up": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [4, 4, 2], + "to": [12, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "east": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#1"}, + "up": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#1"}, + "east": {"uv": [10.5, 11, 11.5, 16], "texture": "#1"}, + "south": {"uv": [6, 11, 11, 16], "texture": "#1"}, + "west": {"uv": [11.5, 16, 10.5, 11], "texture": "#1"}, + "up": {"uv": [10.5, 11, 11.5, 16], "rotation": 270, "texture": "#1"}, + "down": {"uv": [11.5, 16, 10.5, 11], "rotation": 270, "texture": "#1"} + } + }, + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [6, 11, 11, 16], "texture": "#1"}, + "east": {"uv": [11.5, 16, 10.5, 11], "texture": "#1"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#1"}, + "west": {"uv": [10.5, 11, 11.5, 16], "texture": "#1"}, + "up": {"uv": [11.5, 16, 10.5, 11], "rotation": 270, "texture": "#1"}, + "down": {"uv": [10.5, 11, 11.5, 16], "rotation": 270, "texture": "#1"} + } + } + ], + "display": { + "fixed": { + "rotation": [0, 90, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim/down.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim/down.json new file mode 100644 index 00000000..2bb09327 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim/down.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "faces": { + "north": {"uv": [10.5, 11, 11.5, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10.5, 11, 11.5, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10.5, 11, 11.5, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10.5, 11, 11.5, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [6, 11, 11, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 270, "texture": "#0", "cullface": "down"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim/east.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim/east.json new file mode 100644 index 00000000..e25a9ad5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "faces": { + "north": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "east"}, + "south": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"}, + "west": {"uv": [6, 11, 11, 16], "texture": "#0"}, + "up": {"uv": [11.5, 16, 10.5, 11], "rotation": 180, "texture": "#0"}, + "down": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim/north.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim/north.json new file mode 100644 index 00000000..a5ee4d2c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim/north.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "north"}, + "east": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"}, + "south": {"uv": [6, 11, 11, 16], "texture": "#0"}, + "west": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"}, + "up": {"uv": [10.5, 11, 11.5, 16], "rotation": 270, "texture": "#0"}, + "down": {"uv": [11.5, 16, 10.5, 11], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim/south.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim/south.json new file mode 100644 index 00000000..67b8a32a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim/south.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [6, 11, 11, 16], "texture": "#0"}, + "east": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "south"}, + "west": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"}, + "up": {"uv": [11.5, 16, 10.5, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [10.5, 11, 11.5, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim/up.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim/up.json new file mode 100644 index 00000000..78da141b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim/up.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "faces": { + "north": {"uv": [11.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [11.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [11.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0", "cullface": "up"}, + "down": {"uv": [6, 11, 11, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim/west.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim/west.json new file mode 100644 index 00000000..168c92e9 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim/west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "faces": { + "north": {"uv": [10.5, 11, 11.5, 16], "texture": "#0"}, + "east": {"uv": [6, 11, 11, 16], "texture": "#0"}, + "south": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"}, + "west": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "west"}, + "up": {"uv": [10.5, 11, 11.5, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [11.5, 16, 10.5, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim_connector/down.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim_connector/down.json new file mode 100644 index 00000000..8aa7b123 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim_connector/down.json @@ -0,0 +1,20 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [4, 2, 4], + "to": [12, 4, 12], + "faces": { + "north": {"uv": [0, 9, 4, 10], "texture": "#0"}, + "east": {"uv": [0, 9, 4, 10], "texture": "#0"}, + "south": {"uv": [4, 9, 0, 10], "texture": "#0"}, + "west": {"uv": [4, 9, 0, 10], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim_connector/east.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim_connector/east.json new file mode 100644 index 00000000..e4a0f370 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim_connector/east.json @@ -0,0 +1,20 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [12, 4, 4], + "to": [14, 12, 12], + "faces": { + "north": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 8, 0, 9], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 9, 0, 10], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim_connector/north.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim_connector/north.json new file mode 100644 index 00000000..116041fe --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim_connector/north.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [4, 4, 2], + "to": [12, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim_connector/south.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim_connector/south.json new file mode 100644 index 00000000..2ff86eeb --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim_connector/south.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [4, 4, 12], + "to": [12, 12, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim_connector/up.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim_connector/up.json new file mode 100644 index 00000000..b61c46df --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim_connector/up.json @@ -0,0 +1,20 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [4, 12, 4], + "to": [12, 14, 12], + "faces": { + "north": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "east": {"uv": [0, 8, 4, 9], "texture": "#0"}, + "south": {"uv": [4, 8, 0, 9], "texture": "#0"}, + "west": {"uv": [4, 8, 0, 9], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim_connector/west.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim_connector/west.json new file mode 100644 index 00000000..00ed2638 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/rim_connector/west.json @@ -0,0 +1,20 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [2, 4, 4], + "to": [4, 12, 12], + "faces": { + "north": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 9, 0, 10], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 8, 0, 9], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/window.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/window.json new file mode 100644 index 00000000..0417cbdd --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/window.json @@ -0,0 +1,85 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/glass_steel_pipe", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "name": "Outer", + "from": [4, 0, 4], + "to": [12, 16, 12], + "faces": { + "north": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [4, 0, 11.9], + "to": [12, 16, 11.9], + "faces": { + "north": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [4.1, 0, 4], + "to": [4.1, 16, 12], + "faces": { + "east": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [4, 0, 4.1], + "to": [12, 16, 4.1], + "faces": { + "south": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [11.9, 0, 4], + "to": [11.9, 16, 12], + "faces": { + "west": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 0, 4], + "to": [6, 16, 6], + "faces": { + "east": {"uv": [0, 14, 16, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 16, 10], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 0, 10], + "to": [6, 16, 12], + "faces": { + "north": {"uv": [0, 10, 16, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 16, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [10, 0, 4], + "to": [12, 16, 6], + "faces": { + "south": {"uv": [0, 14, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 16, 10], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [10, 0, 10], + "to": [12, 16, 12], + "faces": { + "north": {"uv": [0, 16, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 10, 16, 8], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/window_alt.json b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/window_alt.json new file mode 100644 index 00000000..b43bb3f3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/locked_steel_pipe/window_alt.json @@ -0,0 +1,58 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/glass_steel_pipe", + "particle": "#0" + }, + "elements": [ + { + "name": "Outer", + "from": [4, 0, 4], + "to": [12, 16, 12], + "shade": false, + "faces": { + "north": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [4, 0, 11.5], + "to": [12, 16, 11.5], + "shade": false, + "faces": { + "north": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [4, 0, 4.5], + "to": [12, 16, 4.5], + "shade": false, + "faces": { + "south": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [4.5, 0, 4], + "to": [4.5, 16, 12], + "shade": false, + "faces": { + "east": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [11.5, 0, 4], + "to": [11.5, 16, 12], + "shade": false, + "faces": { + "west": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/low_grade_fuel_engine/block.json b/src/main/resources/assets/tfmg/models/block/low_grade_fuel_engine/block.json new file mode 100644 index 00000000..79fd97db --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/low_grade_fuel_engine/block.json @@ -0,0 +1,94 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/low_grade_fuel_engine", + "particle": "tfmg:block/low_grade_fuel_engine" + }, + "elements": [ + { + "from": [3, 3, 2], + "to": [13, 13, 14], + "faces": { + "north": {"uv": [0, 5, 2.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 3, 2.5], "texture": "#0"}, + "south": {"uv": [0, 5, 2.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 2.5, 3, 5], "texture": "#0"}, + "up": {"uv": [5.5, 3, 3, 0], "texture": "#0"}, + "down": {"uv": [5.5, 0, 3, 3], "texture": "#0"} + } + }, + { + "from": [4, 4, 14], + "to": [12, 12, 15], + "faces": { + "north": {"uv": [8, 0, 10, 2], "texture": "#0"}, + "east": {"uv": [12.75, 13, 13, 15], "texture": "#0"}, + "south": {"uv": [8, 7.5, 10, 9.5], "texture": "#0"}, + "west": {"uv": [10, 13, 10.25, 15], "texture": "#0"}, + "up": {"uv": [12.5, 13, 10.5, 12.75], "texture": "#0"}, + "down": {"uv": [12.5, 15, 10.5, 15.25], "texture": "#0"} + } + }, + { + "from": [0, 6, 3], + "to": [16, 10, 7], + "faces": { + "north": {"uv": [0, 7.5, 4, 8.5], "texture": "#0"}, + "east": {"uv": [1, 10.5, 2, 11.5], "texture": "#0"}, + "south": {"uv": [0, 7.5, 4, 8.5], "texture": "#0"}, + "west": {"uv": [2, 10.5, 3, 11.5], "texture": "#0"}, + "up": {"uv": [4, 8.5, 0, 7.5], "texture": "#0"}, + "down": {"uv": [4, 7.5, 0, 8.5], "texture": "#0"} + } + }, + { + "from": [0, 6, 9], + "to": [16, 10, 13], + "faces": { + "north": {"uv": [0, 7.5, 4, 8.5], "texture": "#0"}, + "east": {"uv": [10, 8.25, 11, 9.25], "texture": "#0"}, + "south": {"uv": [0, 7.5, 4, 8.5], "texture": "#0"}, + "west": {"uv": [9.5, 10.25, 10.5, 11.25], "texture": "#0"}, + "up": {"uv": [4, 8.5, 0, 7.5], "texture": "#0"}, + "down": {"uv": [4, 7.5, 0, 8.5], "texture": "#0"} + } + }, + { + "from": [1, 0, 1], + "to": [5, 3, 15], + "faces": { + "north": {"uv": [10.5, 4.25, 11.5, 5], "texture": "#0"}, + "east": {"uv": [1, 9.75, 4.5, 10.5], "texture": "#0"}, + "south": {"uv": [10.5, 4.25, 11.5, 5], "texture": "#0"}, + "west": {"uv": [1, 9.75, 4.5, 10.5], "texture": "#0"}, + "up": {"uv": [8, 12, 7, 8.5], "texture": "#0"}, + "down": {"uv": [1, 9.5, 0, 13], "texture": "#0"} + } + }, + { + "from": [5, 0, 4], + "to": [11, 3, 12], + "faces": { + "north": {"uv": [10, 0.75, 11.5, 1.5], "texture": "#0"}, + "east": {"uv": [9.5, 9.5, 11.5, 10.25], "texture": "#0"}, + "south": {"uv": [10, 0.75, 11.5, 1.5], "texture": "#0"}, + "west": {"uv": [10, 0, 12, 0.75], "texture": "#0"}, + "up": {"uv": [7, 11.5, 5.5, 9.5], "texture": "#0"}, + "down": {"uv": [9.5, 9.5, 8, 11.5], "texture": "#0"} + } + }, + { + "from": [11, 0, 1], + "to": [15, 3, 15], + "faces": { + "north": {"uv": [10.5, 4.25, 11.5, 5], "texture": "#0"}, + "east": {"uv": [1, 9.75, 4.5, 10.5], "texture": "#0"}, + "south": {"uv": [10.5, 4.25, 11.5, 5], "texture": "#0"}, + "west": {"uv": [1, 9.75, 4.5, 10.5], "texture": "#0"}, + "up": {"uv": [8, 15.5, 7, 12], "texture": "#0"}, + "down": {"uv": [5.5, 9.5, 4.5, 13], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/low_grade_fuel_engine/item.json b/src/main/resources/assets/tfmg/models/block/low_grade_fuel_engine/item.json new file mode 100644 index 00000000..6d91a6a4 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/low_grade_fuel_engine/item.json @@ -0,0 +1,108 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/low_grade_fuel_engine", + "1_0": "create:block/axis", + "particle": "tfmg:block/low_grade_fuel_engine" + }, + "elements": [ + { + "name": "Axis", + "from": [6, 6, 0], + "to": [10, 10, 10], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [6, 6, 10, 10], "rotation": 180, "texture": "#1_0"}, + "east": {"uv": [6, 0, 10, 10], "rotation": 270, "texture": "#1_0"}, + "west": {"uv": [6, 0, 10, 10], "rotation": 90, "texture": "#1_0"}, + "up": {"uv": [6, 0, 10, 10], "rotation": 180, "texture": "#1_0"}, + "down": {"uv": [6, 0, 10, 10], "texture": "#1_0"} + } + }, + { + "from": [0, 6, 3], + "to": [16, 10, 7], + "faces": { + "north": {"uv": [0, 7.5, 4, 8.5], "texture": "#1"}, + "east": {"uv": [1, 10.5, 2, 11.5], "texture": "#1"}, + "south": {"uv": [0, 7.5, 4, 8.5], "texture": "#1"}, + "west": {"uv": [2, 10.5, 3, 11.5], "texture": "#1"}, + "up": {"uv": [4, 8.5, 0, 7.5], "texture": "#1"}, + "down": {"uv": [4, 7.5, 0, 8.5], "texture": "#1"} + } + }, + { + "from": [0, 6, 9], + "to": [16, 10, 13], + "faces": { + "north": {"uv": [0, 7.5, 4, 8.5], "texture": "#1"}, + "east": {"uv": [10, 8.25, 11, 9.25], "texture": "#1"}, + "south": {"uv": [0, 7.5, 4, 8.5], "texture": "#1"}, + "west": {"uv": [9.5, 10.25, 10.5, 11.25], "texture": "#1"}, + "up": {"uv": [4, 8.5, 0, 7.5], "texture": "#1"}, + "down": {"uv": [4, 7.5, 0, 8.5], "texture": "#1"} + } + }, + { + "from": [5, 0, 4], + "to": [11, 3, 12], + "faces": { + "north": {"uv": [10, 0.75, 11.5, 1.5], "texture": "#1"}, + "east": {"uv": [9.5, 9.5, 11.5, 10.25], "texture": "#1"}, + "south": {"uv": [10, 0.75, 11.5, 1.5], "texture": "#1"}, + "west": {"uv": [10, 0, 12, 0.75], "texture": "#1"}, + "up": {"uv": [7, 11.5, 5.5, 9.5], "texture": "#1"}, + "down": {"uv": [9.5, 9.5, 8, 11.5], "texture": "#1"} + } + }, + { + "from": [1, 0, 1], + "to": [5, 3, 15], + "faces": { + "north": {"uv": [10.5, 4.25, 11.5, 5], "texture": "#1"}, + "east": {"uv": [1, 9.75, 4.5, 10.5], "texture": "#1"}, + "south": {"uv": [10.5, 4.25, 11.5, 5], "texture": "#1"}, + "west": {"uv": [1, 9.75, 4.5, 10.5], "texture": "#1"}, + "up": {"uv": [8, 12, 7, 8.5], "texture": "#1"}, + "down": {"uv": [1, 9.5, 0, 13], "texture": "#1"} + } + }, + { + "from": [11, 0, 1], + "to": [15, 3, 15], + "faces": { + "north": {"uv": [10.5, 4.25, 11.5, 5], "texture": "#1"}, + "east": {"uv": [1, 9.75, 4.5, 10.5], "texture": "#1"}, + "south": {"uv": [10.5, 4.25, 11.5, 5], "texture": "#1"}, + "west": {"uv": [1, 9.75, 4.5, 10.5], "texture": "#1"}, + "up": {"uv": [8, 15.5, 7, 12], "texture": "#1"}, + "down": {"uv": [5.5, 9.5, 4.5, 13], "texture": "#1"} + } + }, + { + "from": [3, 3, 2], + "to": [13, 13, 14], + "faces": { + "north": {"uv": [0, 5, 2.5, 7.5], "texture": "#1"}, + "east": {"uv": [0, 0, 3, 2.5], "texture": "#1"}, + "south": {"uv": [0, 5, 2.5, 7.5], "texture": "#1"}, + "west": {"uv": [0, 2.5, 3, 5], "texture": "#1"}, + "up": {"uv": [5.5, 3, 3, 0], "texture": "#1"}, + "down": {"uv": [5.5, 0, 3, 3], "texture": "#1"} + } + }, + { + "from": [4, 4, 14], + "to": [12, 12, 15], + "faces": { + "north": {"uv": [8, 0, 10, 2], "texture": "#1"}, + "east": {"uv": [12.75, 13, 13, 15], "texture": "#1"}, + "south": {"uv": [8, 7.5, 10, 9.5], "texture": "#1"}, + "west": {"uv": [10, 13, 10.25, 15], "texture": "#1"}, + "up": {"uv": [12.5, 13, 10.5, 12.75], "texture": "#1"}, + "down": {"uv": [12.5, 15, 10.5, 15.25], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lpg_engine/block.json b/src/main/resources/assets/tfmg/models/block/lpg_engine/block.json new file mode 100644 index 00000000..2ad05369 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lpg_engine/block.json @@ -0,0 +1,107 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/engines/lpg", + "particle": "block/anvil" + }, + "elements": [ + { + "from": [2, 3, 2], + "to": [14, 12, 16], + "faces": { + "north": {"uv": [0.5, 0, 2, 1.125], "texture": "#0"}, + "east": {"uv": [0.25, 6.125, 2, 7.25], "texture": "#0"}, + "south": {"uv": [2.75, 0, 4.25, 1.125], "texture": "#0"}, + "west": {"uv": [2, 6.125, 3.75, 7.25], "texture": "#0"}, + "up": {"uv": [2, 5.25, 0.5, 3.5], "texture": "#0"}, + "down": {"uv": [4.25, 1.75, 2.75, 3.5], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [16, 3, 16], + "faces": { + "north": {"uv": [0.25, 1.125, 2.25, 1.5], "texture": "#0"}, + "east": {"uv": [0.25, 7.375, 2, 7.75], "texture": "#0"}, + "south": {"uv": [2.5, 1.125, 4.5, 1.5], "texture": "#0"}, + "west": {"uv": [2, 7.375, 3.75, 7.75], "texture": "#0"}, + "up": {"uv": [2, 1.75, 0, 0], "texture": "#0"}, + "down": {"uv": [4.5, 1.75, 2.5, 3.5], "texture": "#0"} + } + }, + { + "from": [3, 6, 11], + "to": [7, 15, 15], + "faces": { + "north": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "east": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "south": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "west": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "up": {"uv": [6.875, 1.625, 6.375, 1.125], "texture": "#0"}, + "down": {"uv": [6.875, 1.125, 6.375, 1.625], "texture": "#0"} + } + }, + { + "from": [9, 6, 11], + "to": [13, 15, 15], + "faces": { + "north": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "east": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "south": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "west": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "up": {"uv": [6.875, 1.625, 6.375, 1.125], "texture": "#0"}, + "down": {"uv": [6.875, 1.125, 6.375, 1.625], "texture": "#0"} + } + }, + { + "from": [9, 6, 5], + "to": [13, 15, 9], + "faces": { + "north": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "east": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "south": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "west": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "up": {"uv": [6.875, 1.625, 6.375, 1.125], "texture": "#0"}, + "down": {"uv": [6.875, 1.125, 6.375, 1.625], "texture": "#0"} + } + }, + { + "from": [3, 6, 5], + "to": [7, 15, 9], + "faces": { + "north": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "east": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "south": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "west": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "up": {"uv": [6.875, 1.625, 6.375, 1.125], "texture": "#0"}, + "down": {"uv": [6.875, 1.125, 6.375, 1.625], "texture": "#0"} + } + }, + { + "from": [0, 3, 2], + "to": [2, 7, 16], + "faces": { + "north": {"uv": [2, 0.625, 2.25, 1.125], "texture": "#0"}, + "east": {"uv": [3.5, 2.25, 5.25, 2.75], "texture": "#0"}, + "south": {"uv": [2.5, 0.625, 2.75, 1.125], "texture": "#0"}, + "west": {"uv": [2, 6.875, 3.75, 7.375], "texture": "#0"}, + "up": {"uv": [2.375, 3.5, 2.125, 1.75], "texture": "#0"}, + "down": {"uv": [5.75, 5.125, 5.5, 6.875], "texture": "#0"} + } + }, + { + "from": [14, 3, 2], + "to": [16, 7, 16], + "faces": { + "north": {"uv": [0.25, 0.625, 0.5, 1.125], "texture": "#0"}, + "east": {"uv": [0.25, 6.875, 2, 7.375], "texture": "#0"}, + "south": {"uv": [4.25, 0.625, 4.5, 1.125], "texture": "#0"}, + "west": {"uv": [3.875, 5.5, 5.625, 6], "texture": "#0"}, + "up": {"uv": [0.375, 3.5, 0.125, 1.75], "texture": "#0"}, + "down": {"uv": [6, 5.125, 5.75, 6.875], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lpg_engine/item.json b/src/main/resources/assets/tfmg/models/block/lpg_engine/item.json new file mode 100644 index 00000000..af6da9dc --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lpg_engine/item.json @@ -0,0 +1,122 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/engines/lpg", + "1": "create:block/axis", + "2": "create:block/axis_top", + "particle": "tfmg:block/engines/lpg" + }, + "elements": [ + { + "from": [2, 3, 2], + "to": [14, 12, 16], + "faces": { + "north": {"uv": [0.5, 0, 2, 1.125], "texture": "#0"}, + "east": {"uv": [0.25, 6.125, 2, 7.25], "texture": "#0"}, + "south": {"uv": [2.75, 0, 4.25, 1.125], "texture": "#0"}, + "west": {"uv": [2, 6.125, 3.75, 7.25], "texture": "#0"}, + "up": {"uv": [2, 5.25, 0.5, 3.5], "texture": "#0"}, + "down": {"uv": [4.25, 1.75, 2.75, 3.5], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [16, 3, 16], + "faces": { + "north": {"uv": [0.25, 1.125, 2.25, 1.5], "texture": "#0"}, + "east": {"uv": [0.25, 7.375, 2, 7.75], "texture": "#0"}, + "south": {"uv": [2.5, 1.125, 4.5, 1.5], "texture": "#0"}, + "west": {"uv": [2, 7.375, 3.75, 7.75], "texture": "#0"}, + "down": {"uv": [4.5, 1.75, 2.5, 3.5], "texture": "#0"} + } + }, + { + "from": [3, 6, 11], + "to": [7, 15, 15], + "faces": { + "north": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "east": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "south": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "west": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "up": {"uv": [6.875, 1.625, 6.375, 1.125], "texture": "#0"}, + "down": {"uv": [6.875, 1.125, 6.375, 1.625], "texture": "#0"} + } + }, + { + "from": [9, 6, 11], + "to": [13, 15, 15], + "faces": { + "north": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "east": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "south": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "west": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "up": {"uv": [6.875, 1.625, 6.375, 1.125], "texture": "#0"}, + "down": {"uv": [6.875, 1.125, 6.375, 1.625], "texture": "#0"} + } + }, + { + "from": [9, 6, 5], + "to": [13, 15, 9], + "faces": { + "north": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "east": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "south": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "west": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "up": {"uv": [6.875, 1.625, 6.375, 1.125], "texture": "#0"}, + "down": {"uv": [6.875, 1.125, 6.375, 1.625], "texture": "#0"} + } + }, + { + "from": [3, 6, 5], + "to": [7, 15, 9], + "faces": { + "north": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "east": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "south": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "west": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "up": {"uv": [6.875, 1.625, 6.375, 1.125], "texture": "#0"}, + "down": {"uv": [6.875, 1.125, 6.375, 1.625], "texture": "#0"} + } + }, + { + "from": [0, 3, 2], + "to": [2, 7, 16], + "faces": { + "north": {"uv": [2, 0.625, 2.25, 1.125], "texture": "#0"}, + "east": {"uv": [3.5, 2.25, 5.25, 2.75], "texture": "#0"}, + "south": {"uv": [2.5, 0.625, 2.75, 1.125], "texture": "#0"}, + "west": {"uv": [2, 6.875, 3.75, 7.375], "texture": "#0"}, + "up": {"uv": [2.375, 3.5, 2.125, 1.75], "texture": "#0"}, + "down": {"uv": [5.75, 5.125, 5.5, 6.875], "texture": "#0"} + } + }, + { + "from": [14, 3, 2], + "to": [16, 7, 16], + "faces": { + "north": {"uv": [0.25, 0.625, 0.5, 1.125], "texture": "#0"}, + "east": {"uv": [0.25, 6.875, 2, 7.375], "texture": "#0"}, + "south": {"uv": [4.25, 0.625, 4.5, 1.125], "texture": "#0"}, + "west": {"uv": [3.875, 5.5, 5.625, 6], "texture": "#0"}, + "up": {"uv": [0.375, 3.5, 0.125, 1.75], "texture": "#0"}, + "down": {"uv": [6, 5.125, 5.75, 6.875], "texture": "#0"} + } + }, + { + "name": "Axis", + "from": [6, 6, 0], + "to": [10, 10, 10], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [6, 6, 10, 10], "texture": "#2"}, + "east": {"uv": [6, 0, 10, 10], "rotation": 90, "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#1"}, + "west": {"uv": [6, 0, 10, 10], "rotation": 270, "texture": "#1"}, + "up": {"uv": [6, 0, 10, 10], "texture": "#1"}, + "down": {"uv": [6, 0, 10, 10], "rotation": 180, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lpg_engine_back/block.json b/src/main/resources/assets/tfmg/models/block/lpg_engine_back/block.json new file mode 100644 index 00000000..ff242349 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lpg_engine_back/block.json @@ -0,0 +1,119 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/engines/lpg", + "particle": "block/anvil" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 3, 14], + "faces": { + "north": {"uv": [2.5, 1.125, 4.5, 1.5], "texture": "#0"}, + "east": {"uv": [2, 7.375, 3.75, 7.75], "texture": "#0"}, + "south": {"uv": [5.25, 3.25, 7.25, 3.625], "texture": "#0"}, + "west": {"uv": [2, 7.375, 3.75, 7.75], "texture": "#0"}, + "up": {"uv": [2, 1.75, 0, 0], "texture": "#0"}, + "down": {"uv": [4.5, 3.75, 2.5, 5.5], "texture": "#0"} + } + }, + { + "from": [0, 3, 0], + "to": [2, 7, 14], + "faces": { + "north": {"uv": [4.25, 0.625, 4.5, 1.125], "texture": "#0"}, + "east": {"uv": [6.75, 5.125, 8.5, 5.625], "texture": "#0"}, + "south": {"uv": [6.5, 4.125, 6.75, 4.625], "texture": "#0"}, + "west": {"uv": [2, 6.875, 3.75, 7.375], "texture": "#0"}, + "up": {"uv": [2.375, 3.5, 2.125, 1.75], "texture": "#0"}, + "down": {"uv": [5.375, 4.375, 5.125, 6.125], "texture": "#0"} + } + }, + { + "from": [14, 3, 0], + "to": [16, 7, 14], + "faces": { + "north": {"uv": [2.5, 0.625, 2.75, 1.125], "texture": "#0"}, + "east": {"uv": [0.25, 6.875, 2, 7.375], "texture": "#0"}, + "south": {"uv": [6.5, 5.75, 6.75, 6.25], "texture": "#0"}, + "west": {"uv": [5, 4.375, 6.75, 4.875], "texture": "#0"}, + "up": {"uv": [0.375, 5.25, 0.125, 3.5], "texture": "#0"}, + "down": {"uv": [0.5, 6.375, 0.25, 8.125], "texture": "#0"} + } + }, + { + "from": [2, 3, 0], + "to": [14, 12, 14], + "faces": { + "north": {"uv": [2.75, 0, 4.25, 1.125], "texture": "#0"}, + "east": {"uv": [2, 6.125, 3.75, 7.25], "texture": "#0"}, + "south": {"uv": [3.5, 4.375, 5, 5.5], "texture": "#0"}, + "west": {"uv": [2, 6.125, 3.75, 7.25], "texture": "#0"}, + "up": {"uv": [2, 5.25, 0.5, 3.5], "texture": "#0"}, + "down": {"uv": [6, 5.25, 4.5, 7], "texture": "#0"} + } + }, + { + "from": [9, 6, 7], + "to": [13, 15, 11], + "faces": { + "north": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "east": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "south": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "west": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "up": {"uv": [6.875, 1.625, 6.375, 1.125], "texture": "#0"}, + "down": {"uv": [6.875, 1.125, 6.375, 1.625], "texture": "#0"} + } + }, + { + "from": [3, 6, 7], + "to": [7, 15, 11], + "faces": { + "north": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "east": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "south": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "west": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "up": {"uv": [6.875, 1.625, 6.375, 1.125], "texture": "#0"}, + "down": {"uv": [6.875, 1.125, 6.375, 1.625], "texture": "#0"} + } + }, + { + "from": [3, 6, 1], + "to": [7, 15, 5], + "faces": { + "north": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "east": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "south": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "west": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "up": {"uv": [6.875, 1.625, 6.375, 1.125], "texture": "#0"}, + "down": {"uv": [6.875, 1.125, 6.375, 1.625], "texture": "#0"} + } + }, + { + "from": [9, 6, 1], + "to": [13, 15, 5], + "faces": { + "north": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "east": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "south": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "west": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "up": {"uv": [6.875, 1.625, 6.375, 1.125], "texture": "#0"}, + "down": {"uv": [6.875, 1.125, 6.375, 1.625], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [16, 13, 16], + "faces": { + "north": {"uv": [5.625, 1.875, 7.625, 3.5], "texture": "#0"}, + "east": {"uv": [7.75, 1.875, 8, 3.5], "texture": "#0"}, + "south": {"uv": [5.625, 1.875, 7.625, 3.5], "texture": "#0"}, + "west": {"uv": [5.25, 1.875, 5.5, 3.5], "texture": "#0"}, + "up": {"uv": [7.625, 2.125, 5.625, 1.875], "texture": "#0"}, + "down": {"uv": [4.5, 4.625, 2.5, 4.875], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/lpg_engine_back/item.json b/src/main/resources/assets/tfmg/models/block/lpg_engine_back/item.json new file mode 100644 index 00000000..9bbd0362 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/lpg_engine_back/item.json @@ -0,0 +1,119 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/engines/lpg", + "particle": "tfmg:block/engines/lpg" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 3, 14], + "faces": { + "north": {"uv": [2.5, 1.125, 4.5, 1.5], "texture": "#0"}, + "east": {"uv": [2, 7.375, 3.75, 7.75], "texture": "#0"}, + "south": {"uv": [5.25, 3.25, 7.25, 3.625], "texture": "#0"}, + "west": {"uv": [2, 7.375, 3.75, 7.75], "texture": "#0"}, + "up": {"uv": [2, 1.75, 0, 0], "texture": "#0"}, + "down": {"uv": [4.5, 3.75, 2.5, 5.5], "texture": "#0"} + } + }, + { + "from": [0, 3, 0], + "to": [2, 7, 14], + "faces": { + "north": {"uv": [4.25, 0.625, 4.5, 1.125], "texture": "#0"}, + "east": {"uv": [6.75, 5.125, 8.5, 5.625], "texture": "#0"}, + "south": {"uv": [6.5, 4.125, 6.75, 4.625], "texture": "#0"}, + "west": {"uv": [2, 6.875, 3.75, 7.375], "texture": "#0"}, + "up": {"uv": [2.375, 3.5, 2.125, 1.75], "texture": "#0"}, + "down": {"uv": [5.375, 4.375, 5.125, 6.125], "texture": "#0"} + } + }, + { + "from": [14, 3, 0], + "to": [16, 7, 14], + "faces": { + "north": {"uv": [2.5, 0.625, 2.75, 1.125], "texture": "#0"}, + "east": {"uv": [0.25, 6.875, 2, 7.375], "texture": "#0"}, + "south": {"uv": [6.5, 5.75, 6.75, 6.25], "texture": "#0"}, + "west": {"uv": [5, 4.375, 6.75, 4.875], "texture": "#0"}, + "up": {"uv": [0.375, 5.25, 0.125, 3.5], "texture": "#0"}, + "down": {"uv": [0.5, 6.375, 0.25, 8.125], "texture": "#0"} + } + }, + { + "from": [2, 3, 0], + "to": [14, 12, 14], + "faces": { + "north": {"uv": [2.75, 0, 4.25, 1.125], "texture": "#0"}, + "east": {"uv": [2, 6.125, 3.75, 7.25], "texture": "#0"}, + "south": {"uv": [3.5, 4.375, 5, 5.5], "texture": "#0"}, + "west": {"uv": [2, 6.125, 3.75, 7.25], "texture": "#0"}, + "up": {"uv": [2, 5.25, 0.5, 3.5], "texture": "#0"}, + "down": {"uv": [6, 5.25, 4.5, 7], "texture": "#0"} + } + }, + { + "from": [9, 6, 7], + "to": [13, 15, 11], + "faces": { + "north": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "east": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "south": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "west": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "up": {"uv": [6.875, 1.625, 6.375, 1.125], "texture": "#0"}, + "down": {"uv": [6.875, 1.125, 6.375, 1.625], "texture": "#0"} + } + }, + { + "from": [3, 6, 7], + "to": [7, 15, 11], + "faces": { + "north": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "east": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "south": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "west": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "up": {"uv": [6.875, 1.625, 6.375, 1.125], "texture": "#0"}, + "down": {"uv": [6.875, 1.125, 6.375, 1.625], "texture": "#0"} + } + }, + { + "from": [3, 6, 1], + "to": [7, 15, 5], + "faces": { + "north": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "east": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "south": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "west": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "up": {"uv": [6.875, 1.625, 6.375, 1.125], "texture": "#0"}, + "down": {"uv": [6.875, 1.125, 6.375, 1.625], "texture": "#0"} + } + }, + { + "from": [9, 6, 1], + "to": [13, 15, 5], + "faces": { + "north": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "east": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "south": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "west": {"uv": [6.375, 0, 6.875, 1.125], "texture": "#0"}, + "up": {"uv": [6.875, 1.625, 6.375, 1.125], "texture": "#0"}, + "down": {"uv": [6.875, 1.125, 6.375, 1.625], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [16, 13, 16], + "faces": { + "north": {"uv": [5.625, 1.875, 7.625, 3.5], "texture": "#0"}, + "east": {"uv": [7.75, 1.875, 8, 3.5], "texture": "#0"}, + "south": {"uv": [5.625, 1.875, 7.625, 3.5], "texture": "#0"}, + "west": {"uv": [5.25, 1.875, 5.5, 3.5], "texture": "#0"}, + "up": {"uv": [7.625, 2.125, 5.625, 1.875], "texture": "#0"}, + "down": {"uv": [4.5, 4.625, 2.5, 4.875], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/machine_input.json b/src/main/resources/assets/tfmg/models/block/machine_input.json new file mode 100644 index 00000000..da61c4e2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/machine_input.json @@ -0,0 +1,144 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/heavy_machinery_casing", + "1": "tfmg:block/heavy_gearbox", + "2": "create:block/axis", + "3": "create:block/axis_top", + "particle": "tfmg:block/heavy_machinery_casing" + }, + "elements": [ + { + "from": [0, 0, 1], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#1"}, + "east": {"uv": [0, 0, 16, 15], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 1, 16, 16], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 15, 16], "rotation": 270, "texture": "#0"}, + "down": {"uv": [1, 0, 16, 16], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "Axis", + "from": [6, 6, 0], + "to": [10, 10, 10], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [6, 6, 10, 10], "texture": "#3"}, + "east": {"uv": [6, 0, 10, 10], "rotation": 90, "texture": "#2"}, + "south": {"uv": [6, 6, 10, 10], "rotation": 180, "texture": "#2"}, + "west": {"uv": [6, 0, 10, 10], "rotation": 270, "texture": "#2"}, + "up": {"uv": [6, 0, 10, 10], "texture": "#2"}, + "down": {"uv": [6, 0, 10, 10], "rotation": 180, "texture": "#2"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 2, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [14, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "rotation": 270, "texture": "#0"}, + "up": {"uv": [1, 0, 2, 16], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 16], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [0, 2, 0], + "to": [2, 14, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [2, 0, 14, 2], "rotation": 90, "texture": "#0"}, + "east": {"uv": [2, 14, 14, 15], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 12, 2], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 12, 1], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 2], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [14, 2, 0], + "to": [16, 14, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 14, 13, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [2, 15, 14, 16], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 12, 2], "rotation": 270, "texture": "#0"}, + "west": {"uv": [2, 14, 14, 15], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 2], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [0, 14, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 16], "rotation": 270, "texture": "#0"}, + "down": {"uv": [14, 0, 15, 16], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13, 2, 0], + "to": [14, 3, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13, 13, 14, 14], "rotation": 90, "texture": "#0"}, + "east": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "south": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "west": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "up": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 2, 0], + "to": [3, 3, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13, 2, 14, 3], "rotation": 90, "texture": "#0"}, + "east": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "south": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "west": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "up": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13, 13, 0], + "to": [14, 14, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [2, 13, 3, 14], "rotation": 90, "texture": "#0"}, + "east": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "south": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "west": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "up": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 13, 0], + "to": [3, 14, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [2, 2, 3, 3], "rotation": 90, "texture": "#0"}, + "east": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "south": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "west": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "up": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/machine_input/block.json b/src/main/resources/assets/tfmg/models/block/machine_input/block.json new file mode 100644 index 00000000..4d96cf70 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/machine_input/block.json @@ -0,0 +1,128 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/heavy_machinery_casing", + "1": "tfmg:block/heavy_gearbox", + "particle": "tfmg:block/heavy_machinery_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 15, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 15], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 15, 16], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 1, 16, 16], "texture": "#0"}, + "west": {"uv": [1, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 15, 0], + "to": [2, 16, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "rotation": 180, "texture": "#0"}, + "east": {"uv": [1, 0, 2, 16], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 0, 16, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 16], "texture": "#0"} + } + }, + { + "from": [2, 15, 14], + "to": [14, 16, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [2, 14, 14, 15], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 1, 2], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [2, 0, 14, 2], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 2], "texture": "#0"} + } + }, + { + "from": [2, 15, 0], + "to": [14, 16, 2], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [2, 15, 14, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 1, 2], "rotation": 270, "texture": "#0"}, + "south": {"uv": [2, 14, 14, 15], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [1, 14, 13, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 2], "texture": "#0"} + } + }, + { + "from": [14, 15, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 1, 16], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [14, 0, 15, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 16], "texture": "#0"} + } + }, + { + "from": [2, 15, 2], + "to": [3, 16, 3], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [2, 2, 3, 3], "rotation": 180, "texture": "#0"}, + "east": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "south": {"uv": [2, 2, 3, 3], "texture": "#0"}, + "west": {"uv": [2, 2, 3, 3], "rotation": 90, "texture": "#0"}, + "up": {"uv": [13, 13, 14, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [2, 2, 3, 3], "texture": "#0"} + } + }, + { + "from": [2, 15, 13], + "to": [3, 16, 14], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [2, 2, 3, 3], "rotation": 180, "texture": "#0"}, + "east": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "south": {"uv": [2, 2, 3, 3], "texture": "#0"}, + "west": {"uv": [2, 2, 3, 3], "rotation": 90, "texture": "#0"}, + "up": {"uv": [13, 2, 14, 3], "rotation": 180, "texture": "#0"}, + "down": {"uv": [2, 2, 3, 3], "texture": "#0"} + } + }, + { + "from": [13, 15, 2], + "to": [14, 16, 3], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [2, 2, 3, 3], "rotation": 180, "texture": "#0"}, + "east": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "south": {"uv": [2, 2, 3, 3], "texture": "#0"}, + "west": {"uv": [2, 2, 3, 3], "rotation": 90, "texture": "#0"}, + "up": {"uv": [2, 13, 3, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [2, 2, 3, 3], "texture": "#0"} + } + }, + { + "from": [13, 15, 13], + "to": [14, 16, 14], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [2, 2, 3, 3], "rotation": 180, "texture": "#0"}, + "east": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "south": {"uv": [2, 2, 3, 3], "texture": "#0"}, + "west": {"uv": [2, 2, 3, 3], "rotation": 90, "texture": "#0"}, + "up": {"uv": [2, 2, 3, 3], "rotation": 180, "texture": "#0"}, + "down": {"uv": [2, 2, 3, 3], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/machine_input/item.json b/src/main/resources/assets/tfmg/models/block/machine_input/item.json new file mode 100644 index 00000000..da61c4e2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/machine_input/item.json @@ -0,0 +1,144 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/heavy_machinery_casing", + "1": "tfmg:block/heavy_gearbox", + "2": "create:block/axis", + "3": "create:block/axis_top", + "particle": "tfmg:block/heavy_machinery_casing" + }, + "elements": [ + { + "from": [0, 0, 1], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#1"}, + "east": {"uv": [0, 0, 16, 15], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 1, 16, 16], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 15, 16], "rotation": 270, "texture": "#0"}, + "down": {"uv": [1, 0, 16, 16], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "Axis", + "from": [6, 6, 0], + "to": [10, 10, 10], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [6, 6, 10, 10], "texture": "#3"}, + "east": {"uv": [6, 0, 10, 10], "rotation": 90, "texture": "#2"}, + "south": {"uv": [6, 6, 10, 10], "rotation": 180, "texture": "#2"}, + "west": {"uv": [6, 0, 10, 10], "rotation": 270, "texture": "#2"}, + "up": {"uv": [6, 0, 10, 10], "texture": "#2"}, + "down": {"uv": [6, 0, 10, 10], "rotation": 180, "texture": "#2"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 2, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [14, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "rotation": 270, "texture": "#0"}, + "up": {"uv": [1, 0, 2, 16], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 16], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [0, 2, 0], + "to": [2, 14, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [2, 0, 14, 2], "rotation": 90, "texture": "#0"}, + "east": {"uv": [2, 14, 14, 15], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 12, 2], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 12, 1], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 2], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [14, 2, 0], + "to": [16, 14, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 14, 13, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [2, 15, 14, 16], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 12, 2], "rotation": 270, "texture": "#0"}, + "west": {"uv": [2, 14, 14, 15], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 2], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [0, 14, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 16], "rotation": 270, "texture": "#0"}, + "down": {"uv": [14, 0, 15, 16], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13, 2, 0], + "to": [14, 3, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13, 13, 14, 14], "rotation": 90, "texture": "#0"}, + "east": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "south": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "west": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "up": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 2, 0], + "to": [3, 3, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13, 2, 14, 3], "rotation": 90, "texture": "#0"}, + "east": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "south": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "west": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "up": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13, 13, 0], + "to": [14, 14, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [2, 13, 3, 14], "rotation": 90, "texture": "#0"}, + "east": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "south": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "west": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "up": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 13, 0], + "to": [3, 14, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [2, 2, 3, 3], "rotation": 90, "texture": "#0"}, + "east": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "south": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "west": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "up": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"}, + "down": {"uv": [2, 2, 3, 3], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/metal_smokestack/block.json b/src/main/resources/assets/tfmg/models/block/metal_smokestack/block.json new file mode 100644 index 00000000..a8f5bb3d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/metal_smokestack/block.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/smokestack/smokestack", + "textures": { + "0": "tfmg:block/metal_smokestack", + "particle": "tfmg:block/metal_smokestack" + } + +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/metal_smokestack/block_top.json b/src/main/resources/assets/tfmg/models/block/metal_smokestack/block_top.json new file mode 100644 index 00000000..818f95aa --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/metal_smokestack/block_top.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/smokestack/smokestack_top", + "textures": { + "0": "tfmg:block/metal_smokestack", + "particle": "tfmg:block/metal_smokestack" + } + +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/metal_smokestack/item.json b/src/main/resources/assets/tfmg/models/block/metal_smokestack/item.json new file mode 100644 index 00000000..818f95aa --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/metal_smokestack/item.json @@ -0,0 +1,8 @@ +{ + "parent": "tfmg:block/smokestack/smokestack_top", + "textures": { + "0": "tfmg:block/metal_smokestack", + "particle": "tfmg:block/metal_smokestack" + } + +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/modern_light/block.json b/src/main/resources/assets/tfmg/models/block/modern_light/block.json new file mode 100644 index 00000000..62eaceee --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/modern_light/block.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/modern_light_off", + "1": "tfmg:block/industrial_aluminum_casing", + "2": "tfmg:block/aluminum_inlet", + "particle": "tfmg:block/modern_light_off" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 3, 16], + "rotation": {"angle": 0, "axis": "z", "origin": [16, 2, 0]}, + "faces": { + "north": {"uv": [0, 13, 16, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [0, 13, 16, 16], "rotation": 180, "texture": "#1"}, + "south": {"uv": [0, 13, 16, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [0, 13, 16, 16], "rotation": 180, "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/modern_light/block_powered.json b/src/main/resources/assets/tfmg/models/block/modern_light/block_powered.json new file mode 100644 index 00000000..ea0f887d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/modern_light/block_powered.json @@ -0,0 +1,25 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/industrial_aluminum_casing", + "2": "tfmg:block/aluminum_inlet", + "3": "tfmg:block/modern_light_on", + "particle": "tfmg:block/modern_light_on" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 3, 16], + "rotation": {"angle": 0, "axis": "z", "origin": [16, 2, 0]}, + "faces": { + "north": {"uv": [0, 13, 16, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [0, 13, 16, 16], "rotation": 180, "texture": "#1"}, + "south": {"uv": [0, 13, 16, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [0, 13, 16, 16], "rotation": 180, "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#3"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/modern_light/item.json b/src/main/resources/assets/tfmg/models/block/modern_light/item.json new file mode 100644 index 00000000..3e2a37ef --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/modern_light/item.json @@ -0,0 +1,25 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/modern_light_off", + "1": "tfmg:block/industrial_aluminum_casing", + "2": "tfmg:block/aluminum_inlet", + "particle": "tfmg:block/modern_light_off" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 3, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 2, 16]}, + "faces": { + "north": {"uv": [0, 13, 16, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [0, 13, 16, 16], "rotation": 180, "texture": "#1"}, + "south": {"uv": [0, 13, 16, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [0, 13, 16, 16], "rotation": 180, "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/modern_light/light.json b/src/main/resources/assets/tfmg/models/block/modern_light/light.json new file mode 100644 index 00000000..aa2f687a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/modern_light/light.json @@ -0,0 +1,33 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "tfmg:block/light", + "particle": "tfmg:block/light" + }, + "elements": [ + { + "from": [2, 2, 2.2], + "to": [14, 14, 3.2], + "rotation": {"angle": 0, "axis": "x", "origin": [1, 8, 8]}, + "faces": { + "east": {"uv": [0, 9, 10, 10], "rotation": 270, "texture": "#1"}, + "south": {"uv": [0, 8, 12, 16], "texture": "#1"}, + "west": {"uv": [1, 15, 11, 16], "rotation": 90, "texture": "#1"}, + "up": {"uv": [0, 9, 12, 10], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 9, 12, 10], "texture": "#1"} + } + }, + { + "from": [1.5, 1.5, 2.2], + "to": [14.5, 14.5, 3.7], + "rotation": {"angle": 0, "axis": "x", "origin": [1, 8, 8]}, + "faces": { + "east": {"uv": [0, 9, 10, 10], "rotation": 270, "texture": "#1"}, + "south": {"uv": [0, 8, 12, 16], "texture": "#1"}, + "west": {"uv": [1, 15, 11, 16], "rotation": 90, "texture": "#1"}, + "up": {"uv": [0, 9, 12, 10], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 9, 12, 10], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/napalm_bomb/block.json b/src/main/resources/assets/tfmg/models/block/napalm_bomb/block.json new file mode 100644 index 00000000..953c5d88 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/napalm_bomb/block.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "top": "tfmg:block/napalm_bomb_top", + "bottom": "tfmg:block/napalm_bomb_bottom", + "side": "tfmg:block/napalm_bomb_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/napalm_bomb/item.json b/src/main/resources/assets/tfmg/models/block/napalm_bomb/item.json new file mode 100644 index 00000000..953c5d88 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/napalm_bomb/item.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "top": "tfmg:block/napalm_bomb_top", + "bottom": "tfmg:block/napalm_bomb_bottom", + "side": "tfmg:block/napalm_bomb_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/neon_tube/block.json b/src/main/resources/assets/tfmg/models/block/neon_tube/block.json new file mode 100644 index 00000000..94d4b1d4 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/neon_tube/block.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/neon_tube", + "particle": "tfmg:block/neon_tube" + }, + "elements": [ + { + "from": [6, 0, 6], + "to": [10, 16, 10], + "faces": { + "north": {"uv": [0, 0, 4, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 16], "texture": "#0"}, + "up": {"uv": [5, 0, 9, 4], "texture": "#0"}, + "down": {"uv": [5, 0, 9, 4], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/neon_tube/block_bottom.json b/src/main/resources/assets/tfmg/models/block/neon_tube/block_bottom.json new file mode 100644 index 00000000..f0e11fd6 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/neon_tube/block_bottom.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/neon_tube", + "particle": "tfmg:block/neon_tube" + }, + "elements": [ + { + "from": [6, 0, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 6], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 4, 6], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 0, 4, 6], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 4, 6], "rotation": 180, "texture": "#0"}, + "up": {"uv": [5, 0, 9, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5, 0, 9, 4], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/neon_tube/block_center.json b/src/main/resources/assets/tfmg/models/block/neon_tube/block_center.json new file mode 100644 index 00000000..92e79688 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/neon_tube/block_center.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/neon_tube", + "particle": "tfmg:block/neon_tube" + }, + "elements": [ + { + "from": [6, 6, 6], + "to": [10, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 7]}, + "faces": { + "north": {"uv": [5, 6, 9, 10], "texture": "#0"}, + "east": {"uv": [5, 6, 9, 10], "texture": "#0"}, + "south": {"uv": [5, 6, 9, 10], "texture": "#0"}, + "west": {"uv": [5, 6, 9, 10], "texture": "#0"}, + "up": {"uv": [5, 6, 9, 10], "texture": "#0"}, + "down": {"uv": [5, 6, 9, 10], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/neon_tube/block_east.json b/src/main/resources/assets/tfmg/models/block/neon_tube/block_east.json new file mode 100644 index 00000000..dcaf6cb1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/neon_tube/block_east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/neon_tube", + "particle": "tfmg:block/neon_tube" + }, + "elements": [ + { + "from": [10, 6, 6], + "to": [16, 10, 10], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 6], "rotation": 270, "texture": "#0"}, + "east": {"uv": [5, 0, 9, 4], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 4, 6], "rotation": 90, "texture": "#0"}, + "west": {"uv": [5, 0, 9, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 6], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/neon_tube/block_north.json b/src/main/resources/assets/tfmg/models/block/neon_tube/block_north.json new file mode 100644 index 00000000..4b2c09fa --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/neon_tube/block_north.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/neon_tube", + "particle": "tfmg:block/neon_tube" + }, + "elements": [ + { + "from": [6, 6, 0], + "to": [10, 10, 6], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [5, 0, 9, 4], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 4, 6], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5, 0, 9, 4], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 6], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 6], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 6], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/neon_tube/block_south.json b/src/main/resources/assets/tfmg/models/block/neon_tube/block_south.json new file mode 100644 index 00000000..bce373cd --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/neon_tube/block_south.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/neon_tube", + "particle": "tfmg:block/neon_tube" + }, + "elements": [ + { + "from": [6, 6, 10], + "to": [10, 10, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [5, 0, 9, 4], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 4, 6], "rotation": 270, "texture": "#0"}, + "south": {"uv": [5, 0, 9, 4], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 6], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/neon_tube/block_top.json b/src/main/resources/assets/tfmg/models/block/neon_tube/block_top.json new file mode 100644 index 00000000..770046fe --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/neon_tube/block_top.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/neon_tube", + "particle": "tfmg:block/neon_tube" + }, + "elements": [ + { + "from": [6, 10, 6], + "to": [10, 16, 10], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 6], "texture": "#0"}, + "up": {"uv": [5, 0, 9, 4], "texture": "#0"}, + "down": {"uv": [5, 0, 9, 4], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/neon_tube/block_west.json b/src/main/resources/assets/tfmg/models/block/neon_tube/block_west.json new file mode 100644 index 00000000..a06c675e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/neon_tube/block_west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/neon_tube", + "particle": "tfmg:block/neon_tube" + }, + "elements": [ + { + "from": [0, 6, 6], + "to": [6, 10, 10], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 6], "rotation": 90, "texture": "#0"}, + "east": {"uv": [5, 0, 9, 4], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 4, 6], "rotation": 270, "texture": "#0"}, + "west": {"uv": [5, 0, 9, 4], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 6], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 6], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/neon_tube/extension_bottom.json b/src/main/resources/assets/tfmg/models/block/neon_tube/extension_bottom.json new file mode 100644 index 00000000..8a1bf616 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/neon_tube/extension_bottom.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/neon_tube", + "particle": "tfmg:block/neon_tube" + }, + "elements": [ + { + "from": [6, 0, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 6], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 4, 6], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 0, 4, 6], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 4, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5, 0, 9, 4], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/neon_tube/extension_east.json b/src/main/resources/assets/tfmg/models/block/neon_tube/extension_east.json new file mode 100644 index 00000000..db68d559 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/neon_tube/extension_east.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/neon_tube", + "particle": "tfmg:block/neon_tube" + }, + "elements": [ + { + "from": [10, 6, 6], + "to": [16, 10, 10], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 6], "rotation": 270, "texture": "#0"}, + "east": {"uv": [5, 0, 9, 4], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 4, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 6], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/neon_tube/extension_north.json b/src/main/resources/assets/tfmg/models/block/neon_tube/extension_north.json new file mode 100644 index 00000000..352cebed --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/neon_tube/extension_north.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/neon_tube", + "particle": "tfmg:block/neon_tube" + }, + "elements": [ + { + "from": [6, 6, 0], + "to": [10, 10, 6], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [5, 0, 9, 4], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 4, 6], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 4, 6], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 6], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 6], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/neon_tube/extension_south.json b/src/main/resources/assets/tfmg/models/block/neon_tube/extension_south.json new file mode 100644 index 00000000..61edb522 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/neon_tube/extension_south.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/neon_tube", + "particle": "tfmg:block/neon_tube" + }, + "elements": [ + { + "from": [6, 6, 10], + "to": [10, 10, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 6], "rotation": 270, "texture": "#0"}, + "south": {"uv": [5, 0, 9, 4], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 6], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/neon_tube/extension_top.json b/src/main/resources/assets/tfmg/models/block/neon_tube/extension_top.json new file mode 100644 index 00000000..83b72c88 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/neon_tube/extension_top.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/neon_tube", + "particle": "tfmg:block/neon_tube" + }, + "elements": [ + { + "from": [6, 10, 6], + "to": [10, 16, 10], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 6], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 6], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 6], "texture": "#0"}, + "up": {"uv": [5, 0, 9, 4], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/neon_tube/extension_west.json b/src/main/resources/assets/tfmg/models/block/neon_tube/extension_west.json new file mode 100644 index 00000000..f40dbdf8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/neon_tube/extension_west.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/neon_tube", + "particle": "tfmg:block/neon_tube" + }, + "elements": [ + { + "from": [0, 6, 6], + "to": [6, 10, 10], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 6], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 4, 6], "rotation": 270, "texture": "#0"}, + "west": {"uv": [5, 0, 9, 4], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 6], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 6], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/neon_tube/item.json b/src/main/resources/assets/tfmg/models/block/neon_tube/item.json new file mode 100644 index 00000000..94d4b1d4 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/neon_tube/item.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/neon_tube", + "particle": "tfmg:block/neon_tube" + }, + "elements": [ + { + "from": [6, 0, 6], + "to": [10, 16, 10], + "faces": { + "north": {"uv": [0, 0, 4, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 16], "texture": "#0"}, + "up": {"uv": [5, 0, 9, 4], "texture": "#0"}, + "down": {"uv": [5, 0, 9, 4], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/neon_tube/light.json b/src/main/resources/assets/tfmg/models/block/neon_tube/light.json new file mode 100644 index 00000000..82c153ce --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/neon_tube/light.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/neon_tube", + "particle": "tfmg:block/neon_tube" + }, + "elements": [ + { + "from": [5.5, 5.5, -0.1], + "to": [10.5, 10.5, 16.1], + "faces": { + "north": {"uv": [11, 0, 16, 5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [11, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 0, 16, 5], "texture": "#0"}, + "west": {"uv": [11, 0, 16, 16], "rotation": 270, "texture": "#0"}, + "up": {"uv": [11, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [11, 0, 16, 16], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/neon_tube/light_center.json b/src/main/resources/assets/tfmg/models/block/neon_tube/light_center.json new file mode 100644 index 00000000..682ce260 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/neon_tube/light_center.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/light", + "particle": "tfmg:block/light" + }, + "elements": [ + { + "from": [5.8, 5.8, 5.8], + "to": [10.2, 10.2, 10.2], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 6]}, + "faces": { + "north": {"uv": [3, 3, 7, 7], "texture": "#0"}, + "east": {"uv": [3, 3, 7, 7], "texture": "#0"}, + "south": {"uv": [3, 3, 7, 7], "texture": "#0"}, + "west": {"uv": [3, 3, 7, 7], "texture": "#0"}, + "up": {"uv": [3, 3, 7, 7], "texture": "#0"}, + "down": {"uv": [3, 3, 7, 7], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/neon_tube/light_side.json b/src/main/resources/assets/tfmg/models/block/neon_tube/light_side.json new file mode 100644 index 00000000..27ee40b6 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/neon_tube/light_side.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/light", + "particle": "tfmg:block/light" + }, + "elements": [ + { + "from": [5.8, 9.93, 5.8], + "to": [10.2, 16.03, 10.2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 11, 6]}, + "faces": { + "north": {"uv": [2, 9, 6, 15], "texture": "#0"}, + "east": {"uv": [2, 9, 6, 15], "texture": "#0"}, + "south": {"uv": [2, 9, 6, 15], "texture": "#0"}, + "west": {"uv": [2, 9, 6, 15], "texture": "#0"}, + "up": {"uv": [2, 9, 6, 13], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/nickel_flywheel/block.json b/src/main/resources/assets/tfmg/models/block/nickel_flywheel/block.json new file mode 100644 index 00000000..85cccd38 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/nickel_flywheel/block.json @@ -0,0 +1,6 @@ +{ + "parent": "tfmg:block/nickel_flywheel/flywheel", + "loader": "neoforge:obj", + "flip-v": true, + "model": "create:models/block/flywheel/flywheel_shaftless.obj" +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/nickel_flywheel/flywheel.json b/src/main/resources/assets/tfmg/models/block/nickel_flywheel/flywheel.json new file mode 100644 index 00000000..d78d0b77 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/nickel_flywheel/flywheel.json @@ -0,0 +1,10 @@ +{ + "parent": "block/block", + "ambientocclusion": false, + "textures": { + "0": "tfmg:block/nickel_flywheel", + "1": "create:block/axis", + "2": "create:block/axis_top", + "particle": "tfmg:block/nickel_flywheel" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/nickel_flywheel/item.json b/src/main/resources/assets/tfmg/models/block/nickel_flywheel/item.json new file mode 100644 index 00000000..ff94eb4d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/nickel_flywheel/item.json @@ -0,0 +1,18 @@ +{ + "parent": "tfmg:block/nickel_flywheel/flywheel", + "loader": "neoforge:obj", + "flip-v": true, + "model": "create:models/block/flywheel/flywheel.obj", + "display": { + "gui": { + "rotation": [ 30, 225, 0 ], + "translation": [ 0, 0, 0], + "scale":[ 0.4, 0.4, 0.4 ] + }, + "fixed": { + "rotation": [ 90, 0, 0 ], + "translation": [ 0, 0, 0], + "scale":[ 0.4, 0.4, 0.4 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/nickel_frame/block.json b/src/main/resources/assets/tfmg/models/block/nickel_frame/block.json new file mode 100644 index 00000000..364cd724 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/nickel_frame/block.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/nickel_frame", + "particle": "tfmg:block/nickel_frame" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/nickel_frame/item.json b/src/main/resources/assets/tfmg/models/block/nickel_frame/item.json new file mode 100644 index 00000000..364cd724 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/nickel_frame/item.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/nickel_frame", + "particle": "tfmg:block/nickel_frame" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/nickel_truss.json b/src/main/resources/assets/tfmg/models/block/nickel_truss.json new file mode 100644 index 00000000..a71f697a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/nickel_truss.json @@ -0,0 +1,106 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/nickel_truss", + "particle": "tfmg:block/nickel_block" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [2, 0, 15], + "to": [14, 16, 15], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + }, + { + "from": [15, 0, 2], + "to": [15, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 0, 2], + "to": [1, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 0, 1], + "to": [14, 16, 1], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_bottom.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_bottom.json new file mode 100644 index 00000000..c3bfcece --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_bottom.json @@ -0,0 +1,74 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "4": "tfmg:block/plastic_fluid_tank_inner", + "particle": "tfmg:block/fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window.json new file mode 100644 index 00000000..e7c4ffc4 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window.json @@ -0,0 +1,154 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "3": "tfmg:block/plastic_fluid_tank_window", + "4": "tfmg:block/plastic_fluid_tank_inner", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [4, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 1, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 4], + "faces": { + "east": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 1, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 4, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 1, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 12], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [0, 0, 1, 12], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 4, 0.95], + "to": [12, 16, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "north"}, + "south": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 4], + "to": [15.05, 16, 12], + "faces": { + "east": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "east"}, + "west": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 4, 15.05], + "to": [12, 16, 15.05], + "faces": { + "north": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "south"}, + "south": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 4], + "to": [0.95, 16, 12], + "faces": { + "east": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "west"}, + "west": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 4, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "west": {"uv": [15, 0, 16, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 12], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [15, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [4, 16, 16], + "faces": { + "north": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "east": {"uv": [15, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 16, 4], + "faces": { + "east": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "south": {"uv": [15, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window_ne.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window_ne.json new file mode 100644 index 00000000..76c723a3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window_ne.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "3": "tfmg:block/plastic_fluid_tank_window", + "4": "tfmg:block/plastic_fluid_tank_inner", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 5, 12], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 4, 0.95], + "to": [4, 16, 0.95], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "south": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 12], + "to": [15.05, 16, 16], + "faces": { + "east": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [4, 4, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "west": {"uv": [11, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window_nw.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window_nw.json new file mode 100644 index 00000000..8dce39ce --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window_nw.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "3": "tfmg:block/plastic_fluid_tank_window", + "4": "tfmg:block/plastic_fluid_tank_inner", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [12, 16, 1], + "faces": { + "north": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "east": {"uv": [4, 0, 5, 12], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 12], + "to": [0.95, 16, 16], + "faces": { + "east": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [12, 4, 0.95], + "to": [16, 16, 0.95], + "faces": { + "north": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "south": {"uv": [11, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window_se.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window_se.json new file mode 100644 index 00000000..d7ccab7d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window_se.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "3": "tfmg:block/plastic_fluid_tank_window", + "4": "tfmg:block/plastic_fluid_tank_inner", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 4, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "west": {"uv": [4, 0, 5, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 0], + "to": [15.05, 16, 4], + "faces": { + "east": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "west": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 4, 15.05], + "to": [4, 16, 15.05], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "south": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 4], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [11, 0, 12, 12], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window_sw.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window_sw.json new file mode 100644 index 00000000..27852a4d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_bottom_window_sw.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "3": "tfmg:block/plastic_fluid_tank_window", + "4": "tfmg:block/plastic_fluid_tank_inner", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 4], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [4, 0, 5, 12], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 4, 15.05], + "to": [16, 16, 15.05], + "faces": { + "north": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 0], + "to": [0.95, 16, 4], + "faces": { + "east": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "west": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [12, 16, 16], + "faces": { + "north": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "east": {"uv": [11, 0, 12, 12], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_middle.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_middle.json new file mode 100644 index 00000000..bbdc465b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_middle.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/plastic_fluid_tank", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 15], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [1, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_middle_window.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_middle_window.json new file mode 100644 index 00000000..6027cea0 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_middle_window.json @@ -0,0 +1,138 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/plastic_fluid_tank", + "3": "tfmg:block/fluid_tank_window", + "particle": "tfmg:block/fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [4, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 4], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 1, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 0, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 1, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 12], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [0, 0, 1, 16], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 0, 0.95], + "to": [12, 16, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "north"}, + "south": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 4], + "to": [15.05, 16, 12], + "faces": { + "east": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "east"}, + "west": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 0, 15.05], + "to": [12, 16, 15.05], + "faces": { + "north": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "south"}, + "south": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [0.95, 0, 4], + "to": [0.95, 16, 12], + "faces": { + "east": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "west"}, + "west": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 0, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "west": {"uv": [15, 0, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 12], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [15, 0, 16, 16], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [4, 16, 16], + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "east": {"uv": [15, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 16, 4], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "west"}, + "south": {"uv": [15, 0, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_middle_window_ne.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_middle_window_ne.json new file mode 100644 index 00000000..927a2b1b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_middle_window_ne.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/plastic_fluid_tank", + "3": "tfmg:block/plastic_fluid_tank_window", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [4, 0, 5, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 0, 0.95], + "to": [4, 16, 0.95], + "faces": { + "north": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 12], + "to": [15.05, 16, 16], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [4, 0, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [11, 0, 12, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_middle_window_nw.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_middle_window_nw.json new file mode 100644 index 00000000..8e1cd413 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_middle_window_nw.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/plastic_fluid_tank", + "3": "tfmg:block/plastic_fluid_tank_window", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [12, 16, 1], + "faces": { + "north": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [4, 0, 5, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0.95, 0, 12], + "to": [0.95, 16, 16], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [12, 0, 0.95], + "to": [16, 16, 0.95], + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "south": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [11, 0, 12, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_middle_window_se.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_middle_window_se.json new file mode 100644 index 00000000..51faca72 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_middle_window_se.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/plastic_fluid_tank", + "3": "tfmg:block/plastic_fluid_tank_window", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 0, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [4, 0, 5, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 0], + "to": [15.05, 16, 4], + "faces": { + "east": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 0, 15.05], + "to": [4, 16, 15.05], + "faces": { + "north": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 4], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [11, 0, 12, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_middle_window_sw.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_middle_window_sw.json new file mode 100644 index 00000000..4b986bee --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_middle_window_sw.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/plastic_fluid_tank", + "3": "tfmg:block/plastic_fluid_tank_window", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 4], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [4, 0, 5, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 0, 15.05], + "to": [16, 16, 15.05], + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "south": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0.95, 0, 0], + "to": [0.95, 16, 4], + "faces": { + "east": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [12, 16, 16], + "faces": { + "north": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [11, 0, 12, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_single.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_single.json new file mode 100644 index 00000000..6bd37ac2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_single.json @@ -0,0 +1,127 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "4": "tfmg:block/plastic_fluid_tank_inner", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [] + }, + { + "name": "block_middle", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [] + } + ] + }, + { + "name": "block_bottom", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] + }, + { + "name": "block_top", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [4, 5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_single_window.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_single_window.json new file mode 100644 index 00000000..0befce72 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_single_window.json @@ -0,0 +1,168 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "4": "tfmg:block/plastic_fluid_tank_inner", + "5": "tfmg:block/plastic_fluid_tank_window_single", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [4, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "east": {"uv": [8, 4, 9, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "south": {"uv": [8, 4, 9, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 4, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "west": {"uv": [8, 4, 9, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 12], + "to": [1, 12, 16], + "faces": { + "north": {"uv": [8, 4, 9, 12], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 4, 0.95], + "to": [12, 12, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "north"}, + "south": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 4], + "to": [15.05, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "east"}, + "west": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 4, 15.05], + "to": [12, 12, 15.05], + "faces": { + "north": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "south"}, + "south": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 4], + "to": [0.95, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "west"}, + "west": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "west": {"uv": [7, 4, 8, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 12], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [7, 4, 8, 12], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [4, 12, 16], + "faces": { + "north": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "east": {"uv": [7, 4, 8, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "south": {"uv": [7, 4, 8, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_single_window_ne.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_single_window_ne.json new file mode 100644 index 00000000..8dcb1f30 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_single_window_ne.json @@ -0,0 +1,104 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "4": "tfmg:block/plastic_fluid_tank_inner", + "5": "tfmg:block/plastic_fluid_tank_window_single", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "south": {"uv": [4, 4, 5, 12], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 4, 0.95], + "to": [4, 12, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 8], "texture": "#5"}, + "south": {"uv": [4, 0, 8, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 12], + "to": [15.05, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 0, 8, 8], "texture": "#5"}, + "west": {"uv": [0, 0, 4, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [4, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "west": {"uv": [11, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_single_window_nw.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_single_window_nw.json new file mode 100644 index 00000000..ad43b376 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_single_window_nw.json @@ -0,0 +1,104 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "4": "tfmg:block/plastic_fluid_tank_inner", + "5": "tfmg:block/plastic_fluid_tank_window_single", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [12, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "east": {"uv": [4, 4, 5, 12], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 12], + "to": [0.95, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 0, 8, 8], "texture": "#5"}, + "west": {"uv": [0, 0, 4, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [12, 4, 0.95], + "to": [16, 12, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 0, 8, 8], "texture": "#5"}, + "south": {"uv": [0, 0, 4, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "south": {"uv": [11, 4, 12, 12], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_single_window_se.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_single_window_se.json new file mode 100644 index 00000000..e1300fa2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_single_window_se.json @@ -0,0 +1,104 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "4": "tfmg:block/plastic_fluid_tank_inner", + "5": "tfmg:block/plastic_fluid_tank_window_single", + "particle": "tfmg:block/fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 4, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "west": {"uv": [4, 4, 5, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15.05, 4, 0], + "to": [15.05, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 8], "texture": "#5"}, + "west": {"uv": [4, 0, 8, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [0, 4, 15.05], + "to": [4, 12, 15.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 8], "texture": "#5"}, + "south": {"uv": [4, 0, 8, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 4], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [11, 4, 12, 12], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_single_window_sw.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_single_window_sw.json new file mode 100644 index 00000000..1e60a600 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_single_window_sw.json @@ -0,0 +1,104 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "4": "tfmg:block/plastic_fluid_tank_inner", + "5": "tfmg:block/plastic_fluid_tank_window_single", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 4], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 5, 12], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 4, 15.05], + "to": [16, 12, 15.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 0, 8, 8], "texture": "#5"}, + "south": {"uv": [0, 0, 4, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [0.95, 4, 0], + "to": [0.95, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 8], "texture": "#5"}, + "west": {"uv": [4, 0, 8, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "east": {"uv": [11, 4, 12, 12], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_top.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_top.json new file mode 100644 index 00000000..f2b32884 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_top.json @@ -0,0 +1,71 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "4": "tfmg:block/plastic_fluid_tank_inner", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 16], + "faces": { + "east": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [1, 12, 16], + "faces": { + "east": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_top_window.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_top_window.json new file mode 100644 index 00000000..5ccb68d1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_top_window.json @@ -0,0 +1,154 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "3": "tfmg:block/plastic_fluid_tank_window", + "4": "tfmg:block/plastic_fluid_tank_inner", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [4, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 4, 1, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 4, 1, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 0, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 4, 1, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 12], + "to": [1, 12, 16], + "faces": { + "north": {"uv": [0, 4, 1, 16], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 0, 0.95], + "to": [12, 12, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "north"}, + "south": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 4], + "to": [15.05, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "east"}, + "west": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 0, 15.05], + "to": [12, 12, 15.05], + "faces": { + "north": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "south"}, + "south": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [0.95, 0, 4], + "to": [0.95, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "west"}, + "west": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "west": {"uv": [15, 4, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 12], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [15, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [4, 12, 16], + "faces": { + "north": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "east": {"uv": [15, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "south": {"uv": [15, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_top_window_ne.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_top_window_ne.json new file mode 100644 index 00000000..07162d28 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_top_window_ne.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "3": "tfmg:block/plastic_fluid_tank_window", + "4": "tfmg:block/plastic_fluid_tank_inner", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "south": {"uv": [4, 4, 5, 16], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 0, 0.95], + "to": [4, 12, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "south": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 12], + "to": [15.05, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 0, 8, 12], "texture": "#3"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [4, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "west": {"uv": [11, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_top_window_nw.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_top_window_nw.json new file mode 100644 index 00000000..120f734a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_top_window_nw.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "3": "tfmg:block/plastic_fluid_tank_window", + "4": "tfmg:block/plastic_fluid_tank_inner", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [12, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "east": {"uv": [4, 4, 5, 16], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0.95, 0, 12], + "to": [0.95, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 0, 8, 12], "texture": "#3"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [12, 0, 0.95], + "to": [16, 12, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 0, 8, 12], "texture": "#3"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "south": {"uv": [11, 4, 12, 16], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_top_window_se.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_top_window_se.json new file mode 100644 index 00000000..13958650 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_top_window_se.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "3": "tfmg:block/plastic_fluid_tank_window", + "4": "tfmg:block/plastic_fluid_tank_inner", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 0, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "west": {"uv": [4, 4, 5, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15.05, 0, 0], + "to": [15.05, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "west": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 0, 15.05], + "to": [4, 12, 15.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "south": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 4], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [11, 4, 12, 16], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_top_window_sw.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_top_window_sw.json new file mode 100644 index 00000000..a74e0646 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_tank/block_top_window_sw.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_fluid_tank_top", + "1": "tfmg:block/plastic_fluid_tank", + "3": "tfmg:block/plastic_fluid_tank_window", + "4": "tfmg:block/plastic_fluid_tank_inner", + "particle": "tfmg:block/plastic_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 4], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 5, 16], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 0, 15.05], + "to": [16, 12, 15.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 0, 8, 12], "texture": "#3"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0.95, 0, 0], + "to": [0.95, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "west": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "east": {"uv": [11, 4, 12, 16], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_valve/block_horizontal_closed.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_valve/block_horizontal_closed.json new file mode 100644 index 00000000..cab0b69f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_valve/block_horizontal_closed.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/plastic_fluid_valve", + "3": "tfmg:block/plastic_valve_closed", + "particle": "tfmg:block/plastic_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "down": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1.5, 9.5, 6.5, 14.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7, 9, 1, 15], "rotation": 90, "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_valve/block_horizontal_open.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_valve/block_horizontal_open.json new file mode 100644 index 00000000..d5b7bfcb --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_valve/block_horizontal_open.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/plastic_fluid_valve", + "3": "tfmg:block/plastic_valve_open", + "particle": "tfmg:block/plastic_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "down": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1.5, 9.5, 6.5, 14.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7, 9, 1, 15], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_valve/block_vertical_closed.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_valve/block_vertical_closed.json new file mode 100644 index 00000000..c6148051 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_valve/block_vertical_closed.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench, praise the pufferfish", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/plastic_fluid_valve", + "4": "tfmg:block/plastic_valve_closed", + "particle": "tfmg:block/plastic_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "east": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "west": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "up": {"uv": [9, 1, 15, 7], "texture": "#2"}, + "down": {"uv": [9, 1, 15, 7], "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "west": {"uv": [1.5, 9.5, 6.5, 14.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + }, + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "east": {"uv": [6.5, 9.5, 1.5, 14.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_valve/block_vertical_open.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_valve/block_vertical_open.json new file mode 100644 index 00000000..34f9bd00 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_valve/block_vertical_open.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/plastic_fluid_valve", + "4": "tfmg:block/plastic_valve_open", + "particle": "tfmg:block/plastic_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "east": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "west": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "up": {"uv": [9, 1, 15, 7], "texture": "#2"}, + "down": {"uv": [9, 1, 15, 7], "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "west": {"uv": [1.5, 9.5, 6.5, 14.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + }, + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "east": {"uv": [6.5, 9.5, 1.5, 14.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_valve/item.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_valve/item.json new file mode 100644 index 00000000..65a5bace --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_valve/item.json @@ -0,0 +1,155 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "2": "tfmg:block/plastic_fluid_valve", + "4": "tfmg:block/plastic_valve_open", + "1_1": "create:block/axis_top", + "1_0": "create:block/axis", + "particle": "tfmg:block/plastic_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [9, 1, 15, 7], "texture": "#2"}, + "east": {"uv": [1, 9, 7, 15], "texture": "#2"}, + "south": {"uv": [9, 1, 15, 7], "texture": "#2"}, + "west": {"uv": [1, 9, 7, 15], "texture": "#2"}, + "up": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "down": {"uv": [1, 1, 7, 7], "texture": "#2"} + } + }, + { + "from": [2, 14, 2], + "to": [14, 13, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 23, 11]}, + "faces": { + "north": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "east": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "south": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "up": {"uv": [2, 2, 14, 14], "texture": "#4"} + } + }, + { + "from": [2, 3, 2], + "to": [14, 2, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 2.5, 8]}, + "faces": { + "north": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "east": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "south": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [2, 2, 14, 14], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "west": {"uv": [6.5, 9.5, 1.5, 14.5], "texture": "#2"}, + "up": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 180, "texture": "#2"}, + "down": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 180, "texture": "#2"} + } + }, + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "east": {"uv": [6.5, 9.5, 1.5, 14.5], "texture": "#2"}, + "south": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "up": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "down": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"} + } + }, + { + "name": "Axis", + "from": [6, 6, 0], + "to": [10, 10, 16], + "faces": { + "north": {"uv": [6, 6, 10, 10], "rotation": 180, "texture": "#1_1"}, + "east": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#1_0"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#1_1"}, + "west": {"uv": [6, 0, 10, 16], "rotation": 270, "texture": "#1_0"}, + "up": {"uv": [6, 0, 10, 16], "texture": "#1_0"}, + "down": {"uv": [6, 0, 10, 16], "rotation": 180, "texture": "#1_0"} + } + }, + { + "from": [4.5, 13.5, 7.5], + "to": [11.5, 13.5, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 13.5, 8]}, + "faces": { + "up": {"uv": [2, 7.5, 5.5, 8], "texture": "#2"} + } + }, + { + "from": [4.5, 2.5, 7.5], + "to": [11.5, 2.5, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 2.5, 8]}, + "faces": { + "down": {"uv": [2, 7.5, 5.5, 8], "rotation": 180, "texture": "#2"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [90, 0, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "group", + "origin": [16, 0, 0], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "shaft", + "origin": [8, 8, 8], + "color": 0, + "children": [5] + }, + { + "name": "hands", + "origin": [7, 14, 4], + "color": 0, + "children": [6, 7] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_fluid_valve/pointer.json b/src/main/resources/assets/tfmg/models/block/plastic_fluid_valve/pointer.json new file mode 100644 index 00000000..e1b38374 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_fluid_valve/pointer.json @@ -0,0 +1,151 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "2": "tfmg:block/plastic_fluid_valve", + "4": "create:block/pump", + "particle": "tfmg:block/plastic_block" + }, + "elements": [ + { + "from": [7, 14.1, 5], + "to": [9, 15.1, 7], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [14, 0, 12, 1], "rotation": 180, "texture": "#4"}, + "east": {"uv": [14, 3, 12, 4], "texture": "#4"}, + "south": {"uv": [14, 2, 12, 3], "rotation": 180, "texture": "#4"}, + "west": {"uv": [12, 0, 13, 2], "rotation": 270, "texture": "#4"}, + "up": {"uv": [12, 0, 14, 2], "texture": "#4"}, + "down": {"uv": [14, 0, 12, 2], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [9, 14.1, 5], + "to": [11, 15.1, 9], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [16, 0, 14, 1], "texture": "#4"}, + "east": {"uv": [15, 0, 16, 4], "rotation": 90, "texture": "#4"}, + "south": {"uv": [16, 0, 14, 1], "rotation": 180, "texture": "#4"}, + "up": {"uv": [14, 0, 16, 4], "texture": "#4"}, + "down": {"uv": [16, 0, 14, 4], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [7, 14.1, 9], + "to": [11, 15.1, 11], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [16, 0, 14, 1], "texture": "#4"}, + "south": {"uv": [15, 0, 16, 4], "rotation": 90, "texture": "#4"}, + "west": {"uv": [16, 0, 14, 1], "rotation": 180, "texture": "#4"}, + "up": {"uv": [14, 0, 16, 4], "rotation": 90, "texture": "#4"}, + "down": {"uv": [16, 0, 14, 4], "rotation": 90, "texture": "#4"} + } + }, + { + "from": [9, 14.1, 7], + "to": [11, 15.1, 9], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 0, 13, 2], "rotation": 270, "texture": "#4"}, + "east": {"uv": [14, 0, 12, 1], "rotation": 180, "texture": "#4"}, + "south": {"uv": [14, 3, 12, 4], "texture": "#4"}, + "west": {"uv": [14, 2, 12, 3], "rotation": 180, "texture": "#4"}, + "up": {"uv": [12, 0, 14, 2], "rotation": 90, "texture": "#4"}, + "down": {"uv": [14, 0, 12, 2], "rotation": 90, "texture": "#4"} + } + }, + { + "from": [9, 14.1, 5], + "to": [11, 15.1, 9], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [16, 0, 14, 1], "texture": "#4"}, + "east": {"uv": [15, 0, 16, 4], "rotation": 90, "texture": "#4"}, + "south": {"uv": [16, 0, 14, 1], "rotation": 180, "texture": "#4"}, + "up": {"uv": [14, 0, 16, 4], "texture": "#4"}, + "down": {"uv": [16, 0, 14, 4], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [7, 14.1, 5], + "to": [9, 15.1, 7], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [14, 0, 12, 1], "rotation": 180, "texture": "#4"}, + "east": {"uv": [14, 3, 12, 4], "texture": "#4"}, + "south": {"uv": [14, 2, 12, 3], "rotation": 180, "texture": "#4"}, + "west": {"uv": [12, 0, 13, 2], "rotation": 270, "texture": "#4"}, + "up": {"uv": [12, 0, 14, 2], "texture": "#4"}, + "down": {"uv": [14, 0, 12, 2], "rotation": 180, "texture": "#4"} + } + }, + { + "name": "Center", + "from": [7, 14, 7], + "to": [9, 16, 9], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 15, 8]}, + "faces": { + "north": {"uv": [12.5, 0, 12, 1], "rotation": 90, "texture": "#2"}, + "east": {"uv": [13, 0.5, 12, 1], "texture": "#2"}, + "south": {"uv": [12, 0.5, 13, 1], "texture": "#2"}, + "west": {"uv": [12, 1, 12.5, 0], "rotation": 90, "texture": "#2"}, + "up": {"uv": [12, 0, 13, 1], "texture": "#2"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "Pointer", + "origin": [7.5, 14, 8], + "color": 0, + "children": [ + { + "name": "arrow", + "origin": [8, 8, 8], + "color": 0, + "children": [] + }, + { + "name": "arrow", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3, 4, 5] + }, + 6 + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_mechanical_pump/block.json b/src/main/resources/assets/tfmg/models/block/plastic_mechanical_pump/block.json new file mode 100644 index 00000000..65d6edc2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_mechanical_pump/block.json @@ -0,0 +1,67 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/block", + "textures": { + "4": "tfmg:block/plastic_pump", + "particle": "tfmg:block/plastic_pump" + }, + "elements": [ + { + "from": [2, 13, 2], + "to": [14, 16, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 14.5, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "east": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "west": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "up": {"uv": [0, 0, 6, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#4"} + } + }, + { + "from": [2, 0, 2], + "to": [14, 3, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 1.5, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "east": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "west": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "up": {"uv": [0, 0, 6, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#4"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_mechanical_pump/cog.json b/src/main/resources/assets/tfmg/models/block/plastic_mechanical_pump/cog.json new file mode 100644 index 00000000..45411bd0 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_mechanical_pump/cog.json @@ -0,0 +1,162 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "2": "tfmg:block/plastic_pump" + }, + "elements": [ + { + "from": [6.5, -1, 3], + "to": [9.5, 17, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "east": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#2"}, + "up": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [-1, 6.5, 3], + "to": [17, 9.5, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#2"}, + "east": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "texture": "#2"}, + "west": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "up": {"uv": [0, 9, 9, 14], "rotation": 180, "texture": "#2"}, + "down": {"uv": [0, 9, 9, 14], "texture": "#2"} + } + }, + { + "from": [6.5, -1, 3], + "to": [9.5, 17, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "east": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#2"}, + "up": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [-1, 6.5, 3], + "to": [17, 9.5, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#2"}, + "east": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "texture": "#2"}, + "west": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "up": {"uv": [0, 9, 9, 14], "rotation": 180, "texture": "#2"}, + "down": {"uv": [0, 9, 9, 14], "texture": "#2"} + } + }, + { + "from": [5.5, 0.9, 3.05], + "to": [10.5, 15.1, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "up": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [0.9, 5.5, 3.05], + "to": [15.1, 10.5, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [10, 9, 15, 11.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#2"}, + "west": {"uv": [10, 9, 15, 11.5], "texture": "#2"} + } + }, + { + "from": [0.9, 5.5, 3.05], + "to": [15.1, 10.5, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [10, 9, 15, 11.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#2"}, + "west": {"uv": [10, 9, 15, 11.5], "texture": "#2"} + } + }, + { + "from": [5.5, 0.9, 3.05], + "to": [10.5, 15.1, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "up": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, -149, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, -149, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, -55, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, -55, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 1, 1.25], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 45, 0], + "translation": [2.5, -0.5, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [0, 180, 0], + "translation": [0, 1.75, -4.5], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "cogwheel", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3] + }, + { + "name": "group", + "origin": [8, 8, 8], + "color": 0, + "children": [4, 5, 6, 7] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_mechanical_pump/item.json b/src/main/resources/assets/tfmg/models/block/plastic_mechanical_pump/item.json new file mode 100644 index 00000000..7dc198d9 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_mechanical_pump/item.json @@ -0,0 +1,164 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/block", + "texture_size": [32, 32], + "textures": { + "4": "tfmg:block/plastic_pump", + "particle": "tfmg:block/plastic_pump" + }, + "elements": [ + { + "from": [0, 2, 2], + "to": [3, 14, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "texture": "#4"}, + "east": {"uv": [0, 0, 6, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"}, + "west": {"uv": [0, 0, 6, 6], "rotation": 90, "texture": "#4"}, + "up": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [13, 2, 2], + "to": [16, 14, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "texture": "#4"}, + "east": {"uv": [0, 0, 6, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"}, + "west": {"uv": [0, 0, 6, 6], "rotation": 90, "texture": "#4"}, + "up": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [3, -1, 6.5], + "to": [13, 17, 9.5], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#4"}, + "east": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#4"}, + "south": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"}, + "west": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#4"}, + "up": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "down": {"uv": [10, 6.5, 15, 8], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [3, 6.5, -1], + "to": [13, 9.5, 17], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "east": {"uv": [0, 6.5, 9, 8], "texture": "#4"}, + "south": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "west": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#4"}, + "up": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"}, + "down": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"} + } + }, + { + "from": [3, -1, 6.5], + "to": [13, 17, 9.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 14, 9, 9], "rotation": 270, "texture": "#4"}, + "east": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#4"}, + "south": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"}, + "west": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#4"}, + "up": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "down": {"uv": [10, 8, 15, 6.5], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [3, 6.5, -1], + "to": [13, 9.5, 17], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "east": {"uv": [0, 6.5, 9, 8], "texture": "#4"}, + "south": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "west": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#4"}, + "up": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"}, + "down": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"} + } + }, + { + "from": [3.05, 0.9, 5.5], + "to": [12.95, 15.1, 10.5], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [1, 7, 1.5, 7.5], "texture": "#4"}, + "west": {"uv": [1, 7, 1.5, 7.5], "texture": "#4"}, + "up": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "down": {"uv": [10, 9, 15, 11.5], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [3.05, 5.5, 0.9], + "to": [12.95, 10.5, 15.1], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "east": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#4"}, + "south": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "west": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#4"} + } + }, + { + "from": [3.05, 0.9, 5.5], + "to": [12.95, 15.1, 10.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [1, 7, 1.5, 7.5], "rotation": 180, "texture": "#4"}, + "west": {"uv": [1, 7, 1.5, 7.5], "rotation": 180, "texture": "#4"}, + "up": {"uv": [10, 9, 15, 11.5], "rotation": 180, "texture": "#4"}, + "down": {"uv": [10, 9, 15, 11.5], "texture": "#4"} + } + }, + { + "from": [3.05, 5.5, 0.9], + "to": [12.95, 10.5, 15.1], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "east": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#4"}, + "south": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "west": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#4"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/casing.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/casing.json new file mode 100644 index 00000000..cd9f80a9 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/casing.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_block" + }, + "elements": [ + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "east": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "south": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "west": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "up": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "down": {"uv": [1, 11, 6, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/connection/down.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/connection/down.json new file mode 100644 index 00000000..716cf256 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/connection/down.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "name": "connection_down", + "from": [4, 0, 4], + "to": [12, 4, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 6, 4, 8], "texture": "#0"}, + "east": {"uv": [0, 6, 4, 8], "texture": "#0"}, + "south": {"uv": [4, 6, 0, 8], "texture": "#0"}, + "west": {"uv": [4, 6, 0, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/connection/east.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/connection/east.json new file mode 100644 index 00000000..5d4cc134 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/connection/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "name": "connection_east", + "from": [12, 4, 4], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 6, 4, 8], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/connection/north.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/connection/north.json new file mode 100644 index 00000000..a83723d5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/connection/north.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "name": "connection_north", + "from": [4, 4, 0], + "to": [12, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 4, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 2], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/connection/south.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/connection/south.json new file mode 100644 index 00000000..6fdeb12a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/connection/south.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "name": "connection_south", + "from": [4, 4, 12], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 4, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 6, 4, 8], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/connection/up.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/connection/up.json new file mode 100644 index 00000000..1d57e3c6 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/connection/up.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "name": "connection_up", + "from": [4, 12, 4], + "to": [12, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [4, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [4, 0, 0, 2], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/connection/west.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/connection/west.json new file mode 100644 index 00000000..8438999d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/connection/west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "name": "connection_west", + "from": [0, 4, 4], + "to": [4, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 2], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/core_x.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/core_x.json new file mode 100644 index 00000000..a11ba23b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/core_x.json @@ -0,0 +1,18 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/plastic_pipes_connected", + "particle": "tfmg:block/plastic_block" + }, + "elements": [ + { + "name": "core_x", + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "east": {"uv": [12, 8, 16, 12], "texture": "#0"}, + "west": {"uv": [16, 8, 12, 12], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/core_y.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/core_y.json new file mode 100644 index 00000000..fb79c2a2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/core_y.json @@ -0,0 +1,18 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/plastic_pipes_connected", + "particle": "tfmg:block/plastic_block" + }, + "elements": [ + { + "name": "core_y", + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "up": {"uv": [12, 12, 16, 8], "rotation": 180, "texture": "#0"}, + "down": {"uv": [12, 8, 16, 12], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/core_z.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/core_z.json new file mode 100644 index 00000000..2981730e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/core_z.json @@ -0,0 +1,18 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/plastic_pipes_connected", + "particle": "tfmg:block/plastic_block" + }, + "elements": [ + { + "name": "core_z", + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "north": {"uv": [12, 8, 16, 12], "texture": "#0"}, + "south": {"uv": [16, 8, 12, 12], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/drain/down.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/drain/down.json new file mode 100644 index 00000000..d32acb1a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/drain/down.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "from": [4.95, -3.95, 4.95], + "to": [11.05, -0.95, 11.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "down": {"uv": [13, 8, 16, 11], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2.95, -1.1, 2.95], + "to": [13.05, 2, 13.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/drain/east.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/drain/east.json new file mode 100644 index 00000000..88e2220a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/drain/east.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "from": [16.95, 4.95, 4.95], + "to": [19.95, 11.05, 11.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 8, 13.5, 11], "rotation": 180, "texture": "#0"}, + "east": {"uv": [13, 8, 16, 11], "texture": "#0"}, + "south": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "up": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "down": {"uv": [12, 8, 13.5, 11], "texture": "#0"} + } + }, + { + "from": [14, 2.95, 2.95], + "to": [17.1, 13.05, 13.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 16, 10.5, 11], "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "south": {"uv": [10.5, 11, 9, 16], "texture": "#0"}, + "west": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "up": {"uv": [10.5, 11, 9, 16], "texture": "#0"}, + "down": {"uv": [10.5, 16, 9, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/drain/north.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/drain/north.json new file mode 100644 index 00000000..3562ebbe --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/drain/north.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "from": [2.95, 2.95, -1.1], + "to": [13.05, 13.05, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "east": {"uv": [10.5, 11, 9, 16], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "west": {"uv": [9, 16, 10.5, 11], "texture": "#0"}, + "up": {"uv": [9, 11, 10.5, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4.95, 4.95, -3.95], + "to": [11.05, 11.05, -0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [13, 8, 16, 11], "texture": "#0"}, + "east": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "west": {"uv": [12, 8, 13.5, 11], "rotation": 180, "texture": "#0"}, + "up": {"uv": [12, 8, 13.5, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/drain/south.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/drain/south.json new file mode 100644 index 00000000..8183b562 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/drain/south.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "from": [4.95, 4.95, 16.95], + "to": [11.05, 11.05, 19.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "east": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "south": {"uv": [16, 8, 13, 11], "texture": "#0"}, + "west": {"uv": [13.5, 8, 12, 11], "rotation": 180, "texture": "#0"}, + "up": {"uv": [13.5, 8, 12, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2.95, 2.95, 14], + "to": [13.05, 13.05, 17.1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "east": {"uv": [9, 11, 10.5, 16], "texture": "#0"}, + "south": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "west": {"uv": [10.5, 16, 9, 11], "texture": "#0"}, + "up": {"uv": [10.5, 11, 9, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/drain/up.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/drain/up.json new file mode 100644 index 00000000..2b1372fa --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/drain/up.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "from": [2.95, 14, 2.95], + "to": [13.05, 17.1, 13.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 11, 11, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16, 11, 11, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4.95, 16.95, 4.95], + "to": [11.05, 19.95, 11.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [13, 11, 16, 8], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/drain/west.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/drain/west.json new file mode 100644 index 00000000..c217146c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/drain/west.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "from": [-1.1, 2.95, 2.95], + "to": [2, 13.05, 13.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10.5, 16, 9, 11], "texture": "#0"}, + "east": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "south": {"uv": [9, 11, 10.5, 16], "texture": "#0"}, + "west": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "up": {"uv": [9, 11, 10.5, 16], "texture": "#0"}, + "down": {"uv": [9, 16, 10.5, 11], "texture": "#0"} + } + }, + { + "from": [-3.95, 4.95, 4.95], + "to": [-0.95, 11.05, 11.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.5, 8, 12, 11], "rotation": 180, "texture": "#0"}, + "south": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "west": {"uv": [16, 8, 13, 11], "texture": "#0"}, + "up": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "down": {"uv": [13.5, 8, 12, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/item.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/item.json new file mode 100644 index 00000000..de5a4eb0 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/item.json @@ -0,0 +1,53 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_block" + }, + "elements": [ + { + "from": [4, 4, 0], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [4, 8, 8, 0], "rotation": 90, "texture": "#1"}, + "west": {"uv": [4, 0, 8, 8], "rotation": 90, "texture": "#1"}, + "up": {"uv": [4, 8, 8, 0], "texture": "#1"}, + "down": {"uv": [4, 8, 8, 0], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#1"}, + "east": {"uv": [10.5, 16, 9.5, 11], "texture": "#1"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#1"}, + "west": {"uv": [9.5, 16, 10.5, 11], "texture": "#1"}, + "up": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 15]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [10.5, 16, 9.5, 11], "rotation": 180, "texture": "#1"}, + "south": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [9.5, 16, 10.5, 11], "rotation": 180, "texture": "#1"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"} + } + } + ], + "display": { + "fixed": { + "rotation": [0, 90, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim/down.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim/down.json new file mode 100644 index 00000000..baf7457f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim/down.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "faces": { + "north": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 270, "texture": "#0", "cullface": "down"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim/east.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim/east.json new file mode 100644 index 00000000..0b6ce317 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "faces": { + "north": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "east"}, + "south": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "west": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "up": {"uv": [9.5, 16, 10.5, 11], "rotation": 180, "texture": "#0"}, + "down": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim/north.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim/north.json new file mode 100644 index 00000000..f8f2d23a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim/north.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "north"}, + "east": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "west": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 270, "texture": "#0"}, + "down": {"uv": [9.5, 16, 10.5, 11], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim/south.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim/south.json new file mode 100644 index 00000000..5f6e7096 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim/south.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "east": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "south"}, + "west": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "up": {"uv": [9.5, 16, 10.5, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [10.5, 11, 9.5, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim/up.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim/up.json new file mode 100644 index 00000000..4ea6be78 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim/up.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "faces": { + "north": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0", "cullface": "up"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim/west.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim/west.json new file mode 100644 index 00000000..93d83598 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim/west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "faces": { + "north": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "south": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "west": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "west"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim_connector/down.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim_connector/down.json new file mode 100644 index 00000000..f052e8e8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim_connector/down.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "name": "rim_down", + "from": [4, 0, 4], + "to": [12, 4, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 6, 8, 8], "texture": "#0"}, + "east": {"uv": [4, 6, 8, 8], "texture": "#0"}, + "south": {"uv": [8, 6, 4, 8], "texture": "#0"}, + "west": {"uv": [8, 6, 4, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim_connector/east.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim_connector/east.json new file mode 100644 index 00000000..c1a0f484 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim_connector/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "name": "rim_east", + "from": [12, 4, 4], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 6, 8, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [4, 8, 8, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 8, 8, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 6, 8, 8], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim_connector/north.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim_connector/north.json new file mode 100644 index 00000000..f8e01271 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim_connector/north.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "name": "rim_north", + "from": [4, 4, 0], + "to": [12, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [4, 0, 8, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [4, 2, 8, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 2, 8, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4, 0, 8, 2], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim_connector/south.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim_connector/south.json new file mode 100644 index 00000000..a15edcc5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim_connector/south.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "name": "rim_south", + "from": [4, 4, 12], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [4, 6, 8, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [4, 8, 8, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 8, 8, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4, 6, 8, 8], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim_connector/up.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim_connector/up.json new file mode 100644 index 00000000..874496b2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim_connector/up.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "name": "rim_up", + "from": [4, 12, 4], + "to": [12, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 0, 8, 2], "texture": "#0"}, + "east": {"uv": [4, 0, 8, 2], "texture": "#0"}, + "south": {"uv": [8, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [8, 0, 4, 2], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim_connector/west.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim_connector/west.json new file mode 100644 index 00000000..2c5387fa --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/rim_connector/west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/plastic_pipes", + "particle": "tfmg:block/plastic_pipes" + }, + "elements": [ + { + "name": "rim_west", + "from": [0, 4, 4], + "to": [4, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 0, 8, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [4, 2, 8, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 2, 8, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 8, 2], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_pipe/window.json b/src/main/resources/assets/tfmg/models/block/plastic_pipe/window.json new file mode 100644 index 00000000..9f799834 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_pipe/window.json @@ -0,0 +1,51 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/plastic_glass_fluid_pipe", + "particle": "tfmg:block/plastic_block" + }, + "elements": [ + { + "name": "Outer", + "from": [4, 0, 4], + "to": [12, 16, 12], + "faces": { + "north": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [4.1, 0, 11.9], + "to": [11.9, 16, 4.1], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 8]}, + "faces": { + "north": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [10, 0, 4], + "to": [6, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 0, 10], + "to": [12, 16, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 0, 10]}, + "faces": { + "north": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_smart_fluid_pipe/block.json b/src/main/resources/assets/tfmg/models/block/plastic_smart_fluid_pipe/block.json new file mode 100644 index 00000000..4c559ed9 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_smart_fluid_pipe/block.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "2": "tfmg:block/plastic_smart_pipe_1", + "3": "tfmg:block/plastic_smart_pipe_2", + "4": "tfmg:block/plastic_pipes", + "5": "tfmg:block/plastic_smart_pipe_3", + "particle": "tfmg:block/plastic_block" + }, + "elements": [ + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [3, 3, 13, 13], "texture": "#5"}, + "east": {"uv": [13, 3, 3, 13], "texture": "#2"}, + "south": {"uv": [3, 3, 13, 13], "texture": "#5"}, + "west": {"uv": [3, 3, 13, 13], "texture": "#2"}, + "up": {"uv": [13, 3, 3, 13], "rotation": 270, "texture": "#2"}, + "down": {"uv": [3, 3, 13, 13], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [4.5, 5, 7.15], + "to": [11.5, 12, 13.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [1, 9, 7, 15], "texture": "#3"}, + "east": {"uv": [0, 0, 6, 7], "texture": "#3"}, + "west": {"uv": [0, 0, 6, 7], "rotation": 180, "texture": "#3"}, + "up": {"uv": [0, 0, 6, 7], "rotation": 270, "texture": "#3"}, + "down": {"uv": [0, 0, 6, 7], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [3.9, 4.4, 4.15], + "to": [12.1, 12.6, 7.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [8, 8, 16, 16], "texture": "#3"}, + "east": {"uv": [13, 0, 16, 8], "texture": "#3"}, + "south": {"uv": [0, 8, 8, 16], "texture": "#3"}, + "west": {"uv": [13, 8, 16, 0], "rotation": 180, "texture": "#3"}, + "up": {"uv": [13, 8, 16, 0], "rotation": 270, "texture": "#3"}, + "down": {"uv": [13, 0, 16, 8], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [4, 4, 0], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 4, 0]}, + "faces": { + "east": {"uv": [4, 8, 8, 0], "rotation": 90, "texture": "#4"}, + "west": {"uv": [4, 0, 8, 8], "rotation": 90, "texture": "#4"}, + "up": {"uv": [4, 8, 8, 0], "texture": "#4"}, + "down": {"uv": [4, 0, 8, 8], "texture": "#4"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/plastic_smart_fluid_pipe/item.json b/src/main/resources/assets/tfmg/models/block/plastic_smart_fluid_pipe/item.json new file mode 100644 index 00000000..6400cd39 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/plastic_smart_fluid_pipe/item.json @@ -0,0 +1,119 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/plastic_pipes", + "2": "tfmg:block/plastic_smart_pipe_1", + "3": "tfmg:block/plastic_smart_pipe_2", + "4": "tfmg:block/plastic_smart_pipe_3", + "particle": "tfmg:block/plastic_smart_pipe_3" + }, + "elements": [ + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [10.5, 11, 9.5, 16], "texture": "#1"}, + "south": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [9.5, 11, 10.5, 16], "texture": "#1"}, + "up": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 16]}, + "faces": { + "north": {"uv": [16, 11, 11, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [9.5, 11, 10.5, 16], "texture": "#1"}, + "south": {"uv": [16, 11, 11, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [10.5, 11, 9.5, 16], "texture": "#1"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [3, 3, 13, 13], "texture": "#4"}, + "east": {"uv": [13, 3, 3, 13], "texture": "#2"}, + "south": {"uv": [3, 3, 13, 13], "texture": "#4"}, + "west": {"uv": [3, 3, 13, 13], "texture": "#2"}, + "up": {"uv": [13, 3, 3, 13], "rotation": 270, "texture": "#2"}, + "down": {"uv": [3, 3, 13, 13], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [4.5, 5, 7.15], + "to": [11.5, 12, 13.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [1, 9, 7, 15], "texture": "#3"}, + "east": {"uv": [0, 0, 6, 7], "texture": "#3"}, + "west": {"uv": [0, 0, 6, 7], "rotation": 180, "texture": "#3"}, + "up": {"uv": [0, 0, 6, 7], "rotation": 270, "texture": "#3"}, + "down": {"uv": [0, 0, 6, 7], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [3.9, 4.4, 4.15], + "to": [12.1, 12.6, 7.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [8, 8, 16, 16], "texture": "#3"}, + "east": {"uv": [13, 0, 16, 8], "texture": "#3"}, + "south": {"uv": [0, 8, 8, 16], "texture": "#3"}, + "west": {"uv": [13, 8, 16, 0], "rotation": 180, "texture": "#3"}, + "up": {"uv": [13, 8, 16, 0], "rotation": 270, "texture": "#3"}, + "down": {"uv": [13, 0, 16, 8], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [4, 4, 0], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 4, 0]}, + "faces": { + "east": {"uv": [4, 8, 8, 0], "rotation": 90, "texture": "#1"}, + "west": {"uv": [4, 0, 8, 8], "rotation": 90, "texture": "#1"}, + "up": {"uv": [4, 8, 8, 0], "texture": "#1"}, + "down": {"uv": [4, 0, 8, 8], "texture": "#1"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [0, 90, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/polarizer/block.json b/src/main/resources/assets/tfmg/models/block/polarizer/block.json new file mode 100644 index 00000000..ae3f94e2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/polarizer/block.json @@ -0,0 +1,257 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_casing", + "1": "tfmg:block/steel_casing_slab", + "2": "tfmg:block/polarizer_back", + "3": "tfmg:block/polarizer_top", + "4": "tfmg:block/polarizer_front", + "particle": "tfmg:block/steel_casing" + }, + "elements": [ + { + "from": [0, 0, 1], + "to": [16, 8, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 2, 0]}, + "faces": { + "north": {"uv": [0, 8, 16, 16], "texture": "#4"}, + "east": {"uv": [0, 8, 15, 16], "texture": "#1"}, + "south": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "west": {"uv": [1, 8, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 1, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 15], "texture": "#0"} + } + }, + { + "from": [4, 8, 1], + "to": [12, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 0]}, + "faces": { + "north": {"uv": [4, 4, 12, 8], "texture": "#4"}, + "east": {"uv": [1, 8, 2, 12], "texture": "#4"}, + "south": {"uv": [4, 0, 12, 4], "texture": "#4"}, + "west": {"uv": [14, 8, 15, 12], "texture": "#4"}, + "up": {"uv": [4, 0, 12, 1], "texture": "#4"} + } + }, + { + "from": [4, 11, 0], + "to": [12, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 10, 0]}, + "faces": { + "north": {"uv": [4, 4, 12, 5], "texture": "#4"}, + "east": {"uv": [4, 4, 5, 5], "texture": "#4"}, + "west": {"uv": [11, 4, 12, 5], "texture": "#4"}, + "up": {"uv": [4, 15, 12, 16], "texture": "#4"}, + "down": {"uv": [4, 4, 12, 5], "texture": "#4"} + } + }, + { + "from": [11, 8, 0], + "to": [12, 11, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 9, 0]}, + "faces": { + "north": {"uv": [4, 5, 5, 8], "texture": "#4"}, + "east": {"uv": [4, 5, 5, 8], "texture": "#4"}, + "west": {"uv": [4, 5, 5, 8], "texture": "#4"} + } + }, + { + "from": [4, 8, 0], + "to": [5, 11, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 9, 0]}, + "faces": { + "north": {"uv": [11, 5, 12, 8], "texture": "#4"}, + "east": {"uv": [11, 5, 12, 8], "texture": "#4"}, + "west": {"uv": [11, 5, 12, 8], "texture": "#4"} + } + }, + { + "from": [0, 0, 0], + "to": [5, 8, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 2, 0]}, + "faces": { + "north": {"uv": [11, 8, 16, 16], "texture": "#4"}, + "east": {"uv": [15, 8, 16, 16], "texture": "#4"}, + "west": {"uv": [0, 8, 1, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 5, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 5, 1], "texture": "#0"} + } + }, + { + "from": [11, 0, 0], + "to": [16, 8, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [11, 2, 0]}, + "faces": { + "north": {"uv": [0, 8, 5, 16], "texture": "#4"}, + "east": {"uv": [15, 8, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 8, 1, 16], "texture": "#4"}, + "up": {"uv": [11, 0, 16, 1], "texture": "#0"}, + "down": {"uv": [11, 0, 16, 1], "texture": "#0"} + } + }, + { + "from": [5, 0, 0], + "to": [11, 7, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 2, 0]}, + "faces": { + "north": {"uv": [5, 9, 11, 16], "texture": "#4"}, + "up": {"uv": [5, 9, 11, 10], "texture": "#4"}, + "down": {"uv": [5, 0, 11, 1], "texture": "#0"} + } + }, + { + "from": [5, 8, 14], + "to": [11, 11, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 14]}, + "faces": { + "north": {"uv": [0, 0, 6, 4], "texture": "#2"}, + "east": {"uv": [0, 4, 2, 7], "texture": "#0"}, + "south": {"uv": [5, 5, 11, 8], "texture": "#2"}, + "west": {"uv": [14, 5, 16, 8], "texture": "#0"}, + "up": {"uv": [5, 14, 11, 16], "texture": "#2"} + } + }, + { + "from": [6, 8, 7], + "to": [6, 14, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 8, 7]}, + "faces": { + "north": {"uv": [0, 0, 0, 6], "texture": "#3"}, + "east": {"uv": [0, 0, 2, 6], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 6], "texture": "#3"}, + "west": {"uv": [0, 0, 2, 6], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#3"} + } + }, + { + "from": [5, 14, 5], + "to": [7, 14, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 14, 7]}, + "faces": { + "north": {"uv": [0, 0, 2, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 6, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 2, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 6, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 2, 6], "texture": "#3"}, + "down": {"uv": [0, 0, 2, 6], "texture": "#3"} + } + }, + { + "from": [10, 8, 7], + "to": [10, 14, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [0, 0, 0, 6], "texture": "#3"}, + "east": {"uv": [0, 0, 2, 6], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 6], "texture": "#3"}, + "west": {"uv": [0, 0, 2, 6], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#3"} + } + }, + { + "from": [9, 14, 5], + "to": [11, 14, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 14, 7]}, + "faces": { + "north": {"uv": [0, 0, 2, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 6, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 2, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 6, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 2, 6], "texture": "#3"}, + "down": {"uv": [0, 0, 2, 6], "texture": "#3"} + } + }, + { + "from": [1, 8, 4], + "to": [5, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 8, 5]}, + "faces": { + "north": {"uv": [12, 0, 16, 4], "texture": "#3"}, + "east": {"uv": [12, 4, 8, 11], "rotation": 90, "texture": "#3"}, + "south": {"uv": [12, 0, 16, 4], "texture": "#3"}, + "west": {"uv": [12, 11, 8, 4], "rotation": 90, "texture": "#3"}, + "up": {"uv": [12, 4, 16, 11], "texture": "#3"} + } + }, + { + "from": [11, 8, 4], + "to": [15, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 8, 5]}, + "faces": { + "north": {"uv": [12, 0, 16, 4], "texture": "#3"}, + "east": {"uv": [12, 4, 8, 11], "rotation": 90, "texture": "#3"}, + "south": {"uv": [12, 0, 16, 4], "texture": "#3"}, + "west": {"uv": [12, 11, 8, 4], "rotation": 90, "texture": "#3"}, + "up": {"uv": [12, 4, 16, 11], "texture": "#3"} + } + }, + { + "from": [4, 8, 11], + "to": [4, 10, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 8, 11]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "east": {"uv": [16, 11, 13, 13], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "west": {"uv": [13, 11, 16, 13], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 3], "texture": "#3"}, + "down": {"uv": [0, 0, 0, 3], "texture": "#3"} + } + }, + { + "from": [12, 8, 11], + "to": [12, 10, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 8, 11]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "east": {"uv": [16, 11, 13, 13], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "west": {"uv": [13, 11, 16, 13], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 3], "texture": "#3"}, + "down": {"uv": [0, 0, 0, 3], "texture": "#3"} + } + }, + { + "from": [14, 8, 11], + "to": [14, 10, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 8, 11]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "east": {"uv": [16, 11, 13, 13], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "west": {"uv": [13, 11, 16, 13], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 3], "texture": "#3"}, + "down": {"uv": [0, 0, 0, 3], "texture": "#3"} + } + }, + { + "from": [2, 8, 11], + "to": [2, 10, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 11]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "east": {"uv": [16, 11, 13, 13], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "west": {"uv": [13, 11, 16, 13], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 3], "texture": "#3"}, + "down": {"uv": [0, 0, 0, 3], "texture": "#3"} + } + }, + { + "from": [7, 7, 0.9], + "to": [9, 8, 0.9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 1]}, + "faces": { + "north": {"uv": [7, 8, 9, 9], "texture": "#4"}, + "east": {"uv": [0, 0, 0, 1], "texture": "#missing"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#missing"}, + "up": {"uv": [0, 0, 2, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 2, 0], "texture": "#missing"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/polarizer/block_old.json b/src/main/resources/assets/tfmg/models/block/polarizer/block_old.json new file mode 100644 index 00000000..d87e2cec --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/polarizer/block_old.json @@ -0,0 +1,119 @@ +{ + "credit": "Made with Blockbench", + "parent":"block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/polarizer", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 8, 16], + "faces": { + "north": {"uv": [8, 0, 16, 4.5], "texture": "#0"}, + "east": {"uv": [8, 0, 16, 4.5], "texture": "#0"}, + "south": {"uv": [8, 0, 16, 4.5], "texture": "#0"}, + "west": {"uv": [8, 7.5, 16, 12], "texture": "#0"}, + "up": {"uv": [0, 8, 8, 16], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#0"} + } + }, + { + "from": [0, 8, 5], + "to": [5, 11, 11], + "faces": { + "north": {"uv": [8.5, 12.5, 10, 15], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8.5, 4.5, 10, 7.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [8.5, 12.5, 10, 15], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10.5, 6, 13.5, 7.5], "texture": "#0"}, + "up": {"uv": [10.5, 12.5, 13.5, 15], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [9, 8, 1], + "to": [14, 10, 4], + "faces": { + "north": {"uv": [1, 12.5, 2, 15], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0.5, 12.5, 2, 13.5], "texture": "#0"}, + "south": {"uv": [1, 12.5, 2, 15], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.5, 12.5, 2, 13.5], "texture": "#0"}, + "up": {"uv": [2, 15, 0.5, 12.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [9, 8, 12], + "to": [14, 10, 15], + "faces": { + "north": {"uv": [1, 12.5, 2, 15], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0.5, 12.5, 2, 13.5], "texture": "#0"}, + "south": {"uv": [1, 12.5, 2, 15], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.5, 12.5, 2, 13.5], "texture": "#0"}, + "up": {"uv": [2, 15, 0.5, 12.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [5, 11, 7], + "to": [5, 14, 9], + "faces": { + "north": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "east": {"uv": [15, 13.5, 16, 15], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "west": {"uv": [14, 13.5, 15, 15], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#0"} + } + }, + { + "from": [11, 8, 7], + "to": [11, 14, 9], + "faces": { + "north": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "east": {"uv": [14, 12.5, 15, 15.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "west": {"uv": [16, 12.5, 15, 15.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#0"} + } + }, + { + "from": [5, 12, 7], + "to": [11, 12, 9], + "faces": { + "north": {"uv": [0, 0, 0, 6], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 6], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 12.5, 15, 15.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 12.5, 15, 15.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 14, 5], + "to": [6, 14, 11], + "faces": { + "north": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "up": {"uv": [14, 4.5, 15, 7.5], "texture": "#0"}, + "down": {"uv": [15, 4.5, 16, 7.5], "texture": "#0"} + } + }, + { + "from": [10, 14, 5], + "to": [12, 14, 11], + "faces": { + "north": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "up": {"uv": [14, 4.5, 15, 7.5], "texture": "#0"}, + "down": {"uv": [15, 4.5, 16, 7.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/polarizer/dial.json b/src/main/resources/assets/tfmg/models/block/polarizer/dial.json new file mode 100644 index 00000000..87f554b0 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/polarizer/dial.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/polarizer_front", + "particle": "tfmg:block/polarizer_front" + }, + "elements": [ + { + "from": [6.5, 7.5, 0.95], + "to": [9.5, 8.5, 0.95], + "rotation": {"angle": 0, "axis": "z", "origin": [7, 7.5, 0]}, + "faces": { + "north": {"uv": [11, 5, 12, 8], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 3], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 3], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/polarizer/item.json b/src/main/resources/assets/tfmg/models/block/polarizer/item.json new file mode 100644 index 00000000..3af4c599 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/polarizer/item.json @@ -0,0 +1,270 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_casing", + "1": "tfmg:block/steel_casing_slab", + "2": "tfmg:block/polarizer_back", + "3": "tfmg:block/polarizer_top", + "4": "tfmg:block/polarizer_front", + "particle": "tfmg:block/steel_casing" + }, + "elements": [ + { + "from": [0, 0, 1], + "to": [16, 8, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 2, 0]}, + "faces": { + "north": {"uv": [0, 8, 16, 16], "texture": "#4"}, + "east": {"uv": [0, 8, 15, 16], "texture": "#1"}, + "south": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "west": {"uv": [1, 8, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 1, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 15], "texture": "#0"} + } + }, + { + "from": [4, 8, 1], + "to": [12, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 0]}, + "faces": { + "north": {"uv": [4, 4, 12, 8], "texture": "#4"}, + "east": {"uv": [1, 8, 2, 12], "texture": "#4"}, + "south": {"uv": [4, 0, 12, 4], "texture": "#4"}, + "west": {"uv": [14, 8, 15, 12], "texture": "#4"}, + "up": {"uv": [4, 0, 12, 1], "texture": "#4"} + } + }, + { + "from": [4, 11, 0], + "to": [12, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 10, 0]}, + "faces": { + "north": {"uv": [4, 4, 12, 5], "texture": "#4"}, + "east": {"uv": [4, 4, 5, 5], "texture": "#4"}, + "west": {"uv": [11, 4, 12, 5], "texture": "#4"}, + "up": {"uv": [4, 15, 12, 16], "texture": "#4"}, + "down": {"uv": [4, 4, 12, 5], "texture": "#4"} + } + }, + { + "from": [11, 8, 0], + "to": [12, 11, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 9, 0]}, + "faces": { + "north": {"uv": [4, 5, 5, 8], "texture": "#4"}, + "east": {"uv": [4, 5, 5, 8], "texture": "#4"}, + "west": {"uv": [4, 5, 5, 8], "texture": "#4"} + } + }, + { + "from": [4, 8, 0], + "to": [5, 11, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 9, 0]}, + "faces": { + "north": {"uv": [11, 5, 12, 8], "texture": "#4"}, + "east": {"uv": [11, 5, 12, 8], "texture": "#4"}, + "west": {"uv": [11, 5, 12, 8], "texture": "#4"} + } + }, + { + "from": [0, 0, 0], + "to": [5, 8, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 2, 0]}, + "faces": { + "north": {"uv": [11, 8, 16, 16], "texture": "#4"}, + "east": {"uv": [15, 8, 16, 16], "texture": "#4"}, + "west": {"uv": [0, 8, 1, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 5, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 5, 1], "texture": "#0"} + } + }, + { + "from": [11, 0, 0], + "to": [16, 8, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [11, 2, 0]}, + "faces": { + "north": {"uv": [0, 8, 5, 16], "texture": "#4"}, + "east": {"uv": [15, 8, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 8, 1, 16], "texture": "#4"}, + "up": {"uv": [11, 0, 16, 1], "texture": "#0"}, + "down": {"uv": [11, 0, 16, 1], "texture": "#0"} + } + }, + { + "from": [5, 0, 0], + "to": [11, 7, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 2, 0]}, + "faces": { + "north": {"uv": [5, 9, 11, 16], "texture": "#4"}, + "up": {"uv": [5, 9, 11, 10], "texture": "#4"}, + "down": {"uv": [5, 0, 11, 1], "texture": "#0"} + } + }, + { + "from": [5, 8, 14], + "to": [11, 11, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 14]}, + "faces": { + "north": {"uv": [0, 0, 6, 4], "texture": "#2"}, + "east": {"uv": [0, 4, 2, 7], "texture": "#0"}, + "south": {"uv": [5, 5, 11, 8], "texture": "#2"}, + "west": {"uv": [14, 5, 16, 8], "texture": "#0"}, + "up": {"uv": [5, 14, 11, 16], "texture": "#2"} + } + }, + { + "from": [6, 8, 7], + "to": [6, 14, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 8, 7]}, + "faces": { + "north": {"uv": [0, 0, 0, 6], "texture": "#3"}, + "east": {"uv": [0, 0, 2, 6], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 6], "texture": "#3"}, + "west": {"uv": [0, 0, 2, 6], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#3"} + } + }, + { + "from": [5, 14, 5], + "to": [7, 14, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 14, 7]}, + "faces": { + "north": {"uv": [0, 0, 2, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 6, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 2, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 6, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 2, 6], "texture": "#3"}, + "down": {"uv": [0, 0, 2, 6], "texture": "#3"} + } + }, + { + "from": [10, 8, 7], + "to": [10, 14, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [0, 0, 0, 6], "texture": "#3"}, + "east": {"uv": [0, 0, 2, 6], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 6], "texture": "#3"}, + "west": {"uv": [0, 0, 2, 6], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#3"} + } + }, + { + "from": [9, 14, 5], + "to": [11, 14, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 14, 7]}, + "faces": { + "north": {"uv": [0, 0, 2, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 6, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 2, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 6, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 2, 6], "texture": "#3"}, + "down": {"uv": [0, 0, 2, 6], "texture": "#3"} + } + }, + { + "from": [1, 8, 4], + "to": [5, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 8, 5]}, + "faces": { + "north": {"uv": [12, 0, 16, 4], "texture": "#3"}, + "east": {"uv": [12, 4, 8, 11], "rotation": 90, "texture": "#3"}, + "south": {"uv": [12, 0, 16, 4], "texture": "#3"}, + "west": {"uv": [12, 11, 8, 4], "rotation": 90, "texture": "#3"}, + "up": {"uv": [12, 4, 16, 11], "texture": "#3"} + } + }, + { + "from": [11, 8, 4], + "to": [15, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 8, 5]}, + "faces": { + "north": {"uv": [12, 0, 16, 4], "texture": "#3"}, + "east": {"uv": [12, 4, 8, 11], "rotation": 90, "texture": "#3"}, + "south": {"uv": [12, 0, 16, 4], "texture": "#3"}, + "west": {"uv": [12, 11, 8, 4], "rotation": 90, "texture": "#3"}, + "up": {"uv": [12, 4, 16, 11], "texture": "#3"} + } + }, + { + "from": [4, 8, 11], + "to": [4, 10, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 8, 11]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "east": {"uv": [16, 11, 13, 13], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "west": {"uv": [13, 11, 16, 13], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 3], "texture": "#3"}, + "down": {"uv": [0, 0, 0, 3], "texture": "#3"} + } + }, + { + "from": [12, 8, 11], + "to": [12, 10, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 8, 11]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "east": {"uv": [16, 11, 13, 13], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "west": {"uv": [13, 11, 16, 13], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 3], "texture": "#3"}, + "down": {"uv": [0, 0, 0, 3], "texture": "#3"} + } + }, + { + "from": [14, 8, 11], + "to": [14, 10, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 8, 11]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "east": {"uv": [16, 11, 13, 13], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "west": {"uv": [13, 11, 16, 13], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 3], "texture": "#3"}, + "down": {"uv": [0, 0, 0, 3], "texture": "#3"} + } + }, + { + "from": [2, 8, 11], + "to": [2, 10, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 11]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "east": {"uv": [16, 11, 13, 13], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#3"}, + "west": {"uv": [13, 11, 16, 13], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 3], "texture": "#3"}, + "down": {"uv": [0, 0, 0, 3], "texture": "#3"} + } + }, + { + "from": [7, 7, 0.8], + "to": [9, 8, 0.8], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 1]}, + "faces": { + "north": {"uv": [7, 8, 9, 9], "texture": "#4"}, + "east": {"uv": [0, 0, 0, 1], "texture": "#missing"}, + "west": {"uv": [0, 0, 0, 1], "texture": "#missing"}, + "up": {"uv": [0, 0, 2, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 2, 0], "texture": "#missing"} + } + }, + { + "from": [7.5, 7, 0.9], + "to": [8.5, 10, 0.9], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 7.5, 0]}, + "faces": { + "north": {"uv": [11, 5, 12, 8], "texture": "#4"}, + "east": {"uv": [0, 0, 0, 3], "texture": "#missing"}, + "south": {"uv": [11, 5, 12, 8], "texture": "#4"}, + "west": {"uv": [0, 0, 0, 3], "texture": "#missing"}, + "up": {"uv": [0, 0, 1, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 1, 0], "texture": "#missing"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/polarizer/item_old.json b/src/main/resources/assets/tfmg/models/block/polarizer/item_old.json new file mode 100644 index 00000000..d87e2cec --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/polarizer/item_old.json @@ -0,0 +1,119 @@ +{ + "credit": "Made with Blockbench", + "parent":"block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/polarizer", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 8, 16], + "faces": { + "north": {"uv": [8, 0, 16, 4.5], "texture": "#0"}, + "east": {"uv": [8, 0, 16, 4.5], "texture": "#0"}, + "south": {"uv": [8, 0, 16, 4.5], "texture": "#0"}, + "west": {"uv": [8, 7.5, 16, 12], "texture": "#0"}, + "up": {"uv": [0, 8, 8, 16], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#0"} + } + }, + { + "from": [0, 8, 5], + "to": [5, 11, 11], + "faces": { + "north": {"uv": [8.5, 12.5, 10, 15], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8.5, 4.5, 10, 7.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [8.5, 12.5, 10, 15], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10.5, 6, 13.5, 7.5], "texture": "#0"}, + "up": {"uv": [10.5, 12.5, 13.5, 15], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [9, 8, 1], + "to": [14, 10, 4], + "faces": { + "north": {"uv": [1, 12.5, 2, 15], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0.5, 12.5, 2, 13.5], "texture": "#0"}, + "south": {"uv": [1, 12.5, 2, 15], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.5, 12.5, 2, 13.5], "texture": "#0"}, + "up": {"uv": [2, 15, 0.5, 12.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [9, 8, 12], + "to": [14, 10, 15], + "faces": { + "north": {"uv": [1, 12.5, 2, 15], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0.5, 12.5, 2, 13.5], "texture": "#0"}, + "south": {"uv": [1, 12.5, 2, 15], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0.5, 12.5, 2, 13.5], "texture": "#0"}, + "up": {"uv": [2, 15, 0.5, 12.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [5, 11, 7], + "to": [5, 14, 9], + "faces": { + "north": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "east": {"uv": [15, 13.5, 16, 15], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "west": {"uv": [14, 13.5, 15, 15], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#0"} + } + }, + { + "from": [11, 8, 7], + "to": [11, 14, 9], + "faces": { + "north": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "east": {"uv": [14, 12.5, 15, 15.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 6], "texture": "#0"}, + "west": {"uv": [16, 12.5, 15, 15.5], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#0"} + } + }, + { + "from": [5, 12, 7], + "to": [11, 12, 9], + "faces": { + "north": {"uv": [0, 0, 0, 6], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 6], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 12.5, 15, 15.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 12.5, 15, 15.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 14, 5], + "to": [6, 14, 11], + "faces": { + "north": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "up": {"uv": [14, 4.5, 15, 7.5], "texture": "#0"}, + "down": {"uv": [15, 4.5, 16, 7.5], "texture": "#0"} + } + }, + { + "from": [10, 14, 5], + "to": [12, 14, 11], + "faces": { + "north": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "up": {"uv": [14, 4.5, 15, 7.5], "texture": "#0"}, + "down": {"uv": [15, 4.5, 16, 7.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/potentiometer/block.json b/src/main/resources/assets/tfmg/models/block/potentiometer/block.json new file mode 100644 index 00000000..c4cf4d2d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/potentiometer/block.json @@ -0,0 +1,36 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/resistor", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [3, 3, 0], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [8.5, 0, 13.5, 5], "texture": "#0"}, + "east": {"uv": [8, 0, 0, 5], "texture": "#0"}, + "south": {"uv": [8.5, 0, 13.5, 5], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 5], "texture": "#0"}, + "up": {"uv": [0, 5.5, 8, 10.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 8, 5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 0, 1], + "to": [15, 3, 15], + "faces": { + "north": {"uv": [0.5, 11, 7.5, 12.5], "texture": "#0"}, + "east": {"uv": [0.5, 11, 7.5, 12.5], "texture": "#0"}, + "south": {"uv": [0.5, 11, 7.5, 12.5], "texture": "#0"}, + "west": {"uv": [0.5, 11, 7.5, 12.5], "texture": "#0"}, + "up": {"uv": [8.5, 5.5, 15.5, 12.5], "texture": "#0"}, + "down": {"uv": [8.5, 5.5, 15.5, 12.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/potentiometer/block_vertical.json b/src/main/resources/assets/tfmg/models/block/potentiometer/block_vertical.json new file mode 100644 index 00000000..d02651ab --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/potentiometer/block_vertical.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/resistor", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 16, 0]}, + "faces": { + "north": {"uv": [0, 0, 8, 5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 8, 5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 5.5, 8, 10.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [8, 0, 0, 5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8.5, 0, 13.5, 5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [8.5, 0, 13.5, 5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/potentiometer/item.json b/src/main/resources/assets/tfmg/models/block/potentiometer/item.json new file mode 100644 index 00000000..dfdebb5f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/potentiometer/item.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "parent":"block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/resistor", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [3, 3, 0], + "to": [13, 13, 16], + "faces": { + "north": {"uv": [8.5, 0, 13.5, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 5], "texture": "#0"}, + "south": {"uv": [8.5, 0, 13.5, 5], "texture": "#0"}, + "west": {"uv": [8, 0, 0, 5], "texture": "#0"}, + "up": {"uv": [0, 5.5, 8, 10.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 8, 5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 0, 1], + "to": [15, 3, 15], + "faces": { + "north": {"uv": [0.5, 11, 7.5, 12.5], "texture": "#0"}, + "east": {"uv": [0.5, 11, 7.5, 12.5], "texture": "#0"}, + "south": {"uv": [0.5, 11, 7.5, 12.5], "texture": "#0"}, + "west": {"uv": [0.5, 11, 7.5, 12.5], "texture": "#0"}, + "up": {"uv": [8.5, 5.5, 15.5, 12.5], "texture": "#0"}, + "down": {"uv": [8.5, 5.5, 15.5, 12.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/potentiometer/unfinished.json b/src/main/resources/assets/tfmg/models/block/potentiometer/unfinished.json new file mode 100644 index 00000000..560d1d77 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/potentiometer/unfinished.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/unfinished_potentiometer", + "particle": "tfmg:block/unfinished_potentiometer" + }, + "elements": [ + { + "from": [3, 3, 0], + "to": [13, 13, 16], + "faces": { + "north": {"uv": [8.5, 0, 13.5, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 5], "texture": "#0"}, + "south": {"uv": [8.5, 0, 13.5, 5], "texture": "#0"}, + "west": {"uv": [8, 0, 0, 5], "texture": "#0"}, + "up": {"uv": [0, 5.5, 8, 10.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 8, 5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 0, 1], + "to": [15, 3, 15], + "faces": { + "north": {"uv": [0.5, 11, 7.5, 12.5], "texture": "#0"}, + "east": {"uv": [0.5, 11, 7.5, 12.5], "texture": "#0"}, + "south": {"uv": [0.5, 11, 7.5, 12.5], "texture": "#0"}, + "west": {"uv": [0.5, 11, 7.5, 12.5], "texture": "#0"}, + "up": {"uv": [8.5, 5.5, 15.5, 12.5], "texture": "#0"}, + "down": {"uv": [8.5, 5.5, 15.5, 12.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack/hammer.json b/src/main/resources/assets/tfmg/models/block/pumpjack/hammer.json new file mode 100644 index 00000000..55cd84b1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack/hammer.json @@ -0,0 +1,8 @@ +{ + "parent": "block/block", + "ambientocclusion": false, + "textures": { + "0": "tfmg:block/pumpjack_hammer", + "particle": "tfmg:block/steel_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack/hammer_holder.json b/src/main/resources/assets/tfmg/models/block/pumpjack/hammer_holder.json new file mode 100644 index 00000000..dba95f78 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack/hammer_holder.json @@ -0,0 +1,6 @@ +{ + "parent": "tfmg:block/pumpjack/hammer", + "loader": "neoforge:obj", + "flip-v": true, + "model": "tfmg:models/block/pumpjack/pumpjack_hammer.obj" +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_base.json b/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_base.json new file mode 100644 index 00000000..e8b9b8ef --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_base.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/pumpjack_base", + "particle": "tfmg:block/pumpjack_base" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 14, 13], + "faces": { + "north": {"uv": [0, 2, 5, 9], "texture": "#0"}, + "east": {"uv": [0, 2, 5, 9], "texture": "#0"}, + "south": {"uv": [0, 2, 5, 9], "texture": "#0"}, + "west": {"uv": [0, 2, 5, 9], "texture": "#0"}, + "up": {"uv": [10.5, 0, 14, 4], "texture": "#0"}, + "down": {"uv": [0, 11, 5, 16], "texture": "#0"} + } + }, + { + "from": [2, 14, 2], + "to": [14, 16, 14], + "faces": { + "north": {"uv": [10, 0, 16, 1], "texture": "#0"}, + "east": {"uv": [10, 0, 16, 1], "texture": "#0"}, + "south": {"uv": [10, 0, 16, 1], "texture": "#0"}, + "west": {"uv": [10, 0, 16, 1], "texture": "#0"}, + "up": {"uv": [10, 0, 16, 6], "texture": "#0"}, + "down": {"uv": [10, 0, 16, 6], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_connector.json b/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_connector.json new file mode 100644 index 00000000..a5aa3bd5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_connector.json @@ -0,0 +1,58 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/fossilstone", + "1": "tfmg:block/steel_fluid_tank_connected", + "particle": "tfmg:block/fossilstone" + }, + "elements": [ + { + "from": [-3.01, 0, 7], + "to": [-3.01, 14, 9], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [4, 0, 5, 16], "texture": "#0"}, + "south": {"uv": [11, 0, 11, 16], "texture": "#0"}, + "west": {"uv": [6, 0, 7, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "texture": "#0"} + } + }, + { + "from": [19.01, 0, 7], + "to": [19.01, 14, 9], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [4, 0, 5, 16], "texture": "#0"}, + "south": {"uv": [11, 0, 11, 16], "texture": "#0"}, + "west": {"uv": [6, 0, 7, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "texture": "#0"} + } + }, + { + "from": [-3, 14, 7], + "to": [19, 15, 9], + "faces": { + "north": {"uv": [0, 7, 4, 7.25], "texture": "#1"}, + "east": {"uv": [0, 0, 0.5, 0.25], "texture": "#1"}, + "south": {"uv": [0, 0, 4, 0.25], "texture": "#1"}, + "west": {"uv": [0, 0, 0.5, 0.25], "texture": "#1"}, + "up": {"uv": [0, 11.75, 4, 12.25], "texture": "#1"}, + "down": {"uv": [0, 7.5, 4, 8], "texture": "#1"} + } + }, + { + "from": [7, 15, 7], + "to": [9, 17, 9], + "faces": { + "north": {"uv": [2.5, 4.25, 3, 4.75], "texture": "#1"}, + "east": {"uv": [0, 0, 0.5, 0.5], "texture": "#1"}, + "south": {"uv": [0, 0, 0.5, 0.5], "texture": "#1"}, + "west": {"uv": [0, 0, 0.5, 0.5], "texture": "#1"}, + "up": {"uv": [0, 11.75, 0.5, 12.25], "texture": "#1"}, + "down": {"uv": [0, 7.5, 0.5, 8], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_crank.json b/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_crank.json new file mode 100644 index 00000000..a8daf086 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_crank.json @@ -0,0 +1,152 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/pumpjack_crank", + "particle": "tfmg:block/pumpjack_crank" + }, + "elements": [ + { + "from": [-2, 2, 6], + "to": [18, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [8.5, 0, 10.5, 9], "rotation": 90, "texture": "#0"}, + "east": {"uv": [2.5, 12.5, 4.5, 14.5], "texture": "#0"}, + "south": {"uv": [8.5, 0, 10.5, 9], "rotation": 90, "texture": "#0"}, + "west": {"uv": [2.5, 12.5, 4.5, 14.5], "texture": "#0"}, + "up": {"uv": [8.5, 0, 10.5, 9], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8.5, 0, 10.5, 9], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-3, 13, 2], + "to": [0, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 11.5, 4, 12], "texture": "#0"}, + "east": {"uv": [0.5, 8.5, 6.5, 9], "texture": "#0"}, + "south": {"uv": [2.5, 11.5, 4, 12], "texture": "#0"}, + "west": {"uv": [0.5, 8.5, 6.5, 9], "texture": "#0"}, + "up": {"uv": [0.5, 9, 6.5, 10.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 3, 12], "texture": "#0"} + } + }, + { + "from": [-2, 6, 6], + "to": [0, 9, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 11, 3.5, 12.5], "texture": "#0"}, + "east": {"uv": [2.5, 11, 4.5, 12.5], "texture": "#0"}, + "south": {"uv": [2.5, 11, 3.5, 12.5], "texture": "#0"}, + "west": {"uv": [2.5, 11, 4.5, 12.5], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 4], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 4], "texture": "#0"} + } + }, + { + "from": [-2, 0, 6], + "to": [0, 2, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 11.5, 3.5, 12.5], "texture": "#0"}, + "east": {"uv": [2.5, 14.5, 4.5, 15.5], "texture": "#0"}, + "south": {"uv": [2.5, 11.5, 3.5, 12.5], "texture": "#0"}, + "west": {"uv": [2.5, 14.5, 4.5, 15.5], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 4], "texture": "#0"}, + "down": {"uv": [2.5, 11.5, 4.5, 12.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [16, 14, 6], + "to": [18, 16, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 11, 3.5, 12], "texture": "#0"}, + "east": {"uv": [2.5, 14.5, 4.5, 15.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [2.5, 11, 3.5, 12], "texture": "#0"}, + "west": {"uv": [2.5, 14.5, 4.5, 15.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [2.5, 11, 4.5, 12.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [16, 13, 2], + "to": [19, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [3, 11.5, 4.5, 12], "texture": "#0"}, + "east": {"uv": [0.5, 8.5, 6.5, 9], "texture": "#0"}, + "south": {"uv": [3, 11.5, 4.5, 12], "texture": "#0"}, + "west": {"uv": [0.5, 8.5, 6.5, 9], "texture": "#0"}, + "up": {"uv": [0.5, 9, 6.5, 10.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 3, 12], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [16, 9, 1], + "to": [19, 13, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 9.5, 4, 11.5], "texture": "#0"}, + "east": {"uv": [0, 9, 7, 11], "texture": "#0"}, + "south": {"uv": [2.5, 9.5, 4, 11.5], "texture": "#0"}, + "west": {"uv": [0, 9, 7, 11], "texture": "#0"}, + "up": {"uv": [0, 9, 7, 10.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 9, 7, 10.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [16, 6, 6], + "to": [18, 9, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 11, 3.5, 12.5], "texture": "#0"}, + "east": {"uv": [2.5, 11, 4.5, 12.5], "texture": "#0"}, + "south": {"uv": [2.5, 11, 3.5, 12.5], "texture": "#0"}, + "west": {"uv": [2.5, 11, 4.5, 12.5], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [16, 0, 6], + "to": [18, 2, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 11.5, 3.5, 12.5], "texture": "#0"}, + "east": {"uv": [2.5, 14.5, 4.5, 15.5], "texture": "#0"}, + "south": {"uv": [2.5, 11.5, 3.5, 12.5], "texture": "#0"}, + "west": {"uv": [2.5, 14.5, 4.5, 15.5], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [2.5, 11.5, 4.5, 12.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-2, 14, 6], + "to": [0, 16, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 11, 3.5, 12], "texture": "#0"}, + "east": {"uv": [2.5, 14.5, 4.5, 15.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [2.5, 11, 3.5, 12], "texture": "#0"}, + "west": {"uv": [2.5, 14.5, 4.5, 15.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [2.5, 11, 4.5, 12.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 4], "texture": "#0"} + } + }, + { + "from": [-3, 9, 1], + "to": [0, 13, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 9.5, 4, 11.5], "texture": "#0"}, + "east": {"uv": [0, 9, 7, 11], "texture": "#0"}, + "south": {"uv": [2.5, 9.5, 4, 11.5], "texture": "#0"}, + "west": {"uv": [0, 9, 7, 11], "texture": "#0"}, + "up": {"uv": [0, 9, 7, 10.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 9, 7, 10.5], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_crank_block.json b/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_crank_block.json new file mode 100644 index 00000000..acf57ca7 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_crank_block.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/pumpjack_crank", + "1": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/pumpjack_crank" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 8, 16], + "faces": { + "north": {"uv": [0, 4, 8, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 4], "texture": "#0"}, + "south": {"uv": [0, 4, 8, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 4], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [7, 8.01, 1], + "to": [9, 8.01, 2], + "faces": { + "north": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 2, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 0], "texture": "#missing"}, + "up": {"uv": [9.5, 3, 10.5, 3.5], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 2], "texture": "#missing"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_crank_item.json b/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_crank_item.json new file mode 100644 index 00000000..0001f349 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_crank_item.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/pumpjack_crank", + "1": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/pumpjack_crank" + }, + "elements": [ + { + "from": [-2, 2, 6], + "to": [18, 6, 10], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [8.5, 0, 10.5, 9], "rotation": 90, "texture": "#0"}, + "east": {"uv": [2.5, 12.5, 4.5, 14.5], "texture": "#0"}, + "south": {"uv": [8.5, 0, 10.5, 9], "rotation": 90, "texture": "#0"}, + "west": {"uv": [2.5, 12.5, 4.5, 14.5], "texture": "#0"}, + "up": {"uv": [8.5, 0, 10.5, 9], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8.5, 0, 10.5, 9], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-3, 13, 2], + "to": [0, 14, 14], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 11.5, 4, 12], "texture": "#0"}, + "east": {"uv": [0.5, 8.5, 6.5, 9], "texture": "#0"}, + "south": {"uv": [2.5, 11.5, 4, 12], "texture": "#0"}, + "west": {"uv": [0.5, 8.5, 6.5, 9], "texture": "#0"}, + "up": {"uv": [0.5, 9, 6.5, 10.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 3, 12], "texture": "#0"} + } + }, + { + "from": [-2, 6, 6], + "to": [0, 9, 10], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 11, 3.5, 12.5], "texture": "#0"}, + "east": {"uv": [2.5, 11, 4.5, 12.5], "texture": "#0"}, + "south": {"uv": [2.5, 11, 3.5, 12.5], "texture": "#0"}, + "west": {"uv": [2.5, 11, 4.5, 12.5], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 4], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 4], "texture": "#0"} + } + }, + { + "from": [-2, 0, 6], + "to": [0, 2, 10], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 11.5, 3.5, 12.5], "texture": "#0"}, + "east": {"uv": [2.5, 14.5, 4.5, 15.5], "texture": "#0"}, + "south": {"uv": [2.5, 11.5, 3.5, 12.5], "texture": "#0"}, + "west": {"uv": [2.5, 14.5, 4.5, 15.5], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 4], "texture": "#0"}, + "down": {"uv": [2.5, 11.5, 4.5, 12.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [16, 14, 6], + "to": [18, 16, 10], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 11, 3.5, 12], "texture": "#0"}, + "east": {"uv": [2.5, 14.5, 4.5, 15.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [2.5, 11, 3.5, 12], "texture": "#0"}, + "west": {"uv": [2.5, 14.5, 4.5, 15.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [2.5, 11, 4.5, 12.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [16, 13, 2], + "to": [19, 14, 14], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [3, 11.5, 4.5, 12], "texture": "#0"}, + "east": {"uv": [0.5, 8.5, 6.5, 9], "texture": "#0"}, + "south": {"uv": [3, 11.5, 4.5, 12], "texture": "#0"}, + "west": {"uv": [0.5, 8.5, 6.5, 9], "texture": "#0"}, + "up": {"uv": [0.5, 9, 6.5, 10.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 3, 12], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [16, 9, 1], + "to": [19, 13, 15], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 9.5, 4, 11.5], "texture": "#0"}, + "east": {"uv": [0, 9, 7, 11], "texture": "#0"}, + "south": {"uv": [2.5, 9.5, 4, 11.5], "texture": "#0"}, + "west": {"uv": [0, 9, 7, 11], "texture": "#0"}, + "up": {"uv": [0, 9, 7, 10.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 9, 7, 10.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [16, 6, 6], + "to": [18, 9, 10], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 11, 3.5, 12.5], "texture": "#0"}, + "east": {"uv": [2.5, 11, 4.5, 12.5], "texture": "#0"}, + "south": {"uv": [2.5, 11, 3.5, 12.5], "texture": "#0"}, + "west": {"uv": [2.5, 11, 4.5, 12.5], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [16, 0, 6], + "to": [18, 2, 10], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 11.5, 3.5, 12.5], "texture": "#0"}, + "east": {"uv": [2.5, 14.5, 4.5, 15.5], "texture": "#0"}, + "south": {"uv": [2.5, 11.5, 3.5, 12.5], "texture": "#0"}, + "west": {"uv": [2.5, 14.5, 4.5, 15.5], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [2.5, 11.5, 4.5, 12.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-2, 14, 6], + "to": [0, 16, 10], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 11, 3.5, 12], "texture": "#0"}, + "east": {"uv": [2.5, 14.5, 4.5, 15.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [2.5, 11, 3.5, 12], "texture": "#0"}, + "west": {"uv": [2.5, 14.5, 4.5, 15.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [2.5, 11, 4.5, 12.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 4], "texture": "#0"} + } + }, + { + "from": [-3, 9, 1], + "to": [0, 13, 15], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 9.5, 4, 11.5], "texture": "#0"}, + "east": {"uv": [0, 9, 7, 11], "texture": "#0"}, + "south": {"uv": [2.5, 9.5, 4, 11.5], "texture": "#0"}, + "west": {"uv": [0, 9, 7, 11], "texture": "#0"}, + "up": {"uv": [0, 9, 7, 10.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 9, 7, 10.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 8, 16], + "faces": { + "north": {"uv": [0, 4, 8, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 4], "texture": "#0"}, + "south": {"uv": [0, 4, 8, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 4], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_front_rope.json b/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_front_rope.json new file mode 100644 index 00000000..b45c9c05 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_front_rope.json @@ -0,0 +1,33 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/fossilstone", + "particle": "tfmg:block/fossilstone" + }, + "elements": [ + { + "from": [8, 0, 7.5], + "to": [8, 20, 8.5], + "faces": { + "north": {"uv": [6, 0, 6, 16], "texture": "#0"}, + "east": {"uv": [4, 0, 5, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [12, 0, 13, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "texture": "#0"} + } + }, + { + "from": [7.5, 0, 8], + "to": [8.5, 20, 8], + "faces": { + "north": {"uv": [6, 0, 7, 16], "texture": "#0"}, + "east": {"uv": [4, 0, 4, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 3, 16], "texture": "#0"}, + "west": {"uv": [12, 0, 12, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_hammer.mtl b/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_hammer.mtl new file mode 100644 index 00000000..e69de29b diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_hammer.obj b/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_hammer.obj new file mode 100644 index 00000000..e69de29b diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_hammer.png b/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_hammer.png new file mode 100644 index 00000000..e69de29b diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_hammer_holder.json b/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_hammer_holder.json new file mode 100644 index 00000000..e0767f6f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack/pumpjack_hammer_holder.json @@ -0,0 +1,112 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_post", + "1": "tfmg:block/steel_truss", + "particle": "tfmg:block/aluminum_post" + }, + "elements": [ + { + "from": [0, 6, 6], + "to": [16, 10, 10], + "faces": { + "north": {"uv": [0, 0, 2, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8, 0, 10, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 0, 10, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 8], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 0, 2], + "to": [1, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 8], "texture": "#1"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 8], "texture": "#1"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#1"} + } + }, + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 3, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#1"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#1"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#1"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#1"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#1"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#1"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 1, 8], "texture": "#1"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#1"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#1"} + } + }, + { + "from": [15, 0, 2], + "to": [15, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 8], "texture": "#1"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 8], "texture": "#1"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "bone", + "origin": [0, 0, 0], + "color": 0, + "nbt": "{}", + "children": [] + }, + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack_base.json b/src/main/resources/assets/tfmg/models/block/pumpjack_base.json new file mode 100644 index 00000000..e8b9b8ef --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack_base.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/pumpjack_base", + "particle": "tfmg:block/pumpjack_base" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 14, 13], + "faces": { + "north": {"uv": [0, 2, 5, 9], "texture": "#0"}, + "east": {"uv": [0, 2, 5, 9], "texture": "#0"}, + "south": {"uv": [0, 2, 5, 9], "texture": "#0"}, + "west": {"uv": [0, 2, 5, 9], "texture": "#0"}, + "up": {"uv": [10.5, 0, 14, 4], "texture": "#0"}, + "down": {"uv": [0, 11, 5, 16], "texture": "#0"} + } + }, + { + "from": [2, 14, 2], + "to": [14, 16, 14], + "faces": { + "north": {"uv": [10, 0, 16, 1], "texture": "#0"}, + "east": {"uv": [10, 0, 16, 1], "texture": "#0"}, + "south": {"uv": [10, 0, 16, 1], "texture": "#0"}, + "west": {"uv": [10, 0, 16, 1], "texture": "#0"}, + "up": {"uv": [10, 0, 16, 6], "texture": "#0"}, + "down": {"uv": [10, 0, 16, 6], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack_base/block.json b/src/main/resources/assets/tfmg/models/block/pumpjack_base/block.json new file mode 100644 index 00000000..e8b9b8ef --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack_base/block.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/pumpjack_base", + "particle": "tfmg:block/pumpjack_base" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 14, 13], + "faces": { + "north": {"uv": [0, 2, 5, 9], "texture": "#0"}, + "east": {"uv": [0, 2, 5, 9], "texture": "#0"}, + "south": {"uv": [0, 2, 5, 9], "texture": "#0"}, + "west": {"uv": [0, 2, 5, 9], "texture": "#0"}, + "up": {"uv": [10.5, 0, 14, 4], "texture": "#0"}, + "down": {"uv": [0, 11, 5, 16], "texture": "#0"} + } + }, + { + "from": [2, 14, 2], + "to": [14, 16, 14], + "faces": { + "north": {"uv": [10, 0, 16, 1], "texture": "#0"}, + "east": {"uv": [10, 0, 16, 1], "texture": "#0"}, + "south": {"uv": [10, 0, 16, 1], "texture": "#0"}, + "west": {"uv": [10, 0, 16, 1], "texture": "#0"}, + "up": {"uv": [10, 0, 16, 6], "texture": "#0"}, + "down": {"uv": [10, 0, 16, 6], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack_base/item_.json b/src/main/resources/assets/tfmg/models/block/pumpjack_base/item_.json new file mode 100644 index 00000000..e8b9b8ef --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack_base/item_.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/pumpjack_base", + "particle": "tfmg:block/pumpjack_base" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 14, 13], + "faces": { + "north": {"uv": [0, 2, 5, 9], "texture": "#0"}, + "east": {"uv": [0, 2, 5, 9], "texture": "#0"}, + "south": {"uv": [0, 2, 5, 9], "texture": "#0"}, + "west": {"uv": [0, 2, 5, 9], "texture": "#0"}, + "up": {"uv": [10.5, 0, 14, 4], "texture": "#0"}, + "down": {"uv": [0, 11, 5, 16], "texture": "#0"} + } + }, + { + "from": [2, 14, 2], + "to": [14, 16, 14], + "faces": { + "north": {"uv": [10, 0, 16, 1], "texture": "#0"}, + "east": {"uv": [10, 0, 16, 1], "texture": "#0"}, + "south": {"uv": [10, 0, 16, 1], "texture": "#0"}, + "west": {"uv": [10, 0, 16, 1], "texture": "#0"}, + "up": {"uv": [10, 0, 16, 6], "texture": "#0"}, + "down": {"uv": [10, 0, 16, 6], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack_crank.json b/src/main/resources/assets/tfmg/models/block/pumpjack_crank.json new file mode 100644 index 00000000..cabf8d13 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack_crank.json @@ -0,0 +1,109 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/pumpjack_crank", + "1": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/pumpjack_crank" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 14, 16], + "faces": { + "north": {"uv": [0, 9, 8, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 7], "texture": "#0"}, + "south": {"uv": [0, 9, 8, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 7], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [0, 6, 6], + "to": [16, 10, 10], + "rotation": {"angle": 45, "axis": "x", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [8.5, 3.5, 10.5, 11.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [8.5, 4.5, 10.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8.5, 4.5, 10.5, 10.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8.5, 4.5, 10.5, 10.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-2, 0, 6], + "to": [0, 17, 10], + "rotation": {"angle": 45, "axis": "x", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [12, 2.5, 13, 11], "texture": "#0"}, + "east": {"uv": [11.5, 2.5, 13.5, 11], "texture": "#0"}, + "south": {"uv": [12, 2.5, 13, 11], "texture": "#0"}, + "west": {"uv": [11.5, 2.5, 13.5, 11], "texture": "#0"}, + "down": {"uv": [12, 3, 13, 5], "texture": "#0"} + } + }, + { + "from": [-3, 17, 1], + "to": [0, 21, 15], + "rotation": {"angle": 45, "axis": "x", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [14, 6, 15.5, 8], "texture": "#0"}, + "east": {"uv": [9, 0.5, 16, 2.5], "texture": "#0"}, + "south": {"uv": [14, 6, 15.5, 8], "texture": "#0"}, + "west": {"uv": [9, 0.5, 16, 2.5], "texture": "#0"}, + "up": {"uv": [14, 2.5, 15.5, 9.5], "texture": "#0"}, + "down": {"uv": [14, 2.5, 15.5, 9.5], "texture": "#0"} + } + }, + { + "from": [16, 0, 6], + "to": [18, 17, 10], + "rotation": {"angle": 45, "axis": "x", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [12, 2.5, 13, 11], "texture": "#0"}, + "east": {"uv": [11.5, 2.5, 13.5, 11], "texture": "#0"}, + "south": {"uv": [12, 2.5, 13, 11], "texture": "#0"}, + "west": {"uv": [11.5, 2.5, 13.5, 11], "texture": "#0"}, + "down": {"uv": [12, 3, 13, 5], "texture": "#0"} + } + }, + { + "from": [16, 17, 1], + "to": [19, 21, 15], + "rotation": {"angle": 45, "axis": "x", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [14, 6, 15.5, 8], "texture": "#0"}, + "east": {"uv": [9, 0.5, 16, 2.5], "texture": "#0"}, + "south": {"uv": [14, 6, 15.5, 8], "texture": "#0"}, + "west": {"uv": [9, 0.5, 16, 2.5], "texture": "#0"}, + "up": {"uv": [14, 2.5, 15.5, 9.5], "texture": "#0"}, + "down": {"uv": [14, 2.5, 15.5, 9.5], "texture": "#0"} + } + }, + { + "from": [16, 21, 2], + "to": [19, 22, 14], + "rotation": {"angle": 45, "axis": "x", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [14, 5.5, 14.5, 7], "texture": "#0"}, + "east": {"uv": [9.5, 0, 15.5, 0.5], "texture": "#0"}, + "south": {"uv": [14, 5.5, 14.5, 7], "texture": "#0"}, + "west": {"uv": [9.5, 0, 15.5, 0.5], "texture": "#0"}, + "up": {"uv": [14, 3, 15.5, 9], "texture": "#0"} + } + }, + { + "from": [-3, 21, 2], + "to": [0, 22, 14], + "rotation": {"angle": 45, "axis": "x", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [14, 4.5, 14.5, 6], "texture": "#0"}, + "east": {"uv": [9.5, 0, 15.5, 0.5], "texture": "#0"}, + "south": {"uv": [14, 4.5, 14.5, 6], "texture": "#0"}, + "west": {"uv": [9.5, 0, 15.5, 0.5], "texture": "#0"}, + "up": {"uv": [14, 3, 15.5, 9], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack_crank/block.json b/src/main/resources/assets/tfmg/models/block/pumpjack_crank/block.json new file mode 100644 index 00000000..1cff60c7 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack_crank/block.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/pumpjack_crank", + "1": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/pumpjack_crank" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 14, 16], + "faces": { + "north": {"uv": [0, 9, 8, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 7], "texture": "#0"}, + "south": {"uv": [0, 9, 8, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 7], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack_crank/block_.json b/src/main/resources/assets/tfmg/models/block/pumpjack_crank/block_.json new file mode 100644 index 00000000..6d374717 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack_crank/block_.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/pumpjack_crank", + "1": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/pumpjack_crank" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 8, 16], + "faces": { + "north": {"uv": [0, 4, 8, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 4], "texture": "#0"}, + "south": {"uv": [0, 4, 8, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 4], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [7, 8.01, 1], + "to": [9, 8.01, 2], + "faces": { + "north": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 2, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 0], "texture": "#missing"}, + "up": {"uv": [9.5, 3, 10.5, 3.5], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 2], "texture": "#missing"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack_crank/connectors.json b/src/main/resources/assets/tfmg/models/block/pumpjack_crank/connectors.json new file mode 100644 index 00000000..ea8750bb --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack_crank/connectors.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/steel_block", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [-3, 0, 7], + "to": [-3, 16, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [-3, 0, 7]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#0"} + } + }, + { + "from": [19, 0, 7], + "to": [19, 16, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [19, 0, 7]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 2], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack_crank/crank.json b/src/main/resources/assets/tfmg/models/block/pumpjack_crank/crank.json new file mode 100644 index 00000000..c2b4f78e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack_crank/crank.json @@ -0,0 +1,88 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/pumpjack_crank", + "particle": "tfmg:block/pumpjack_crank" + }, + "elements": [ + { + "from": [0, 6, 6], + "to": [16, 10, 10], + "faces": { + "north": {"uv": [8.5, 3.5, 10.5, 11.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [8.5, 4.5, 10.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8.5, 4.5, 10.5, 10.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8.5, 4.5, 10.5, 10.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-2, 0, 6], + "to": [0, 17, 10], + "faces": { + "north": {"uv": [12, 2.5, 13, 11], "texture": "#0"}, + "east": {"uv": [11.5, 2.5, 13.5, 11], "texture": "#0"}, + "south": {"uv": [12, 2.5, 13, 11], "texture": "#0"}, + "west": {"uv": [11.5, 2.5, 13.5, 11], "texture": "#0"}, + "down": {"uv": [12, 3, 13, 5], "texture": "#0"} + } + }, + { + "from": [-3, 17, 1], + "to": [0, 21, 15], + "faces": { + "north": {"uv": [14, 6, 15.5, 8], "texture": "#0"}, + "east": {"uv": [9, 0.5, 16, 2.5], "texture": "#0"}, + "south": {"uv": [14, 6, 15.5, 8], "texture": "#0"}, + "west": {"uv": [9, 0.5, 16, 2.5], "texture": "#0"}, + "up": {"uv": [14, 2.5, 15.5, 9.5], "texture": "#0"}, + "down": {"uv": [14, 2.5, 15.5, 9.5], "texture": "#0"} + } + }, + { + "from": [16, 0, 6], + "to": [18, 17, 10], + "faces": { + "north": {"uv": [12, 2.5, 13, 11], "texture": "#0"}, + "east": {"uv": [11.5, 2.5, 13.5, 11], "texture": "#0"}, + "south": {"uv": [12, 2.5, 13, 11], "texture": "#0"}, + "west": {"uv": [11.5, 2.5, 13.5, 11], "texture": "#0"}, + "down": {"uv": [12, 3, 13, 5], "texture": "#0"} + } + }, + { + "from": [16, 17, 1], + "to": [19, 21, 15], + "faces": { + "north": {"uv": [14, 6, 15.5, 8], "texture": "#0"}, + "east": {"uv": [9, 0.5, 16, 2.5], "texture": "#0"}, + "south": {"uv": [14, 6, 15.5, 8], "texture": "#0"}, + "west": {"uv": [9, 0.5, 16, 2.5], "texture": "#0"}, + "up": {"uv": [14, 2.5, 15.5, 9.5], "texture": "#0"}, + "down": {"uv": [14, 2.5, 15.5, 9.5], "texture": "#0"} + } + }, + { + "from": [-3, 21, 2], + "to": [0, 22, 14], + "faces": { + "north": {"uv": [14, 4.5, 14.5, 6], "texture": "#0"}, + "east": {"uv": [9.5, 0, 15.5, 0.5], "texture": "#0"}, + "south": {"uv": [14, 4.5, 14.5, 6], "texture": "#0"}, + "west": {"uv": [9.5, 0, 15.5, 0.5], "texture": "#0"}, + "up": {"uv": [14, 3, 15.5, 9], "texture": "#0"} + } + }, + { + "from": [16, 21, 2], + "to": [19, 22, 14], + "faces": { + "north": {"uv": [14, 5.5, 14.5, 7], "texture": "#0"}, + "east": {"uv": [9.5, 0, 15.5, 0.5], "texture": "#0"}, + "south": {"uv": [14, 5.5, 14.5, 7], "texture": "#0"}, + "west": {"uv": [9.5, 0, 15.5, 0.5], "texture": "#0"}, + "up": {"uv": [14, 3, 15.5, 9], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack_crank/item_.json b/src/main/resources/assets/tfmg/models/block/pumpjack_crank/item_.json new file mode 100644 index 00000000..0001f349 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack_crank/item_.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/pumpjack_crank", + "1": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/pumpjack_crank" + }, + "elements": [ + { + "from": [-2, 2, 6], + "to": [18, 6, 10], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [8.5, 0, 10.5, 9], "rotation": 90, "texture": "#0"}, + "east": {"uv": [2.5, 12.5, 4.5, 14.5], "texture": "#0"}, + "south": {"uv": [8.5, 0, 10.5, 9], "rotation": 90, "texture": "#0"}, + "west": {"uv": [2.5, 12.5, 4.5, 14.5], "texture": "#0"}, + "up": {"uv": [8.5, 0, 10.5, 9], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8.5, 0, 10.5, 9], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-3, 13, 2], + "to": [0, 14, 14], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 11.5, 4, 12], "texture": "#0"}, + "east": {"uv": [0.5, 8.5, 6.5, 9], "texture": "#0"}, + "south": {"uv": [2.5, 11.5, 4, 12], "texture": "#0"}, + "west": {"uv": [0.5, 8.5, 6.5, 9], "texture": "#0"}, + "up": {"uv": [0.5, 9, 6.5, 10.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 3, 12], "texture": "#0"} + } + }, + { + "from": [-2, 6, 6], + "to": [0, 9, 10], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 11, 3.5, 12.5], "texture": "#0"}, + "east": {"uv": [2.5, 11, 4.5, 12.5], "texture": "#0"}, + "south": {"uv": [2.5, 11, 3.5, 12.5], "texture": "#0"}, + "west": {"uv": [2.5, 11, 4.5, 12.5], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 4], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 4], "texture": "#0"} + } + }, + { + "from": [-2, 0, 6], + "to": [0, 2, 10], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 11.5, 3.5, 12.5], "texture": "#0"}, + "east": {"uv": [2.5, 14.5, 4.5, 15.5], "texture": "#0"}, + "south": {"uv": [2.5, 11.5, 3.5, 12.5], "texture": "#0"}, + "west": {"uv": [2.5, 14.5, 4.5, 15.5], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 4], "texture": "#0"}, + "down": {"uv": [2.5, 11.5, 4.5, 12.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [16, 14, 6], + "to": [18, 16, 10], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 11, 3.5, 12], "texture": "#0"}, + "east": {"uv": [2.5, 14.5, 4.5, 15.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [2.5, 11, 3.5, 12], "texture": "#0"}, + "west": {"uv": [2.5, 14.5, 4.5, 15.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [2.5, 11, 4.5, 12.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [16, 13, 2], + "to": [19, 14, 14], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [3, 11.5, 4.5, 12], "texture": "#0"}, + "east": {"uv": [0.5, 8.5, 6.5, 9], "texture": "#0"}, + "south": {"uv": [3, 11.5, 4.5, 12], "texture": "#0"}, + "west": {"uv": [0.5, 8.5, 6.5, 9], "texture": "#0"}, + "up": {"uv": [0.5, 9, 6.5, 10.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 3, 12], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [16, 9, 1], + "to": [19, 13, 15], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 9.5, 4, 11.5], "texture": "#0"}, + "east": {"uv": [0, 9, 7, 11], "texture": "#0"}, + "south": {"uv": [2.5, 9.5, 4, 11.5], "texture": "#0"}, + "west": {"uv": [0, 9, 7, 11], "texture": "#0"}, + "up": {"uv": [0, 9, 7, 10.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 9, 7, 10.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [16, 6, 6], + "to": [18, 9, 10], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 11, 3.5, 12.5], "texture": "#0"}, + "east": {"uv": [2.5, 11, 4.5, 12.5], "texture": "#0"}, + "south": {"uv": [2.5, 11, 3.5, 12.5], "texture": "#0"}, + "west": {"uv": [2.5, 11, 4.5, 12.5], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [16, 0, 6], + "to": [18, 2, 10], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 11.5, 3.5, 12.5], "texture": "#0"}, + "east": {"uv": [2.5, 14.5, 4.5, 15.5], "texture": "#0"}, + "south": {"uv": [2.5, 11.5, 3.5, 12.5], "texture": "#0"}, + "west": {"uv": [2.5, 14.5, 4.5, 15.5], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [2.5, 11.5, 4.5, 12.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-2, 14, 6], + "to": [0, 16, 10], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 11, 3.5, 12], "texture": "#0"}, + "east": {"uv": [2.5, 14.5, 4.5, 15.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [2.5, 11, 3.5, 12], "texture": "#0"}, + "west": {"uv": [2.5, 14.5, 4.5, 15.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [2.5, 11, 4.5, 12.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 4], "texture": "#0"} + } + }, + { + "from": [-3, 9, 1], + "to": [0, 13, 15], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 9.5, 4, 11.5], "texture": "#0"}, + "east": {"uv": [0, 9, 7, 11], "texture": "#0"}, + "south": {"uv": [2.5, 9.5, 4, 11.5], "texture": "#0"}, + "west": {"uv": [0, 9, 7, 11], "texture": "#0"}, + "up": {"uv": [0, 9, 7, 10.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 9, 7, 10.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 8, 16], + "faces": { + "north": {"uv": [0, 4, 8, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 4], "texture": "#0"}, + "south": {"uv": [0, 4, 8, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 4], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack_hammer/block.json b/src/main/resources/assets/tfmg/models/block/pumpjack_hammer/block.json new file mode 100644 index 00000000..8ddbc860 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack_hammer/block.json @@ -0,0 +1,143 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/modular_pumpjack", + "particle": "tfmg:block/modular_pumpjack" + }, + "elements": [ + { + "from": [0, 7, 2], + "to": [2, 9, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "east": {"uv": [2, 0, 2.25, 1.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "west": {"uv": [2, 0, 2.25, 1.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [2.25, 1.5, 2, 0], "texture": "#0"}, + "down": {"uv": [2.25, 0, 2, 1.5], "texture": "#0"} + } + }, + { + "from": [14, 7, 2], + "to": [16, 9, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "east": {"uv": [2, 0, 2.25, 1.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "west": {"uv": [2, 0, 2.25, 1.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [2.25, 1.5, 2, 0], "texture": "#0"}, + "down": {"uv": [2.25, 0, 2, 1.5], "texture": "#0"} + } + }, + { + "from": [15, 0, 2], + "to": [15, 7, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0.875], "texture": "#0"}, + "east": {"uv": [0, 4, 1.5, 4.875], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 0.875], "texture": "#0"}, + "west": {"uv": [0, 4, 1.5, 4.875], "texture": "#0"}, + "up": {"uv": [0, 1.5, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [2, 0, 1], + "to": [14, 32, 1], + "faces": { + "north": {"uv": [0, 0, 1.5, 4], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "south": {"uv": [0, 0, 1.5, 4], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "up": {"uv": [1.5, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [1.5, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 32, 2], + "faces": { + "north": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "east": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "south": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "west": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "up": {"uv": [1.875, 4.375, 1.625, 4.125], "texture": "#0"}, + "down": {"uv": [1.875, 4.125, 1.625, 4.375], "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [2, 32, 2], + "faces": { + "north": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "east": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "south": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "west": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "up": {"uv": [1.875, 4.375, 1.625, 4.125], "texture": "#0"}, + "down": {"uv": [1.875, 4.125, 1.625, 4.375], "texture": "#0"} + } + }, + { + "from": [1, 0, 2], + "to": [1, 7, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0.875], "texture": "#0"}, + "east": {"uv": [0, 4, 1.5, 4.875], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 0.875], "texture": "#0"}, + "west": {"uv": [0, 4, 1.5, 4.875], "texture": "#0"}, + "up": {"uv": [0, 1.5, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 32, 16], + "faces": { + "north": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "east": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "south": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "west": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "up": {"uv": [1.875, 4.375, 1.625, 4.125], "texture": "#0"}, + "down": {"uv": [1.875, 4.125, 1.625, 4.375], "texture": "#0"} + } + }, + { + "from": [2, 0, 15], + "to": [14, 32, 15], + "faces": { + "north": {"uv": [0, 0, 1.5, 4], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "south": {"uv": [0, 0, 1.5, 4], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "up": {"uv": [1.5, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [1.5, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 32, 16], + "faces": { + "north": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "east": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "south": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "west": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "up": {"uv": [1.875, 4.375, 1.625, 4.125], "texture": "#0"}, + "down": {"uv": [1.875, 4.125, 1.625, 4.375], "texture": "#0"} + } + }, + { + "from": [6, 22, -3], + "to": [10, 26, 19], + "faces": { + "north": {"uv": [2.375, 2.375, 2.875, 2.875], "texture": "#0"}, + "east": {"uv": [2.375, 0, 2.875, 2.25], "rotation": 90, "texture": "#0"}, + "south": {"uv": [2.375, 2.375, 2.875, 2.875], "texture": "#0"}, + "west": {"uv": [2.375, 0, 2.875, 2.25], "rotation": 90, "texture": "#0"}, + "up": {"uv": [2.875, 2.25, 2.375, 0], "texture": "#0"}, + "down": {"uv": [2.875, 0, 2.375, 2.25], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack_hammer/block_wide.json b/src/main/resources/assets/tfmg/models/block/pumpjack_hammer/block_wide.json new file mode 100644 index 00000000..b7754b6a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack_hammer/block_wide.json @@ -0,0 +1,211 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [128, 128], + "textures": { + "1": "tfmg:block/modular_pumpjack", + "particle": "tfmg:block/modular_pumpjack" + }, + "elements": [ + { + "from": [0, 7, -2], + "to": [2, 32, 0], + "faces": { + "north": {"uv": [1.625, 0.875, 1.875, 4], "texture": "#1"}, + "east": {"uv": [1.625, 0.875, 1.875, 4], "texture": "#1"}, + "south": {"uv": [1.625, 0.875, 1.875, 4], "texture": "#1"}, + "west": {"uv": [1.875, 0.875, 1.625, 4], "texture": "#1"}, + "up": {"uv": [1.875, 4.375, 1.625, 4.125], "texture": "#1"}, + "down": {"uv": [1.875, 4.125, 1.625, 4.375], "texture": "#1"} + } + }, + { + "from": [0, 7, 16], + "to": [2, 32, 18], + "faces": { + "north": {"uv": [1.625, 0.875, 1.875, 4], "texture": "#1"}, + "east": {"uv": [1.625, 0.875, 1.875, 4], "texture": "#1"}, + "south": {"uv": [1.875, 0.875, 1.625, 4], "texture": "#1"}, + "west": {"uv": [1.625, 0.875, 1.875, 4], "texture": "#1"}, + "up": {"uv": [1.875, 4.375, 1.625, 4.125], "texture": "#1"}, + "down": {"uv": [1.875, 4.125, 1.625, 4.375], "texture": "#1"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 11, 2], + "faces": { + "north": {"uv": [1.625, 0.625, 1.875, 2], "texture": "#1"}, + "east": {"uv": [1.625, 0.625, 1.875, 2], "texture": "#1"}, + "south": {"uv": [1.625, 0.625, 1.875, 2], "texture": "#1"}, + "west": {"uv": [1.625, 0.625, 1.875, 2], "texture": "#1"}, + "up": {"uv": [1.875, 4.375, 1.625, 4.125], "texture": "#1"}, + "down": {"uv": [1.875, 4.125, 1.625, 4.375], "texture": "#1"} + } + }, + { + "from": [2, 0, 1], + "to": [14, 11, 1], + "faces": { + "north": {"uv": [0, 2.625, 1.5, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 0, 4], "texture": "#1"}, + "south": {"uv": [0, 2.625, 1.5, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 0, 4], "texture": "#1"}, + "up": {"uv": [1.5, 0, 0, 0], "texture": "#1"}, + "down": {"uv": [1.5, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [0, 0, 0], + "to": [2, 11, 2], + "faces": { + "north": {"uv": [1.625, 0.625, 1.875, 2], "texture": "#1"}, + "east": {"uv": [1.625, 0.625, 1.875, 2], "texture": "#1"}, + "south": {"uv": [1.625, 0.625, 1.875, 2], "texture": "#1"}, + "west": {"uv": [1.625, 0.625, 1.875, 2], "texture": "#1"}, + "up": {"uv": [1.875, 4.375, 1.625, 4.125], "texture": "#1"}, + "down": {"uv": [1.875, 4.125, 1.625, 4.375], "texture": "#1"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 11, 16], + "faces": { + "north": {"uv": [1.625, 0.625, 1.875, 2], "texture": "#1"}, + "east": {"uv": [1.625, 0.625, 1.875, 2], "texture": "#1"}, + "south": {"uv": [1.625, 0.625, 1.875, 2], "texture": "#1"}, + "west": {"uv": [1.625, 0.625, 1.875, 2], "texture": "#1"}, + "up": {"uv": [1.875, 4.375, 1.625, 4.125], "texture": "#1"}, + "down": {"uv": [1.875, 4.125, 1.625, 4.375], "texture": "#1"} + } + }, + { + "from": [2, 0, 15], + "to": [14, 11, 15], + "faces": { + "north": {"uv": [0, 2.625, 1.5, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 0, 4], "texture": "#1"}, + "south": {"uv": [0, 2.625, 1.5, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 0, 4], "texture": "#1"}, + "up": {"uv": [1.5, 0, 0, 0], "texture": "#1"}, + "down": {"uv": [1.5, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 11, 16], + "faces": { + "north": {"uv": [1.625, 0.625, 1.875, 2], "texture": "#1"}, + "east": {"uv": [1.625, 0.625, 1.875, 2], "texture": "#1"}, + "south": {"uv": [1.625, 0.625, 1.875, 2], "texture": "#1"}, + "west": {"uv": [1.625, 0.625, 1.875, 2], "texture": "#1"}, + "up": {"uv": [1.875, 4.375, 1.625, 4.125], "texture": "#1"}, + "down": {"uv": [1.875, 4.125, 1.625, 4.375], "texture": "#1"} + } + }, + { + "from": [0, 7, 2], + "to": [2, 9, 14], + "faces": { + "east": {"uv": [2, 0, 2.25, 1.5], "rotation": 90, "texture": "#1"}, + "west": {"uv": [2, 0, 2.25, 1.5], "rotation": 90, "texture": "#1"}, + "up": {"uv": [2.25, 1.5, 2, 0], "texture": "#1"}, + "down": {"uv": [2.25, 0, 2, 1.5], "texture": "#1"} + } + }, + { + "from": [14, 7, 2], + "to": [16, 9, 14], + "faces": { + "east": {"uv": [2, 0, 2.25, 1.5], "rotation": 90, "texture": "#1"}, + "west": {"uv": [2, 0, 2.25, 1.5], "rotation": 90, "texture": "#1"}, + "up": {"uv": [2.25, 1.5, 2, 0], "texture": "#1"}, + "down": {"uv": [2.25, 0, 2, 1.5], "texture": "#1"} + } + }, + { + "from": [14, 7, -2], + "to": [16, 32, 0], + "faces": { + "north": {"uv": [1.875, 0.875, 1.625, 4], "texture": "#1"}, + "east": {"uv": [1.625, 0.875, 1.875, 4], "texture": "#1"}, + "south": {"uv": [1.625, 0.875, 1.875, 4], "texture": "#1"}, + "west": {"uv": [1.625, 0.875, 1.875, 4], "texture": "#1"}, + "up": {"uv": [1.875, 4.375, 1.625, 4.125], "texture": "#1"}, + "down": {"uv": [1.875, 4.125, 1.625, 4.375], "texture": "#1"} + } + }, + { + "from": [14, 7, 16], + "to": [16, 32, 18], + "faces": { + "north": {"uv": [1.625, 0.875, 1.875, 4], "texture": "#1"}, + "east": {"uv": [1.875, 0.875, 1.625, 4], "texture": "#1"}, + "south": {"uv": [1.625, 0.875, 1.875, 4], "texture": "#1"}, + "west": {"uv": [1.625, 0.875, 1.875, 4], "texture": "#1"}, + "up": {"uv": [1.875, 4.375, 1.625, 4.125], "texture": "#1"}, + "down": {"uv": [1.875, 4.125, 1.625, 4.375], "texture": "#1"} + } + }, + { + "from": [6, 22, -3], + "to": [10, 26, 19], + "faces": { + "north": {"uv": [2.375, 2.375, 2.875, 2.875], "texture": "#1"}, + "east": {"uv": [2.375, 0, 2.875, 2.25], "rotation": 90, "texture": "#1"}, + "south": {"uv": [2.375, 2.375, 2.875, 2.875], "texture": "#1"}, + "west": {"uv": [2.375, 0, 2.875, 2.25], "rotation": 90, "texture": "#1"}, + "up": {"uv": [2.875, 2.25, 2.375, 0], "texture": "#1"}, + "down": {"uv": [2.875, 0, 2.375, 2.25], "texture": "#1"} + } + }, + { + "from": [1, 0, 2], + "to": [1, 7, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0.875], "texture": "#1"}, + "east": {"uv": [0, 4, 1.5, 4.875], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0.875], "texture": "#1"}, + "west": {"uv": [0, 4, 1.5, 4.875], "texture": "#1"}, + "up": {"uv": [0, 1.5, 0, 0], "texture": "#1"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#1"} + } + }, + { + "from": [15, 0, 2], + "to": [15, 7, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0.875], "texture": "#1"}, + "east": {"uv": [0, 4, 1.5, 4.875], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 0.875], "texture": "#1"}, + "west": {"uv": [0, 4, 1.5, 4.875], "texture": "#1"}, + "up": {"uv": [0, 1.5, 0, 0], "texture": "#1"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#1"} + } + }, + { + "from": [2, 7, 17], + "to": [14, 32, 17], + "faces": { + "north": {"uv": [0, 0, 1.5, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 0, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 1.5, 3.125], "texture": "#1"}, + "west": {"uv": [0, 0, 0, 4], "texture": "#1"}, + "up": {"uv": [1.5, 0, 0, 0], "texture": "#1"}, + "down": {"uv": [1.5, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [2, 9, -1], + "to": [14, 32, -1], + "faces": { + "north": {"uv": [0, 0, 1.5, 2.875], "texture": "#1"}, + "east": {"uv": [0, 0, 0, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 1.5, 2.875], "texture": "#1"}, + "west": {"uv": [0, 0, 0, 4], "texture": "#1"}, + "up": {"uv": [1.5, 0, 0, 0], "texture": "#1"}, + "down": {"uv": [1.5, 0, 0, 0], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack_hammer/item.json b/src/main/resources/assets/tfmg/models/block/pumpjack_hammer/item.json new file mode 100644 index 00000000..b3ca32ee --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack_hammer/item.json @@ -0,0 +1,150 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/modular_pumpjack", + "particle": "tfmg:block/modular_pumpjack" + }, + "elements": [ + { + "from": [0, 7, 2], + "to": [2, 9, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "east": {"uv": [2, 0, 2.25, 1.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "west": {"uv": [2, 0, 2.25, 1.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [2.25, 1.5, 2, 0], "texture": "#0"}, + "down": {"uv": [2.25, 0, 2, 1.5], "texture": "#0"} + } + }, + { + "from": [14, 7, 2], + "to": [16, 9, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "east": {"uv": [2, 0, 2.25, 1.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "west": {"uv": [2, 0, 2.25, 1.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [2.25, 1.5, 2, 0], "texture": "#0"}, + "down": {"uv": [2.25, 0, 2, 1.5], "texture": "#0"} + } + }, + { + "from": [15, 0, 2], + "to": [15, 7, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0.875], "texture": "#0"}, + "east": {"uv": [0, 4, 1.5, 4.875], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 0.875], "texture": "#0"}, + "west": {"uv": [0, 4, 1.5, 4.875], "texture": "#0"}, + "up": {"uv": [0, 1.5, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [2, 0, 1], + "to": [14, 32, 1], + "faces": { + "north": {"uv": [0, 0, 1.5, 4], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "south": {"uv": [0, 0, 1.5, 4], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "up": {"uv": [1.5, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [1.5, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 32, 2], + "faces": { + "north": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "east": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "south": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "west": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "up": {"uv": [1.875, 4.375, 1.625, 4.125], "texture": "#0"}, + "down": {"uv": [1.875, 4.125, 1.625, 4.375], "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [2, 32, 2], + "faces": { + "north": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "east": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "south": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "west": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "up": {"uv": [1.875, 4.375, 1.625, 4.125], "texture": "#0"}, + "down": {"uv": [1.875, 4.125, 1.625, 4.375], "texture": "#0"} + } + }, + { + "from": [1, 0, 2], + "to": [1, 7, 14], + "faces": { + "north": {"uv": [0, 0, 0, 0.875], "texture": "#0"}, + "east": {"uv": [0, 4, 1.5, 4.875], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 0.875], "texture": "#0"}, + "west": {"uv": [0, 4, 1.5, 4.875], "texture": "#0"}, + "up": {"uv": [0, 1.5, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 32, 16], + "faces": { + "north": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "east": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "south": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "west": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "up": {"uv": [1.875, 4.375, 1.625, 4.125], "texture": "#0"}, + "down": {"uv": [1.875, 4.125, 1.625, 4.375], "texture": "#0"} + } + }, + { + "from": [2, 0, 15], + "to": [14, 32, 15], + "faces": { + "north": {"uv": [0, 0, 1.5, 4], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "south": {"uv": [0, 0, 1.5, 4], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "up": {"uv": [1.5, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [1.5, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 32, 16], + "faces": { + "north": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "east": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "south": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "west": {"uv": [1.625, 0, 1.875, 4], "texture": "#0"}, + "up": {"uv": [1.875, 4.375, 1.625, 4.125], "texture": "#0"}, + "down": {"uv": [1.875, 4.125, 1.625, 4.375], "texture": "#0"} + } + }, + { + "from": [6, 22, -3], + "to": [10, 26, 19], + "faces": { + "north": {"uv": [2.375, 2.375, 2.875, 2.875], "texture": "#0"}, + "east": {"uv": [2.375, 0, 2.875, 2.25], "rotation": 90, "texture": "#0"}, + "south": {"uv": [2.375, 2.375, 2.875, 2.875], "texture": "#0"}, + "west": {"uv": [2.375, 0, 2.875, 2.25], "rotation": 90, "texture": "#0"}, + "up": {"uv": [2.875, 2.25, 2.375, 0], "texture": "#0"}, + "down": {"uv": [2.875, 0, 2.375, 2.25], "texture": "#0"} + } + } + ], + "display": { + "gui": { + "rotation": [24, -45, 0], + "translation": [0, -2.75, 0], + "scale": [0.4, 0.4, 0.4] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack_hammer_connector.json b/src/main/resources/assets/tfmg/models/block/pumpjack_hammer_connector.json new file mode 100644 index 00000000..8630f435 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack_hammer_connector.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/pumpjack_hammer_part", + "particle": "tfmg:block/pumpjack_hammer_part" + }, + "elements": [ + { + "from": [2, 0, 0], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [9, 0, 15, 8], "texture": "#1"}, + "east": {"uv": [0, 0, 8, 8], "texture": "#1"}, + "south": {"uv": [9, 0, 15, 8], "texture": "#1"}, + "west": {"uv": [0, 0, 8, 8], "texture": "#1"}, + "up": {"uv": [9, 8, 15, 16], "texture": "#1"}, + "down": {"uv": [9, 8, 15, 16], "texture": "#1"} + } + }, + { + "from": [-1, 6, 6], + "to": [17, 10, 10], + "faces": { + "north": {"uv": [0, 9, 8.9375, 11], "texture": "#1"}, + "east": {"uv": [0, 12, 2, 14], "texture": "#1"}, + "south": {"uv": [0, 9, 9, 11], "texture": "#1"}, + "west": {"uv": [0, 12, 2, 14], "texture": "#1"}, + "up": {"uv": [0, 9, 9, 11], "texture": "#1"}, + "down": {"uv": [0, 9, 9, 11], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack_hammer_head.json b/src/main/resources/assets/tfmg/models/block/pumpjack_hammer_head.json new file mode 100644 index 00000000..8f189fdc --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack_hammer_head.json @@ -0,0 +1,29 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/pumpjack_hammer_head", + "particle": "tfmg:block/pumpjack_hammer_head" + }, + "elements": [ + { + "from": [1, -8, 2], + "to": [15, 20, 16], + "faces": { + "north": {"uv": [0, 0, 8, 14], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 14], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 14], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 14], "texture": "#0"}, + "up": {"uv": [8, 0, 15, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [8, 0, 15, 7], "rotation": 270, "texture": "#0"} + } + } + ], + "display": { + "gui": { + "rotation": [18, 28, 0], + "translation": [-0.25, 1, 0], + "scale": [0.4, 0.4, 0.4] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack_hammer_holder.json b/src/main/resources/assets/tfmg/models/block/pumpjack_hammer_holder.json new file mode 100644 index 00000000..e0767f6f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack_hammer_holder.json @@ -0,0 +1,112 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_post", + "1": "tfmg:block/steel_truss", + "particle": "tfmg:block/aluminum_post" + }, + "elements": [ + { + "from": [0, 6, 6], + "to": [16, 10, 10], + "faces": { + "north": {"uv": [0, 0, 2, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8, 0, 10, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 0, 10, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 8], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 0, 2], + "to": [1, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 8], "texture": "#1"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 8], "texture": "#1"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#1"} + } + }, + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 3, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#1"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#1"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#1"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#1"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#1"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#1"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 1, 8], "texture": "#1"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#1"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#1"} + } + }, + { + "from": [15, 0, 2], + "to": [15, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 8], "texture": "#1"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 8], "texture": "#1"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "bone", + "origin": [0, 0, 0], + "color": 0, + "nbt": "{}", + "children": [] + }, + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack_hammer_holder/block.json b/src/main/resources/assets/tfmg/models/block/pumpjack_hammer_holder/block.json new file mode 100644 index 00000000..e0767f6f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack_hammer_holder/block.json @@ -0,0 +1,112 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_post", + "1": "tfmg:block/steel_truss", + "particle": "tfmg:block/aluminum_post" + }, + "elements": [ + { + "from": [0, 6, 6], + "to": [16, 10, 10], + "faces": { + "north": {"uv": [0, 0, 2, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8, 0, 10, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 0, 10, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 8], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 0, 2], + "to": [1, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 8], "texture": "#1"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 8], "texture": "#1"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#1"} + } + }, + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 3, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#1"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#1"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#1"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#1"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#1"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#1"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 1, 8], "texture": "#1"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#1"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#1"} + } + }, + { + "from": [15, 0, 2], + "to": [15, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 8], "texture": "#1"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 8], "texture": "#1"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "bone", + "origin": [0, 0, 0], + "color": 0, + "nbt": "{}", + "children": [] + }, + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack_hammer_holder/item_.json b/src/main/resources/assets/tfmg/models/block/pumpjack_hammer_holder/item_.json new file mode 100644 index 00000000..e0767f6f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack_hammer_holder/item_.json @@ -0,0 +1,112 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/aluminum_post", + "1": "tfmg:block/steel_truss", + "particle": "tfmg:block/aluminum_post" + }, + "elements": [ + { + "from": [0, 6, 6], + "to": [16, 10, 10], + "faces": { + "north": {"uv": [0, 0, 2, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8, 0, 10, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 0, 10, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 8], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 0, 2], + "to": [1, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 8], "texture": "#1"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 8], "texture": "#1"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#1"} + } + }, + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 3, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#1"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#1"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#1"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#1"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#1"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#1"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 1, 8], "texture": "#1"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#1"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#1"} + } + }, + { + "from": [15, 0, 2], + "to": [15, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 8], "texture": "#1"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 8], "texture": "#1"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "bone", + "origin": [0, 0, 0], + "color": 0, + "nbt": "{}", + "children": [] + }, + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/pumpjack_hammer_part.json b/src/main/resources/assets/tfmg/models/block/pumpjack_hammer_part.json new file mode 100644 index 00000000..f14077f2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/pumpjack_hammer_part.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/pumpjack_hammer_part", + "particle": "tfmg:block/pumpjack_hammer_part" + }, + "elements": [ + { + "from": [2, 0, 0], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [9, 0, 15, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "south": {"uv": [9, 0, 15, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "up": {"uv": [9, 8, 15, 16], "texture": "#0"}, + "down": {"uv": [9, 8, 15, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/radial_engine/block.json b/src/main/resources/assets/tfmg/models/block/radial_engine/block.json new file mode 100644 index 00000000..f407e154 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/radial_engine/block.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/large_radial_engine", + "particle": "tfmg:block/large_radial_engine" + }, + "elements": [ + { + "from": [-3, -3, 3], + "to": [19, 19, 13], + "faces": { + "north": {"uv": [0, 0, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [7, 4, 9.5, 9.5], "texture": "#0"}, + "south": {"uv": [0, 0, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [7, 4, 9.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 4, 9.5, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 4, 9.5, 9.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 5.5, 4, 9.5], "texture": "#0"}, + "east": {"uv": [4, 5.5, 7, 9.5], "texture": "#0"}, + "south": {"uv": [0, 5.5, 4, 9.5], "texture": "#0"}, + "west": {"uv": [4, 5.5, 7, 9.5], "texture": "#0"}, + "up": {"uv": [4, 5.5, 7, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 5.5, 7, 9.5], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/radial_engine/block_back.json b/src/main/resources/assets/tfmg/models/block/radial_engine/block_back.json new file mode 100644 index 00000000..cde55bd0 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/radial_engine/block_back.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/large_radial_engine", + "particle": "tfmg:block/large_radial_engine" + }, + "elements": [ + { + "from": [-3, -3, 3], + "to": [19, 19, 16], + "faces": { + "north": {"uv": [0, 0, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.25, 10, 7, 15.5], "texture": "#0"}, + "south": {"uv": [0, 0, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [7, 10, 10.25, 15.5], "texture": "#0"}, + "up": {"uv": [7, 10, 10.25, 15.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.25, 10, 7, 15.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 5.5, 4, 9.5], "texture": "#0"}, + "east": {"uv": [4, 5.5, 7, 9.5], "texture": "#0"}, + "south": {"uv": [0, 5.5, 4, 9.5], "texture": "#0"}, + "west": {"uv": [4, 5.5, 7, 9.5], "texture": "#0"}, + "up": {"uv": [4, 5.5, 7, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 5.5, 7, 9.5], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/radial_engine/block_front.json b/src/main/resources/assets/tfmg/models/block/radial_engine/block_front.json new file mode 100644 index 00000000..cde55bd0 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/radial_engine/block_front.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/large_radial_engine", + "particle": "tfmg:block/large_radial_engine" + }, + "elements": [ + { + "from": [-3, -3, 3], + "to": [19, 19, 16], + "faces": { + "north": {"uv": [0, 0, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.25, 10, 7, 15.5], "texture": "#0"}, + "south": {"uv": [0, 0, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [7, 10, 10.25, 15.5], "texture": "#0"}, + "up": {"uv": [7, 10, 10.25, 15.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.25, 10, 7, 15.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 5.5, 4, 9.5], "texture": "#0"}, + "east": {"uv": [4, 5.5, 7, 9.5], "texture": "#0"}, + "south": {"uv": [0, 5.5, 4, 9.5], "texture": "#0"}, + "west": {"uv": [4, 5.5, 7, 9.5], "texture": "#0"}, + "up": {"uv": [4, 5.5, 7, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 5.5, 7, 9.5], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/radial_engine/block_normal.json b/src/main/resources/assets/tfmg/models/block/radial_engine/block_normal.json new file mode 100644 index 00000000..6f8a3668 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/radial_engine/block_normal.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/large_radial_engine", + "particle": "tfmg:block/large_radial_engine" + }, + "elements": [ + { + "from": [-3, -3, 0], + "to": [19, 19, 16], + "faces": { + "north": {"uv": [0, 0, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.25, 10, 14.25, 15.5], "texture": "#0"}, + "south": {"uv": [0, 0, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.25, 10, 14.25, 15.5], "texture": "#0"}, + "up": {"uv": [10.25, 10, 14.25, 15.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.25, 10, 14.25, 15.5], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/radial_engine/block_single.json b/src/main/resources/assets/tfmg/models/block/radial_engine/block_single.json new file mode 100644 index 00000000..f407e154 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/radial_engine/block_single.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/large_radial_engine", + "particle": "tfmg:block/large_radial_engine" + }, + "elements": [ + { + "from": [-3, -3, 3], + "to": [19, 19, 13], + "faces": { + "north": {"uv": [0, 0, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [7, 4, 9.5, 9.5], "texture": "#0"}, + "south": {"uv": [0, 0, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [7, 4, 9.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 4, 9.5, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 4, 9.5, 9.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 5.5, 4, 9.5], "texture": "#0"}, + "east": {"uv": [4, 5.5, 7, 9.5], "texture": "#0"}, + "south": {"uv": [0, 5.5, 4, 9.5], "texture": "#0"}, + "west": {"uv": [4, 5.5, 7, 9.5], "texture": "#0"}, + "up": {"uv": [4, 5.5, 7, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 5.5, 7, 9.5], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/radial_engine/cylinder.json b/src/main/resources/assets/tfmg/models/block/radial_engine/cylinder.json new file mode 100644 index 00000000..bb822567 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/radial_engine/cylinder.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [128, 128], + "textures": { + "1": "tfmg:block/large_radial_engine", + "particle": "tfmg:block/engines/aluminum_cylinder" + }, + "elements": [ + { + "from": [3.99, -1.01, 3.99], + "to": [12.01, 13.01, 12.01], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 0, 9, 2], "rotation": 90, "texture": "#1"}, + "east": {"uv": [5.5, 0, 9, 2], "rotation": 90, "texture": "#1"}, + "south": {"uv": [5.5, 0, 9, 2], "rotation": 90, "texture": "#1"}, + "west": {"uv": [5.5, 0, 9, 2], "rotation": 90, "texture": "#1"}, + "up": {"uv": [15.5, 5.5, 13.5, 3.5], "texture": "#1"} + } + }, + { + "from": [4.99, -1.01, 4.99], + "to": [11.01, 13.01, 11.01], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [12, 2, 15.5, 3.5], "rotation": 270, "texture": "#1"}, + "east": {"uv": [12, 2, 15.5, 3.5], "rotation": 270, "texture": "#1"}, + "south": {"uv": [12, 2, 15.5, 3.5], "rotation": 270, "texture": "#1"}, + "west": {"uv": [12, 2, 15.5, 3.5], "rotation": 270, "texture": "#1"}, + "up": {"uv": [15, 5.5, 13.5, 7], "rotation": 180, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/radial_engine/item.json b/src/main/resources/assets/tfmg/models/block/radial_engine/item.json new file mode 100644 index 00000000..20dcbe85 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/radial_engine/item.json @@ -0,0 +1,188 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/large_radial_engine", + "1": "tfmg:block/shaft_top", + "2": "tfmg:block/shaft", + "particle": "tfmg:block/large_radial_engine" + }, + "elements": [ + { + "from": [-3, -3, 3], + "to": [19, 19, 13], + "faces": { + "north": {"uv": [0, 0, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [7, 4, 9.5, 9.5], "texture": "#0"}, + "south": {"uv": [0, 0, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [7, 4, 9.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 4, 9.5, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 4, 9.5, 9.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 5.5, 4, 9.5], "texture": "#0"}, + "east": {"uv": [4, 5.5, 7, 9.5], "texture": "#0"}, + "south": {"uv": [0, 5.5, 4, 9.5], "texture": "#0"}, + "west": {"uv": [4, 5.5, 7, 9.5], "texture": "#0"}, + "up": {"uv": [4, 5.5, 7, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 5.5, 7, 9.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-12, 5, 5], + "to": [28, 11, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 2, 15.5, 3.5], "texture": "#0"}, + "east": {"uv": [15, 7, 13.5, 5.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [15, 5.5, 13.5, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, -12, 5], + "to": [11, 28, 11], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "up": {"uv": [15, 5.5, 13.5, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 7, 13.5, 5.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [-12, 5, 5], + "to": [28, 11, 11], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 2, 15.5, 3.5], "texture": "#0"}, + "east": {"uv": [15, 7, 13.5, 5.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [15, 5.5, 13.5, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, -12, 5], + "to": [11, 28, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "up": {"uv": [15, 5.5, 13.5, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 7, 13.5, 5.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, -12, 4], + "to": [12, 28, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "east": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15.5, 5.5, 13.5, 3.5], "texture": "#0"}, + "down": {"uv": [15.5, 3.5, 13.5, 5.5], "texture": "#0"} + } + }, + { + "from": [-12, 4, 4], + "to": [28, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 0, 15.5, 2], "texture": "#0"}, + "east": {"uv": [15.5, 5.5, 13.5, 3.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 0, 15.5, 2], "rotation": 180, "texture": "#0"}, + "west": {"uv": [15.5, 3.5, 13.5, 5.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [5.5, 0, 15.5, 2], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 0, 15.5, 2], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, -12, 4], + "to": [12, 28, 12], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "east": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15.5, 5.5, 13.5, 3.5], "texture": "#0"}, + "down": {"uv": [15.5, 3.5, 13.5, 5.5], "texture": "#0"} + } + }, + { + "from": [-12, 4, 4], + "to": [28, 12, 12], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 0, 15.5, 2], "texture": "#0"}, + "east": {"uv": [13.5, 3.5, 15.5, 5.5], "texture": "#0"}, + "south": {"uv": [5.5, 0, 15.5, 2], "texture": "#0"}, + "west": {"uv": [13.5, 3.5, 15.5, 5.5], "texture": "#0"}, + "up": {"uv": [15.5, 2, 5.5, 0], "texture": "#0"}, + "down": {"uv": [15.5, 0, 5.5, 2], "texture": "#0"} + } + }, + { + "from": [6, 6, 0], + "to": [10, 10, 16], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [6, 6, 10, 10], "texture": "#1"}, + "east": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#2"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#1"}, + "west": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#2"}, + "up": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "down": {"uv": [6, 0, 10, 16], "texture": "#2"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, -67, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, -67, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.16, 0.16, 0.16] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "head": { + "translation": [0, 0, -2.25] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/radial_engine/radial_engine.json b/src/main/resources/assets/tfmg/models/block/radial_engine/radial_engine.json new file mode 100644 index 00000000..2f2a8c8a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/radial_engine/radial_engine.json @@ -0,0 +1,528 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/large_radial_engine", + "particle": "tfmg:block/large_radial_engine" + }, + "elements": [ + { + "from": [-3, -3, 16], + "to": [19, 19, 29], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 16]}, + "faces": { + "north": {"uv": [0, 0, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [7, 10, 10.25, 15.5], "texture": "#0"}, + "south": {"uv": [0, 0, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.25, 10, 7, 15.5], "texture": "#0"}, + "up": {"uv": [10.25, 10, 7, 15.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 10, 10.25, 15.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 18], + "to": [16, 16, 30], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 16]}, + "faces": { + "north": {"uv": [0, 5.5, 4, 9.5], "texture": "#0"}, + "east": {"uv": [4, 5.5, 7, 9.5], "texture": "#0"}, + "south": {"uv": [0, 5.5, 4, 9.5], "texture": "#0"}, + "west": {"uv": [4, 5.5, 7, 9.5], "texture": "#0"}, + "up": {"uv": [4, 5.5, 7, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 5.5, 7, 9.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-12, 5, 21], + "to": [28, 11, 27], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 16]}, + "faces": { + "north": {"uv": [5.5, 2, 15.5, 3.5], "texture": "#0"}, + "east": {"uv": [15, 7, 13.5, 5.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [15, 5.5, 13.5, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, -12, 21], + "to": [11, 28, 27], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 16]}, + "faces": { + "north": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "up": {"uv": [15, 5.5, 13.5, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 7, 13.5, 5.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [-12, 5, 21], + "to": [28, 11, 27], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 16]}, + "faces": { + "north": {"uv": [5.5, 2, 15.5, 3.5], "texture": "#0"}, + "east": {"uv": [15, 7, 13.5, 5.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [15, 5.5, 13.5, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, -12, 21], + "to": [11, 28, 27], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 16]}, + "faces": { + "north": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "up": {"uv": [15, 5.5, 13.5, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 7, 13.5, 5.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, -12, 20], + "to": [12, 28, 28], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 16]}, + "faces": { + "north": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "east": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15.5, 5.5, 13.5, 3.5], "texture": "#0"}, + "down": {"uv": [15.5, 3.5, 13.5, 5.5], "texture": "#0"} + } + }, + { + "from": [-12, 4, 20], + "to": [28, 12, 28], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 16]}, + "faces": { + "north": {"uv": [5.5, 0, 15.5, 2], "texture": "#0"}, + "east": {"uv": [15.5, 5.5, 13.5, 3.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 0, 15.5, 2], "rotation": 180, "texture": "#0"}, + "west": {"uv": [15.5, 3.5, 13.5, 5.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [5.5, 0, 15.5, 2], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 0, 15.5, 2], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, -12, 20], + "to": [12, 28, 28], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 16]}, + "faces": { + "north": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "east": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15.5, 5.5, 13.5, 3.5], "texture": "#0"}, + "down": {"uv": [15.5, 3.5, 13.5, 5.5], "texture": "#0"} + } + }, + { + "from": [-12, 4, 20], + "to": [28, 12, 28], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 16]}, + "faces": { + "north": {"uv": [5.5, 0, 15.5, 2], "texture": "#0"}, + "east": {"uv": [13.5, 3.5, 15.5, 5.5], "texture": "#0"}, + "south": {"uv": [5.5, 0, 15.5, 2], "texture": "#0"}, + "west": {"uv": [13.5, 3.5, 15.5, 5.5], "texture": "#0"}, + "up": {"uv": [15.5, 2, 5.5, 0], "texture": "#0"}, + "down": {"uv": [15.5, 0, 5.5, 2], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 5.5, 4, 9.5], "texture": "#0"}, + "east": {"uv": [4, 5.5, 7, 9.5], "texture": "#0"}, + "south": {"uv": [0, 5.5, 4, 9.5], "texture": "#0"}, + "west": {"uv": [4, 5.5, 7, 9.5], "texture": "#0"}, + "up": {"uv": [4, 5.5, 7, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 5.5, 7, 9.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-12, 5, 5], + "to": [28, 11, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 2, 15.5, 3.5], "texture": "#0"}, + "east": {"uv": [15, 7, 13.5, 5.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [15, 5.5, 13.5, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, -12, 5], + "to": [11, 28, 11], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "up": {"uv": [15, 5.5, 13.5, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 7, 13.5, 5.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [-12, 5, 5], + "to": [28, 11, 11], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 2, 15.5, 3.5], "texture": "#0"}, + "east": {"uv": [15, 7, 13.5, 5.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [15, 5.5, 13.5, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, -12, 5], + "to": [11, 28, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "up": {"uv": [15, 5.5, 13.5, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 7, 13.5, 5.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, -12, 4], + "to": [12, 28, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "east": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15.5, 5.5, 13.5, 3.5], "texture": "#0"}, + "down": {"uv": [15.5, 3.5, 13.5, 5.5], "texture": "#0"} + } + }, + { + "from": [-12, 4, 4], + "to": [28, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 0, 15.5, 2], "texture": "#0"}, + "east": {"uv": [15.5, 5.5, 13.5, 3.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 0, 15.5, 2], "rotation": 180, "texture": "#0"}, + "west": {"uv": [15.5, 3.5, 13.5, 5.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [5.5, 0, 15.5, 2], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 0, 15.5, 2], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, -12, 4], + "to": [12, 28, 12], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "east": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15.5, 5.5, 13.5, 3.5], "texture": "#0"}, + "down": {"uv": [15.5, 3.5, 13.5, 5.5], "texture": "#0"} + } + }, + { + "from": [-12, 4, 4], + "to": [28, 12, 12], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 0, 15.5, 2], "texture": "#0"}, + "east": {"uv": [13.5, 3.5, 15.5, 5.5], "texture": "#0"}, + "south": {"uv": [5.5, 0, 15.5, 2], "texture": "#0"}, + "west": {"uv": [13.5, 3.5, 15.5, 5.5], "texture": "#0"}, + "up": {"uv": [15.5, 2, 5.5, 0], "texture": "#0"}, + "down": {"uv": [15.5, 0, 5.5, 2], "texture": "#0"} + } + }, + { + "from": [-3, -3, 0], + "to": [19, 19, 16], + "faces": { + "north": {"uv": [0, 0, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.25, 10, 14.25, 15.5], "texture": "#0"}, + "south": {"uv": [0, 0, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [10.25, 10, 14.25, 15.5], "texture": "#0"}, + "up": {"uv": [10.25, 10, 14.25, 15.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.25, 10, 14.25, 15.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-12, 5, 5], + "to": [28, 11, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 2, 15.5, 3.5], "texture": "#0"}, + "east": {"uv": [15, 7, 13.5, 5.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [15, 5.5, 13.5, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, -12, 5], + "to": [11, 28, 11], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "up": {"uv": [15, 5.5, 13.5, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 7, 13.5, 5.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [-12, 5, 5], + "to": [28, 11, 11], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 2, 15.5, 3.5], "texture": "#0"}, + "east": {"uv": [15, 7, 13.5, 5.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [15, 5.5, 13.5, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, -12, 5], + "to": [11, 28, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "up": {"uv": [15, 5.5, 13.5, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 7, 13.5, 5.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, -12, 4], + "to": [12, 28, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "east": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15.5, 5.5, 13.5, 3.5], "texture": "#0"}, + "down": {"uv": [15.5, 3.5, 13.5, 5.5], "texture": "#0"} + } + }, + { + "from": [-12, 4, 4], + "to": [28, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 0, 15.5, 2], "texture": "#0"}, + "east": {"uv": [15.5, 5.5, 13.5, 3.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 0, 15.5, 2], "rotation": 180, "texture": "#0"}, + "west": {"uv": [15.5, 3.5, 13.5, 5.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [5.5, 0, 15.5, 2], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 0, 15.5, 2], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, -12, 4], + "to": [12, 28, 12], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "east": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15.5, 5.5, 13.5, 3.5], "texture": "#0"}, + "down": {"uv": [15.5, 3.5, 13.5, 5.5], "texture": "#0"} + } + }, + { + "from": [-12, 4, 4], + "to": [28, 12, 12], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 0, 15.5, 2], "texture": "#0"}, + "east": {"uv": [13.5, 3.5, 15.5, 5.5], "texture": "#0"}, + "south": {"uv": [5.5, 0, 15.5, 2], "texture": "#0"}, + "west": {"uv": [13.5, 3.5, 15.5, 5.5], "texture": "#0"}, + "up": {"uv": [15.5, 2, 5.5, 0], "texture": "#0"}, + "down": {"uv": [15.5, 0, 5.5, 2], "texture": "#0"} + } + }, + { + "from": [-3, -3, -13], + "to": [19, 19, 0], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -16]}, + "faces": { + "north": {"uv": [0, 0, 5.5, 5.5], "texture": "#0"}, + "east": {"uv": [10.25, 10, 7, 15.5], "texture": "#0"}, + "south": {"uv": [0, 0, 5.5, 5.5], "texture": "#0"}, + "west": {"uv": [7, 10, 10.25, 15.5], "texture": "#0"}, + "up": {"uv": [7, 10, 10.25, 15.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.25, 10, 7, 15.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, -14], + "to": [16, 16, -2], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -16]}, + "faces": { + "north": {"uv": [0, 5.5, 4, 9.5], "texture": "#0"}, + "east": {"uv": [4, 5.5, 7, 9.5], "texture": "#0"}, + "south": {"uv": [0, 5.5, 4, 9.5], "texture": "#0"}, + "west": {"uv": [4, 5.5, 7, 9.5], "texture": "#0"}, + "up": {"uv": [4, 5.5, 7, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 5.5, 7, 9.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-12, 5, -11], + "to": [28, 11, -5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -16]}, + "faces": { + "north": {"uv": [5.5, 2, 15.5, 3.5], "texture": "#0"}, + "east": {"uv": [15, 7, 13.5, 5.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [15, 5.5, 13.5, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, -12, -11], + "to": [11, 28, -5], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, -16]}, + "faces": { + "north": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "up": {"uv": [15, 5.5, 13.5, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 7, 13.5, 5.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [-12, 5, -11], + "to": [28, 11, -5], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, -16]}, + "faces": { + "north": {"uv": [5.5, 2, 15.5, 3.5], "texture": "#0"}, + "east": {"uv": [15, 7, 13.5, 5.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [15, 5.5, 13.5, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, -12, -11], + "to": [11, 28, -5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -16]}, + "faces": { + "north": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [5.5, 2, 15.5, 3.5], "rotation": 270, "texture": "#0"}, + "up": {"uv": [15, 5.5, 13.5, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [15, 7, 13.5, 5.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, -12, -12], + "to": [12, 28, -4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -16]}, + "faces": { + "north": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "east": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15.5, 5.5, 13.5, 3.5], "texture": "#0"}, + "down": {"uv": [15.5, 3.5, 13.5, 5.5], "texture": "#0"} + } + }, + { + "from": [-12, 4, -12], + "to": [28, 12, -4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -16]}, + "faces": { + "north": {"uv": [5.5, 0, 15.5, 2], "texture": "#0"}, + "east": {"uv": [15.5, 5.5, 13.5, 3.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 0, 15.5, 2], "rotation": 180, "texture": "#0"}, + "west": {"uv": [15.5, 3.5, 13.5, 5.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [5.5, 0, 15.5, 2], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 0, 15.5, 2], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, -12, -12], + "to": [12, 28, -4], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, -16]}, + "faces": { + "north": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "east": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [5.5, 0, 15.5, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15.5, 5.5, 13.5, 3.5], "texture": "#0"}, + "down": {"uv": [15.5, 3.5, 13.5, 5.5], "texture": "#0"} + } + }, + { + "from": [-12, 4, -12], + "to": [28, 12, -4], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, -16]}, + "faces": { + "north": {"uv": [5.5, 0, 15.5, 2], "texture": "#0"}, + "east": {"uv": [13.5, 3.5, 15.5, 5.5], "texture": "#0"}, + "south": {"uv": [5.5, 0, 15.5, 2], "texture": "#0"}, + "west": {"uv": [13.5, 3.5, 15.5, 5.5], "texture": "#0"}, + "up": {"uv": [15.5, 2, 5.5, 0], "texture": "#0"}, + "down": {"uv": [15.5, 0, 5.5, 2], "texture": "#0"} + } + } + ], + "groups": [ + { + "name": "back", + "origin": [8, 8, 0], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] + }, + { + "name": "single", + "origin": [8, 8, 0], + "color": 0, + "children": [10, 11, 12, 13, 14, 15, 16, 17, 18] + }, + { + "name": "middle", + "origin": [8, 8, 0], + "color": 0, + "children": [19, 20, 21, 22, 23, 24, 25, 26, 27] + }, + { + "name": "front", + "origin": [8, 8, 0], + "color": 0, + "children": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/radial_engine_input.json b/src/main/resources/assets/tfmg/models/block/radial_engine_input.json new file mode 100644 index 00000000..ec3ad772 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/radial_engine_input.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/radial_engine", + "particle": "tfmg:block/radial_engine" + }, + "elements": [ + { + "from": [6, 5.01, 6], + "to": [10, 16.01, 10], + "faces": { + "north": {"uv": [6.125, 4.25, 6.625, 5.625], "texture": "#0"}, + "east": {"uv": [6.125, 4.25, 6.625, 5.625], "texture": "#0"}, + "south": {"uv": [6.125, 4.25, 6.625, 5.625], "texture": "#0"}, + "west": {"uv": [6.125, 4.25, 6.625, 5.625], "texture": "#0"}, + "up": {"uv": [6.75, 4.25, 7.25, 4.75], "texture": "#0"}, + "down": {"uv": [6.75, 4.25, 7.25, 4.75], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rebar_block/block.json b/src/main/resources/assets/tfmg/models/block/rebar_block/block.json new file mode 100644 index 00000000..fb727573 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rebar_block/block.json @@ -0,0 +1,88 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/rebar_cage", + "particle": "tfmg:block/rebar_cage" + }, + "elements": [ + { + "from": [3, 0, 0], + "to": [3, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 13], + "to": [16, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [0, 0, 3], + "to": [16, 16, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [0, 13, 0], + "to": [16, 13, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [0, 3, 0], + "to": [16, 3, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [13, 0, 0], + "to": [13, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rebar_block/item.json b/src/main/resources/assets/tfmg/models/block/rebar_block/item.json new file mode 100644 index 00000000..fb727573 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rebar_block/item.json @@ -0,0 +1,88 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/rebar_cage", + "particle": "tfmg:block/rebar_cage" + }, + "elements": [ + { + "from": [3, 0, 0], + "to": [3, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 13], + "to": [16, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [0, 0, 3], + "to": [16, 16, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [0, 13, 0], + "to": [16, 13, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [0, 3, 0], + "to": [16, 3, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [13, 0, 0], + "to": [13, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rebar_floor/block.json b/src/main/resources/assets/tfmg/models/block/rebar_floor/block.json new file mode 100644 index 00000000..ea1fa073 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rebar_floor/block.json @@ -0,0 +1,103 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/rebar_connecting_rods", + "1": "tfmg:block/rebar_floor", + "particle": "tfmg:block/rebar_connecting_rods" + }, + "elements": [ + { + "from": [0, 4, 6], + "to": [16, 12, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 6]}, + "faces": { + "north": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "south": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 0], "texture": "#0"} + } + }, + { + "from": [0, 4, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 4, 0]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [0, 12, 0], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 12, 0]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [0, 4, 10], + "to": [16, 12, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 10]}, + "faces": { + "north": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "south": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 0], "texture": "#0"} + } + }, + { + "from": [6, 4, 0], + "to": [6, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 4, 9]}, + "faces": { + "north": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "east": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "west": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 0], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [10, 4, 0], + "to": [10, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 4, 9]}, + "faces": { + "north": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "east": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "west": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 0], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"} + } + } + ], + "groups": [ + 0, + 1, + 2, + 3, + 4, + 5, + { + "name": "VoxelShapes", + "origin": [0, 0, 0], + "color": 0, + "children": [] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rebar_floor/item.json b/src/main/resources/assets/tfmg/models/block/rebar_floor/item.json new file mode 100644 index 00000000..fc7ef50e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rebar_floor/item.json @@ -0,0 +1,89 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/rebar_connecting_rods", + "1": "tfmg:block/rebar_floor", + "particle": "tfmg:block/rebar_connecting_rods" + }, + "elements": [ + { + "from": [0, 4, 6], + "to": [16, 12, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 6]}, + "faces": { + "north": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "south": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 0], "texture": "#0"} + } + }, + { + "from": [0, 4, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 4, 0]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [0, 12, 0], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 12, 0]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 16, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [0, 4, 10], + "to": [16, 12, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 10]}, + "faces": { + "north": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "south": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 0], "texture": "#0"} + } + }, + { + "from": [6, 4, 0], + "to": [6, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 4, 9]}, + "faces": { + "north": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "east": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "west": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 0], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [10, 4, 0], + "to": [10, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 4, 9]}, + "faces": { + "north": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "east": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "west": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 0], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rebar_pile/block.json b/src/main/resources/assets/tfmg/models/block/rebar_pile/block.json new file mode 100644 index 00000000..ea282202 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rebar_pile/block.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/rebar_pile_side", + "1": "tfmg:block/rebar_pile_top", + "particle": "tfmg:block/rebar_pile_side" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rebar_pile/item.json b/src/main/resources/assets/tfmg/models/block/rebar_pile/item.json new file mode 100644 index 00000000..ea282202 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rebar_pile/item.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/rebar_pile_side", + "1": "tfmg:block/rebar_pile_top", + "particle": "tfmg:block/rebar_pile_side" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rebar_pillar/block.json b/src/main/resources/assets/tfmg/models/block/rebar_pillar/block.json new file mode 100644 index 00000000..d713e120 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rebar_pillar/block.json @@ -0,0 +1,88 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/rebar_cage", + "particle": "tfmg:block/rebar_cage" + }, + "elements": [ + { + "from": [2, 0, 3], + "to": [14, 16, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 0, 3]}, + "faces": { + "north": {"uv": [0, 0, 12, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 12], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13, 0, 2], + "to": [13, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 12]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 12], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 12], "texture": "#0"} + } + }, + { + "from": [2, 0, 13], + "to": [14, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 0, 13]}, + "faces": { + "north": {"uv": [0, 0, 12, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 12], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 0, 2], + "to": [3, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 0, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 12], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 12], "texture": "#0"} + } + }, + { + "from": [8, 0, 3], + "to": [8, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 10], "texture": "#0"} + } + }, + { + "from": [3, 0, 8], + "to": [13, 16, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 10, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 10, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 10], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 10], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rebar_pillar/item.json b/src/main/resources/assets/tfmg/models/block/rebar_pillar/item.json new file mode 100644 index 00000000..d713e120 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rebar_pillar/item.json @@ -0,0 +1,88 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/rebar_cage", + "particle": "tfmg:block/rebar_cage" + }, + "elements": [ + { + "from": [2, 0, 3], + "to": [14, 16, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 0, 3]}, + "faces": { + "north": {"uv": [0, 0, 12, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 12], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13, 0, 2], + "to": [13, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 12]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 12], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 12], "texture": "#0"} + } + }, + { + "from": [2, 0, 13], + "to": [14, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 0, 13]}, + "faces": { + "north": {"uv": [0, 0, 12, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 12], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [3, 0, 2], + "to": [3, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 0, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 12], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 12], "texture": "#0"} + } + }, + { + "from": [8, 0, 3], + "to": [8, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 10], "texture": "#0"} + } + }, + { + "from": [3, 0, 8], + "to": [13, 16, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 10, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 10, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 10], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 10], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rebar_stairs/block.json b/src/main/resources/assets/tfmg/models/block/rebar_stairs/block.json new file mode 100644 index 00000000..8e1f8d65 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rebar_stairs/block.json @@ -0,0 +1,103 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/rebar_connecting_rods", + "1": "tfmg:block/rebar_floor", + "2": "tfmg:block/rebar_stairs", + "particle": "tfmg:block/rebar_connecting_rods" + }, + "elements": [ + { + "from": [0, 4, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 0], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 0], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 0], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [10, 4, 0], + "to": [10, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 8], "texture": "#missing"}, + "east": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 8], "texture": "#missing"}, + "west": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 0], "rotation": 270, "texture": "#missing"}, + "down": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#missing"} + } + }, + { + "from": [8, 12, 0], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 8, 0], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 0], "texture": "#1"}, + "south": {"uv": [0, 0, 8, 0], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 0], "texture": "#1"}, + "up": {"uv": [8, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [8, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [0, 4, 6], + "to": [16, 12, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [16, 8, 0, 16], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 8], "texture": "#2"}, + "south": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 8], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 16, 0], "texture": "#2"} + } + }, + { + "from": [0, 4, 10], + "to": [16, 12, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [16, 8, 0, 16], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 8], "texture": "#2"}, + "south": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 8], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 16, 0], "texture": "#2"} + } + }, + { + "from": [0, 7, 0], + "to": [8, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 8, 0], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 0], "texture": "#1"}, + "south": {"uv": [0, 0, 8, 0], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 0], "texture": "#1"}, + "up": {"uv": [0, 0, 8, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 8, 16], "texture": "#1"} + } + }, + { + "from": [6, 4, 0], + "to": [6, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "east": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "west": {"uv": [0, 13, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 0], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rebar_stairs/block_upside_down.json b/src/main/resources/assets/tfmg/models/block/rebar_stairs/block_upside_down.json new file mode 100644 index 00000000..09515742 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rebar_stairs/block_upside_down.json @@ -0,0 +1,103 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/rebar_connecting_rods", + "1": "tfmg:block/rebar_floor", + "2": "tfmg:block/rebar_stairs", + "particle": "tfmg:block/rebar_connecting_rods" + }, + "elements": [ + { + "from": [0, 12, 0], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#1"}, + "east": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#1"}, + "south": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#1"}, + "west": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [10, 4, 0], + "to": [10, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 8], "rotation": 180, "texture": "#missing"}, + "east": {"uv": [0, 8, 16, 16], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 8], "rotation": 180, "texture": "#missing"}, + "west": {"uv": [0, 8, 16, 16], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#missing"}, + "down": {"uv": [0, 0, 16, 0], "rotation": 270, "texture": "#missing"} + } + }, + { + "from": [8, 4, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 8, 0], "rotation": 180, "texture": "#1"}, + "east": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#1"}, + "south": {"uv": [0, 0, 8, 0], "rotation": 180, "texture": "#1"}, + "west": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#1"}, + "up": {"uv": [8, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [8, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [0, 4, 10], + "to": [16, 12, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 8, 16, 16], "rotation": 180, "texture": "#2"}, + "east": {"uv": [0, 0, 0, 8], "rotation": 180, "texture": "#2"}, + "south": {"uv": [16, 8, 0, 16], "rotation": 180, "texture": "#2"}, + "west": {"uv": [0, 0, 0, 8], "rotation": 180, "texture": "#2"}, + "up": {"uv": [0, 0, 16, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 16, 0], "texture": "#2"} + } + }, + { + "from": [0, 4, 6], + "to": [16, 12, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 8, 16, 16], "rotation": 180, "texture": "#2"}, + "east": {"uv": [0, 0, 0, 8], "rotation": 180, "texture": "#2"}, + "south": {"uv": [16, 8, 0, 16], "rotation": 180, "texture": "#2"}, + "west": {"uv": [0, 0, 0, 8], "rotation": 180, "texture": "#2"}, + "up": {"uv": [0, 0, 16, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 16, 0], "texture": "#2"} + } + }, + { + "from": [0, 9, 0], + "to": [8, 9, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 8, 0], "rotation": 180, "texture": "#1"}, + "east": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#1"}, + "south": {"uv": [0, 0, 8, 0], "rotation": 180, "texture": "#1"}, + "west": {"uv": [0, 0, 16, 0], "rotation": 180, "texture": "#1"}, + "up": {"uv": [0, 0, 8, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 8, 16], "texture": "#1"} + } + }, + { + "from": [6, 9, 0], + "to": [6, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 8], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 8, 16, 16], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 8], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 13, 16, 16], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 16, 0], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rebar_stairs/item.json b/src/main/resources/assets/tfmg/models/block/rebar_stairs/item.json new file mode 100644 index 00000000..8e1f8d65 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rebar_stairs/item.json @@ -0,0 +1,103 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/rebar_connecting_rods", + "1": "tfmg:block/rebar_floor", + "2": "tfmg:block/rebar_stairs", + "particle": "tfmg:block/rebar_connecting_rods" + }, + "elements": [ + { + "from": [0, 4, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 0], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 0], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 0], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 0], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [10, 4, 0], + "to": [10, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 8], "texture": "#missing"}, + "east": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 8], "texture": "#missing"}, + "west": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 0], "rotation": 270, "texture": "#missing"}, + "down": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#missing"} + } + }, + { + "from": [8, 12, 0], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 8, 0], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 0], "texture": "#1"}, + "south": {"uv": [0, 0, 8, 0], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 0], "texture": "#1"}, + "up": {"uv": [8, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [8, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [0, 4, 6], + "to": [16, 12, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [16, 8, 0, 16], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 8], "texture": "#2"}, + "south": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 8], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 16, 0], "texture": "#2"} + } + }, + { + "from": [0, 4, 10], + "to": [16, 12, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [16, 8, 0, 16], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 8], "texture": "#2"}, + "south": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 8], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 16, 0], "texture": "#2"} + } + }, + { + "from": [0, 7, 0], + "to": [8, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 8, 0], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 0], "texture": "#1"}, + "south": {"uv": [0, 0, 8, 0], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 0], "texture": "#1"}, + "up": {"uv": [0, 0, 8, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 8, 16], "texture": "#1"} + } + }, + { + "from": [6, 4, 0], + "to": [6, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "east": {"uv": [0, 8, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "west": {"uv": [0, 13, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 0], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 16, 0], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rebar_wall/block.json b/src/main/resources/assets/tfmg/models/block/rebar_wall/block.json new file mode 100644 index 00000000..d94fcfa2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rebar_wall/block.json @@ -0,0 +1,58 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/rebar_wall", + "particle": "tfmg:block/rebar_wall" + }, + "elements": [ + { + "from": [4.5, 0, 3.5], + "to": [4.5, 16, 12.5], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 9], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 9], "texture": "#0"} + } + }, + { + "from": [3.5, 0, 4.5], + "to": [12.5, 16, 4.5], + "faces": { + "north": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 9], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3.5, 0, 11.5], + "to": [12.5, 16, 11.5], + "faces": { + "north": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 9], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [11.5, 0, 3.5], + "to": [11.5, 16, 12.5], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 9], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 9], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rebar_wall/item.json b/src/main/resources/assets/tfmg/models/block/rebar_wall/item.json new file mode 100644 index 00000000..d94fcfa2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rebar_wall/item.json @@ -0,0 +1,58 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/rebar_wall", + "particle": "tfmg:block/rebar_wall" + }, + "elements": [ + { + "from": [4.5, 0, 3.5], + "to": [4.5, 16, 12.5], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 9], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 9], "texture": "#0"} + } + }, + { + "from": [3.5, 0, 4.5], + "to": [12.5, 16, 4.5], + "faces": { + "north": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 9], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3.5, 0, 11.5], + "to": [12.5, 16, 11.5], + "faces": { + "north": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 9], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 9], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [11.5, 0, 3.5], + "to": [11.5, 16, 12.5], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 9, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 9], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 9], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/regular_engine.json b/src/main/resources/assets/tfmg/models/block/regular_engine.json new file mode 100644 index 00000000..6321b38c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/regular_engine.json @@ -0,0 +1,49 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/engines/engine_back", + "1": "tfmg:block/engines/engine_bottom", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 7, 16], + "faces": { + "north": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "west": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "up": {"uv": [13, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 3, 16], "texture": "#1"} + } + }, + { + "from": [13, 0, 0], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "east": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 3, 16], "texture": "#4"}, + "down": {"uv": [13, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 0], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "east": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "west": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "up": {"uv": [3, 0, 13, 16], "texture": "#4"}, + "down": {"uv": [3, 0, 13, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/regular_engine/block__.json b/src/main/resources/assets/tfmg/models/block/regular_engine/block__.json new file mode 100644 index 00000000..f03e09a5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/regular_engine/block__.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engines/engine_bottom", + "1": "tfmg:block/engines/engine_side", + "2": "tfmg:block/engines/engine_top", + "3": "tfmg:block/engines/engine_front", + "particle": "tfmg:block/engines/engine_bottom" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/regular_engine/block_back.json b/src/main/resources/assets/tfmg/models/block/regular_engine/block_back.json new file mode 100644 index 00000000..ba07274d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/regular_engine/block_back.json @@ -0,0 +1,64 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engines/engine_back", + "1": "tfmg:block/engines/engine_bottom", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 7, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -2]}, + "faces": { + "north": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 7], "texture": "#missing"}, + "south": {"uv": [0, 9, 3, 16], "texture": "#missing"}, + "west": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "up": {"uv": [13, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 3, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 0], + "to": [13, 12, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, -2]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "east": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#1"}, + "west": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "up": {"uv": [3, 0, 13, 16], "texture": "#4"}, + "down": {"uv": [3, 0, 13, 16], "texture": "#1"} + } + }, + { + "from": [13, 0, 0], + "to": [16, 7, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, -2]}, + "faces": { + "north": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "east": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 9, 16, 16], "texture": "#missing"}, + "west": {"uv": [0, 0, 16, 7], "texture": "#missing"}, + "up": {"uv": [0, 0, 3, 16], "texture": "#4"}, + "down": {"uv": [13, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [0, 0, 14], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 14]}, + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 4, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#0"}, + "west": {"uv": [14, 4, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 4, 16, 6], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 2], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/regular_engine/block_back_extended.json b/src/main/resources/assets/tfmg/models/block/regular_engine/block_back_extended.json new file mode 100644 index 00000000..a4968bca --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/regular_engine/block_back_extended.json @@ -0,0 +1,122 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "tfmg:block/engines/engine_bottom", + "2": "tfmg:block/engines/engine_front", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "5": "tfmg:block/engines/engine_back", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [13, 0, 1], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 9, 3, 16], "texture": "#2"}, + "east": {"uv": [1, 9, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 9, 16, 16], "texture": "#5"}, + "up": {"uv": [0, 0, 3, 14], "texture": "#4"}, + "down": {"uv": [13, 1, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 2], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#2"}, + "east": {"uv": [1, 3, 15, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#5"}, + "west": {"uv": [1, 3, 15, 15], "texture": "#3"}, + "up": {"uv": [3, 1, 13, 15], "texture": "#4"}, + "down": {"uv": [3, 1, 13, 15], "texture": "#1"} + } + }, + { + "from": [0, 0, 1], + "to": [3, 7, 16], + "faces": { + "north": {"uv": [13, 9, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 9, 3, 16], "texture": "#5"}, + "west": {"uv": [0, 9, 15, 16], "texture": "#3"}, + "up": {"uv": [13, 0, 16, 14], "texture": "#4"}, + "down": {"uv": [0, 1, 3, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 1], + "to": [13, 5, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 0, 0]}, + "faces": { + "north": {"uv": [3, 11, 13, 16], "texture": "#2"}, + "east": {"uv": [0, 0, 1, 5], "texture": "#missing"}, + "west": {"uv": [0, 0, 1, 5], "texture": "#missing"}, + "up": {"uv": [3, 11, 13, 12], "texture": "#2"}, + "down": {"uv": [3, 0, 13, 1], "texture": "#1"} + } + }, + { + "from": [11, 5, 1], + "to": [13, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 5, 0]}, + "faces": { + "north": {"uv": [3, 4, 5, 11], "texture": "#2"}, + "east": {"uv": [0, 3, 1, 10], "texture": "#3"}, + "west": {"uv": [4, 4, 5, 11], "texture": "#2"}, + "up": {"uv": [11, 0, 13, 1], "texture": "#4"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#missing"} + } + }, + { + "from": [3, 5, 1], + "to": [5, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [-5, 5, 0]}, + "faces": { + "north": {"uv": [11, 4, 13, 11], "texture": "#2"}, + "east": {"uv": [11, 4, 12, 11], "texture": "#2"}, + "west": {"uv": [0, 3, 1, 10], "texture": "#3"}, + "up": {"uv": [3, 0, 5, 1], "texture": "#4"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#missing"} + } + }, + { + "from": [5, 11, 1], + "to": [11, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [-1, 5, 0]}, + "faces": { + "north": {"uv": [5, 4, 11, 5], "texture": "#2"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#missing"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#missing"}, + "up": {"uv": [5, 0, 11, 1], "texture": "#4"}, + "down": {"uv": [4.7, 4.2, 10.7, 5.2], "texture": "#2"} + } + }, + { + "from": [13, 7, 1], + "to": [16, 11, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [16, 4, 13, 8], "texture": "#3"}, + "east": {"uv": [1, 9, 16, 13], "texture": "#3"}, + "south": {"uv": [3, 5, 0, 9], "texture": "#5"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "up": {"uv": [0, 12, 15, 9], "rotation": 90, "texture": "#3"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#3"} + } + }, + { + "from": [0, 7, 1], + "to": [3, 11, 16], + "faces": { + "north": {"uv": [13, 4, 16, 8], "texture": "#3"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "south": {"uv": [0, 5, 3, 9], "texture": "#5"}, + "west": {"uv": [16, 9, 1, 13], "texture": "#3"}, + "up": {"uv": [0, 9, 15, 12], "rotation": 90, "texture": "#3"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#3"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/regular_engine/block_front.json b/src/main/resources/assets/tfmg/models/block/regular_engine/block_front.json new file mode 100644 index 00000000..adf1d244 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/regular_engine/block_front.json @@ -0,0 +1,97 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "tfmg:block/engines/engine_bottom", + "2": "tfmg:block/engines/engine_front", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "5": "tfmg:block/engines/engine_back", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [13, 0, 1], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 9, 3, 16], "texture": "#2"}, + "east": {"uv": [1, 9, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 9, 16, 16], "texture": "#5"}, + "up": {"uv": [0, 0, 3, 14], "texture": "#4"}, + "down": {"uv": [13, 1, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 2], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#2"}, + "east": {"uv": [1, 3, 15, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#5"}, + "west": {"uv": [1, 3, 15, 15], "texture": "#3"}, + "up": {"uv": [3, 1, 13, 15], "texture": "#4"}, + "down": {"uv": [3, 1, 13, 15], "texture": "#1"} + } + }, + { + "from": [0, 0, 1], + "to": [3, 7, 16], + "faces": { + "north": {"uv": [13, 9, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 9, 3, 16], "texture": "#5"}, + "west": {"uv": [0, 9, 15, 16], "texture": "#3"}, + "up": {"uv": [13, 0, 16, 14], "texture": "#4"}, + "down": {"uv": [0, 1, 3, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 1], + "to": [13, 5, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 0, 0]}, + "faces": { + "north": {"uv": [3, 11, 13, 16], "texture": "#2"}, + "east": {"uv": [0, 0, 1, 5], "texture": "#missing"}, + "west": {"uv": [0, 0, 1, 5], "texture": "#missing"}, + "up": {"uv": [3, 11, 13, 12], "texture": "#2"}, + "down": {"uv": [3, 0, 13, 1], "texture": "#1"} + } + }, + { + "from": [11, 5, 1], + "to": [13, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 5, 0]}, + "faces": { + "north": {"uv": [3, 4, 5, 11], "texture": "#2"}, + "east": {"uv": [0, 3, 1, 10], "texture": "#3"}, + "west": {"uv": [4, 4, 5, 11], "texture": "#2"}, + "up": {"uv": [11, 0, 13, 1], "texture": "#4"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#missing"} + } + }, + { + "from": [3, 5, 1], + "to": [5, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [-5, 5, 0]}, + "faces": { + "north": {"uv": [11, 4, 13, 11], "texture": "#2"}, + "east": {"uv": [11, 4, 12, 11], "texture": "#2"}, + "west": {"uv": [0, 3, 1, 10], "texture": "#3"}, + "up": {"uv": [3, 0, 5, 1], "texture": "#4"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#missing"} + } + }, + { + "from": [5, 11, 1], + "to": [11, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [-1, 5, 0]}, + "faces": { + "north": {"uv": [5, 4, 11, 5], "texture": "#2"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#missing"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#missing"}, + "up": {"uv": [5, 0, 11, 1], "texture": "#4"}, + "down": {"uv": [4.7, 4.2, 10.7, 5.2], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/regular_engine/block_front_extended.json b/src/main/resources/assets/tfmg/models/block/regular_engine/block_front_extended.json new file mode 100644 index 00000000..4b093630 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/regular_engine/block_front_extended.json @@ -0,0 +1,98 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "tfmg:block/engines/engine_bottom", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "5": "tfmg:block/engines/engine_back", + "6": "tfmg:block/engines/engine_front_tall", + "7": "tfmg:block/engines/engine_side_tall", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [13, 0, 1], + "to": [16, 11, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 5, 3, 16], "texture": "#6"}, + "east": {"uv": [1, 5, 16, 16], "texture": "#7"}, + "south": {"uv": [13, 5, 16, 16], "texture": "#5"}, + "up": {"uv": [0, 0, 3, 14], "texture": "#4"}, + "down": {"uv": [13, 1, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 2], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#6"}, + "east": {"uv": [1, 3, 15, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#5"}, + "west": {"uv": [1, 3, 15, 15], "texture": "#3"}, + "up": {"uv": [3, 1, 13, 15], "texture": "#4"}, + "down": {"uv": [3, 1, 13, 15], "texture": "#1"} + } + }, + { + "from": [0, 0, 1], + "to": [3, 11, 16], + "faces": { + "north": {"uv": [13, 5, 16, 16], "texture": "#6"}, + "south": {"uv": [0, 5, 3, 16], "texture": "#5"}, + "west": {"uv": [0, 5, 15, 16], "texture": "#7"}, + "up": {"uv": [13, 0, 16, 14], "texture": "#4"}, + "down": {"uv": [0, 1, 3, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 1], + "to": [13, 5, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 0, 0]}, + "faces": { + "north": {"uv": [3, 11, 13, 16], "texture": "#6"}, + "east": {"uv": [0, 0, 1, 5], "texture": "#6"}, + "west": {"uv": [0, 0, 1, 5], "texture": "#6"}, + "up": {"uv": [3, 11, 13, 12], "texture": "#6"}, + "down": {"uv": [3, 0, 13, 1], "texture": "#1"} + } + }, + { + "from": [11, 5, 1], + "to": [13, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 5, 0]}, + "faces": { + "north": {"uv": [3, 4, 5, 11], "texture": "#6"}, + "east": {"uv": [0, 3, 1, 10], "texture": "#3"}, + "west": {"uv": [4, 4, 5, 11], "texture": "#6"}, + "up": {"uv": [11, 0, 13, 1], "texture": "#4"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#6"} + } + }, + { + "from": [3, 5, 1], + "to": [5, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [-5, 5, 0]}, + "faces": { + "north": {"uv": [11, 4, 13, 11], "texture": "#6"}, + "east": {"uv": [11, 4, 12, 11], "texture": "#6"}, + "west": {"uv": [0, 3, 1, 10], "texture": "#3"}, + "up": {"uv": [3, 0, 5, 1], "texture": "#4"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#6"} + } + }, + { + "from": [5, 11, 1], + "to": [11, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [-1, 5, 0]}, + "faces": { + "north": {"uv": [5, 4, 11, 5], "texture": "#6"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#6"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#6"}, + "up": {"uv": [5, 0, 11, 1], "texture": "#4"}, + "down": {"uv": [4.7, 4.2, 10.7, 5.2], "texture": "#6"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/regular_engine/block_normal.json b/src/main/resources/assets/tfmg/models/block/regular_engine/block_normal.json new file mode 100644 index 00000000..6321b38c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/regular_engine/block_normal.json @@ -0,0 +1,49 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/engines/engine_back", + "1": "tfmg:block/engines/engine_bottom", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 7, 16], + "faces": { + "north": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "west": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "up": {"uv": [13, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 3, 16], "texture": "#1"} + } + }, + { + "from": [13, 0, 0], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "east": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 3, 16], "texture": "#4"}, + "down": {"uv": [13, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 0], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "east": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "west": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "up": {"uv": [3, 0, 13, 16], "texture": "#4"}, + "down": {"uv": [3, 0, 13, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/regular_engine/block_normal_extended.json b/src/main/resources/assets/tfmg/models/block/regular_engine/block_normal_extended.json new file mode 100644 index 00000000..d08ab87f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/regular_engine/block_normal_extended.json @@ -0,0 +1,50 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/engines/engine_back", + "1": "tfmg:block/engines/engine_bottom", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "5": "tfmg:block/engines/engine_side_tall", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 11, 16], + "faces": { + "north": {"uv": [13, 5, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 5, 3, 16], "texture": "#0"}, + "west": {"uv": [0, 5, 16, 16], "texture": "#5"}, + "up": {"uv": [13, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 3, 16], "texture": "#1"} + } + }, + { + "from": [13, 0, 0], + "to": [16, 11, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 5, 3, 16], "texture": "#0"}, + "east": {"uv": [0, 5, 16, 16], "texture": "#5"}, + "south": {"uv": [13, 5, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 3, 16], "texture": "#4"}, + "down": {"uv": [13, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 0], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "east": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "west": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "up": {"uv": [3, 0, 13, 16], "texture": "#4"}, + "down": {"uv": [3, 0, 13, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/regular_engine/block_single.json b/src/main/resources/assets/tfmg/models/block/regular_engine/block_single.json new file mode 100644 index 00000000..6321b38c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/regular_engine/block_single.json @@ -0,0 +1,49 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/engines/engine_back", + "1": "tfmg:block/engines/engine_bottom", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 7, 16], + "faces": { + "north": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "west": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "up": {"uv": [13, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 3, 16], "texture": "#1"} + } + }, + { + "from": [13, 0, 0], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "east": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 3, 16], "texture": "#4"}, + "down": {"uv": [13, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 0], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "east": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "west": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "up": {"uv": [3, 0, 13, 16], "texture": "#4"}, + "down": {"uv": [3, 0, 13, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/regular_engine/block_single_extended.json b/src/main/resources/assets/tfmg/models/block/regular_engine/block_single_extended.json new file mode 100644 index 00000000..6321b38c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/regular_engine/block_single_extended.json @@ -0,0 +1,49 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/engines/engine_back", + "1": "tfmg:block/engines/engine_bottom", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 7, 16], + "faces": { + "north": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "west": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "up": {"uv": [13, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 3, 16], "texture": "#1"} + } + }, + { + "from": [13, 0, 0], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "east": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 3, 16], "texture": "#4"}, + "down": {"uv": [13, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 0], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "east": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "west": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "up": {"uv": [3, 0, 13, 16], "texture": "#4"}, + "down": {"uv": [3, 0, 13, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/regular_engine/cylinder.json b/src/main/resources/assets/tfmg/models/block/regular_engine/cylinder.json new file mode 100644 index 00000000..6d5aad7b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/regular_engine/cylinder.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engines/aluminum_cylinder", + "particle": "tfmg:block/engines/aluminum_cylinder" + }, + "elements": [ + { + "from": [6.02, 3, 2.02], + "to": [9.98, 12, 5.98], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 3, 2]}, + "faces": { + "north": {"uv": [12, 0, 16, 9], "texture": "#0"}, + "east": {"uv": [12, 0, 16, 9], "texture": "#0"}, + "south": {"uv": [12, 0, 16, 9], "texture": "#0"}, + "west": {"uv": [12, 0, 16, 9], "texture": "#0"}, + "up": {"uv": [12, 9, 16, 13], "texture": "#0"}, + "down": {"uv": [12, 9, 16, 13], "texture": "#0"} + } + }, + { + "from": [5.5, 7.5, 1.5], + "to": [10.5, 12.5, 6.5], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 11, 1]}, + "faces": { + "north": {"uv": [6, 3, 11, 8], "texture": "#0"}, + "east": {"uv": [6, 3, 11, 8], "texture": "#0"}, + "south": {"uv": [6, 3, 11, 8], "texture": "#0"}, + "west": {"uv": [6, 3, 11, 8], "texture": "#0"}, + "up": {"uv": [6, 8, 11, 13], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/regular_engine/cylinder_small.json b/src/main/resources/assets/tfmg/models/block/regular_engine/cylinder_small.json new file mode 100644 index 00000000..4b1697d8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/regular_engine/cylinder_small.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engines/aluminum_cylinder", + "particle": "tfmg:block/engines/aluminum_cylinder" + }, + "elements": [ + { + "from": [6, 8, 2.01], + "to": [10, 12, 6.01], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 3, 2]}, + "faces": { + "north": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "east": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "south": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "west": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "up": {"uv": [12, 9, 16, 13], "texture": "#0"}, + "down": {"uv": [12, 9, 16, 13], "texture": "#0"} + } + }, + { + "from": [5.5, 9.5, 1.51], + "to": [10.5, 12.5, 6.51], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 11, 1]}, + "faces": { + "north": {"uv": [6, 3, 11, 6], "texture": "#0"}, + "east": {"uv": [6, 3, 11, 6], "texture": "#0"}, + "south": {"uv": [6, 3, 11, 6], "texture": "#0"}, + "west": {"uv": [6, 3, 11, 6], "texture": "#0"}, + "up": {"uv": [6, 8, 11, 13], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/regular_engine/extension.json b/src/main/resources/assets/tfmg/models/block/regular_engine/extension.json new file mode 100644 index 00000000..391b623d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/regular_engine/extension.json @@ -0,0 +1,31 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engines/engine_side", + "1": "tfmg:block/engines/engine_back", + "particle": "tfmg:block/engines/engine_side" + }, + "elements": [ + { + "from": [0, 7, 0], + "to": [3, 11, 16], + "faces": { + "north": {"uv": [13, 5, 16, 9], "texture": "#1"}, + "south": {"uv": [0, 5, 3, 9], "texture": "#1"}, + "west": {"uv": [16, 9, 0, 13], "texture": "#0"}, + "up": {"uv": [0, 9, 16, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13, 7, 0], + "to": [16, 11, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [16, 5, 13, 9], "texture": "#1"}, + "east": {"uv": [0, 9, 16, 13], "texture": "#0"}, + "south": {"uv": [3, 5, 0, 9], "texture": "#1"}, + "up": {"uv": [0, 12, 16, 9], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/regular_engine/extension_front.json b/src/main/resources/assets/tfmg/models/block/regular_engine/extension_front.json new file mode 100644 index 00000000..3b9caec0 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/regular_engine/extension_front.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engines/engine_side", + "2": "tfmg:block/engines/engine_back", + "particle": "tfmg:block/engines/engine_side" + }, + "elements": [ + { + "from": [0, 7, 1], + "to": [3, 11, 16], + "faces": { + "north": {"uv": [13, 4, 16, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "south": {"uv": [0, 5, 3, 9], "texture": "#2"}, + "west": {"uv": [16, 9, 1, 13], "texture": "#0"}, + "up": {"uv": [0, 9, 15, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [13, 7, 1], + "to": [16, 11, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [16, 4, 13, 8], "texture": "#0"}, + "east": {"uv": [1, 9, 16, 13], "texture": "#0"}, + "south": {"uv": [3, 5, 0, 9], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "up": {"uv": [0, 12, 15, 9], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/regular_engine/item.json b/src/main/resources/assets/tfmg/models/block/regular_engine/item.json new file mode 100644 index 00000000..6321b38c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/regular_engine/item.json @@ -0,0 +1,49 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/engines/engine_back", + "1": "tfmg:block/engines/engine_bottom", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 7, 16], + "faces": { + "north": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "west": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "up": {"uv": [13, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 3, 16], "texture": "#1"} + } + }, + { + "from": [13, 0, 0], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "east": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 3, 16], "texture": "#4"}, + "down": {"uv": [13, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 0], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "east": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "west": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "up": {"uv": [3, 0, 13, 16], "texture": "#4"}, + "down": {"uv": [3, 0, 13, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/resistor/block.json b/src/main/resources/assets/tfmg/models/block/resistor/block.json new file mode 100644 index 00000000..fa3810a3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/resistor/block.json @@ -0,0 +1,49 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/resistor2", + "particle": "tfmg:block/resistor2" + }, + "elements": [ + { + "from": [6, 0, 3], + "to": [10, 4, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -1, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 4], "texture": "#0"}, + "east": {"uv": [5, 0, 15, 4], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 4], "texture": "#0"}, + "west": {"uv": [15, 0, 5, 4], "texture": "#0"}, + "up": {"uv": [5, 0, 15, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [15, 0, 5, 4], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [8, 0, 13], + "to": [8, 3, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -1, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "east": {"uv": [2, 8, 4, 11], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "west": {"uv": [4, 8, 2, 11], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 2], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 2], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [8, 0, 1], + "to": [8, 3, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -1, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "east": {"uv": [4, 8, 2, 11], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "west": {"uv": [2, 8, 4, 11], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 2], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 2], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/resistor/item.json b/src/main/resources/assets/tfmg/models/block/resistor/item.json new file mode 100644 index 00000000..ff4943ea --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/resistor/item.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfmg:item/resistor_item" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rgb_light_bulb/block.json b/src/main/resources/assets/tfmg/models/block/rgb_light_bulb/block.json new file mode 100644 index 00000000..def7b9c1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rgb_light_bulb/block.json @@ -0,0 +1,52 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/light_bulb", + "particle": "tfmg:block/light_bulb" + }, + "elements": [ + { + "from": [6, 2, 6], + "to": [10, 3, 10], + "faces": { + "north": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "east": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "south": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 0, 6], + "to": [10, 2, 10], + "faces": { + "north": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "east": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "south": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "west": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 6, 4, 10], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 4, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [8, 2, 6], + "to": [8, 7, 10], + "faces": { + "east": {"uv": [7, 1, 11, 6], "rotation": 180, "texture": "#0"}, + "west": {"uv": [7, 1, 11, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 3, 5], + "to": [11, 9, 11], + "faces": { + "north": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rgb_light_bulb/item.json b/src/main/resources/assets/tfmg/models/block/rgb_light_bulb/item.json new file mode 100644 index 00000000..def7b9c1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rgb_light_bulb/item.json @@ -0,0 +1,52 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/light_bulb", + "particle": "tfmg:block/light_bulb" + }, + "elements": [ + { + "from": [6, 2, 6], + "to": [10, 3, 10], + "faces": { + "north": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "east": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "south": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"}, + "west": {"uv": [2, 10, 6, 11], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 0, 6], + "to": [10, 2, 10], + "faces": { + "north": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "east": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "south": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "west": {"uv": [7, 7, 11, 9], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 6, 4, 10], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 4, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [8, 2, 6], + "to": [8, 7, 10], + "faces": { + "east": {"uv": [7, 1, 11, 6], "rotation": 180, "texture": "#0"}, + "west": {"uv": [7, 1, 11, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 3, 5], + "to": [11, 9, 11], + "faces": { + "north": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 10, 6, 16], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rotary_engine/block__.json b/src/main/resources/assets/tfmg/models/block/rotary_engine/block__.json new file mode 100644 index 00000000..f03e09a5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rotary_engine/block__.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engines/engine_bottom", + "1": "tfmg:block/engines/engine_side", + "2": "tfmg:block/engines/engine_top", + "3": "tfmg:block/engines/engine_front", + "particle": "tfmg:block/engines/engine_bottom" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rotary_engine/block_back.json b/src/main/resources/assets/tfmg/models/block/rotary_engine/block_back.json new file mode 100644 index 00000000..ba07274d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rotary_engine/block_back.json @@ -0,0 +1,64 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engines/engine_back", + "1": "tfmg:block/engines/engine_bottom", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 7, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -2]}, + "faces": { + "north": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 7], "texture": "#missing"}, + "south": {"uv": [0, 9, 3, 16], "texture": "#missing"}, + "west": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "up": {"uv": [13, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 3, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 0], + "to": [13, 12, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, -2]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "east": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#1"}, + "west": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "up": {"uv": [3, 0, 13, 16], "texture": "#4"}, + "down": {"uv": [3, 0, 13, 16], "texture": "#1"} + } + }, + { + "from": [13, 0, 0], + "to": [16, 7, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, -2]}, + "faces": { + "north": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "east": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 9, 16, 16], "texture": "#missing"}, + "west": {"uv": [0, 0, 16, 7], "texture": "#missing"}, + "up": {"uv": [0, 0, 3, 16], "texture": "#4"}, + "down": {"uv": [13, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [0, 0, 14], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 14]}, + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 4, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#0"}, + "west": {"uv": [14, 4, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 4, 16, 6], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 2], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rotary_engine/block_back_extended.json b/src/main/resources/assets/tfmg/models/block/rotary_engine/block_back_extended.json new file mode 100644 index 00000000..a4968bca --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rotary_engine/block_back_extended.json @@ -0,0 +1,122 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "tfmg:block/engines/engine_bottom", + "2": "tfmg:block/engines/engine_front", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "5": "tfmg:block/engines/engine_back", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [13, 0, 1], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 9, 3, 16], "texture": "#2"}, + "east": {"uv": [1, 9, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 9, 16, 16], "texture": "#5"}, + "up": {"uv": [0, 0, 3, 14], "texture": "#4"}, + "down": {"uv": [13, 1, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 2], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#2"}, + "east": {"uv": [1, 3, 15, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#5"}, + "west": {"uv": [1, 3, 15, 15], "texture": "#3"}, + "up": {"uv": [3, 1, 13, 15], "texture": "#4"}, + "down": {"uv": [3, 1, 13, 15], "texture": "#1"} + } + }, + { + "from": [0, 0, 1], + "to": [3, 7, 16], + "faces": { + "north": {"uv": [13, 9, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 9, 3, 16], "texture": "#5"}, + "west": {"uv": [0, 9, 15, 16], "texture": "#3"}, + "up": {"uv": [13, 0, 16, 14], "texture": "#4"}, + "down": {"uv": [0, 1, 3, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 1], + "to": [13, 5, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 0, 0]}, + "faces": { + "north": {"uv": [3, 11, 13, 16], "texture": "#2"}, + "east": {"uv": [0, 0, 1, 5], "texture": "#missing"}, + "west": {"uv": [0, 0, 1, 5], "texture": "#missing"}, + "up": {"uv": [3, 11, 13, 12], "texture": "#2"}, + "down": {"uv": [3, 0, 13, 1], "texture": "#1"} + } + }, + { + "from": [11, 5, 1], + "to": [13, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 5, 0]}, + "faces": { + "north": {"uv": [3, 4, 5, 11], "texture": "#2"}, + "east": {"uv": [0, 3, 1, 10], "texture": "#3"}, + "west": {"uv": [4, 4, 5, 11], "texture": "#2"}, + "up": {"uv": [11, 0, 13, 1], "texture": "#4"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#missing"} + } + }, + { + "from": [3, 5, 1], + "to": [5, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [-5, 5, 0]}, + "faces": { + "north": {"uv": [11, 4, 13, 11], "texture": "#2"}, + "east": {"uv": [11, 4, 12, 11], "texture": "#2"}, + "west": {"uv": [0, 3, 1, 10], "texture": "#3"}, + "up": {"uv": [3, 0, 5, 1], "texture": "#4"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#missing"} + } + }, + { + "from": [5, 11, 1], + "to": [11, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [-1, 5, 0]}, + "faces": { + "north": {"uv": [5, 4, 11, 5], "texture": "#2"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#missing"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#missing"}, + "up": {"uv": [5, 0, 11, 1], "texture": "#4"}, + "down": {"uv": [4.7, 4.2, 10.7, 5.2], "texture": "#2"} + } + }, + { + "from": [13, 7, 1], + "to": [16, 11, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [16, 4, 13, 8], "texture": "#3"}, + "east": {"uv": [1, 9, 16, 13], "texture": "#3"}, + "south": {"uv": [3, 5, 0, 9], "texture": "#5"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "up": {"uv": [0, 12, 15, 9], "rotation": 90, "texture": "#3"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#3"} + } + }, + { + "from": [0, 7, 1], + "to": [3, 11, 16], + "faces": { + "north": {"uv": [13, 4, 16, 8], "texture": "#3"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "south": {"uv": [0, 5, 3, 9], "texture": "#5"}, + "west": {"uv": [16, 9, 1, 13], "texture": "#3"}, + "up": {"uv": [0, 9, 15, 12], "rotation": 90, "texture": "#3"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#3"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rotary_engine/block_front.json b/src/main/resources/assets/tfmg/models/block/rotary_engine/block_front.json new file mode 100644 index 00000000..adf1d244 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rotary_engine/block_front.json @@ -0,0 +1,97 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "tfmg:block/engines/engine_bottom", + "2": "tfmg:block/engines/engine_front", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "5": "tfmg:block/engines/engine_back", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [13, 0, 1], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 9, 3, 16], "texture": "#2"}, + "east": {"uv": [1, 9, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 9, 16, 16], "texture": "#5"}, + "up": {"uv": [0, 0, 3, 14], "texture": "#4"}, + "down": {"uv": [13, 1, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 2], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#2"}, + "east": {"uv": [1, 3, 15, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#5"}, + "west": {"uv": [1, 3, 15, 15], "texture": "#3"}, + "up": {"uv": [3, 1, 13, 15], "texture": "#4"}, + "down": {"uv": [3, 1, 13, 15], "texture": "#1"} + } + }, + { + "from": [0, 0, 1], + "to": [3, 7, 16], + "faces": { + "north": {"uv": [13, 9, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 9, 3, 16], "texture": "#5"}, + "west": {"uv": [0, 9, 15, 16], "texture": "#3"}, + "up": {"uv": [13, 0, 16, 14], "texture": "#4"}, + "down": {"uv": [0, 1, 3, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 1], + "to": [13, 5, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 0, 0]}, + "faces": { + "north": {"uv": [3, 11, 13, 16], "texture": "#2"}, + "east": {"uv": [0, 0, 1, 5], "texture": "#missing"}, + "west": {"uv": [0, 0, 1, 5], "texture": "#missing"}, + "up": {"uv": [3, 11, 13, 12], "texture": "#2"}, + "down": {"uv": [3, 0, 13, 1], "texture": "#1"} + } + }, + { + "from": [11, 5, 1], + "to": [13, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 5, 0]}, + "faces": { + "north": {"uv": [3, 4, 5, 11], "texture": "#2"}, + "east": {"uv": [0, 3, 1, 10], "texture": "#3"}, + "west": {"uv": [4, 4, 5, 11], "texture": "#2"}, + "up": {"uv": [11, 0, 13, 1], "texture": "#4"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#missing"} + } + }, + { + "from": [3, 5, 1], + "to": [5, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [-5, 5, 0]}, + "faces": { + "north": {"uv": [11, 4, 13, 11], "texture": "#2"}, + "east": {"uv": [11, 4, 12, 11], "texture": "#2"}, + "west": {"uv": [0, 3, 1, 10], "texture": "#3"}, + "up": {"uv": [3, 0, 5, 1], "texture": "#4"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#missing"} + } + }, + { + "from": [5, 11, 1], + "to": [11, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [-1, 5, 0]}, + "faces": { + "north": {"uv": [5, 4, 11, 5], "texture": "#2"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#missing"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#missing"}, + "up": {"uv": [5, 0, 11, 1], "texture": "#4"}, + "down": {"uv": [4.7, 4.2, 10.7, 5.2], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rotary_engine/block_front_extended.json b/src/main/resources/assets/tfmg/models/block/rotary_engine/block_front_extended.json new file mode 100644 index 00000000..a4968bca --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rotary_engine/block_front_extended.json @@ -0,0 +1,122 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "tfmg:block/engines/engine_bottom", + "2": "tfmg:block/engines/engine_front", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "5": "tfmg:block/engines/engine_back", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [13, 0, 1], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 9, 3, 16], "texture": "#2"}, + "east": {"uv": [1, 9, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 9, 16, 16], "texture": "#5"}, + "up": {"uv": [0, 0, 3, 14], "texture": "#4"}, + "down": {"uv": [13, 1, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 2], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#2"}, + "east": {"uv": [1, 3, 15, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#5"}, + "west": {"uv": [1, 3, 15, 15], "texture": "#3"}, + "up": {"uv": [3, 1, 13, 15], "texture": "#4"}, + "down": {"uv": [3, 1, 13, 15], "texture": "#1"} + } + }, + { + "from": [0, 0, 1], + "to": [3, 7, 16], + "faces": { + "north": {"uv": [13, 9, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 9, 3, 16], "texture": "#5"}, + "west": {"uv": [0, 9, 15, 16], "texture": "#3"}, + "up": {"uv": [13, 0, 16, 14], "texture": "#4"}, + "down": {"uv": [0, 1, 3, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 1], + "to": [13, 5, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 0, 0]}, + "faces": { + "north": {"uv": [3, 11, 13, 16], "texture": "#2"}, + "east": {"uv": [0, 0, 1, 5], "texture": "#missing"}, + "west": {"uv": [0, 0, 1, 5], "texture": "#missing"}, + "up": {"uv": [3, 11, 13, 12], "texture": "#2"}, + "down": {"uv": [3, 0, 13, 1], "texture": "#1"} + } + }, + { + "from": [11, 5, 1], + "to": [13, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 5, 0]}, + "faces": { + "north": {"uv": [3, 4, 5, 11], "texture": "#2"}, + "east": {"uv": [0, 3, 1, 10], "texture": "#3"}, + "west": {"uv": [4, 4, 5, 11], "texture": "#2"}, + "up": {"uv": [11, 0, 13, 1], "texture": "#4"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#missing"} + } + }, + { + "from": [3, 5, 1], + "to": [5, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [-5, 5, 0]}, + "faces": { + "north": {"uv": [11, 4, 13, 11], "texture": "#2"}, + "east": {"uv": [11, 4, 12, 11], "texture": "#2"}, + "west": {"uv": [0, 3, 1, 10], "texture": "#3"}, + "up": {"uv": [3, 0, 5, 1], "texture": "#4"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#missing"} + } + }, + { + "from": [5, 11, 1], + "to": [11, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [-1, 5, 0]}, + "faces": { + "north": {"uv": [5, 4, 11, 5], "texture": "#2"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#missing"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#missing"}, + "up": {"uv": [5, 0, 11, 1], "texture": "#4"}, + "down": {"uv": [4.7, 4.2, 10.7, 5.2], "texture": "#2"} + } + }, + { + "from": [13, 7, 1], + "to": [16, 11, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [16, 4, 13, 8], "texture": "#3"}, + "east": {"uv": [1, 9, 16, 13], "texture": "#3"}, + "south": {"uv": [3, 5, 0, 9], "texture": "#5"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "up": {"uv": [0, 12, 15, 9], "rotation": 90, "texture": "#3"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#3"} + } + }, + { + "from": [0, 7, 1], + "to": [3, 11, 16], + "faces": { + "north": {"uv": [13, 4, 16, 8], "texture": "#3"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "south": {"uv": [0, 5, 3, 9], "texture": "#5"}, + "west": {"uv": [16, 9, 1, 13], "texture": "#3"}, + "up": {"uv": [0, 9, 15, 12], "rotation": 90, "texture": "#3"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#3"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rotary_engine/block_normal.json b/src/main/resources/assets/tfmg/models/block/rotary_engine/block_normal.json new file mode 100644 index 00000000..6321b38c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rotary_engine/block_normal.json @@ -0,0 +1,49 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/engines/engine_back", + "1": "tfmg:block/engines/engine_bottom", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 7, 16], + "faces": { + "north": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "west": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "up": {"uv": [13, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 3, 16], "texture": "#1"} + } + }, + { + "from": [13, 0, 0], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "east": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 3, 16], "texture": "#4"}, + "down": {"uv": [13, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 0], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "east": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "west": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "up": {"uv": [3, 0, 13, 16], "texture": "#4"}, + "down": {"uv": [3, 0, 13, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rotary_engine/block_normal_extended.json b/src/main/resources/assets/tfmg/models/block/rotary_engine/block_normal_extended.json new file mode 100644 index 00000000..c0a0d90d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rotary_engine/block_normal_extended.json @@ -0,0 +1,74 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/engines/engine_back", + "1": "tfmg:block/engines/engine_bottom", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 7, 16], + "faces": { + "north": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "west": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "up": {"uv": [13, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 3, 16], "texture": "#1"} + } + }, + { + "from": [13, 0, 0], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "east": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 3, 16], "texture": "#4"}, + "down": {"uv": [13, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 0], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "east": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "west": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "up": {"uv": [3, 0, 13, 16], "texture": "#4"}, + "down": {"uv": [3, 0, 13, 16], "texture": "#1"} + } + }, + { + "from": [13, 7, 0], + "to": [16, 11, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [16, 5, 13, 9], "texture": "#0"}, + "east": {"uv": [0, 9, 16, 13], "texture": "#3"}, + "south": {"uv": [3, 5, 0, 9], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "up": {"uv": [0, 12, 16, 9], "rotation": 90, "texture": "#3"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#3"} + } + }, + { + "from": [0, 7, 0], + "to": [3, 11, 16], + "faces": { + "north": {"uv": [13, 5, 16, 9], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "south": {"uv": [0, 5, 3, 9], "texture": "#0"}, + "west": {"uv": [16, 9, 0, 13], "texture": "#3"}, + "up": {"uv": [0, 9, 16, 12], "rotation": 90, "texture": "#3"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#3"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rotary_engine/cylinder.json b/src/main/resources/assets/tfmg/models/block/rotary_engine/cylinder.json new file mode 100644 index 00000000..6d5aad7b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rotary_engine/cylinder.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engines/aluminum_cylinder", + "particle": "tfmg:block/engines/aluminum_cylinder" + }, + "elements": [ + { + "from": [6.02, 3, 2.02], + "to": [9.98, 12, 5.98], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 3, 2]}, + "faces": { + "north": {"uv": [12, 0, 16, 9], "texture": "#0"}, + "east": {"uv": [12, 0, 16, 9], "texture": "#0"}, + "south": {"uv": [12, 0, 16, 9], "texture": "#0"}, + "west": {"uv": [12, 0, 16, 9], "texture": "#0"}, + "up": {"uv": [12, 9, 16, 13], "texture": "#0"}, + "down": {"uv": [12, 9, 16, 13], "texture": "#0"} + } + }, + { + "from": [5.5, 7.5, 1.5], + "to": [10.5, 12.5, 6.5], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 11, 1]}, + "faces": { + "north": {"uv": [6, 3, 11, 8], "texture": "#0"}, + "east": {"uv": [6, 3, 11, 8], "texture": "#0"}, + "south": {"uv": [6, 3, 11, 8], "texture": "#0"}, + "west": {"uv": [6, 3, 11, 8], "texture": "#0"}, + "up": {"uv": [6, 8, 11, 13], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rotary_engine/cylinder_small.json b/src/main/resources/assets/tfmg/models/block/rotary_engine/cylinder_small.json new file mode 100644 index 00000000..4b1697d8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rotary_engine/cylinder_small.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engines/aluminum_cylinder", + "particle": "tfmg:block/engines/aluminum_cylinder" + }, + "elements": [ + { + "from": [6, 8, 2.01], + "to": [10, 12, 6.01], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 3, 2]}, + "faces": { + "north": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "east": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "south": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "west": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "up": {"uv": [12, 9, 16, 13], "texture": "#0"}, + "down": {"uv": [12, 9, 16, 13], "texture": "#0"} + } + }, + { + "from": [5.5, 9.5, 1.51], + "to": [10.5, 12.5, 6.51], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 11, 1]}, + "faces": { + "north": {"uv": [6, 3, 11, 6], "texture": "#0"}, + "east": {"uv": [6, 3, 11, 6], "texture": "#0"}, + "south": {"uv": [6, 3, 11, 6], "texture": "#0"}, + "west": {"uv": [6, 3, 11, 6], "texture": "#0"}, + "up": {"uv": [6, 8, 11, 13], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rotary_engine/extension.json b/src/main/resources/assets/tfmg/models/block/rotary_engine/extension.json new file mode 100644 index 00000000..391b623d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rotary_engine/extension.json @@ -0,0 +1,31 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engines/engine_side", + "1": "tfmg:block/engines/engine_back", + "particle": "tfmg:block/engines/engine_side" + }, + "elements": [ + { + "from": [0, 7, 0], + "to": [3, 11, 16], + "faces": { + "north": {"uv": [13, 5, 16, 9], "texture": "#1"}, + "south": {"uv": [0, 5, 3, 9], "texture": "#1"}, + "west": {"uv": [16, 9, 0, 13], "texture": "#0"}, + "up": {"uv": [0, 9, 16, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13, 7, 0], + "to": [16, 11, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [16, 5, 13, 9], "texture": "#1"}, + "east": {"uv": [0, 9, 16, 13], "texture": "#0"}, + "south": {"uv": [3, 5, 0, 9], "texture": "#1"}, + "up": {"uv": [0, 12, 16, 9], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rotary_engine/extension_front.json b/src/main/resources/assets/tfmg/models/block/rotary_engine/extension_front.json new file mode 100644 index 00000000..3b9caec0 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rotary_engine/extension_front.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engines/engine_side", + "2": "tfmg:block/engines/engine_back", + "particle": "tfmg:block/engines/engine_side" + }, + "elements": [ + { + "from": [0, 7, 1], + "to": [3, 11, 16], + "faces": { + "north": {"uv": [13, 4, 16, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "south": {"uv": [0, 5, 3, 9], "texture": "#2"}, + "west": {"uv": [16, 9, 1, 13], "texture": "#0"}, + "up": {"uv": [0, 9, 15, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [13, 7, 1], + "to": [16, 11, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [16, 4, 13, 8], "texture": "#0"}, + "east": {"uv": [1, 9, 16, 13], "texture": "#0"}, + "south": {"uv": [3, 5, 0, 9], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "up": {"uv": [0, 12, 15, 9], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rotary_engine/item.json b/src/main/resources/assets/tfmg/models/block/rotary_engine/item.json new file mode 100644 index 00000000..6321b38c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rotary_engine/item.json @@ -0,0 +1,49 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/engines/engine_back", + "1": "tfmg:block/engines/engine_bottom", + "3": "tfmg:block/engines/engine_side", + "4": "tfmg:block/engines/engine_top", + "particle": "tfmg:block/engines/engine_back" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 7, 16], + "faces": { + "north": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "west": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "up": {"uv": [13, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 3, 16], "texture": "#1"} + } + }, + { + "from": [13, 0, 0], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 0]}, + "faces": { + "north": {"uv": [0, 9, 3, 16], "texture": "#0"}, + "east": {"uv": [0, 9, 16, 16], "texture": "#3"}, + "south": {"uv": [13, 9, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 3, 16], "texture": "#4"}, + "down": {"uv": [13, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [3, 0, 0], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "east": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "south": {"uv": [3, 4, 13, 16], "texture": "#0"}, + "west": {"uv": [0, 3, 16, 15], "texture": "#3"}, + "up": {"uv": [3, 0, 13, 16], "texture": "#4"}, + "down": {"uv": [3, 0, 13, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rotor/block.json b/src/main/resources/assets/tfmg/models/block/rotor/block.json new file mode 100644 index 00000000..6f26fc6e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rotor/block.json @@ -0,0 +1,243 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "render_type": "minecraft:cutout", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/rotor", + "particle": "tfmg:block/rotor" + }, + "elements": [ + { + "from": [-2, 8, -2], + "to": [18, 8, 18], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 10, 0], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 10], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 10, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 10], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 10], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [-2, 8.1, -2], + "to": [18, 8.1, 18], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 10, 0], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 10], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 10, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 10], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 10], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [-10, 5, 5], + "to": [-2, 11, 11], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 3, 13, 6], "texture": "#0"}, + "south": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"}, + "west": {"uv": [10, 0, 13, 3], "rotation": 180, "texture": "#0"}, + "up": {"uv": [13, 4, 16, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [18, 5, 5], + "to": [26, 11, 11], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"}, + "east": {"uv": [10, 0, 13, 3], "rotation": 180, "texture": "#0"}, + "south": {"uv": [13, 0, 16, 4], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 3, 13, 6], "texture": "#0"}, + "up": {"uv": [13, 4, 16, 0], "rotation": 270, "texture": "#0"}, + "down": {"uv": [13, 0, 16, 4], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 5, -10], + "to": [11, 11, -2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 0, 13, 3], "rotation": 180, "texture": "#0"}, + "east": {"uv": [13, 0, 16, 4], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10, 3, 13, 6], "texture": "#0"}, + "west": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"}, + "up": {"uv": [13, 4, 16, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [13, 0, 16, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 5, 18], + "to": [11, 11, 26], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 3, 13, 6], "texture": "#0"}, + "east": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"}, + "south": {"uv": [10, 0, 13, 3], "rotation": 180, "texture": "#0"}, + "west": {"uv": [13, 0, 16, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [13, 4, 16, 0], "texture": "#0"}, + "down": {"uv": [13, 0, 16, 4], "texture": "#0"} + } + }, + { + "from": [18, 5, 5], + "to": [26, 11, 11], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"}, + "east": {"uv": [10, 0, 13, 3], "rotation": 180, "texture": "#0"}, + "south": {"uv": [13, 0, 16, 4], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 3, 13, 6], "texture": "#0"}, + "up": {"uv": [13, 4, 16, 0], "rotation": 270, "texture": "#0"}, + "down": {"uv": [13, 0, 16, 4], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-10, 5, 5], + "to": [-2, 11, 11], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 3, 13, 6], "texture": "#0"}, + "south": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"}, + "west": {"uv": [10, 0, 13, 3], "rotation": 180, "texture": "#0"}, + "up": {"uv": [13, 4, 16, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 5, -10], + "to": [11, 11, -2], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 0, 13, 3], "rotation": 180, "texture": "#0"}, + "east": {"uv": [13, 0, 16, 4], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10, 3, 13, 6], "texture": "#0"}, + "west": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"}, + "up": {"uv": [13, 4, 16, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [13, 0, 16, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 5, 18], + "to": [11, 11, 26], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 3, 13, 6], "texture": "#0"}, + "east": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"}, + "south": {"uv": [10, 0, 13, 3], "rotation": 180, "texture": "#0"}, + "west": {"uv": [13, 0, 16, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [13, 4, 16, 0], "texture": "#0"}, + "down": {"uv": [13, 0, 16, 4], "texture": "#0"} + } + }, + { + "from": [1, 6, -8], + "to": [15, 10, -3], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 7, 15], "rotation": 180, "texture": "#0"}, + "south": {"uv": [7.5, 13, 14.5, 15], "texture": "#0"}, + "up": {"uv": [0, 10, 7, 12.5], "texture": "#0"}, + "down": {"uv": [0, 10, 7, 12.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, 6, -8], + "to": [15, 10, -3], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 7, 15], "rotation": 180, "texture": "#0"}, + "south": {"uv": [7.5, 13, 14.5, 15], "texture": "#0"}, + "up": {"uv": [0, 10, 7, 12.5], "texture": "#0"}, + "down": {"uv": [0, 10, 7, 12.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [19, 6, 1], + "to": [24, 10, 15], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [0, 13, 7, 15], "rotation": 180, "texture": "#0"}, + "west": {"uv": [7.5, 13, 14.5, 15], "texture": "#0"}, + "up": {"uv": [0, 10, 7, 12.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 10, 7, 12.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-8, 6, 1], + "to": [-3, 10, 15], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [7.5, 13, 14.5, 15], "texture": "#0"}, + "west": {"uv": [0, 13, 7, 15], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 10, 7, 12.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 10, 7, 12.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [-8, 6, 1], + "to": [-3, 10, 15], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [7.5, 13, 14.5, 15], "texture": "#0"}, + "west": {"uv": [0, 13, 7, 15], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 10, 7, 12.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 10, 7, 12.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 6, 19], + "to": [15, 10, 24], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 13, 14.5, 15], "texture": "#0"}, + "south": {"uv": [0, 13, 7, 15], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 10, 7, 12.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 10, 7, 12.5], "texture": "#0"} + } + }, + { + "from": [1, 6, 19], + "to": [15, 10, 24], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 13, 14.5, 15], "texture": "#0"}, + "south": {"uv": [0, 13, 7, 15], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 10, 7, 12.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 10, 7, 12.5], "texture": "#0"} + } + }, + { + "from": [19, 6, 1], + "to": [24, 10, 15], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [0, 13, 7, 15], "rotation": 180, "texture": "#0"}, + "west": {"uv": [7.5, 13, 14.5, 15], "texture": "#0"}, + "up": {"uv": [0, 10, 7, 12.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 10, 7, 12.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 5, 5], + "to": [11, 11, 11], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9.5, 10, 12.5, 13], "rotation": 270, "texture": "#0"}, + "east": {"uv": [9.5, 10, 12.5, 13], "rotation": 180, "texture": "#0"}, + "south": {"uv": [9.5, 10, 12.5, 13], "rotation": 90, "texture": "#0"}, + "west": {"uv": [9.5, 10, 12.5, 13], "texture": "#0"}, + "up": {"uv": [9.5, 7, 12.5, 10], "rotation": 90, "texture": "#0"}, + "down": {"uv": [9.5, 7, 12.5, 10], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rotor/frame.json b/src/main/resources/assets/tfmg/models/block/rotor/frame.json new file mode 100644 index 00000000..76524e20 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rotor/frame.json @@ -0,0 +1,18 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/large_generator", + "particle": "tfmg:block/large_generator" + }, + "elements": [ + { + "from": [-10, -10, 2.02], + "to": [26, 26, 14.01], + "faces": { + "north": {"uv": [6.5, 11.5, 11, 16], "texture": "#0"}, + "south": {"uv": [6.5, 11.5, 11, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rotor/item.json b/src/main/resources/assets/tfmg/models/block/rotor/item.json new file mode 100644 index 00000000..708729a3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rotor/item.json @@ -0,0 +1,263 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/rotor", + "1": "tfmg:block/shaft_top", + "2": "tfmg:block/shaft", + "particle": "tfmg:block/rotor" + }, + "elements": [ + { + "from": [6, 6, 0], + "to": [10, 10, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 7, 0]}, + "faces": { + "north": {"uv": [6, 6, 10, 10], "texture": "#1"}, + "east": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#2"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#1"}, + "west": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#2"}, + "up": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "down": {"uv": [6, 0, 10, 16], "texture": "#2"} + } + }, + { + "from": [-2, -2, 8], + "to": [18, 18, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-1, -4, 6]}, + "faces": { + "north": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 10], "texture": "#0"}, + "south": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 10], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 0], "texture": "#0"} + } + }, + { + "from": [-2, -2, 8.1], + "to": [18, 18, 8.1], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 10], "texture": "#0"}, + "south": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 10], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 0], "texture": "#0"} + } + }, + { + "from": [5, 18, 5], + "to": [11, 26, 11], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "east": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "rotation": 180, "texture": "#0"}, + "west": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "up": {"uv": [10, 0, 13, 3], "texture": "#0"}, + "down": {"uv": [10, 3, 13, 6], "texture": "#0"} + } + }, + { + "from": [5, 18, 5], + "to": [11, 26, 11], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "east": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "rotation": 180, "texture": "#0"}, + "west": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "up": {"uv": [10, 0, 13, 3], "texture": "#0"}, + "down": {"uv": [10, 3, 13, 6], "texture": "#0"} + } + }, + { + "from": [-10, 5, 5], + "to": [-2, 11, 11], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 3, 13, 6], "rotation": 270, "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 0, 13, 3], "rotation": 270, "texture": "#0"}, + "up": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [-10, 5, 5], + "to": [-2, 11, 11], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 3, 13, 6], "rotation": 270, "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 0, 13, 3], "rotation": 270, "texture": "#0"}, + "up": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, -10, 5], + "to": [11, -2, 11], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "rotation": 180, "texture": "#0"}, + "east": {"uv": [13, 0, 16, 4], "rotation": 180, "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "texture": "#0"}, + "west": {"uv": [13, 0, 16, 4], "rotation": 180, "texture": "#0"}, + "up": {"uv": [10, 3, 13, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [10, 0, 13, 3], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, -10, 5], + "to": [11, -2, 11], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "rotation": 180, "texture": "#0"}, + "east": {"uv": [13, 0, 16, 4], "rotation": 180, "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "texture": "#0"}, + "west": {"uv": [13, 0, 16, 4], "rotation": 180, "texture": "#0"}, + "up": {"uv": [10, 3, 13, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [10, 0, 13, 3], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [18, 5, 5], + "to": [26, 11, 11], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"}, + "east": {"uv": [10, 0, 13, 3], "rotation": 90, "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "rotation": 270, "texture": "#0"}, + "west": {"uv": [10, 3, 13, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [13, 0, 16, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [13, 0, 16, 4], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 18, 5], + "to": [11, 26, 11], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "east": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "rotation": 180, "texture": "#0"}, + "west": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "up": {"uv": [10, 0, 13, 3], "texture": "#0"}, + "down": {"uv": [10, 3, 13, 6], "texture": "#0"} + } + }, + { + "from": [1, 19, 6], + "to": [15, 24, 10], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "texture": "#0"}, + "up": {"uv": [0, 13, 7, 15], "texture": "#0"}, + "down": {"uv": [7.5, 13, 14.5, 15], "texture": "#0"} + } + }, + { + "from": [1, 19, 6], + "to": [15, 24, 10], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "texture": "#0"}, + "up": {"uv": [0, 13, 7, 15], "texture": "#0"}, + "down": {"uv": [7.5, 13, 14.5, 15], "texture": "#0"} + } + }, + { + "from": [19, 1, 6], + "to": [24, 15, 10], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 13, 7, 15], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [7.5, 13, 14.5, 15], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-8, 1, 6], + "to": [-3, 15, 10], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [7.5, 13, 14.5, 15], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 13, 7, 15], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [-8, 1, 6], + "to": [-3, 15, 10], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [7.5, 13, 14.5, 15], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 13, 7, 15], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, -8, 6], + "to": [15, -3, 10], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [7.5, 13, 14.5, 15], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 13, 7, 15], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, -8, 6], + "to": [15, -3, 10], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [7.5, 13, 14.5, 15], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 13, 7, 15], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [19, 1, 6], + "to": [24, 15, 10], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 13, 7, 15], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [7.5, 13, 14.5, 15], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 5, 5], + "to": [11, 11, 11], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [9.5, 7, 12.5, 10], "rotation": 270, "texture": "#0"}, + "east": {"uv": [9.5, 10, 12.5, 13], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9.5, 7, 12.5, 10], "rotation": 90, "texture": "#0"}, + "west": {"uv": [9.5, 10, 12.5, 13], "rotation": 90, "texture": "#0"}, + "up": {"uv": [9.5, 10, 12.5, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [9.5, 10, 12.5, 13], "rotation": 90, "texture": "#0"} + } + } + ], + "display": { + "gui": { + "rotation": [-43, 23, 5], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rotor/item.obj b/src/main/resources/assets/tfmg/models/block/rotor/item.obj new file mode 100644 index 00000000..d288df6d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rotor/item.obj @@ -0,0 +1,647 @@ +# Made in Blockbench 4.9.3 +mtllib model.mtl + +o 1 +v 0.32804046965019484 0.811875000000001 1.2976606433522493 +v 0.3280404696501946 0.18812500000000076 1.2976606433522497 +v 0.06287542670523916 0.8118750000000015 1.562825686297204 +v 0.06287542670523882 0.1881250000000012 1.5628256862972045 +v -0.297307089961657 0.18812500000000054 0.6723130837403954 +v -0.29730708996165656 0.8118750000000008 0.672313083740395 +v -0.5624721329066127 0.18812500000000099 0.9374781266853502 +v -0.5624721329066122 0.8118750000000012 0.9374781266853498 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0.28125 0.7734375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.859375 +vn -5.887846720064176e-16 -1 9.813077866773583e-16 +vn 0.7071067811865461 2.3551386880256836e-16 0.707106781186549 +vn 5.887846720064176e-16 1 -9.813077866773583e-16 +vn -0.7071067811865461 -2.3551386880256836e-16 -0.707106781186549 +vn 0.707106781186549 -1.0205600981444534e-15 -0.707106781186546 +vn -0.707106781186549 1.0205600981444534e-15 0.707106781186546 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 4/4/1 7/3/1 5/2/1 2/1/1 +f 3/8/2 4/7/2 2/6/2 1/5/2 +f 8/12/3 3/11/3 1/10/3 6/9/3 +f 7/16/4 8/15/4 6/14/4 5/13/4 +f 6/20/5 1/19/5 2/18/5 5/17/5 +f 7/24/6 4/23/6 3/22/6 8/21/6 +o 2 +v -0.5625 0.8125000000000007 0.9374999999999996 +v -0.5625 0.18750000000000067 0.9375 +v -0.5625 0.8124999999999996 0.062499999999999445 +v -0.5625 0.18749999999999967 0.06250000000000011 +v -0.1875000000000001 0.18750000000000056 0.9375000000000002 +v -0.1875000000000001 0.8125000000000004 0.9374999999999996 +v -0.1874999999999999 0.18749999999999956 0.06250000000000022 +v -0.1874999999999999 0.8124999999999996 0.062499999999999556 +vt 0.28125 0.9921875 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.859375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.9453125 +vt 0.28125 0.9921875 +vt 0.390625 0.9921875 +vt 0.390625 0.9453125 +vt 0.28125 0.7734375 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vn -1.224646799147355e-16 -1 1.1102230246251565e-15 +vn -1 1.2246467991473532e-16 -1.8713654303833397e-16 +vn 1.224646799147355e-16 1 -1.1102230246251565e-15 +vn 1 -1.2246467991473532e-16 1.8713654303833397e-16 +vn -1.871365430383338e-16 1.1102230246251565e-15 1 +vn 1.871365430383338e-16 -1.1102230246251565e-15 -1 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 12/28/7 15/27/7 13/26/7 10/25/7 +f 11/32/8 12/31/8 10/30/8 9/29/8 +f 16/36/9 11/35/9 9/34/9 14/33/9 +f 15/40/10 16/39/10 14/38/10 13/37/10 +f 14/44/11 9/43/11 10/42/11 13/41/11 +f 15/48/12 12/47/12 11/46/12 16/45/12 +o 3 +v -0.29766064335224884 0.8118750000000019 0.3280404696501944 +v -0.29766064335224995 0.18812500000000154 0.3280404696501942 +v -0.5628256862972032 0.8118750000000023 0.06287542670523827 +v -0.5628256862972045 0.1881250000000022 0.06287542670523805 +v 0.3276869162596049 0.18812500000000065 -0.2973070899616571 +v 0.327686916259606 0.811875000000001 -0.2973070899616569 +v 0.06252187331465042 0.18812500000000132 -0.5624721329066131 +v 0.06252187331465164 0.8118750000000015 -0.5624721329066131 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0.28125 0.7734375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.859375 +vn -2.0018678848218116e-15 -1 -5.102800490722328e-16 +vn -0.7071067811865496 1.099064721078647e-15 0.7071067811865455 +vn 2.0018678848218116e-15 1 5.102800490722328e-16 +vn 0.7071067811865496 -1.099064721078647e-15 -0.7071067811865455 +vn 0.7071067811865455 -1.5700924586837718e-15 0.7071067811865496 +vn -0.7071067811865455 1.5700924586837718e-15 -0.7071067811865496 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 20/52/13 23/51/13 21/50/13 18/49/13 +f 19/56/14 20/55/14 18/54/14 17/53/14 +f 24/60/15 19/59/15 17/58/15 22/57/15 +f 23/64/16 24/63/16 22/62/16 21/61/16 +f 22/68/17 17/67/17 18/66/17 21/65/17 +f 23/72/18 20/71/18 19/70/18 24/69/18 +o 4 +v 0.06250000000000422 0.812500000000006 -0.5625 +v 0.06249999999999578 0.187500000000006 -0.5625 +v 0.9375000000000042 0.8124999999999942 -0.5625 +v 0.9374999999999958 0.18749999999999423 -0.5625 +v 0.06249999999999578 0.187500000000006 -0.1875 +v 0.06250000000000422 0.812500000000006 -0.1875 +v 0.9374999999999958 0.18749999999999423 -0.1875 +v 0.9375000000000042 0.8124999999999942 -0.1875 +vt 0.28125 0.9921875 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.859375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.9453125 +vt 0.28125 0.9921875 +vt 0.390625 0.9921875 +vt 0.390625 0.9453125 +vt 0.28125 0.7734375 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vn -1.3433698597964394e-14 -1 -5.551115123125783e-17 +vn -5.5511151231256336e-17 1.110223024625164e-16 -1 +vn 1.3433698597964394e-14 1 5.551115123125783e-17 +vn 5.5511151231256336e-17 -1.110223024625164e-16 1 +vn -1 1.3378187446733136e-14 7.4263858655571814e-31 +vn 1 -1.3378187446733136e-14 -7.4263858655571814e-31 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 28/76/19 31/75/19 29/74/19 26/73/19 +f 27/80/20 28/79/20 26/78/20 25/77/20 +f 32/84/21 27/83/21 25/82/21 30/81/21 +f 31/88/22 32/87/22 30/86/22 29/85/22 +f 30/92/23 25/91/23 26/90/23 29/89/23 +f 31/96/24 28/95/24 27/94/24 32/93/24 +o 5 +v 0.6719595303498007 0.811875000000001 -0.2976606433522503 +v 0.6719595303498016 0.18812500000000065 -0.2976606433522505 +v 0.9371245732947551 0.8118750000000015 -0.5628256862972063 +v 0.9371245732947562 0.18812500000000132 -0.5628256862972063 +v 1.2973070899616566 0.18812500000000154 0.3276869162596008 +v 1.2973070899616554 0.8118750000000019 0.327686916259601 +v 1.5624721329066111 0.1881250000000022 0.06252187331464465 +v 1.5624721329066098 0.8118750000000023 0.06252187331464487 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0.28125 0.7734375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.859375 +vn 2.0018678848218116e-15 -1 -5.102800490722328e-16 +vn -0.7071067811865496 -1.099064721078647e-15 -0.7071067811865455 +vn -2.0018678848218116e-15 1 5.102800490722328e-16 +vn 0.7071067811865496 1.099064721078647e-15 0.7071067811865455 +vn -0.7071067811865455 -1.5700924586837718e-15 0.7071067811865496 +vn 0.7071067811865455 1.5700924586837718e-15 -0.7071067811865496 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 36/100/25 39/99/25 37/98/25 34/97/25 +f 35/104/26 36/103/26 34/102/26 33/101/26 +f 40/108/27 35/107/27 33/106/27 38/105/27 +f 39/112/28 40/111/28 38/110/28 37/109/28 +f 38/116/29 33/115/29 34/114/29 37/113/29 +f 39/120/30 36/119/30 35/118/30 40/117/30 +o 6 +v 1.5625 0.8124999999999996 0.062499999999999556 +v 1.5625 0.18749999999999944 0.06250000000000044 +v 1.5625 0.8125000000000004 0.9374999999999996 +v 1.5625 0.18750000000000056 0.9375000000000004 +v 1.1875 0.18749999999999944 0.06250000000000044 +v 1.1875 0.8124999999999996 0.062499999999999556 +v 1.1875 0.18750000000000056 0.9375000000000004 +v 1.1875 0.8125000000000004 0.9374999999999996 +vt 0.28125 0.9921875 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.859375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.9453125 +vt 0.28125 0.9921875 +vt 0.390625 0.9921875 +vt 0.390625 0.9453125 +vt 0.28125 0.7734375 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vn 0 -1 1.3322676295501878e-15 +vn 1 0 0 +vn 0 1 -1.3322676295501878e-15 +vn -1 0 0 +vn 0 -1.3322676295501878e-15 -1 +vn 0 1.3322676295501878e-15 1 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 44/124/31 47/123/31 45/122/31 42/121/31 +f 43/128/32 44/127/32 42/126/32 41/125/32 +f 48/132/33 43/131/33 41/130/33 46/129/33 +f 47/136/34 48/135/34 46/134/34 45/133/34 +f 46/140/35 41/139/35 42/138/35 45/137/35 +f 47/144/36 44/143/36 43/142/36 48/141/36 +o 7 +v 1.29766064335225 0.8118750000000008 0.6719595303498016 +v 1.2976606433522504 0.18812500000000054 0.6719595303498023 +v 1.5628256862972059 0.8118750000000012 0.9371245732947564 +v 1.5628256862972059 0.18812500000000099 0.9371245732947568 +v 0.6723130837403988 0.18812500000000076 1.2973070899616563 +v 0.6723130837403986 0.811875000000001 1.297307089961656 +v 0.9374781266853545 0.1881250000000012 1.5624721329066111 +v 0.9374781266853542 0.8118750000000015 1.5624721329066107 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0.28125 0.7734375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.859375 +vn 5.887846720064176e-16 -1 9.813077866773583e-16 +vn 0.7071067811865461 -2.3551386880256836e-16 -0.707106781186549 +vn -5.887846720064176e-16 1 -9.813077866773583e-16 +vn -0.7071067811865461 2.3551386880256836e-16 0.707106781186549 +vn -0.707106781186549 -1.0205600981444534e-15 -0.707106781186546 +vn 0.707106781186549 1.0205600981444534e-15 0.707106781186546 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 52/148/37 55/147/37 53/146/37 50/145/37 +f 51/152/38 52/151/38 50/150/38 49/149/38 +f 56/156/39 51/155/39 49/154/39 54/153/39 +f 55/160/40 56/159/40 54/158/40 53/157/40 +f 54/164/41 49/163/41 50/162/41 53/161/41 +f 55/168/42 52/167/42 51/166/42 56/165/42 +o 8 +v 0.9374999999999958 0.8125000000000058 1.5625 +v 0.9375000000000042 0.18750000000000577 1.5625 +v 0.06249999999999578 0.812499999999994 1.5625 +v 0.06250000000000422 0.187499999999994 1.5625 +v 0.9375000000000042 0.18750000000000577 1.1875 +v 0.9374999999999958 0.8125000000000058 1.1875 +v 0.06250000000000422 0.187499999999994 1.1875 +v 0.06249999999999578 0.812499999999994 1.1875 +vt 0.28125 0.9921875 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.859375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.9453125 +vt 0.28125 0.9921875 +vt 0.390625 0.9921875 +vt 0.390625 0.9453125 +vt 0.28125 0.7734375 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vn 1.3433698597964394e-14 -1 -5.551115123125783e-17 +vn -5.5511151231256336e-17 -1.110223024625164e-16 1 +vn -1.3433698597964394e-14 1 5.551115123125783e-17 +vn 5.5511151231256336e-17 1.110223024625164e-16 -1 +vn 1 1.3378187446733136e-14 7.4263858655571814e-31 +vn -1 -1.3378187446733136e-14 -7.4263858655571814e-31 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 60/172/43 63/171/43 61/170/43 58/169/43 +f 59/176/44 60/175/44 58/174/44 57/173/44 +f 64/180/45 59/179/45 57/178/45 62/177/45 +f 63/184/46 64/183/46 62/182/46 61/181/46 +f 62/188/47 57/187/47 58/186/47 61/185/47 +f 63/192/48 60/191/48 59/190/48 64/189/48 +o 9 +v 0.5624999999999996 0.5625000000000002 1.1875 +v 0.5625000000000004 0.4375000000000002 1.1875 +v 0.44374999999999976 0.5624999999999996 1.1875 +v 0.4437500000000003 0.43749999999999967 1.1875 +v 0.5625000000000004 0.43750000000000033 -0.1875 +v 0.5624999999999996 0.5625000000000004 -0.1875 +v 0.4437500000000003 0.4374999999999998 -0.1875 +v 0.44374999999999976 0.5624999999999998 -0.1875 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vn 4.884981308350689e-15 -1 -5.551115123125783e-17 +vn -5.5511151231257285e-17 -1.1102230246251593e-16 1 +vn -4.884981308350689e-15 1 5.551115123125783e-17 +vn 5.5511151231257285e-17 1.1102230246251593e-16 -1 +vn 1 4.884981308350689e-15 2.711709361697228e-31 +vn -1 -4.884981308350689e-15 -2.711709361697228e-31 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 68/196/49 71/195/49 69/194/49 66/193/49 +f 67/200/50 68/199/50 66/198/50 65/197/50 +f 72/204/51 67/203/51 65/202/51 70/201/51 +f 71/208/52 72/207/52 70/206/52 69/205/52 +f 70/212/53 65/211/53 66/210/53 69/209/53 +f 71/216/54 68/215/54 67/214/54 72/213/54 +o 10 +v 0.05805826175840623 0.5625000000000007 1.0303300858899094 +v 0.058058261758406005 0.43750000000000067 1.0303300858899094 +v -0.03033008588991193 0.5625000000000009 0.9419417382415907 +v -0.03033008588991215 0.4375000000000009 0.9419417382415907 +v 1.0303300858899118 0.4374999999999991 0.058058261758409335 +v 1.0303300858899123 0.5624999999999991 0.058058261758409335 +v 0.9419417382415938 0.43749999999999933 -0.030330085889909375 +v 0.941941738241594 0.5624999999999993 -0.030330085889909375 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vn -2.0018678848218116e-15 -1 -5.102800490722328e-16 +vn -0.7071067811865496 1.099064721078647e-15 0.7071067811865455 +vn 2.0018678848218116e-15 1 5.102800490722328e-16 +vn 0.7071067811865496 -1.099064721078647e-15 -0.7071067811865455 +vn 0.7071067811865455 -1.5700924586837718e-15 0.7071067811865496 +vn -0.7071067811865455 1.5700924586837718e-15 -0.7071067811865496 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 76/220/55 79/219/55 77/218/55 74/217/55 +f 75/224/56 76/223/56 74/222/56 73/221/56 +f 80/228/57 75/227/57 73/226/57 78/225/57 +f 79/232/58 80/231/58 78/230/58 77/229/58 +f 78/236/59 73/235/59 74/234/59 77/233/59 +f 79/240/60 76/239/60 75/238/60 80/237/60 +o 11 +v 1.1875 0.5625 0.4374999999999999 +v 1.1875 0.4374999999999999 0.4375000000000001 +v 1.1875 0.5625 0.5562499999999999 +v 1.1875 0.4375 0.5562499999999999 +v -0.1875 0.4374999999999999 0.4375000000000001 +v -0.1875 0.5625 0.4374999999999999 +v -0.1875 0.4375 0.5562499999999999 +v -0.1875 0.5625 0.5562499999999999 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vn 0 -1 1.3322676295501878e-15 +vn 1 0 0 +vn 0 1 -1.3322676295501878e-15 +vn -1 0 0 +vn 0 -1.3322676295501878e-15 -1 +vn 0 1.3322676295501878e-15 1 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 84/244/61 87/243/61 85/242/61 82/241/61 +f 83/248/62 84/247/62 82/246/62 81/245/62 +f 88/252/63 83/251/63 81/250/63 86/249/63 +f 87/256/64 88/255/64 86/254/64 85/253/64 +f 86/260/65 81/259/65 82/258/65 85/257/65 +f 87/264/66 84/263/66 83/262/66 88/261/66 +o 12 +v 0.75 0.8749999999999996 0.24999999999999956 +v 0.75 0.12499999999999967 0.25000000000000044 +v 0.75 0.8750000000000004 0.7499999999999996 +v 0.75 0.12500000000000033 0.7500000000000004 +v 0.25 0.12499999999999967 0.25000000000000044 +v 0.25 0.8749999999999996 0.24999999999999956 +v 0.25 0.12500000000000033 0.7500000000000004 +v 0.25 0.8750000000000004 0.7499999999999996 +vt 0.609375 1 +vt 0.671875 1 +vt 0.671875 0.9375 +vt 0.609375 0.9375 +vt 0.53125 0.90625 +vt 0.53125 1 +vt 0.59375 1 +vt 0.59375 0.90625 +vt 0.609375 1 +vt 0.671875 1 +vt 0.671875 0.9375 +vt 0.609375 0.9375 +vt 0.53125 0.90625 +vt 0.53125 1 +vt 0.59375 1 +vt 0.59375 0.90625 +vt 0.53125 1 +vt 0.59375 1 +vt 0.59375 0.90625 +vt 0.53125 0.90625 +vt 0.53125 1 +vt 0.59375 1 +vt 0.59375 0.90625 +vt 0.53125 0.90625 +vn 0 -1 1.3322676295501878e-15 +vn 1 0 0 +vn 0 1 -1.3322676295501878e-15 +vn -1 0 0 +vn 0 -1.3322676295501878e-15 -1 +vn 0 1.3322676295501878e-15 1 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 92/268/67 95/267/67 93/266/67 90/265/67 +f 91/272/68 92/271/68 90/270/68 89/269/68 +f 96/276/69 91/275/69 89/274/69 94/273/69 +f 95/280/70 96/279/70 94/278/70 93/277/70 +f 94/284/71 89/283/71 90/282/71 93/281/71 +f 95/288/72 92/287/72 91/286/72 96/285/72 +o shaft +v 0.625 0.9999999999999998 0.37499999999999933 +v 0.625 -2.220446049250313e-16 0.37500000000000067 +v 0.625 1.0000000000000002 0.6249999999999993 +v 0.625 2.220446049250313e-16 0.6250000000000007 +v 0.375 -2.220446049250313e-16 0.37500000000000067 +v 0.375 0.9999999999999998 0.37499999999999933 +v 0.375 2.220446049250313e-16 0.6250000000000007 +v 0.375 1.0000000000000002 0.6249999999999993 +vt 0.1328125 0.125 +vt 0.1640625 0.125 +vt 0.1640625 0.09375 +vt 0.1328125 0.09375 +vt 0.0078125 0.0078125 +vt 0.0078125 0.1328125 +vt 0.0390625 0.1328125 +vt 0.0390625 0.0078125 +vt 0.1328125 0.125 +vt 0.1640625 0.125 +vt 0.1640625 0.09375 +vt 0.1328125 0.09375 +vt 0.0078125 0.0078125 +vt 0.0078125 0.1328125 +vt 0.0390625 0.1328125 +vt 0.0390625 0.0078125 +vt 0.0078125 0.1328125 +vt 0.0390625 0.1328125 +vt 0.0390625 0.0078125 +vt 0.0078125 0.0078125 +vt 0.0078125 0.1328125 +vt 0.0390625 0.1328125 +vt 0.0390625 0.0078125 +vt 0.0078125 0.0078125 +vn 0 -1 1.3322676295501878e-15 +vn 1 0 0 +vn 0 1 -1.3322676295501878e-15 +vn -1 0 0 +vn 0 -1.3322676295501878e-15 -1 +vn 0 1.3322676295501878e-15 1 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 100/292/73 103/291/73 101/290/73 98/289/73 +f 99/296/74 100/295/74 98/294/74 97/293/74 +f 104/300/75 99/299/75 97/298/75 102/297/75 +f 103/304/76 104/303/76 102/302/76 101/301/76 +f 102/308/77 97/307/77 98/306/77 101/305/77 +f 103/312/78 100/311/78 99/310/78 104/309/78 +o 13 +v 1.0303300858899105 0.5625 0.9419417382415927 +v 1.03033008588991 0.4375 0.9419417382415929 +v 0.9463611556240079 0.5625000000000004 1.025910668507495 +v 0.9463611556240075 0.43750000000000044 1.0259106685074952 +v 0.058058261758408114 0.43749999999999956 -0.03033008588991104 +v 0.058058261758408336 0.5624999999999996 -0.030330085889911262 +v -0.02591066850749446 0.4374999999999999 0.053638844375991535 +v -0.02591066850749424 0.5625 0.0536388443759912 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vn -1.6485970816179649e-15 -1 2.119624819223094e-15 +vn 0.707106781186547 5.495323605393231e-16 0.707106781186548 +vn 1.6485970816179649e-15 1 -2.119624819223094e-15 +vn -0.707106781186547 -5.495323605393231e-16 -0.707106781186548 +vn 0.7071067811865481 -2.5906525568282277e-15 -0.7071067811865468 +vn -0.7071067811865481 2.5906525568282277e-15 0.7071067811865468 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 108/316/79 111/315/79 109/314/79 106/313/79 +f 107/320/80 108/319/80 106/318/80 105/317/80 +f 112/324/81 107/323/81 105/322/81 110/321/81 +f 111/328/82 112/327/82 110/326/82 109/325/82 +f 110/332/83 105/331/83 106/330/83 109/329/83 +f 111/336/84 108/335/84 107/334/84 112/333/84 \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rotor/model.mtl b/src/main/resources/assets/tfmg/models/block/rotor/model.mtl new file mode 100644 index 00000000..3b93079b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rotor/model.mtl @@ -0,0 +1,3 @@ +# Made in Blockbench 4.8.3 +newmtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +map_Kd #0 \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rotor/model.obj b/src/main/resources/assets/tfmg/models/block/rotor/model.obj new file mode 100644 index 00000000..b27d4677 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rotor/model.obj @@ -0,0 +1,601 @@ +# Made in Blockbench 4.9.3 +mtllib model.mtl + +o 1 +v 0.32804046965019484 0.811875000000001 1.2976606433522493 +v 0.3280404696501946 0.18812500000000076 1.2976606433522497 +v 0.06287542670523916 0.8118750000000015 1.562825686297204 +v 0.06287542670523882 0.1881250000000012 1.5628256862972045 +v -0.297307089961657 0.18812500000000054 0.6723130837403954 +v -0.29730708996165656 0.8118750000000008 0.672313083740395 +v -0.5624721329066127 0.18812500000000099 0.9374781266853502 +v -0.5624721329066122 0.8118750000000012 0.9374781266853498 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0.28125 0.7734375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.859375 +vn -5.887846720064176e-16 -1 9.813077866773583e-16 +vn 0.7071067811865461 2.3551386880256836e-16 0.707106781186549 +vn 5.887846720064176e-16 1 -9.813077866773583e-16 +vn -0.7071067811865461 -2.3551386880256836e-16 -0.707106781186549 +vn 0.707106781186549 -1.0205600981444534e-15 -0.707106781186546 +vn -0.707106781186549 1.0205600981444534e-15 0.707106781186546 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 4/4/1 7/3/1 5/2/1 2/1/1 +f 3/8/2 4/7/2 2/6/2 1/5/2 +f 8/12/3 3/11/3 1/10/3 6/9/3 +f 7/16/4 8/15/4 6/14/4 5/13/4 +f 6/20/5 1/19/5 2/18/5 5/17/5 +f 7/24/6 4/23/6 3/22/6 8/21/6 +o 2 +v -0.5625 0.8125000000000007 0.9374999999999996 +v -0.5625 0.18750000000000067 0.9375 +v -0.5625 0.8124999999999996 0.062499999999999445 +v -0.5625 0.18749999999999967 0.06250000000000011 +v -0.1875000000000001 0.18750000000000056 0.9375000000000002 +v -0.1875000000000001 0.8125000000000004 0.9374999999999996 +v -0.1874999999999999 0.18749999999999956 0.06250000000000022 +v -0.1874999999999999 0.8124999999999996 0.062499999999999556 +vt 0.28125 0.9921875 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.859375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.9453125 +vt 0.28125 0.9921875 +vt 0.390625 0.9921875 +vt 0.390625 0.9453125 +vt 0.28125 0.7734375 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vn -1.224646799147355e-16 -1 1.1102230246251565e-15 +vn -1 1.2246467991473532e-16 -1.8713654303833397e-16 +vn 1.224646799147355e-16 1 -1.1102230246251565e-15 +vn 1 -1.2246467991473532e-16 1.8713654303833397e-16 +vn -1.871365430383338e-16 1.1102230246251565e-15 1 +vn 1.871365430383338e-16 -1.1102230246251565e-15 -1 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 12/28/7 15/27/7 13/26/7 10/25/7 +f 11/32/8 12/31/8 10/30/8 9/29/8 +f 16/36/9 11/35/9 9/34/9 14/33/9 +f 15/40/10 16/39/10 14/38/10 13/37/10 +f 14/44/11 9/43/11 10/42/11 13/41/11 +f 15/48/12 12/47/12 11/46/12 16/45/12 +o 3 +v -0.29766064335224884 0.8118750000000019 0.3280404696501944 +v -0.29766064335224995 0.18812500000000154 0.3280404696501942 +v -0.5628256862972032 0.8118750000000023 0.06287542670523827 +v -0.5628256862972045 0.1881250000000022 0.06287542670523805 +v 0.3276869162596049 0.18812500000000065 -0.2973070899616571 +v 0.327686916259606 0.811875000000001 -0.2973070899616569 +v 0.06252187331465042 0.18812500000000132 -0.5624721329066131 +v 0.06252187331465164 0.8118750000000015 -0.5624721329066131 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0.28125 0.7734375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.859375 +vn -2.0018678848218116e-15 -1 -5.102800490722328e-16 +vn -0.7071067811865496 1.099064721078647e-15 0.7071067811865455 +vn 2.0018678848218116e-15 1 5.102800490722328e-16 +vn 0.7071067811865496 -1.099064721078647e-15 -0.7071067811865455 +vn 0.7071067811865455 -1.5700924586837718e-15 0.7071067811865496 +vn -0.7071067811865455 1.5700924586837718e-15 -0.7071067811865496 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 20/52/13 23/51/13 21/50/13 18/49/13 +f 19/56/14 20/55/14 18/54/14 17/53/14 +f 24/60/15 19/59/15 17/58/15 22/57/15 +f 23/64/16 24/63/16 22/62/16 21/61/16 +f 22/68/17 17/67/17 18/66/17 21/65/17 +f 23/72/18 20/71/18 19/70/18 24/69/18 +o 4 +v 0.06250000000000422 0.812500000000006 -0.5625 +v 0.06249999999999578 0.187500000000006 -0.5625 +v 0.9375000000000042 0.8124999999999942 -0.5625 +v 0.9374999999999958 0.18749999999999423 -0.5625 +v 0.06249999999999578 0.187500000000006 -0.1875 +v 0.06250000000000422 0.812500000000006 -0.1875 +v 0.9374999999999958 0.18749999999999423 -0.1875 +v 0.9375000000000042 0.8124999999999942 -0.1875 +vt 0.28125 0.9921875 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.859375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.9453125 +vt 0.28125 0.9921875 +vt 0.390625 0.9921875 +vt 0.390625 0.9453125 +vt 0.28125 0.7734375 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vn -1.3433698597964394e-14 -1 -5.551115123125783e-17 +vn -5.5511151231256336e-17 1.110223024625164e-16 -1 +vn 1.3433698597964394e-14 1 5.551115123125783e-17 +vn 5.5511151231256336e-17 -1.110223024625164e-16 1 +vn -1 1.3378187446733136e-14 7.4263858655571814e-31 +vn 1 -1.3378187446733136e-14 -7.4263858655571814e-31 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 28/76/19 31/75/19 29/74/19 26/73/19 +f 27/80/20 28/79/20 26/78/20 25/77/20 +f 32/84/21 27/83/21 25/82/21 30/81/21 +f 31/88/22 32/87/22 30/86/22 29/85/22 +f 30/92/23 25/91/23 26/90/23 29/89/23 +f 31/96/24 28/95/24 27/94/24 32/93/24 +o 5 +v 0.6719595303498007 0.811875000000001 -0.2976606433522503 +v 0.6719595303498016 0.18812500000000065 -0.2976606433522505 +v 0.9371245732947551 0.8118750000000015 -0.5628256862972063 +v 0.9371245732947562 0.18812500000000132 -0.5628256862972063 +v 1.2973070899616566 0.18812500000000154 0.3276869162596008 +v 1.2973070899616554 0.8118750000000019 0.327686916259601 +v 1.5624721329066111 0.1881250000000022 0.06252187331464465 +v 1.5624721329066098 0.8118750000000023 0.06252187331464487 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0.28125 0.7734375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.859375 +vn 2.0018678848218116e-15 -1 -5.102800490722328e-16 +vn -0.7071067811865496 -1.099064721078647e-15 -0.7071067811865455 +vn -2.0018678848218116e-15 1 5.102800490722328e-16 +vn 0.7071067811865496 1.099064721078647e-15 0.7071067811865455 +vn -0.7071067811865455 -1.5700924586837718e-15 0.7071067811865496 +vn 0.7071067811865455 1.5700924586837718e-15 -0.7071067811865496 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 36/100/25 39/99/25 37/98/25 34/97/25 +f 35/104/26 36/103/26 34/102/26 33/101/26 +f 40/108/27 35/107/27 33/106/27 38/105/27 +f 39/112/28 40/111/28 38/110/28 37/109/28 +f 38/116/29 33/115/29 34/114/29 37/113/29 +f 39/120/30 36/119/30 35/118/30 40/117/30 +o 6 +v 1.5625 0.8124999999999996 0.062499999999999556 +v 1.5625 0.18749999999999944 0.06250000000000044 +v 1.5625 0.8125000000000004 0.9374999999999996 +v 1.5625 0.18750000000000056 0.9375000000000004 +v 1.1875 0.18749999999999944 0.06250000000000044 +v 1.1875 0.8124999999999996 0.062499999999999556 +v 1.1875 0.18750000000000056 0.9375000000000004 +v 1.1875 0.8125000000000004 0.9374999999999996 +vt 0.28125 0.9921875 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.859375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.9453125 +vt 0.28125 0.9921875 +vt 0.390625 0.9921875 +vt 0.390625 0.9453125 +vt 0.28125 0.7734375 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vn 0 -1 1.3322676295501878e-15 +vn 1 0 0 +vn 0 1 -1.3322676295501878e-15 +vn -1 0 0 +vn 0 -1.3322676295501878e-15 -1 +vn 0 1.3322676295501878e-15 1 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 44/124/31 47/123/31 45/122/31 42/121/31 +f 43/128/32 44/127/32 42/126/32 41/125/32 +f 48/132/33 43/131/33 41/130/33 46/129/33 +f 47/136/34 48/135/34 46/134/34 45/133/34 +f 46/140/35 41/139/35 42/138/35 45/137/35 +f 47/144/36 44/143/36 43/142/36 48/141/36 +o 7 +v 1.29766064335225 0.8118750000000008 0.6719595303498016 +v 1.2976606433522504 0.18812500000000054 0.6719595303498023 +v 1.5628256862972059 0.8118750000000012 0.9371245732947564 +v 1.5628256862972059 0.18812500000000099 0.9371245732947568 +v 0.6723130837403988 0.18812500000000076 1.2973070899616563 +v 0.6723130837403986 0.811875000000001 1.297307089961656 +v 0.9374781266853545 0.1881250000000012 1.5624721329066111 +v 0.9374781266853542 0.8118750000000015 1.5624721329066107 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.9921875 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0.28125 0.7734375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.859375 +vn 5.887846720064176e-16 -1 9.813077866773583e-16 +vn 0.7071067811865461 -2.3551386880256836e-16 -0.707106781186549 +vn -5.887846720064176e-16 1 -9.813077866773583e-16 +vn -0.7071067811865461 2.3551386880256836e-16 0.707106781186549 +vn -0.707106781186549 -1.0205600981444534e-15 -0.707106781186546 +vn 0.707106781186549 1.0205600981444534e-15 0.707106781186546 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 52/148/37 55/147/37 53/146/37 50/145/37 +f 51/152/38 52/151/38 50/150/38 49/149/38 +f 56/156/39 51/155/39 49/154/39 54/153/39 +f 55/160/40 56/159/40 54/158/40 53/157/40 +f 54/164/41 49/163/41 50/162/41 53/161/41 +f 55/168/42 52/167/42 51/166/42 56/165/42 +o 8 +v 0.9374999999999958 0.8125000000000058 1.5625 +v 0.9375000000000042 0.18750000000000577 1.5625 +v 0.06249999999999578 0.812499999999994 1.5625 +v 0.06250000000000422 0.187499999999994 1.5625 +v 0.9375000000000042 0.18750000000000577 1.1875 +v 0.9374999999999958 0.8125000000000058 1.1875 +v 0.06250000000000422 0.187499999999994 1.1875 +v 0.06249999999999578 0.812499999999994 1.1875 +vt 0.28125 0.9921875 +vt 0.28125 0.9453125 +vt 0.390625 0.9453125 +vt 0.390625 0.9921875 +vt 0.28125 0.859375 +vt 0.28125 0.9375 +vt 0.390625 0.9375 +vt 0.390625 0.859375 +vt 0.28125 0.9453125 +vt 0.28125 0.9921875 +vt 0.390625 0.9921875 +vt 0.390625 0.9453125 +vt 0.28125 0.7734375 +vt 0.28125 0.8515625 +vt 0.390625 0.8515625 +vt 0.390625 0.7734375 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vn 1.3433698597964394e-14 -1 -5.551115123125783e-17 +vn -5.5511151231256336e-17 -1.110223024625164e-16 1 +vn -1.3433698597964394e-14 1 5.551115123125783e-17 +vn 5.5511151231256336e-17 1.110223024625164e-16 -1 +vn 1 1.3378187446733136e-14 7.4263858655571814e-31 +vn -1 -1.3378187446733136e-14 -7.4263858655571814e-31 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 60/172/43 63/171/43 61/170/43 58/169/43 +f 59/176/44 60/175/44 58/174/44 57/173/44 +f 64/180/45 59/179/45 57/178/45 62/177/45 +f 63/184/46 64/183/46 62/182/46 61/181/46 +f 62/188/47 57/187/47 58/186/47 61/185/47 +f 63/192/48 60/191/48 59/190/48 64/189/48 +o 9 +v 0.5624999999999996 0.5625000000000002 1.1875 +v 0.5625000000000004 0.4375000000000002 1.1875 +v 0.44374999999999976 0.5624999999999996 1.1875 +v 0.4437500000000003 0.43749999999999967 1.1875 +v 0.5625000000000004 0.43750000000000033 -0.1875 +v 0.5624999999999996 0.5625000000000004 -0.1875 +v 0.4437500000000003 0.4374999999999998 -0.1875 +v 0.44374999999999976 0.5624999999999998 -0.1875 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vn 4.884981308350689e-15 -1 -5.551115123125783e-17 +vn -5.5511151231257285e-17 -1.1102230246251593e-16 1 +vn -4.884981308350689e-15 1 5.551115123125783e-17 +vn 5.5511151231257285e-17 1.1102230246251593e-16 -1 +vn 1 4.884981308350689e-15 2.711709361697228e-31 +vn -1 -4.884981308350689e-15 -2.711709361697228e-31 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 68/196/49 71/195/49 69/194/49 66/193/49 +f 67/200/50 68/199/50 66/198/50 65/197/50 +f 72/204/51 67/203/51 65/202/51 70/201/51 +f 71/208/52 72/207/52 70/206/52 69/205/52 +f 70/212/53 65/211/53 66/210/53 69/209/53 +f 71/216/54 68/215/54 67/214/54 72/213/54 +o 10 +v 0.05805826175840623 0.5625000000000007 1.0303300858899094 +v 0.058058261758406005 0.43750000000000067 1.0303300858899094 +v -0.03033008588991193 0.5625000000000009 0.9419417382415907 +v -0.03033008588991215 0.4375000000000009 0.9419417382415907 +v 1.0303300858899118 0.4374999999999991 0.058058261758409335 +v 1.0303300858899123 0.5624999999999991 0.058058261758409335 +v 0.9419417382415938 0.43749999999999933 -0.030330085889909375 +v 0.941941738241594 0.5624999999999993 -0.030330085889909375 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vn -2.0018678848218116e-15 -1 -5.102800490722328e-16 +vn -0.7071067811865496 1.099064721078647e-15 0.7071067811865455 +vn 2.0018678848218116e-15 1 5.102800490722328e-16 +vn 0.7071067811865496 -1.099064721078647e-15 -0.7071067811865455 +vn 0.7071067811865455 -1.5700924586837718e-15 0.7071067811865496 +vn -0.7071067811865455 1.5700924586837718e-15 -0.7071067811865496 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 76/220/55 79/219/55 77/218/55 74/217/55 +f 75/224/56 76/223/56 74/222/56 73/221/56 +f 80/228/57 75/227/57 73/226/57 78/225/57 +f 79/232/58 80/231/58 78/230/58 77/229/58 +f 78/236/59 73/235/59 74/234/59 77/233/59 +f 79/240/60 76/239/60 75/238/60 80/237/60 +o 11 +v 1.1875 0.5625 0.4374999999999999 +v 1.1875 0.4374999999999999 0.4375000000000001 +v 1.1875 0.5625 0.5562499999999999 +v 1.1875 0.4375 0.5562499999999999 +v -0.1875 0.4374999999999999 0.4375000000000001 +v -0.1875 0.5625 0.4374999999999999 +v -0.1875 0.4375 0.5562499999999999 +v -0.1875 0.5625 0.5562499999999999 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vn 0 -1 1.3322676295501878e-15 +vn 1 0 0 +vn 0 1 -1.3322676295501878e-15 +vn -1 0 0 +vn 0 -1.3322676295501878e-15 -1 +vn 0 1.3322676295501878e-15 1 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 84/244/61 87/243/61 85/242/61 82/241/61 +f 83/248/62 84/247/62 82/246/62 81/245/62 +f 88/252/63 83/251/63 81/250/63 86/249/63 +f 87/256/64 88/255/64 86/254/64 85/253/64 +f 86/260/65 81/259/65 82/258/65 85/257/65 +f 87/264/66 84/263/66 83/262/66 88/261/66 +o 12 +v 0.75 0.8749999999999996 0.24999999999999956 +v 0.75 0.12499999999999967 0.25000000000000044 +v 0.75 0.8750000000000004 0.7499999999999996 +v 0.75 0.12500000000000033 0.7500000000000004 +v 0.25 0.12499999999999967 0.25000000000000044 +v 0.25 0.8749999999999996 0.24999999999999956 +v 0.25 0.12500000000000033 0.7500000000000004 +v 0.25 0.8750000000000004 0.7499999999999996 +vt 0.609375 1 +vt 0.671875 1 +vt 0.671875 0.9375 +vt 0.609375 0.9375 +vt 0.53125 0.90625 +vt 0.53125 1 +vt 0.59375 1 +vt 0.59375 0.90625 +vt 0.609375 1 +vt 0.671875 1 +vt 0.671875 0.9375 +vt 0.609375 0.9375 +vt 0.53125 0.90625 +vt 0.53125 1 +vt 0.59375 1 +vt 0.59375 0.90625 +vt 0.53125 1 +vt 0.59375 1 +vt 0.59375 0.90625 +vt 0.53125 0.90625 +vt 0.53125 1 +vt 0.59375 1 +vt 0.59375 0.90625 +vt 0.53125 0.90625 +vn 0 -1 1.3322676295501878e-15 +vn 1 0 0 +vn 0 1 -1.3322676295501878e-15 +vn -1 0 0 +vn 0 -1.3322676295501878e-15 -1 +vn 0 1.3322676295501878e-15 1 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 92/268/67 95/267/67 93/266/67 90/265/67 +f 91/272/68 92/271/68 90/270/68 89/269/68 +f 96/276/69 91/275/69 89/274/69 94/273/69 +f 95/280/70 96/279/70 94/278/70 93/277/70 +f 94/284/71 89/283/71 90/282/71 93/281/71 +f 95/288/72 92/287/72 91/286/72 96/285/72 +o 13 +v 1.0303300858899105 0.5625 0.9419417382415927 +v 1.03033008588991 0.4375 0.9419417382415929 +v 0.9463611556240079 0.5625000000000004 1.025910668507495 +v 0.9463611556240075 0.43750000000000044 1.0259106685074952 +v 0.058058261758408114 0.43749999999999956 -0.03033008588991104 +v 0.058058261758408336 0.5624999999999996 -0.030330085889911262 +v -0.02591066850749446 0.4374999999999999 0.053638844375991535 +v -0.02591066850749424 0.5625 0.0536388443759912 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vt 0.3984375 0.8203125 +vt 0.3984375 0.9921875 +vt 0.4140625 0.9921875 +vt 0.4140625 0.8203125 +vn -1.6485970816179649e-15 -1 2.119624819223094e-15 +vn 0.707106781186547 5.495323605393231e-16 0.707106781186548 +vn 1.6485970816179649e-15 1 -2.119624819223094e-15 +vn -0.707106781186547 -5.495323605393231e-16 -0.707106781186548 +vn 0.7071067811865481 -2.5906525568282277e-15 -0.7071067811865468 +vn -0.7071067811865481 2.5906525568282277e-15 0.7071067811865468 +usemtl m_4e5cbd5f-f568-dd91-0262-263092fc04f7 +f 100/292/73 103/291/73 101/290/73 98/289/73 +f 99/296/74 100/295/74 98/294/74 97/293/74 +f 104/300/75 99/299/75 97/298/75 102/297/75 +f 103/304/76 104/303/76 102/302/76 101/301/76 +f 102/308/77 97/307/77 98/306/77 101/305/77 +f 103/312/78 100/311/78 99/310/78 104/309/78 \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rotor/rotor.json b/src/main/resources/assets/tfmg/models/block/rotor/rotor.json new file mode 100644 index 00000000..63bb955e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rotor/rotor.json @@ -0,0 +1,258 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "render_type": "minecraft:cutout", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/rotor", + "1": "tfmg:block/shaft_top", + "2": "tfmg:block/shaft", + "particle": "tfmg:block/rotor" + }, + "elements": [ + { + "from": [6, 6, 0], + "to": [10, 10, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 7, 0]}, + "faces": { + "north": {"uv": [6, 6, 10, 10], "texture": "#1"}, + "east": {"uv": [6, 0, 10, 19], "rotation": 90, "texture": "#2"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#1"}, + "west": {"uv": [6, 0, 10, 19], "rotation": 90, "texture": "#2"}, + "up": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "down": {"uv": [6, 0, 10, 16], "texture": "#2"} + } + }, + { + "from": [-2, -2, 8], + "to": [18, 18, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-1, -4, 6]}, + "faces": { + "north": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 10], "texture": "#0"}, + "south": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 10], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 0], "texture": "#0"} + } + }, + { + "from": [-2, -2, 8.1], + "to": [18, 18, 8.1], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 10], "texture": "#0"}, + "south": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 10], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 0], "texture": "#0"} + } + }, + { + "from": [5, 18, 5], + "to": [11, 26, 11], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "east": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "rotation": 180, "texture": "#0"}, + "west": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "up": {"uv": [10, 0, 13, 3], "texture": "#0"}, + "down": {"uv": [10, 3, 13, 6], "texture": "#0"} + } + }, + { + "from": [5, 18, 5], + "to": [11, 26, 11], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "east": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "rotation": 180, "texture": "#0"}, + "west": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "up": {"uv": [10, 0, 13, 3], "texture": "#0"}, + "down": {"uv": [10, 3, 13, 6], "texture": "#0"} + } + }, + { + "from": [-10, 5, 5], + "to": [-2, 11, 11], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 3, 13, 6], "rotation": 270, "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 0, 13, 3], "rotation": 270, "texture": "#0"}, + "up": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [-10, 5, 5], + "to": [-2, 11, 11], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 3, 13, 6], "rotation": 270, "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 0, 13, 3], "rotation": 270, "texture": "#0"}, + "up": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, -10, 5], + "to": [11, -2, 11], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "rotation": 180, "texture": "#0"}, + "east": {"uv": [13, 0, 16, 4], "rotation": 180, "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "texture": "#0"}, + "west": {"uv": [13, 0, 16, 4], "rotation": 180, "texture": "#0"}, + "up": {"uv": [10, 3, 13, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [10, 0, 13, 3], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, -10, 5], + "to": [11, -2, 11], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "rotation": 180, "texture": "#0"}, + "east": {"uv": [13, 0, 16, 4], "rotation": 180, "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "texture": "#0"}, + "west": {"uv": [13, 0, 16, 4], "rotation": 180, "texture": "#0"}, + "up": {"uv": [10, 3, 13, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [10, 0, 13, 3], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [18, 5, 5], + "to": [26, 11, 11], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "rotation": 270, "texture": "#0"}, + "east": {"uv": [10, 0, 13, 3], "rotation": 90, "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "rotation": 270, "texture": "#0"}, + "west": {"uv": [10, 3, 13, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [13, 0, 16, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [13, 0, 16, 4], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 18, 5], + "to": [11, 26, 11], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "east": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "south": {"uv": [13, 4, 16, 0], "rotation": 180, "texture": "#0"}, + "west": {"uv": [13, 0, 16, 4], "texture": "#0"}, + "up": {"uv": [10, 0, 13, 3], "texture": "#0"}, + "down": {"uv": [10, 3, 13, 6], "texture": "#0"} + } + }, + { + "from": [1, 19, 6], + "to": [15, 24, 10], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "texture": "#0"}, + "up": {"uv": [0, 13, 7, 15], "texture": "#0"}, + "down": {"uv": [7.5, 13, 14.5, 15], "texture": "#0"} + } + }, + { + "from": [1, 19, 6], + "to": [15, 24, 10], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "texture": "#0"}, + "up": {"uv": [0, 13, 7, 15], "texture": "#0"}, + "down": {"uv": [7.5, 13, 14.5, 15], "texture": "#0"} + } + }, + { + "from": [19, 1, 6], + "to": [24, 15, 10], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 13, 7, 15], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [7.5, 13, 14.5, 15], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-8, 1, 6], + "to": [-3, 15, 10], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [7.5, 13, 14.5, 15], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 13, 7, 15], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [-8, 1, 6], + "to": [-3, 15, 10], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [7.5, 13, 14.5, 15], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 13, 7, 15], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, -8, 6], + "to": [15, -3, 10], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [7.5, 13, 14.5, 15], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 13, 7, 15], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, -8, 6], + "to": [15, -3, 10], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [7.5, 13, 14.5, 15], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 13, 7, 15], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [19, 1, 6], + "to": [24, 15, 10], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [0, 10, 7, 12.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 13, 7, 15], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 10, 7, 12.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [7.5, 13, 14.5, 15], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [5, 5, 5], + "to": [11, 11, 11], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 6]}, + "faces": { + "north": {"uv": [9.5, 7, 12.5, 10], "rotation": 270, "texture": "#0"}, + "east": {"uv": [9.5, 10, 12.5, 13], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9.5, 7, 12.5, 10], "rotation": 90, "texture": "#0"}, + "west": {"uv": [9.5, 10, 12.5, 13], "rotation": 90, "texture": "#0"}, + "up": {"uv": [9.5, 10, 12.5, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [9.5, 10, 12.5, 13], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rotor/rotor_.json b/src/main/resources/assets/tfmg/models/block/rotor/rotor_.json new file mode 100644 index 00000000..1cb5093a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rotor/rotor_.json @@ -0,0 +1,17 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "ambientocclusion": false, + "textures": { + "0": "tfmg:block/large_generator", + "particle": "tfmg:block/large_generator" + }, + "display": { + + "gui": { + "rotation": [25, 45, 0], + "scale": [0.4, 0.4, 0.4] + } + + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/rusted_blast_furnace_reinforcement_wall.json b/src/main/resources/assets/tfmg/models/block/rusted_blast_furnace_reinforcement_wall.json new file mode 100644 index 00000000..1e68d429 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/rusted_blast_furnace_reinforcement_wall.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/rusted_blast_furnace_reinforcement", + "particle": "tfmg:block/rusted_blast_furnace_reinforcement" + }, + "elements": [ + { + "from": [0, 0, 10], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 14]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 6], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 6], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/scaffold/block.json b/src/main/resources/assets/tfmg/models/block/scaffold/block.json new file mode 100644 index 00000000..ff3d988a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/scaffold/block.json @@ -0,0 +1,62 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "inside": "create:block/scaffold/brass_scaffold_inside", + "particle": "create:block/scaffold/brass_scaffold", + "side": "create:block/scaffold/brass_scaffold", + "top": "create:block/funnel/brass_funnel_frame" + }, + "elements": [ + { + "name": "outside_nocull", + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#inside", "cullface": "down"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#inside", "cullface": "down"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#inside", "cullface": "down"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#inside", "cullface": "down"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#top"} + } + }, + { + "name": "outside", + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#side", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#side", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#side", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#side", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#top"} + } + }, + { + "name": "inner_top", + "from": [0, 15.9, 0], + "to": [16, 16, 16], + "faces": { + "down": {"uv": [0, 0, 16, 16], "texture": "#top"} + } + }, + { + "name": "inside", + "from": [0.05, 0, 16], + "to": [15.95, 16, 0], + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#inside", "cullface": "east"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#inside", "cullface": "west"} + } + }, + { + "name": "inside", + "from": [0, 0, 15.95], + "to": [16, 16, 0.05], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#inside", "cullface": "south"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#inside", "cullface": "north"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/scaffold/block_horizontal.json b/src/main/resources/assets/tfmg/models/block/scaffold/block_horizontal.json new file mode 100644 index 00000000..76f237f1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/scaffold/block_horizontal.json @@ -0,0 +1,53 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "inside": "create:block/scaffold/brass_scaffold_inside", + "particle": "create:block/scaffold/brass_scaffold", + "side": "create:block/scaffold/brass_scaffold", + "casing": "create:block/brass_casing" + }, + "elements": [ + { + "name": "top", + "from": [0, 13.05, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [16, 0, 0, 2.95], "texture": "#side", "cullface": "north"}, + "east": {"uv": [16, 0, 0, 2.95], "texture": "#side", "cullface": "east"}, + "south": {"uv": [16, 0, 0, 2.95], "texture": "#side", "cullface": "south"}, + "west": {"uv": [16, 0, 0, 2.95], "texture": "#side", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#casing"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#casing"} + } + }, + { + "name": "outside", + "from": [0, 8, 0], + "to": [16, 13.05, 16], + "faces": { + "north": {"uv": [16, 2.95, 0, 7.95], "texture": "#side", "cullface": "north"}, + "east": {"uv": [16, 2.95, 0, 7.95], "texture": "#side", "cullface": "east"}, + "south": {"uv": [16, 2.95, 0, 7.95], "texture": "#side", "cullface": "south"}, + "west": {"uv": [16, 2.95, 0, 7.95], "texture": "#side", "cullface": "west"} + } + }, + { + "name": "inside", + "from": [15.95, 8, 0], + "to": [0.05, 13.05, 16], + "faces": { + "east": {"uv": [16, 3, 0, 8], "texture": "#inside", "cullface": "west"}, + "west": {"uv": [16, 3, 0, 8], "texture": "#inside", "cullface": "east"} + } + }, + { + "name": "inside", + "from": [16, 8, 0.05], + "to": [0, 13.05, 15.95], + "faces": { + "north": {"uv": [16, 3, 0, 8], "texture": "#inside", "cullface": "north"}, + "south": {"uv": [16, 2.95, 0, 7.95], "texture": "#inside", "cullface": "south"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/block.json b/src/main/resources/assets/tfmg/models/block/segmented_display/block.json new file mode 100644 index 00000000..f782bc62 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/block.json @@ -0,0 +1,25 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "1": "tfmg:block/digital_display", + "2": "tfmg:block/segmented_display_screen", + "3": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/digital_display" + }, + "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": "#3"}, + "south": {"uv": [8, 0, 16, 8], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#3"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/item.json b/src/main/resources/assets/tfmg/models/block/segmented_display/item.json new file mode 100644 index 00000000..e20d8b87 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/item.json @@ -0,0 +1,25 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "1": "tfmg:block/digital_display", + "2": "tfmg:block/industrial_aluminum_casing", + "3": "tfmg:block/aluminum_inlet", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [8, 8, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/segments/0.json b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/0.json new file mode 100644 index 00000000..58dcb6c7 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/0.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [7.5, 3, -0.1], + "to": [8.5, 12, -0.1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 3, 0]}, + "faces": { + "north": {"uv": [2, 9.5, 2.5, 14], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "texture": "#missing"}, + "west": {"uv": [0, 0, 0, 4], "texture": "#missing"}, + "up": {"uv": [0, 0, 1, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 1, 0], "texture": "#missing"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/segments/1.json b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/1.json new file mode 100644 index 00000000..06f0d437 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/1.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [14, 8, -0.1], + "to": [15, 12, -0.1], + "rotation": {"angle": 0, "axis": "z", "origin": [12, 10, 0]}, + "faces": { + "north": {"uv": [5.5, 9.5, 6, 11.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 4], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/segments/10.json b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/10.json new file mode 100644 index 00000000..87f6d69d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/10.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [10, 3, -0.1], + "to": [14, 7, -0.1], + "rotation": {"angle": 0, "axis": "z", "origin": [16, 5, 0]}, + "faces": { + "north": {"uv": [0, 12, 2, 14], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/segments/11.json b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/11.json new file mode 100644 index 00000000..7c11ed8c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/11.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [6, 8, -0.1], + "to": [7, 12, -0.1], + "rotation": {"angle": 0, "axis": "z", "origin": [4, 10, 0]}, + "faces": { + "north": {"uv": [5.5, 9.5, 6, 11.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 4], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/segments/12.json b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/12.json new file mode 100644 index 00000000..c0aebbf9 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/12.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [6, 3, -0.1], + "to": [7, 7, -0.1], + "rotation": {"angle": 0, "axis": "z", "origin": [4, 5, 0]}, + "faces": { + "north": {"uv": [5.5, 9.5, 6, 11.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 4], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/segments/13.json b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/13.json new file mode 100644 index 00000000..217de8e4 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/13.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [2, 12, -0.1], + "to": [6, 13, -0.1], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 13, 0]}, + "faces": { + "north": {"uv": [5.5, 9.5, 6, 11.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 1, 4], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 4], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/segments/14.json b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/14.json new file mode 100644 index 00000000..03c5c8aa --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/14.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [2, 7, -0.1], + "to": [6, 8, -0.1], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 9.5, 6, 11.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 1, 4], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 4], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/segments/15.json b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/15.json new file mode 100644 index 00000000..736353ae --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/15.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [2, 2, -0.1], + "to": [6, 3, -0.1], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 3, 0]}, + "faces": { + "north": {"uv": [5.5, 9.5, 6, 11.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 1, 4], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 4], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/segments/16.json b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/16.json new file mode 100644 index 00000000..1fe2c461 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/16.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [1, 8, -0.1], + "to": [2, 12, -0.1], + "rotation": {"angle": 0, "axis": "z", "origin": [4, 10, 0]}, + "faces": { + "north": {"uv": [5.5, 9.5, 6, 11.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 0, 1, 4], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/segments/17.json b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/17.json new file mode 100644 index 00000000..50b5f410 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/17.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [1, 3, -0.1], + "to": [2, 7, -0.1], + "rotation": {"angle": 0, "axis": "z", "origin": [4, 5, 0]}, + "faces": { + "north": {"uv": [5.5, 9.5, 6, 11.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 0, 1, 4], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/segments/18.json b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/18.json new file mode 100644 index 00000000..bf65b5c6 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/18.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [2, 8, -0.1], + "to": [6, 12, -0.1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 10, 0]}, + "faces": { + "north": {"uv": [0, 10.5, 2, 8.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/segments/19.json b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/19.json new file mode 100644 index 00000000..27fdf3ec --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/19.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [2, 8, -0.1], + "to": [6, 12, -0.1], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 10, 0]}, + "faces": { + "north": {"uv": [0, 14, 2, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/segments/2.json b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/2.json new file mode 100644 index 00000000..9912a63f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/2.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [14, 3, -0.1], + "to": [15, 7, -0.1], + "rotation": {"angle": 0, "axis": "z", "origin": [12, 5, 0]}, + "faces": { + "north": {"uv": [5.5, 9.5, 6, 11.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 4], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/segments/20.json b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/20.json new file mode 100644 index 00000000..64efbe5d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/20.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [2, 3, -0.1], + "to": [6, 7, -0.1], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 5, 0]}, + "faces": { + "north": {"uv": [0, 12, 2, 14], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/segments/3.json b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/3.json new file mode 100644 index 00000000..9172cdc2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/3.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [10, 12, -0.1], + "to": [14, 13, -0.1], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 13, 0]}, + "faces": { + "north": {"uv": [5.5, 9.5, 6, 11.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 1, 4], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 4], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/segments/4.json b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/4.json new file mode 100644 index 00000000..9f9a362d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/4.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [10, 7, -0.1], + "to": [14, 8, -0.1], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 8, 0]}, + "faces": { + "north": {"uv": [5.5, 9.5, 6, 11.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 1, 4], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 4], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/segments/5.json b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/5.json new file mode 100644 index 00000000..d3b85c6e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/5.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [10, 2, -0.1], + "to": [14, 3, -0.1], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 3, 0]}, + "faces": { + "north": {"uv": [5.5, 9.5, 6, 11.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 1, 4], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 4], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 4], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/segments/6.json b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/6.json new file mode 100644 index 00000000..91c70d1e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/6.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [9, 8, -0.1], + "to": [10, 12, -0.1], + "rotation": {"angle": 0, "axis": "z", "origin": [12, 10, 0]}, + "faces": { + "north": {"uv": [5.5, 9.5, 6, 11.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 0, 1, 4], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/segments/7.json b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/7.json new file mode 100644 index 00000000..36cd3a81 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/7.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [9, 3, -0.1], + "to": [10, 7, -0.1], + "rotation": {"angle": 0, "axis": "z", "origin": [12, 5, 0]}, + "faces": { + "north": {"uv": [5.5, 9.5, 6, 11.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 0, 1, 4], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/segments/8.json b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/8.json new file mode 100644 index 00000000..4ba4ee16 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/8.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [10, 8, -0.1], + "to": [14, 12, -0.1], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 10, 0]}, + "faces": { + "north": {"uv": [0, 10.5, 2, 8.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/segmented_display/segments/9.json b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/9.json new file mode 100644 index 00000000..143f9859 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/segmented_display/segments/9.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/digital_display", + "particle": "tfmg:block/digital_display" + }, + "elements": [ + { + "from": [10, 8, -0.1], + "to": [14, 12, -0.1], + "rotation": {"angle": 0, "axis": "z", "origin": [16, 10, 0]}, + "faces": { + "north": {"uv": [0, 14, 2, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 1, 0], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/servo_motor/block.json b/src/main/resources/assets/tfmg/models/block/servo_motor/block.json new file mode 100644 index 00000000..fb0081a6 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/servo_motor/block.json @@ -0,0 +1,76 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/servo_motor", + "particle": "tfmg:block/servo_motor" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 15, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 6, 8]}, + "faces": { + "north": {"uv": [8, 0, 15.5, 8], "rotation": 270, "texture": "#0"}, + "east": {"uv": [16, 0, 8.5, 8], "rotation": 270, "texture": "#0"}, + "south": {"uv": [16, 0, 8.5, 8], "rotation": 270, "texture": "#0"}, + "west": {"uv": [8.5, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 8, 8, 16], "texture": "#0"} + } + }, + { + "from": [0, 15, 0], + "to": [2, 16, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 6, 8]}, + "faces": { + "north": {"uv": [15.5, 0, 16, 1], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0.5, 0, 1, 8], "rotation": 270, "texture": "#0"}, + "south": {"uv": [15.5, 0, 16, 1], "texture": "#0"}, + "west": {"uv": [15.5, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [7, 0, 8, 8], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 15, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 6, 8]}, + "faces": { + "north": {"uv": [15.5, 7, 16, 8], "rotation": 180, "texture": "#0"}, + "east": {"uv": [15.5, 0, 16, 8], "rotation": 270, "texture": "#0"}, + "south": {"uv": [15.5, 0, 16, 1], "texture": "#0"}, + "west": {"uv": [0.5, 0, 1, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 1, 8], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 16], "texture": "#0"} + } + }, + { + "from": [2, 15, 0], + "to": [14, 16, 2], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 6, 8]}, + "faces": { + "north": {"uv": [15.5, 1, 16, 7], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "rotation": 270, "texture": "#0"}, + "south": {"uv": [1, 0.5, 7, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [1, 7, 7, 8], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 2], "texture": "#0"} + } + }, + { + "from": [2, 15, 14], + "to": [14, 16, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 6, 8]}, + "faces": { + "north": {"uv": [1, 0.5, 7, 1], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "rotation": 270, "texture": "#0"}, + "south": {"uv": [15.5, 1, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [1, 0, 7, 1], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 2], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/servo_motor/item.json b/src/main/resources/assets/tfmg/models/block/servo_motor/item.json new file mode 100644 index 00000000..ee1157f3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/servo_motor/item.json @@ -0,0 +1,89 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/servo_motor", + "particle": "tfmg:block/servo_motor" + }, + "elements": [ + { + "from": [0, 0, 1], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 2]}, + "faces": { + "north": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "east": {"uv": [16, 0, 8.5, 8], "texture": "#0"}, + "south": {"uv": [0, 8, 8, 16], "texture": "#0"}, + "west": {"uv": [8.5, 0, 16, 8], "texture": "#0"}, + "up": {"uv": [16, 0, 8.5, 8], "rotation": 270, "texture": "#0"}, + "down": {"uv": [8, 0, 15.5, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [2, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 2]}, + "faces": { + "north": {"uv": [7, 0, 8, 8], "texture": "#0"}, + "east": {"uv": [0.5, 0, 1, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [15.5, 0, 16, 8], "texture": "#0"}, + "up": {"uv": [15.5, 0, 16, 1], "texture": "#0"}, + "down": {"uv": [15.5, 0, 16, 1], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 0, 2]}, + "faces": { + "north": {"uv": [0, 0, 1, 8], "texture": "#0"}, + "east": {"uv": [15.5, 0, 16, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0.5, 0, 1, 8], "texture": "#0"}, + "up": {"uv": [15.5, 0, 16, 1], "texture": "#0"}, + "down": {"uv": [15.5, 7, 16, 8], "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [12, -14, 2]}, + "faces": { + "north": {"uv": [1, 7, 7, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "up": {"uv": [1, 0.5, 7, 1], "texture": "#0"}, + "down": {"uv": [15.5, 1, 16, 7], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 0, 2]}, + "faces": { + "north": {"uv": [1, 0, 7, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "up": {"uv": [15.5, 1, 16, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [1, 0.5, 7, 1], "texture": "#0"} + } + }, + { + "from": [6, 6, 0], + "to": [10, 10, 8], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [12, 8, 14, 10], "texture": "#0"}, + "east": {"uv": [14, 12, 16, 8], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "west": {"uv": [14, 12, 16, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 12, 16, 8], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 8, 16, 12], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/simple_large_engine/block.json b/src/main/resources/assets/tfmg/models/block/simple_large_engine/block.json new file mode 100644 index 00000000..c10f456d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/simple_large_engine/block.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/simple_large_engine", + "particle": "tfmg:block/simple_large_engine" + }, + "elements": [ + { + "from": [1, 0, 1], + "to": [15, 3, 15], + "rotation": {"angle": 0, "axis": "x", "origin": [1, 2, 1]}, + "faces": { + "north": {"uv": [0, 16, 7, 14.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 16, 7, 14.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 14.5, 7, 16], "texture": "#0"}, + "west": {"uv": [0, 14.5, 7, 16], "texture": "#0"}, + "up": {"uv": [9, 0, 16, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [9, 0, 16, 7], "texture": "#0"} + } + }, + { + "from": [3, 2, 3], + "to": [13, 15, 13], + "rotation": {"angle": 0, "axis": "x", "origin": [1, 4, 1]}, + "faces": { + "north": {"uv": [14.5, 14.5, 9.5, 8], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 6, 5, 12.5], "texture": "#0"}, + "south": {"uv": [9.5, 8, 14.5, 14.5], "texture": "#0"}, + "west": {"uv": [0, 6, 5, 12.5], "texture": "#0"}, + "up": {"uv": [0, 0, 5, 5], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/simple_large_engine/item.json b/src/main/resources/assets/tfmg/models/block/simple_large_engine/item.json new file mode 100644 index 00000000..c10f456d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/simple_large_engine/item.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/simple_large_engine", + "particle": "tfmg:block/simple_large_engine" + }, + "elements": [ + { + "from": [1, 0, 1], + "to": [15, 3, 15], + "rotation": {"angle": 0, "axis": "x", "origin": [1, 2, 1]}, + "faces": { + "north": {"uv": [0, 16, 7, 14.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 16, 7, 14.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 14.5, 7, 16], "texture": "#0"}, + "west": {"uv": [0, 14.5, 7, 16], "texture": "#0"}, + "up": {"uv": [9, 0, 16, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [9, 0, 16, 7], "texture": "#0"} + } + }, + { + "from": [3, 2, 3], + "to": [13, 15, 13], + "rotation": {"angle": 0, "axis": "x", "origin": [1, 4, 1]}, + "faces": { + "north": {"uv": [14.5, 14.5, 9.5, 8], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 6, 5, 12.5], "texture": "#0"}, + "south": {"uv": [9.5, 8, 14.5, 14.5], "texture": "#0"}, + "west": {"uv": [0, 6, 5, 12.5], "texture": "#0"}, + "up": {"uv": [0, 0, 5, 5], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/simple_large_engine/linkage.json b/src/main/resources/assets/tfmg/models/block/simple_large_engine/linkage.json new file mode 100644 index 00000000..96a8436e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/simple_large_engine/linkage.json @@ -0,0 +1,50 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/simple_engine_linkage" + }, + "elements": [ + { + "from": [6, 1, 4], + "to": [10, 7, 12], + "faces": { + "north": {"uv": [8.5, 11, 10.5, 14], "texture": "#0"}, + "east": {"uv": [10.5, 11, 14.5, 14], "texture": "#0"}, + "south": {"uv": [8.5, 11, 10.5, 14], "texture": "#0"}, + "west": {"uv": [10.5, 11, 14.5, 14], "texture": "#0"}, + "up": {"uv": [10.5, 9, 14.5, 11], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 14, 14.5, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 15, 4], + "to": [10, 21, 12], + "faces": { + "north": {"uv": [8.5, 11, 10.5, 14], "texture": "#0"}, + "east": {"uv": [10.5, 11, 14.5, 14], "texture": "#0"}, + "south": {"uv": [8.5, 11, 10.5, 14], "texture": "#0"}, + "west": {"uv": [10.5, 11, 14.5, 14], "texture": "#0"}, + "up": {"uv": [10.5, 9, 14.5, 11], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 14, 14.5, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 7, 6], + "to": [10, 15, 10], + "faces": { + "north": {"uv": [1.5, 1, 3.5, 6], "texture": "#0"}, + "east": {"uv": [1.5, 1, 3.5, 6], "texture": "#0"}, + "south": {"uv": [1.5, 1, 3.5, 6], "texture": "#0"}, + "west": {"uv": [1.5, 1, 3.5, 6], "texture": "#0"} + } + } + ], + "groups": [ + { + "name": "Linkage", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/simple_large_engine/piston.json b/src/main/resources/assets/tfmg/models/block/simple_large_engine/piston.json new file mode 100644 index 00000000..ab6855db --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/simple_large_engine/piston.json @@ -0,0 +1,28 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/simple_engine_linkage" + }, + "elements": [ + { + "from": [5, 3, 5], + "to": [11, 22, 11], + "faces": { + "north": {"uv": [4, 6.5, 7, 16], "texture": "#0"}, + "east": {"uv": [1, 6.5, 4, 16], "texture": "#0"}, + "south": {"uv": [4, 6.5, 7, 16], "texture": "#0"}, + "west": {"uv": [1, 6.5, 4, 16], "texture": "#0"}, + "up": {"uv": [4, 3.5, 7, 6.5], "texture": "#0"} + } + } + ], + "display": {}, + "groups": [ + { + "name": "Piston", + "origin": [0, 0, 0], + "color": 0, + "children": [0] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/smokestack/smokestack.json b/src/main/resources/assets/tfmg/models/block/smokestack/smokestack.json new file mode 100644 index 00000000..ce84d727 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/smokestack/smokestack.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brick_smokestack", + "particle": "tfmg:block/brick_smokestack" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 8, 8, 16], "texture": "#0"}, + "east": {"uv": [0, 8, 8, 16], "texture": "#0"}, + "south": {"uv": [0, 8, 8, 16], "texture": "#0"}, + "west": {"uv": [0, 8, 8, 16], "texture": "#0"}, + "up": {"uv": [8, 8, 16, 16], "texture": "#0"}, + "down": {"uv": [8, 8, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/smokestack/smokestack_top.json b/src/main/resources/assets/tfmg/models/block/smokestack/smokestack_top.json new file mode 100644 index 00000000..12f4ca49 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/smokestack/smokestack_top.json @@ -0,0 +1,37 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/brick_smokestack", + "1": "tfmg:block/smokestack_top", + "particle": "tfmg:block/brick_smokestack" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 13, 16], + "faces": { + "north": {"uv": [0, 1.5, 8, 8], "texture": "#0"}, + "east": {"uv": [0, 1.5, 8, 8], "texture": "#0"}, + "south": {"uv": [0, 1.5, 8, 8], "texture": "#0"}, + "west": {"uv": [0, 1.5, 8, 8], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "down": {"uv": [8, 8, 16, 16], "texture": "#0"} + } + }, + { + "from": [-1, 13, -1], + "to": [17, 16, 17], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 13, 0]}, + "faces": { + "north": {"uv": [0, 0, 9, 1.5], "texture": "#0"}, + "east": {"uv": [0, 0, 9, 1.5], "texture": "#0"}, + "south": {"uv": [0, 0, 9, 1.5], "texture": "#0"}, + "west": {"uv": [0, 0, 9, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 9, 9], "texture": "#1"}, + "down": {"uv": [0, 0, 9, 9], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/stator/block_corner.json b/src/main/resources/assets/tfmg/models/block/stator/block_corner.json new file mode 100644 index 00000000..150df422 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/stator/block_corner.json @@ -0,0 +1,132 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/stator", + "particle": "tfmg:block/stator" + }, + "elements": [ + { + "from": [11, 0, 0.8], + "to": [16, 5, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 24, 8]}, + "faces": { + "north": {"uv": [11, 0, 13.5, 2.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [6, 0, 8.5, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 0, 13.5, 2.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [6, 0, 8.5, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [6, 0, 8.5, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6, 0, 8.5, 7], "texture": "#0"} + } + }, + { + "from": [11.31371, 11.31371, 2], + "to": [27.31371, 15.31371, 14], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 24, 8]}, + "faces": { + "north": {"uv": [0, 8, 2, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 6, 2], "texture": "#0"}, + "south": {"uv": [0, 8, 2, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 6, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 6, 8], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [11.31371, 11.31371, 2], + "to": [27.31371, 11.31371, 14], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 24, 8]}, + "faces": { + "up": {"uv": [0, 0, 6, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 11, 0.8], + "to": [5, 16, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 24, 8]}, + "faces": { + "north": {"uv": [11, 0, 13.5, 2.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [6, 0, 8.5, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 0, 13.5, 2.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [6, 0, 8.5, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [6, 0, 8.5, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6, 0, 8.5, 7], "texture": "#0"} + } + }, + { + "from": [12.31371, 15.31371, 1], + "to": [26.31371, 20.31371, 4], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 24, 8]}, + "faces": { + "north": {"uv": [8.5, 0, 11, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [11, 3, 12.5, 5.5], "texture": "#0"}, + "south": {"uv": [8.5, 0, 11, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [11, 3, 12.5, 5.5], "texture": "#0"}, + "up": {"uv": [6, 0, 7.5, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 0, 7.5, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [12.31371, 11.31371, 2], + "to": [26.31371, 15.31371, 2], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 24, 8]}, + "faces": { + "east": {"uv": [11, 3, 12.5, 5.5], "texture": "#0"}, + "south": {"uv": [6.5, 0, 8.5, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [11, 3, 12.5, 5.5], "texture": "#0"}, + "up": {"uv": [6, 0, 7.5, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 0, 7.5, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [12.31371, 15.31371, 12], + "to": [26.31371, 20.31371, 15], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 24, 8]}, + "faces": { + "north": {"uv": [8.5, 7, 11, 0], "rotation": 90, "texture": "#0"}, + "east": {"uv": [12.5, 3, 11, 5.5], "texture": "#0"}, + "south": {"uv": [8.5, 7, 11, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [12.5, 3, 11, 5.5], "texture": "#0"}, + "up": {"uv": [7.5, 0, 6, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7.5, 0, 6, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [12.31371, 12.31371, 5], + "to": [18.31371, 15.31371, 11], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 24, 8]}, + "faces": { + "north": {"uv": [2, 11, 5, 12.5], "texture": "#0"}, + "east": {"uv": [2, 11, 5, 12.5], "texture": "#0"}, + "south": {"uv": [2, 11, 5, 12.5], "texture": "#0"}, + "west": {"uv": [2, 11, 5, 12.5], "texture": "#0"}, + "up": {"uv": [2, 8, 5, 11], "texture": "#0"}, + "down": {"uv": [2, 8, 5, 11], "texture": "#0"} + } + }, + { + "from": [20.31371, 12.31371, 5], + "to": [26.31371, 15.31371, 11], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 24, 8]}, + "faces": { + "north": {"uv": [2, 11, 5, 12.5], "texture": "#0"}, + "east": {"uv": [2, 11, 5, 12.5], "texture": "#0"}, + "south": {"uv": [2, 11, 5, 12.5], "texture": "#0"}, + "west": {"uv": [2, 11, 5, 12.5], "texture": "#0"}, + "up": {"uv": [2, 8, 5, 11], "texture": "#0"}, + "down": {"uv": [2, 8, 5, 11], "texture": "#0"} + } + }, + { + "from": [12.31371, 11.31371, 14], + "to": [26.31371, 15.31371, 14], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 24, 8]}, + "faces": { + "north": {"uv": [6.5, 7, 8.5, 0], "rotation": 90, "texture": "#0"}, + "east": {"uv": [12.5, 3, 11, 5.5], "texture": "#0"}, + "west": {"uv": [12.5, 3, 11, 5.5], "texture": "#0"}, + "up": {"uv": [7.5, 0, 6, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7.5, 0, 6, 7], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/stator/block_corner_horizontal.json b/src/main/resources/assets/tfmg/models/block/stator/block_corner_horizontal.json new file mode 100644 index 00000000..bbeff1cb --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/stator/block_corner_horizontal.json @@ -0,0 +1,136 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/stator", + "particle": "tfmg:block/stator" + }, + "elements": [ + { + "from": [6.62742, 2, 0], + "to": [6.62742, 14, 16], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 6, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [10.62742, 12, 1], + "to": [15.62742, 15, 15], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [11, 3, 12.5, 5.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [6, 0, 7.5, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 3, 12.5, 5.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [6, 0, 7.5, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8.5, 0, 11, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [8.5, 0, 11, 7], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6.62742, 2, 0], + "to": [10.62742, 14, 16], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 6, 2], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 6, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 6, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 2, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 8, 2, 16], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [0, 1, 11], + "to": [5, 15.2, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [6, 0, 8.5, 7], "rotation": 180, "texture": "#0"}, + "east": {"uv": [6, 0, 8.5, 7], "texture": "#0"}, + "south": {"uv": [6, 0, 8.5, 7], "rotation": 180, "texture": "#0"}, + "west": {"uv": [6, 0, 8.5, 7], "rotation": 180, "texture": "#0"}, + "up": {"uv": [11, 0, 13.5, 2.5], "texture": "#0"}, + "down": {"uv": [11, 0, 13.5, 2.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [10.62742, 1, 1], + "to": [15.62742, 4, 15], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12.5, 3, 11, 5.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [7.5, 0, 6, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [12.5, 3, 11, 5.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [7.5, 0, 6, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8.5, 7, 11, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [8.5, 7, 11, 0], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [7.62742, 5, 9], + "to": [10.62742, 11, 15], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [2, 11, 5, 12.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [2, 8, 5, 11], "texture": "#0"}, + "south": {"uv": [2, 11, 5, 12.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [2, 8, 5, 11], "rotation": 180, "texture": "#0"}, + "up": {"uv": [2, 11, 5, 12.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [2, 11, 5, 12.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [7.62742, 5, 1], + "to": [10.62742, 11, 7], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [2, 11, 5, 12.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [2, 8, 5, 11], "texture": "#0"}, + "south": {"uv": [2, 11, 5, 12.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [2, 8, 5, 11], "rotation": 180, "texture": "#0"}, + "up": {"uv": [2, 11, 5, 12.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [2, 11, 5, 12.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6.62742, 14, 1], + "to": [10.62742, 14, 15], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [11, 3, 12.5, 5.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [6, 0, 7.5, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11, 3, 12.5, 5.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [6, 0, 7.5, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6.5, 0, 8.5, 7], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6.62742, 2, 1], + "to": [10.62742, 2, 15], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12.5, 3, 11, 5.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [7.5, 0, 6, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [12.5, 3, 11, 5.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [7.5, 0, 6, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [6.5, 7, 8.5, 0], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [11, 1, 0], + "to": [16, 15.2, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [6, 0, 8.5, 7], "rotation": 180, "texture": "#0"}, + "east": {"uv": [6, 0, 8.5, 7], "texture": "#0"}, + "south": {"uv": [6, 0, 8.5, 7], "rotation": 180, "texture": "#0"}, + "west": {"uv": [6, 0, 8.5, 7], "rotation": 180, "texture": "#0"}, + "up": {"uv": [11, 0, 13.5, 2.5], "texture": "#0"}, + "down": {"uv": [11, 0, 13.5, 2.5], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/stator/block_corner_horizontal_old.json b/src/main/resources/assets/tfmg/models/block/stator/block_corner_horizontal_old.json new file mode 100644 index 00000000..5cfb1d61 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/stator/block_corner_horizontal_old.json @@ -0,0 +1,45 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/large_generator", + "particle": "tfmg:block/large_generator" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [6, 16, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [0, 0.75, 2, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [2.125, 0, 4.125, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [7.125, 2, 7.875, 4], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 270, "texture": "#0"}, + "up": {"uv": [7.125, 0, 7.875, 2], "texture": "#0"}, + "down": {"uv": [7.875, 0, 7.125, 2], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 0, 0], + "to": [16, 16, 6], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [2, 0.75, 0, 2], "rotation": 90, "texture": "#0"}, + "east": {"uv": [7.125, 2, 7.875, 4], "rotation": 180, "texture": "#0"}, + "south": {"uv": [2.125, 0.75, 4.125, 2], "rotation": 270, "texture": "#0"}, + "up": {"uv": [7.125, 0.75, 7.875, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7.125, 0.75, 7.875, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [-1.65685, 1, 9.65685], + "to": [12.34315, 15, 16.65685], + "rotation": {"angle": 45, "axis": "y", "origin": [0, 8, 8]}, + "faces": { + "south": {"uv": [2.25, 6.25, 4, 8], "rotation": 270, "texture": "#0"}, + "up": {"uv": [4.5, 3.875, 6.5, 4.75], "texture": "#0"}, + "down": {"uv": [4.5, 3.875, 6.5, 4.75], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/stator/block_corner_old.json b/src/main/resources/assets/tfmg/models/block/stator/block_corner_old.json new file mode 100644 index 00000000..2b911eb2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/stator/block_corner_old.json @@ -0,0 +1,43 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/large_generator", + "particle": "tfmg:block/large_generator" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [6, 16, 16], + "faces": { + "north": {"uv": [7.125, 0, 7.875, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [2.125, 0, 4.125, 2], "rotation": 180, "texture": "#0"}, + "south": {"uv": [7.875, 0, 7.125, 2], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [7.125, 2, 7.875, 4], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0.75, 2, 0], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6, 0, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [7.125, 0.75, 7.875, 2], "rotation": 270, "texture": "#0"}, + "east": {"uv": [7.125, 2, 7.875, 4], "rotation": 270, "texture": "#0"}, + "south": {"uv": [7.125, 0.75, 7.875, 2], "rotation": 270, "texture": "#0"}, + "up": {"uv": [2.125, 0.75, 4.125, 2], "rotation": 270, "texture": "#0"}, + "down": {"uv": [2, 0.75, 0, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [-6.7, 8, 1], + "to": [7.3, 15, 15], + "rotation": {"angle": -45, "axis": "z", "origin": [0, 0, 0]}, + "faces": { + "north": {"uv": [4.5, 3.875, 6.5, 4.75], "rotation": 180, "texture": "#0"}, + "south": {"uv": [4.5, 3.875, 6.5, 4.75], "rotation": 180, "texture": "#0"}, + "up": {"uv": [2.25, 6.25, 4, 8], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/stator/block_corner_up.json b/src/main/resources/assets/tfmg/models/block/stator/block_corner_up.json new file mode 100644 index 00000000..e43a5263 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/stator/block_corner_up.json @@ -0,0 +1,136 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/stator", + "particle": "tfmg:block/stator" + }, + "elements": [ + { + "from": [1, 0.37258, 1], + "to": [15, 5.37258, 4], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8.5, 0, 11, 7], "rotation": 270, "texture": "#0"}, + "east": {"uv": [11, 3, 12.5, 5.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [8.5, 0, 11, 7], "rotation": 270, "texture": "#0"}, + "west": {"uv": [11, 3, 12.5, 5.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [6, 0, 7.5, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 0, 7.5, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [0, 5.37258, 2], + "to": [16, 9.37258, 14], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 8, 2, 16], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 6, 2], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 8, 2, 16], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 6, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 6, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 9.37258, 2], + "to": [16, 9.37258, 14], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 0], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 0], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 8], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [11, 11, 0.8], + "to": [16, 16, 15], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [11, 0, 13.5, 2.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [6, 0, 8.5, 7], "rotation": 270, "texture": "#0"}, + "south": {"uv": [11, 0, 13.5, 2.5], "texture": "#0"}, + "west": {"uv": [6, 0, 8.5, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [6, 0, 8.5, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6, 0, 8.5, 7], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, 0.37258, 12], + "to": [15, 5.37258, 15], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8.5, 7, 11, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [12.5, 3, 11, 5.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [8.5, 7, 11, 0], "rotation": 270, "texture": "#0"}, + "west": {"uv": [12.5, 3, 11, 5.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [7.5, 0, 6, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7.5, 0, 6, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [9, 5.37258, 5], + "to": [15, 8.37258, 11], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [2, 11, 5, 12.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [2, 11, 5, 12.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [2, 11, 5, 12.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [2, 11, 5, 12.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [2, 8, 5, 11], "rotation": 180, "texture": "#0"}, + "down": {"uv": [2, 8, 5, 11], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, 5.37258, 5], + "to": [7, 8.37258, 11], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [2, 11, 5, 12.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [2, 11, 5, 12.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [2, 11, 5, 12.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [2, 11, 5, 12.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [2, 8, 5, 11], "rotation": 180, "texture": "#0"}, + "down": {"uv": [2, 8, 5, 11], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, 5.37258, 2], + "to": [15, 9.37258, 2], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [11, 3, 12.5, 5.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [6.5, 0, 8.5, 7], "rotation": 270, "texture": "#0"}, + "west": {"uv": [11, 3, 12.5, 5.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [6, 0, 7.5, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 0, 7.5, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 5.37258, 14], + "to": [15, 9.37258, 14], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [6.5, 7, 8.5, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [12.5, 3, 11, 5.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [12.5, 3, 11, 5.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [7.5, 0, 6, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7.5, 0, 6, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [0, 0, 0.8], + "to": [5, 5, 15], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [11, 0, 13.5, 2.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [6, 0, 8.5, 7], "rotation": 270, "texture": "#0"}, + "south": {"uv": [11, 0, 13.5, 2.5], "texture": "#0"}, + "west": {"uv": [6, 0, 8.5, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [6, 0, 8.5, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6, 0, 8.5, 7], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/stator/block_corner_up_old.json b/src/main/resources/assets/tfmg/models/block/stator/block_corner_up_old.json new file mode 100644 index 00000000..d7994ea8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/stator/block_corner_up_old.json @@ -0,0 +1,45 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/large_generator", + "particle": "tfmg:block/large_generator" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [6, 16, 16], + "rotation": {"angle": 0, "axis": "z", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [7.875, 0, 7.125, 2], "texture": "#0"}, + "east": {"uv": [2.125, 0, 4.125, 2], "texture": "#0"}, + "south": {"uv": [7.125, 0, 7.875, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "up": {"uv": [0, 0.75, 2, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7.125, 2, 7.875, 4], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [6, 10, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "z", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [7.125, 0.75, 7.875, 2], "rotation": 90, "texture": "#0"}, + "east": {"uv": [7.125, 2, 7.875, 4], "rotation": 90, "texture": "#0"}, + "south": {"uv": [7.125, 0.75, 7.875, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [2, 0.75, 0, 2], "rotation": 270, "texture": "#0"}, + "down": {"uv": [2.125, 0.75, 4.125, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [-1.65685, -0.65685, 1], + "to": [12.34315, 6.34315, 15], + "rotation": {"angle": 45, "axis": "z", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [4.5, 3.875, 6.5, 4.75], "texture": "#0"}, + "south": {"uv": [4.5, 3.875, 6.5, 4.75], "texture": "#0"}, + "down": {"uv": [2.25, 6.25, 4, 8], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/stator/block_side.json b/src/main/resources/assets/tfmg/models/block/stator/block_side.json new file mode 100644 index 00000000..d5b55561 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/stator/block_side.json @@ -0,0 +1,179 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/stator", + "particle": "tfmg:block/stator" + }, + "elements": [ + { + "from": [2, 0, 15.9], + "to": [14, 16, 15.9], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 0, 14]}, + "faces": { + "north": {"uv": [0, 0, 6, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "texture": "#0"} + } + }, + { + "from": [2, 16, 12], + "to": [14, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 0, 14]}, + "faces": { + "north": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "up": {"uv": [6.5, 0.5, 8.5, 6.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8.5, 0.5, 6.5, 6.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 12], + "to": [14, 0, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [2, -16, 14]}, + "faces": { + "north": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 0], "texture": "#0"}, + "up": {"uv": [6.5, 0.5, 8.5, 6.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8.5, 0.5, 6.5, 6.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 11], + "to": [2, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 0, 4]}, + "faces": { + "north": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "east": {"uv": [5.5, 8, 8, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "west": {"uv": [5.5, 8, 8, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2.5, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2.5, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [14, 0, 11], + "to": [14, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 4]}, + "faces": { + "north": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "east": {"uv": [5.5, 8, 8, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "west": {"uv": [5.5, 8, 8, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2.5, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2.5, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 9, 12], + "to": [11, 15, 15], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 15]}, + "faces": { + "north": {"uv": [2, 8, 5, 11], "rotation": 270, "texture": "#0"}, + "east": {"uv": [2, 11, 5, 12.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [2, 8, 5, 11], "rotation": 270, "texture": "#0"}, + "west": {"uv": [2, 11, 5, 12.5], "rotation": 270, "texture": "#0"}, + "up": {"uv": [2, 11, 5, 12.5], "texture": "#0"}, + "down": {"uv": [2, 11, 5, 12.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [5, 1, 12], + "to": [11, 7, 15], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 15]}, + "faces": { + "north": {"uv": [2, 8, 5, 11], "rotation": 270, "texture": "#0"}, + "east": {"uv": [2, 11, 5, 12.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [2, 8, 5, 11], "rotation": 270, "texture": "#0"}, + "west": {"uv": [2, 11, 5, 12.5], "rotation": 270, "texture": "#0"}, + "up": {"uv": [2, 11, 5, 12.5], "texture": "#0"}, + "down": {"uv": [2, 11, 5, 12.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [12.2, 1, 7], + "to": [15.2, 15, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -12]}, + "faces": { + "north": {"uv": [6, 0, 7.5, 7], "texture": "#0"}, + "east": {"uv": [8.5, 0, 11, 7], "texture": "#0"}, + "south": {"uv": [6, 0, 7.5, 7], "rotation": 180, "texture": "#0"}, + "west": {"uv": [8.5, 0, 11, 7], "rotation": 180, "texture": "#0"}, + "up": {"uv": [11, 3, 12.5, 5.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [11, 3, 12.5, 5.5], "texture": "#0"} + } + }, + { + "from": [0.98, 1, 7], + "to": [3.98, 15, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -12]}, + "faces": { + "north": {"uv": [7.5, 0, 6, 7], "texture": "#0"}, + "east": {"uv": [11, 0, 8.5, 7], "rotation": 180, "texture": "#0"}, + "south": {"uv": [7.5, 0, 6, 7], "rotation": 180, "texture": "#0"}, + "west": {"uv": [11, 0, 8.5, 7], "texture": "#0"}, + "up": {"uv": [12.5, 3, 11, 5.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [12.5, 3, 11, 5.5], "texture": "#0"} + } + }, + { + "from": [13.03, -1, 9.05], + "to": [15.03, 2, 12.05], + "rotation": {"angle": 0, "axis": "y", "origin": [15, -1, 10]}, + "faces": { + "north": {"uv": [7.5, 3, 6.5, 4.5], "texture": "#0"}, + "east": {"uv": [14.5, 2, 13, 3.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [7.5, 3, 6.5, 4.5], "texture": "#0"}, + "west": {"uv": [13, 3.5, 14.5, 2], "rotation": 270, "texture": "#0"}, + "up": {"uv": [7.5, 3, 6.5, 4.5], "texture": "#0"}, + "down": {"uv": [7.5, 3, 6.5, 4.5], "texture": "#0"} + } + }, + { + "from": [0.97, -1, 9.05], + "to": [2.97, 2, 12.05], + "rotation": {"angle": 0, "axis": "y", "origin": [1, -1, 10]}, + "faces": { + "north": {"uv": [6.5, 3, 7.5, 4.5], "texture": "#0"}, + "east": {"uv": [13, 2, 14.5, 3.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [6.5, 3, 7.5, 4.5], "texture": "#0"}, + "west": {"uv": [13, 2, 14.5, 3.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [6.5, 3, 7.5, 4.5], "texture": "#0"}, + "down": {"uv": [6.5, 3, 7.5, 4.5], "texture": "#0"} + } + }, + { + "from": [13.03, 14, 9.05], + "to": [15.03, 17, 12.05], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 14, 10]}, + "faces": { + "north": {"uv": [7.5, 3, 6.5, 4.5], "texture": "#0"}, + "east": {"uv": [13, 3.5, 14.5, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [7.5, 3, 6.5, 4.5], "texture": "#0"}, + "west": {"uv": [14.5, 2, 13, 3.5], "texture": "#0"}, + "up": {"uv": [7.5, 3, 6.5, 4.5], "texture": "#0"}, + "down": {"uv": [7.5, 3, 6.5, 4.5], "texture": "#0"} + } + }, + { + "from": [0.97, 14, 9.05], + "to": [2.97, 17, 12.05], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 14, 10]}, + "faces": { + "north": {"uv": [6.5, 3, 7.5, 4.5], "texture": "#0"}, + "east": {"uv": [13, 2, 14.5, 3.5], "texture": "#0"}, + "south": {"uv": [6.5, 3, 7.5, 4.5], "texture": "#0"}, + "west": {"uv": [13, 2, 14.5, 3.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [6.5, 3, 7.5, 4.5], "texture": "#0"}, + "down": {"uv": [6.5, 3, 7.5, 4.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/stator/block_side_old.json b/src/main/resources/assets/tfmg/models/block/stator/block_side_old.json new file mode 100644 index 00000000..3624ebbf --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/stator/block_side_old.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/large_generator", + "particle": "tfmg:block/large_generator" + }, + "elements": [ + { + "from": [0, 0, 10], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [2.125, 2, 4.125, 4], "texture": "#0"}, + "east": {"uv": [7.125, 2, 7.875, 4], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 4], "texture": "#0"}, + "west": {"uv": [7.875, 2, 7.125, 4], "texture": "#0"}, + "up": {"uv": [0, 2.625, 2, 3.375], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2.625, 2, 3.375], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/stator/block_side_rotated.json b/src/main/resources/assets/tfmg/models/block/stator/block_side_rotated.json new file mode 100644 index 00000000..342a084b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/stator/block_side_rotated.json @@ -0,0 +1,179 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/stator", + "particle": "tfmg:block/stator" + }, + "elements": [ + { + "from": [0, 2, 15.9], + "to": [16, 14, 15.9], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [0, 0, 6, 8], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 6, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 8], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 14, 11], + "to": [16, 14, 16], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [0, 0, 0, 8], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2.5, 0], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2.5, 0], "texture": "#0"}, + "up": {"uv": [5.5, 8, 8, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 8, 8, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 2, 11], + "to": [16, 2, 16], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [0, 0, 0, 8], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2.5, 0], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2.5, 0], "texture": "#0"}, + "up": {"uv": [5.5, 8, 8, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 8, 8, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 5, 12], + "to": [7, 11, 15], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [2, 8, 5, 11], "rotation": 180, "texture": "#0"}, + "east": {"uv": [2, 11, 5, 12.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [2, 8, 5, 11], "texture": "#0"}, + "west": {"uv": [2, 11, 5, 12.5], "rotation": 270, "texture": "#0"}, + "up": {"uv": [2, 11, 5, 12.5], "texture": "#0"}, + "down": {"uv": [2, 11, 5, 12.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [9, 5, 12], + "to": [15, 11, 15], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [2, 8, 5, 11], "rotation": 180, "texture": "#0"}, + "east": {"uv": [2, 11, 5, 12.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [2, 8, 5, 11], "texture": "#0"}, + "west": {"uv": [2, 11, 5, 12.5], "rotation": 270, "texture": "#0"}, + "up": {"uv": [2, 11, 5, 12.5], "texture": "#0"}, + "down": {"uv": [2, 11, 5, 12.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [1, 0.8, 7], + "to": [15, 3.8, 12], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [6, 0, 7.5, 7], "rotation": 270, "texture": "#0"}, + "east": {"uv": [11, 3, 12.5, 5.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [6, 0, 7.5, 7], "rotation": 270, "texture": "#0"}, + "west": {"uv": [11, 3, 12.5, 5.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8.5, 0, 11, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [8.5, 0, 11, 7], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 12.2, 7], + "to": [15, 15.2, 12], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [7.5, 0, 6, 7], "rotation": 270, "texture": "#0"}, + "east": {"uv": [12.5, 3, 11, 5.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [7.5, 0, 6, 7], "rotation": 270, "texture": "#0"}, + "west": {"uv": [12.5, 3, 11, 5.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 0, 8.5, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 0, 8.5, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [14, 13.03, 9.05], + "to": [17, 15.03, 12.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [6.5, 3, 7.5, 4.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [6.5, 3, 7.5, 4.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [6.5, 3, 7.5, 4.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [6.5, 3, 7.5, 4.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [13, 2, 14.5, 3.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [13, 2, 14.5, 3.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [14, 0.97, 9.05], + "to": [17, 2.97, 12.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [7.5, 3, 6.5, 4.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [7.5, 3, 6.5, 4.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [7.5, 3, 6.5, 4.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [7.5, 3, 6.5, 4.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14.5, 2, 13, 3.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [13, 3.5, 14.5, 2], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [-1, 0.97, 9.05], + "to": [2, 2.97, 12.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [7.5, 3, 6.5, 4.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [7.5, 3, 6.5, 4.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [7.5, 3, 6.5, 4.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [7.5, 3, 6.5, 4.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [13, 3.5, 14.5, 2], "texture": "#0"}, + "down": {"uv": [14.5, 2, 13, 3.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [-1, 13.03, 9.05], + "to": [2, 15.03, 12.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [6.5, 3, 7.5, 4.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [6.5, 3, 7.5, 4.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [6.5, 3, 7.5, 4.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [6.5, 3, 7.5, 4.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [13, 2, 14.5, 3.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [13, 2, 14.5, 3.5], "texture": "#0"} + } + }, + { + "from": [16, 2, 12], + "to": [16, 14, 16], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [6.5, 0.5, 8.5, 6.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8.5, 0.5, 6.5, 6.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 0], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 2, 12], + "to": [0, 14, 16], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [0, 0, 6, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [6.5, 0.5, 8.5, 6.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8.5, 0.5, 6.5, 6.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 0], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/stator/block_side_rotated_old.json b/src/main/resources/assets/tfmg/models/block/stator/block_side_rotated_old.json new file mode 100644 index 00000000..765b7fbc --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/stator/block_side_rotated_old.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/large_generator", + "particle": "tfmg:block/large_generator" + }, + "elements": [ + { + "from": [0, 0, 10], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 9]}, + "faces": { + "north": {"uv": [2.125, 2, 4.125, 4], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 2.625, 2, 3.375], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 2, 2, 4], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 2.625, 2, 3.375], "rotation": 90, "texture": "#0"}, + "up": {"uv": [7.125, 2, 7.875, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7.875, 2, 7.125, 4], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/stator/block_unused.json b/src/main/resources/assets/tfmg/models/block/stator/block_unused.json new file mode 100644 index 00000000..d9053cf5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/stator/block_unused.json @@ -0,0 +1,43 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [128, 128], + "textures": { + "0": "tfmg:block/large_generator", + "particle": "tfmg:block/large_generator" + }, + "elements": [ + { + "from": [10, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [7.125, 0, 7.875, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [7.125, 0, 7.875, 2], "texture": "#0"}, + "west": {"uv": [2.125, 0, 4.125, 2], "texture": "#0"}, + "up": {"uv": [0, 0.75, 2, 0], "rotation": 270, "texture": "#0"}, + "down": {"uv": [7.125, 2, 7.875, 4], "texture": "#0"} + } + }, + { + "from": [0, 10, 0], + "to": [10, 16, 16], + "faces": { + "north": {"uv": [7.125, 0.75, 7.875, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [7.125, 0.75, 7.875, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [7.125, 2, 7.875, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [2, 0.75, 0, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [2.125, 0.75, 4.125, 2], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-7, 8, 1], + "to": [7, 15, 15], + "rotation": {"angle": -45, "axis": "z", "origin": [0, 0, 0]}, + "faces": { + "north": {"uv": [4.5, 3.875, 6.5, 4.75], "texture": "#0"}, + "south": {"uv": [4.5, 3.875, 6.5, 4.75], "texture": "#0"}, + "down": {"uv": [2.25, 6.25, 4, 8], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/stator/generataor.bbmodel b/src/main/resources/assets/tfmg/models/block/stator/generataor.bbmodel new file mode 100644 index 00000000..470744df --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/stator/generataor.bbmodel @@ -0,0 +1 @@ +{"meta":{"format_version":"4.10","model_format":"free","box_uv":false},"name":"generataor","model_identifier":"","visible_box":[1,1,0],"variable_placeholders":"","variable_placeholder_buttons":[],"timeline_setups":[],"unhandled_root_fields":{},"resolution":{"width":64,"height":64},"elements":[{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-2,6,-7],"to":[2,10,9],"autouv":0,"color":9,"rotation":[0,0,22.5],"origin":[0,8,-6],"faces":{"north":{"uv":[6,6,10,10],"texture":1},"east":{"uv":[6,0,10,16],"rotation":90,"texture":0},"south":{"uv":[6,6,10,10.000000000000002],"texture":1},"west":{"uv":[6,0,10,16],"rotation":90,"texture":0},"up":{"uv":[6,0,10,16],"texture":0},"down":{"uv":[6,0,10,16],"texture":0}},"type":"cube","uuid":"d2b5d6a2-c5ed-b631-6614-b9c077ff09dd"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-40,-16,-8],"to":[-24,0,8],"autouv":0,"color":8,"origin":[-39,-16,-7],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"4c73b6ac-53d7-4625-6cca-3ce775c60686"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-40,-16,-24],"to":[-24,0,-8],"autouv":0,"color":8,"origin":[-39,-16,-23],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"596848d6-42c7-c56b-4652-6f1204bb91c8"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-40,-16,8],"to":[-24,0,24],"autouv":0,"color":8,"origin":[-39,-16,9],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"e9f982dd-d366-309b-e043-a51613e82b7f"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,-16,8],"to":[40,0,24],"autouv":0,"color":8,"origin":[25,-16,9],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"58152160-bf35-5b64-d175-1e69c6a7d636"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,-16,-8],"to":[40,0,8],"autouv":0,"color":8,"origin":[25,-16,-7],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"44c0b025-b5f4-cac6-0e5f-e8e05fca81f2"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,-16,-24],"to":[40,0,-8],"autouv":0,"color":8,"origin":[25,-16,-23],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"74c183f4-6916-92cd-9b76-d813c4568438"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,0,-6],"to":[24,16,6],"autouv":1,"color":9,"rotation":[0,0,90],"origin":[0,8,0],"faces":{"north":{"uv":[0,0,0,16],"texture":2},"east":{"uv":[0,0,12,16],"texture":2},"south":{"uv":[0,0,0,16],"texture":2},"west":{"uv":[0,0,0,0],"texture":null},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"31d54a77-1cfd-69af-7d56-0ed449268dd9"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-40,-32,-24],"to":[-24,-16,-8],"autouv":0,"color":8,"origin":[-39,-32,-23],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"c8690f40-201e-27cb-fdef-fa1d8653ec86"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-40,-32,8],"to":[-24,-16,24],"autouv":0,"color":8,"origin":[-39,-32,9],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"8e5bdcdb-1369-b2fb-1d1c-3453e1df59f3"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,-32,-24],"to":[40,-16,-8],"autouv":0,"color":8,"origin":[25,-32,-23],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"f433da53-d6cf-376c-ac5f-f2efbc26627b"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,-32,-8],"to":[40,-16,8],"autouv":0,"color":8,"origin":[25,-32,-7],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"6cf40bcf-e4a5-5880-ea4e-6de7cf5c25cd"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,-32,8],"to":[40,-16,24],"autouv":0,"color":8,"origin":[25,-32,9],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"df6d42fb-8551-4d31-b8bf-21f82a93154b"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-40,-32,-8],"to":[-24,-16,8],"autouv":0,"color":8,"origin":[-39,-32,-7],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"db023b3e-88cd-0085-4297-f04777cf5cf5"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[8,-32,8],"to":[24,-16,24],"autouv":0,"color":8,"origin":[9,-32,9],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"889375e4-9ab9-7137-729e-4fe897b98c15"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[8,-32,-8],"to":[24,-16,8],"autouv":0,"color":8,"origin":[9,-32,-7],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"3862c279-9c8f-179c-cef1-57f4f9553da4"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[8,-32,-24],"to":[24,-16,-8],"autouv":0,"color":8,"origin":[9,-32,-23],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"9ade44d7-ae2e-995c-ce43-d4d86ab1273b"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-8,-32,8],"to":[8,-16,24],"autouv":0,"color":8,"origin":[-7,-32,9],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"b56a156d-1771-af36-c5db-fc45192c27ec"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-8,-32,-24],"to":[8,-16,-8],"autouv":0,"color":8,"origin":[-7,-32,-23],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"24d48a66-8f47-14d5-cdeb-19b09c1fa6a2"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-24,-32,8],"to":[-8,-16,24],"autouv":0,"color":8,"origin":[-23,-32,9],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"2e8f5b97-3123-70b0-164b-1039382d8535"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-24,-32,-8],"to":[-8,-16,8],"autouv":0,"color":8,"origin":[-23,-32,-7],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"a722ae44-39aa-cfcc-bd5d-ca04ebed66f8"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-24,-32,-24],"to":[-8,-16,-8],"autouv":0,"color":8,"origin":[-23,-32,-23],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"ad2f4113-182b-d009-812a-5cb710c52c8c"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,24.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,29.999999999999986],"autouv":0,"color":9,"rotation":[0,90,90.0000000000009],"origin":[0,8,6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[11,16,16,32],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"5d9d275b-4c1a-0fb8-1155-ecdb5278ee65"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-7,27,-3],"to":[-1,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"4c6b6b07-ca30-3e96-5444-bdc553e84d18"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1,27,-3],"to":[7,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"a1789f4a-e51a-0ce1-c26c-7b1bc9f95ef2"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,0,-6],"to":[24,16,6],"autouv":1,"color":9,"rotation":[0,0,90],"origin":[0,8,0],"faces":{"north":{"uv":[0,0,0,16],"texture":2},"east":{"uv":[0,0,12,16],"texture":2},"south":{"uv":[0,0,0,16],"texture":2},"west":{"uv":[0,0,0,0],"texture":null},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"519cd171-2611-e707-686f-9fb38d17f6bd"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-7,27,-3],"to":[-1,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"c7138253-93b4-aeb8-dac3-e4ba1f493175"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1,27,-3],"to":[7,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"eb883d96-4761-96a0-9065-19ee6436aa29"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,0,-6],"to":[24,16,6],"autouv":1,"color":9,"rotation":[0,0,90],"origin":[0,8,0],"faces":{"north":{"uv":[0,0,0,16],"texture":2},"east":{"uv":[0,0,12,16],"texture":2},"south":{"uv":[0,0,0,16],"texture":2},"west":{"uv":[0,0,0,0],"texture":null},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"2f051ff7-585a-9907-3496-4a5e1fc5e980"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-7,27,-3],"to":[-1,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"0a82e6b2-4d40-4407-a63e-429529f4f422"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1,27,-3],"to":[7,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"c01e8be6-7cf2-46f4-d7f3-beaa756eda7d"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,0,-6],"to":[24,16,6],"autouv":1,"color":9,"rotation":[0,0,90],"origin":[0,8,0],"faces":{"north":{"uv":[0,0,0,16],"texture":2},"east":{"uv":[0,0,12,16],"texture":2},"south":{"uv":[0,0,0,16],"texture":2},"west":{"uv":[0,0,0,0],"texture":null},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"41267697-ebf5-7211-1424-19efefc4ef9f"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-7,27,-3],"to":[-1,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"1d0d1194-a6ae-e85c-515c-bbccc6412468"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1,27,-3],"to":[7,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"2515c7a4-6d8e-cd5e-a4ba-af4e9cb52bda"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,0,-6],"to":[24,16,6],"autouv":1,"color":9,"rotation":[0,0,90],"origin":[0,8,0],"faces":{"north":{"uv":[0,0,0,16],"texture":2},"east":{"uv":[0,0,12,16],"texture":2},"south":{"uv":[0,0,0,16],"texture":2},"west":{"uv":[0,0,0,0],"texture":null},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"4cc1c0f2-1422-238d-1ca1-02c24b39c8ad"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-7,27,-3],"to":[-1,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"a0556f33-c2be-c5c4-a5dc-77fb3f5a76ab"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1,27,-3],"to":[7,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"d885aa5a-2ad6-f926-e481-66efad8bd469"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,0,-6],"to":[24,16,6],"autouv":1,"color":9,"rotation":[0,0,90],"origin":[0,8,0],"faces":{"north":{"uv":[0,0,0,16],"texture":2},"east":{"uv":[0,0,12,16],"texture":2},"south":{"uv":[0,0,0,16],"texture":2},"west":{"uv":[0,0,12,16],"texture":null},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"ba0d66ef-dc33-a50d-6190-7c26e7820c3f"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-7,27,-3],"to":[-1,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"af4d716d-c25d-112c-97b4-1e4198e17fba"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1,27,-3],"to":[7,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"75a2fa67-c43c-fc86-023e-d488e9e1c221"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,0,-6],"to":[24,16,6],"autouv":1,"color":9,"rotation":[0,0,90],"origin":[0,8,0],"faces":{"north":{"uv":[0,0,0,16],"texture":2},"east":{"uv":[0,0,12,16],"texture":2},"south":{"uv":[0,0,0,16],"texture":2},"west":{"uv":[0,0,0,0],"texture":null},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"e8a16d08-887d-29a7-42fa-64f488f28483"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-7,27,-3],"to":[-1,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"ab8c8d42-e547-d9db-7ad9-7993811280ee"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1,27,-3],"to":[7,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"cd722f6e-56c0-66e3-ca4c-13a86a6ff114"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,0,-6],"to":[24,16,6],"autouv":1,"color":9,"rotation":[0,0,90],"origin":[0,8,0],"faces":{"north":{"uv":[0,0,0,16],"texture":2},"east":{"uv":[0,0,12,16],"texture":2},"south":{"uv":[0,0,0,16],"texture":2},"west":{"uv":[0,0,0,0],"texture":null},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"9b558fed-ec90-cb58-50bd-914deddaa460"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[11.05232677723409,-1.0369483049998962e-13,17.132466487249776],"to":[11.05232677723409,15.9999999999999,22.132466487249776],"autouv":0,"color":9,"rotation":[5.877952974676964e-14,77.49999999999997,90.0000000000003],"origin":[0,8,0],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[0,0,0,0],"texture":null},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[0,0,0,0],"texture":null},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"6cc6d494-5c36-1c46-b90b-55f6e46cbea1"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-7,27,-3],"to":[-1,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"bd4f074b-af4c-af17-4e20-580a3d093467"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1,27,-3],"to":[7,31,3],"autouv":0,"color":8,"origin":[0,8,0],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,6,6],"texture":2},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"795f977f-f697-13a9-88cc-06d069242698"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-13,27,-7],"to":[-8,32,7],"autouv":0,"color":5,"origin":[0,8,0],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"34ff1c47-bd69-8d29-2408-1fc4cadb0e3f"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-13,-16,-7],"to":[-8,-11,7],"autouv":0,"color":5,"origin":[0,8,0],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"rotation":270,"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"8b2c65db-8c6c-7919-e669-e94ff50b7a7f"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[8,-16,-7],"to":[13,-11,7],"autouv":0,"color":5,"origin":[0,8,0],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"rotation":180,"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"240dea27-1ebe-c23e-ddf7-ce95ffcf2997"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-13,-16,-7],"to":[-8,-11,7],"autouv":0,"color":5,"rotation":[0,0,-90],"origin":[0,8,0],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"rotation":270,"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"c65affc4-39bd-2047-8d03-22e3eb2a20cb"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[8,-16,-7],"to":[13,-11,7],"autouv":0,"color":5,"rotation":[0,0,-90],"origin":[0,8,0],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"rotation":180,"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"c17d7f0a-a62b-75f8-46c3-f681c49bb726"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[8,27,-7],"to":[13,32,7],"autouv":0,"color":5,"rotation":[0,0,-90],"origin":[0,8,0],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"rotation":90,"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"4469d003-8179-32f6-c177-5d724ff66550"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-13,27,-7],"to":[-8,32,7],"autouv":0,"color":5,"rotation":[0,0,-90],"origin":[0,8,0],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"d9899c5f-e85c-7914-80ea-cc72a63eafa1"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-8,-32,-8],"to":[8,-17,8],"autouv":0,"color":8,"origin":[-7,-32,-7],"faces":{"north":{"uv":[0,0,16,16],"texture":3},"east":{"uv":[0,0,16,16],"texture":3},"south":{"uv":[0,0,16,16],"texture":3},"west":{"uv":[0,0,16,16],"texture":3},"up":{"uv":[0,0,16,16],"texture":3},"down":{"uv":[0,0,16,16],"texture":3}},"type":"cube","uuid":"600434d9-a654-1c7e-3f48-567ca7c7413e"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,-3],"to":[-8,28,11],"autouv":0,"color":5,"rotation":[0,-90,0],"origin":[0,8,4],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[15,0,20,16],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"texture":2},"west":{"uv":[15,0,20,14],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"8a08db08-e1e6-6aa1-1229-cf861382a486"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,-3],"to":[-8,28,11],"autouv":0,"color":5,"rotation":[0,-89.99999758516346,-45.00000000000002],"origin":[0,8,4],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[15,0,20,16],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"texture":2},"west":{"uv":[15,0,20,14],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"20914bf8-2432-67c8-d78b-a42abe1d07d8"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,-3],"to":[-8,28,11],"autouv":0,"color":5,"rotation":[0,-89.99999879258174,44.99999999999996],"origin":[0,8,4],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[15,0,20,16],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"texture":2},"west":{"uv":[15,0,20,14],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"309d77fe-a341-d6c0-4751-ac30ec97c7ce"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,-3],"to":[-8,28,11],"autouv":0,"color":5,"rotation":[0,-89.99999790869022,90.00000000000001],"origin":[0,8,4],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[15,0,20,16],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"texture":2},"west":{"uv":[15,0,20,14],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"5377e1d3-086b-b995-e143-fc1425d0e08e"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,-3],"to":[-8,28,11],"autouv":0,"color":5,"rotation":[0,-89.9999982924527,135.00000000000028],"origin":[0,8,4],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[15,0,20,16],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"texture":2},"west":{"uv":[15,0,20,14],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"36f7d8fd-141e-9798-9360-92d45e1fa287"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,-3],"to":[-8,28,11],"autouv":0,"color":5,"rotation":[0,-89.99999914622636,179.99999999999991],"origin":[0,8,4],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[15,0,20,16],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"texture":2},"west":{"uv":[15,0,20,14],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"5c292161-7a7a-b57b-9d35-03c9b79eb457"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-7,23,-6.999999915706303],"to":[-4,28,7.000000084293697],"autouv":0,"color":5,"rotation":[0,-89.99999879258174,-134.99999999999994],"origin":[0,8,0],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[15,0,20,16],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"texture":2},"west":{"uv":[15,0,20,14],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"c0d6efda-9f54-6062-f3bd-5a18327311b8"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,-3],"to":[-8,28,11],"autouv":0,"color":5,"rotation":[0,-89.9999982924527,-90.00000000000009],"origin":[0,8,4],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[15,0,20,16],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"texture":2},"west":{"uv":[15,0,20,14],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,14,30],"texture":2}},"type":"cube","uuid":"8390d830-d313-0f45-4d28-b8ed1fdb2ca4"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,8],"to":[-8,28,22],"autouv":0,"color":5,"rotation":[0,-89.99999758516346,-45.00000000000002],"origin":[0,8,15],"faces":{"north":{"uv":[11,32,14,37],"texture":2},"east":{"uv":[15,1,20,15],"rotation":90,"texture":2},"south":{"uv":[11,32,14,37],"texture":2},"west":{"uv":[0,0,0,0],"rotation":90,"texture":null},"up":{"uv":[11,16,14,30],"texture":2},"down":{"uv":[11,16,14,30],"texture":2}},"type":"cube","uuid":"1d46ce7d-a372-0806-3800-3d29bd42509d"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,8],"to":[-8,28,22],"autouv":0,"color":5,"rotation":[0,-89.9999982924527,-90.00000000000009],"origin":[0,8,15],"faces":{"north":{"uv":[11,32,14,37],"texture":2},"east":{"uv":[15,1,20,15],"rotation":90,"texture":2},"south":{"uv":[11,32,14,37],"texture":2},"west":{"uv":[0,0,0,0],"rotation":90,"texture":null},"up":{"uv":[11,16,14,30],"texture":2},"down":{"uv":[11,16,14,30],"texture":2}},"type":"cube","uuid":"f7dc5767-8807-a7f3-5c91-3cbcaa4fab22"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[4,23,-6.999999683898633],"to":[7,28,7.000000316101367],"autouv":0,"color":5,"rotation":[0,-89.99999879258174,-134.99999999999994],"origin":[0,8,0],"faces":{"north":{"uv":[11,32,14,37],"texture":2},"east":{"uv":[15,1,20,15],"rotation":90,"texture":2},"south":{"uv":[11,32,14,37],"texture":2},"west":{"uv":[0,0,0,0],"rotation":90,"texture":null},"up":{"uv":[11,16,14,30],"texture":2},"down":{"uv":[11,16,14,30],"texture":2}},"type":"cube","uuid":"5bdec1af-788f-fcde-f64c-76206f7fee70"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,8],"to":[-8,28,22],"autouv":0,"color":5,"rotation":[0,-89.9999982924527,135.00000000000028],"origin":[0,8,15],"faces":{"north":{"uv":[11,32,14,37],"texture":2},"east":{"uv":[15,1,20,15],"rotation":90,"texture":2},"south":{"uv":[11,32,14,37],"texture":2},"west":{"uv":[0,0,0,0],"rotation":90,"texture":null},"up":{"uv":[11,16,14,30],"texture":2},"down":{"uv":[11,16,14,30],"texture":2}},"type":"cube","uuid":"3b1130a8-de9d-22d1-52ed-cb0a608fa0e9"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,8],"to":[-8,28,22],"autouv":0,"color":5,"rotation":[0,-89.99999914622636,179.99999999999991],"origin":[0,8,15],"faces":{"north":{"uv":[11,32,14,37],"texture":2},"east":{"uv":[15,1,20,15],"rotation":90,"texture":2},"south":{"uv":[11,32,14,37],"texture":2},"west":{"uv":[0,0,0,0],"rotation":90,"texture":null},"up":{"uv":[11,16,14,30],"texture":2},"down":{"uv":[11,16,14,30],"texture":2}},"type":"cube","uuid":"40288fd4-f4b7-2b84-0597-4024bd4ea029"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,8],"to":[-8,28,22],"autouv":0,"color":5,"rotation":[0,-89.99999790869022,90.00000000000001],"origin":[0,8,15],"faces":{"north":{"uv":[11,32,14,37],"texture":2},"east":{"uv":[15,1,20,15],"rotation":90,"texture":2},"south":{"uv":[11,32,14,37],"texture":2},"west":{"uv":[0,0,0,0],"rotation":90,"texture":null},"up":{"uv":[11,16,14,30],"texture":2},"down":{"uv":[11,16,14,30],"texture":2}},"type":"cube","uuid":"ce853d73-1b52-59c1-3fcc-b292883b2f41"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,8],"to":[-8,28,22],"autouv":0,"color":5,"rotation":[0,-89.99999879258174,44.99999999999996],"origin":[0,8,15],"faces":{"north":{"uv":[11,32,14,37],"texture":2},"east":{"uv":[15,1,20,15],"rotation":90,"texture":2},"south":{"uv":[11,32,14,37],"texture":2},"west":{"uv":[0,0,0,0],"rotation":90,"texture":null},"up":{"uv":[11,16,14,30],"texture":2},"down":{"uv":[11,16,14,30],"texture":2}},"type":"cube","uuid":"b9374ad3-51f9-b3b2-498e-b0994a890f82"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,23,8],"to":[-8,28,22],"autouv":0,"color":5,"rotation":[0,-90,0],"origin":[0,8,15],"faces":{"north":{"uv":[11,32,14,37],"texture":2},"east":{"uv":[15,1,20,15],"rotation":90,"texture":2},"south":{"uv":[11,32,14,37],"texture":2},"west":{"uv":[0,0,0,0],"rotation":90,"texture":null},"up":{"uv":[11,16,14,30],"texture":2},"down":{"uv":[11,16,14,30],"texture":2}},"type":"cube","uuid":"a2eb42d8-4206-1968-f880-aa000bfdf0d1"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[8,27,-7],"to":[13,32,7],"autouv":0,"color":5,"origin":[21,8,0],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[11,32,16,37],"rotation":90,"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"c99d9e4e-9f4c-79ba-2e5c-e615a105e1fe"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,24.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,29.999999999999986],"autouv":0,"color":9,"rotation":[0,90,135.000000000001],"origin":[0,8,6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[11,16,16,32],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"e41fe602-69ba-d942-e4f7-0691232714e7"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,24.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,29.999999999999986],"autouv":0,"color":9,"rotation":[0,89.99999790869022,45.00000000000104],"origin":[0,8,6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[11,16,16,32],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"1e06cbd3-cc94-8e83-a26e-7038e7116bb6"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,24.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,29.999999999999986],"autouv":0,"color":9,"visibility":false,"rotation":[0,89.99999758516346,9.694588406501987e-13],"origin":[0,8,6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[11,16,16,32],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"dc770dcc-c2fb-12d2-976d-1afb2ecfeea9"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,24.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,29.999999999999986],"autouv":0,"color":9,"rotation":[0,89.9999982924527,-134.99999999999915],"origin":[0,8,6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[11,16,16,32],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"002d8714-ce3b-ad77-0ff1-121f4edc82d7"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,24.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,29.999999999999986],"autouv":0,"color":9,"rotation":[0,89.9999982924527,-134.99999999999915],"origin":[0,8,6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[15,0,20,16.000000000000004],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"366d029e-4de0-b6de-cf9b-6bf2aed96dc1"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,24.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,29.999999999999986],"autouv":0,"color":9,"rotation":[0,89.99999790869022,-179.99999999999926],"origin":[0,8,6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[11,16,16,32],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"84d50a84-2858-9763-5934-f231ed9809e5"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,24.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,29.999999999999986],"autouv":0,"color":9,"rotation":[0,89.99999790869022,-89.99999999999902],"origin":[0,8,6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[11,16,16,32],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"6caf25d0-eb39-fe13-5ffb-43e4f2ffc5eb"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-5.999999999999972,-3.8891112552619234e-13,19.00000037932163],"to":[-5.999999999999972,15.99999999999963,24.000000379321623],"autouv":0,"color":9,"rotation":[0,89.99999637774519,-44.99999999999897],"origin":[0,8,0],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[11,16,16,32],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"ba9eeca6-cd79-5a91-3506-c4c48c1f412c"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,12.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,17.999999999999986],"autouv":0,"color":9,"rotation":[0,89.9999982924527,-134.99999999999915],"origin":[0,8,-6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[15,0,20,16.000000000000004],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"b687339f-2891-9b78-3feb-04d86a470c79"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,12.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,17.999999999999986],"autouv":0,"color":9,"rotation":[0,89.99999790869022,-179.99999999999926],"origin":[0,8,-6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[15,0,20,16.000000000000004],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"7519d9e5-0e13-ee76-0405-0f33b83c3708"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,12.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,17.999999999999986],"autouv":0,"color":9,"rotation":[0,90,135.000000000001],"origin":[0,8,-6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[15,0,20,16.000000000000004],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"a9dfd4cb-d8f7-ef4a-d7a8-c2f2c7173471"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,12.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,17.999999999999986],"autouv":0,"color":9,"rotation":[0,90,90.0000000000009],"origin":[0,8,-6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[15,0,20,16.000000000000004],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"cd4ab269-90f2-17e4-2b95-5df95f74da22"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,12.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,17.999999999999986],"autouv":0,"color":9,"rotation":[0,89.99999790869022,45.00000000000104],"origin":[0,8,-6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[15,0,20,16.000000000000004],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"181b7b15-0986-aec0-3277-6bf1471f7d1e"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,12.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,17.999999999999986],"autouv":0,"color":9,"rotation":[0,89.99999758516346,9.694588406501987e-13],"origin":[0,8,-6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[15,0,20,16.000000000000004],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"13744a99-850a-23fe-9ebc-81a3ed73d656"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[6.0000000000000036,-3.8891112552619234e-13,18.99999962067836],"to":[6.0000000000000036,15.99999999999963,23.999999620678352],"autouv":0,"color":9,"rotation":[0,89.99999637774519,-44.99999999999897],"origin":[0,8,0],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[15,0,20,16.000000000000004],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"625a0ff9-29f7-b41c-245c-4b5c2bdbc068"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[1.5987211554602254e-14,-3.8902214782865485e-13,12.999999999999993],"to":[1.5987211554602254e-14,15.99999999999963,17.999999999999986],"autouv":0,"color":9,"rotation":[0,89.99999790869022,-89.99999999999902],"origin":[0,8,-6],"faces":{"north":{"uv":[0,0,0,16.000000000000004],"texture":2},"east":{"uv":[15,0,20,16.000000000000004],"texture":2},"south":{"uv":[0,0,0,16.000000000000004],"texture":2},"west":{"uv":[15,0,20,16.000000000000004],"texture":2},"up":{"uv":[0,0,0,12],"texture":2},"down":{"uv":[0,0,0,12],"texture":2}},"type":"cube","uuid":"b6c155ff-cc4e-e4c6-890e-3ba44fa4e245"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[6,25,-7.1],"to":[9,28,7.1],"autouv":0,"color":5,"origin":[-2,6,-2],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[13,34,16,37],"rotation":90,"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"226783cd-e30c-8075-fdce-6b6875040a45"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-9,25,-7.1],"to":[-6,28,7.1],"autouv":0,"color":5,"origin":[-17,6,-2],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[13,34,16,37],"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"1406327d-facc-5f9f-7616-695fa688fad4"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-9,-12,-7.1],"to":[-6,-9,7.1],"autouv":0,"color":5,"origin":[-17,-31,-2],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[13,34,16,37],"rotation":90,"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"9bb91f6b-7c8c-f417-373e-89f45e494049"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[6,-12,-7.1],"to":[9,-9,7.1],"autouv":0,"color":5,"origin":[0,8,0],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[13,34,16,37],"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"389a3547-d0bf-c35a-7739-f5400f87794d"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-9,-12,-7.1],"to":[-6,-9,7.1],"autouv":0,"color":5,"rotation":[0,0,-90],"origin":[0,8,-2],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[13,34,16,37],"rotation":90,"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"33703390-92b0-837d-e22a-bca98a26eb4e"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[6,-12,-7.1],"to":[9,-9,7.1],"autouv":0,"color":5,"rotation":[0,0,-90],"origin":[0,8,-2],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[13,34,16,37],"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"428c064a-4e7e-1171-7aaa-8691fdef2484"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-9,25,-7.1],"to":[-6,28,7.1],"autouv":0,"color":5,"rotation":[0,0,-90],"origin":[0,8,-2],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[13,34,16,37],"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"4d7e72a5-a440-bc9d-c3d3-00841497994b"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[6,25,-7.1],"to":[9,28,7.1],"autouv":0,"color":5,"rotation":[0,0,-90],"origin":[0,8,0],"faces":{"north":{"uv":[11,32,16,37],"texture":2},"east":{"uv":[11,16,16,32],"rotation":90,"texture":2},"south":{"uv":[13,34,16,37],"rotation":90,"texture":2},"west":{"uv":[11,16,16,32],"rotation":90,"texture":2},"up":{"uv":[11,16,16,32],"texture":2},"down":{"uv":[11,16,16,32],"texture":2}},"type":"cube","uuid":"2d72cbf6-83d3-cf9a-420e-9588b137a92a"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3.000000000000006,-10,-2],"to":[3,-6,4],"autouv":0,"color":8,"rotation":[0,0,157.5000000000004],"origin":[0,8,1],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"f71e8533-aa0f-ea2a-be94-0d34748e08e1"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3.000000000000006,-10,-2],"to":[3,-6,4],"autouv":0,"color":8,"rotation":[0,0,-22.500000000000206],"origin":[0,8,1],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"8cfb86b8-cf8c-9429-6ce9-b5072469eb10"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3.000000000000006,-10,-2],"to":[3,-6,4],"autouv":0,"color":8,"rotation":[0,0,67.50000000000037],"origin":[0,8,1],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"18e880c7-5730-27ab-3266-f37c969aa90f"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3.000000000000006,-10,-2],"to":[3,-6,4],"autouv":0,"color":8,"rotation":[0,0,112.5000000000005],"origin":[0,8,1],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"e54b552c-63b2-2dd0-919a-6effd6f2f04a"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3.000000000000006,-10,-2],"to":[3,-6,4],"autouv":0,"color":8,"rotation":[0,0,22.50000000000046],"origin":[0,8,1],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"4ffa6b77-5716-c00b-c649-796c06653bec"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3.000000000000006,-10,-2],"to":[3,-6,4],"autouv":0,"color":8,"rotation":[0,0,-67.50000000000031],"origin":[0,8,1],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"5fdc7b3d-f8da-e3dd-16f1-5aa090e421b1"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[11,1,-1],"to":[16,15,3],"autouv":0,"color":0,"rotation":[0,0,90.00000000000018],"origin":[0,8,19],"faces":{"north":{"uv":[0,0,3,14],"texture":2},"east":{"uv":[0,0,4,14],"texture":2},"south":{"uv":[2,18,5,32],"texture":2},"west":{"uv":[0,0,4,14],"texture":2},"up":{"uv":[0,0,3,4],"texture":2},"down":{"uv":[0,0,3,4],"texture":2}},"type":"cube","uuid":"e2cb3112-68dc-771b-27c4-2611ecbee4f8"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3,5,-4],"to":[3,11,6],"autouv":0,"color":8,"rotation":[0,0,67.5],"origin":[0,8,1],"faces":{"north":{"uv":[0,19,6,25],"texture":2},"east":{"uv":[0,19,10,25],"texture":2},"south":{"uv":[0,19,6,25],"texture":2},"west":{"uv":[0,19,10,25],"texture":2},"up":{"uv":[0,19,6,29],"texture":2},"down":{"uv":[0,19,6,29],"texture":2}},"type":"cube","uuid":"718a479f-b3d8-98a5-8950-2c0b7ccd8203"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3.000000000000006,-10,-2],"to":[3,-6,4],"autouv":0,"color":8,"rotation":[0,0,-157.5000000000004],"origin":[0,8,1],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"0e2f9355-ba8f-4d8d-db23-a2203a53e049"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3.000000000000006,-10,-2],"to":[3,-6,4],"autouv":0,"color":8,"rotation":[0,0,-112.50000000000044],"origin":[0,8,1],"faces":{"north":{"uv":[24,6,30,10],"texture":2},"east":{"uv":[24,6,30,10],"texture":2},"south":{"uv":[24,6,30,10],"texture":2},"west":{"uv":[24,6,30,10],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,0,30,6],"texture":2}},"type":"cube","uuid":"2a494294-d0a6-5e21-5f24-e5a14a3110e6"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-4.148050297095269,18.228361402466142,-2],"to":[1.8519497029047312,22.228361402466142,4],"autouv":0,"color":1,"rotation":[0,0,22.5],"origin":[0,11,-1],"faces":{"north":{"uv":[24,19,30,23],"texture":2},"east":{"uv":[24,19,30,23],"texture":2},"south":{"uv":[24,19,30,23],"texture":2},"west":{"uv":[24,19,30,23],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,24,30,30],"texture":2}},"type":"cube","uuid":"5c11c883-2280-302c-563a-9871eafb039a"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3,18,-2],"to":[3,22,4],"autouv":0,"color":1,"rotation":[0,0,-22.5],"origin":[0,8,-1],"faces":{"north":{"uv":[24,19,30,23],"texture":2},"east":{"uv":[24,19,30,23],"texture":2},"south":{"uv":[24,19,30,23],"texture":2},"west":{"uv":[24,19,30,23],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,24,30,30],"texture":2}},"type":"cube","uuid":"bc3ae6ee-238b-1092-bd74-9158ffe8579f"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3,18,-2],"to":[3,22,4],"autouv":0,"color":1,"rotation":[0,0,-112.50000000000026],"origin":[0,8,-1],"faces":{"north":{"uv":[24,19,30,23],"texture":2},"east":{"uv":[24,19,30,23],"texture":2},"south":{"uv":[24,19,30,23],"texture":2},"west":{"uv":[24,19,30,23],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,24,30,30],"texture":2}},"type":"cube","uuid":"b1a76d0a-d666-563a-7b2f-543a2411fdde"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3,18,-2],"to":[3,22,4],"autouv":0,"color":1,"rotation":[0,0,-67.50000000000004],"origin":[0,8,-1],"faces":{"north":{"uv":[24,19,30,23],"texture":2},"east":{"uv":[24,19,30,23],"texture":2},"south":{"uv":[24,19,30,23],"texture":2},"west":{"uv":[24,19,30,23],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,24,30,30],"texture":2}},"type":"cube","uuid":"af04edce-cdb8-5bee-ba03-4a86d43d52d4"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3,18,-2],"to":[3,22,4],"autouv":0,"color":1,"rotation":[0,0,67.50000000000006],"origin":[0,8,-1],"faces":{"north":{"uv":[24,19,30,23],"texture":2},"east":{"uv":[24,19,30,23],"texture":2},"south":{"uv":[24,19,30,23],"texture":2},"west":{"uv":[24,19,30,23],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,24,30,30],"texture":2}},"type":"cube","uuid":"4eecc09c-9d25-a670-61e7-0c7abdba44a8"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3,18,-2],"to":[3,22,4],"autouv":0,"color":1,"rotation":[0,0,112.5000000000004],"origin":[0,8,-1],"faces":{"north":{"uv":[24,19,30,23],"texture":2},"east":{"uv":[24,19,30,23],"texture":2},"south":{"uv":[24,19,30,23],"texture":2},"west":{"uv":[24,19,30,23],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,24,30,30],"texture":2}},"type":"cube","uuid":"27ff9af0-acb2-855c-1326-a7697fe05001"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3,18,-2],"to":[3,22,4],"autouv":0,"color":1,"rotation":[0,0,157.49999999999997],"origin":[0,8,-1],"faces":{"north":{"uv":[24,19,30,23],"texture":2},"east":{"uv":[24,19,30,23],"texture":2},"south":{"uv":[24,19,30,23],"texture":2},"west":{"uv":[24,19,30,23],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,24,30,30],"texture":2}},"type":"cube","uuid":"a887f2e7-2266-c395-b402-6d456ce30be1"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-3,18,-2],"to":[3,22,4],"autouv":0,"color":1,"rotation":[0,0,-157.49999999999997],"origin":[0,8,-1],"faces":{"north":{"uv":[24,19,30,23],"texture":2},"east":{"uv":[24,19,30,23],"texture":2},"south":{"uv":[24,19,30,23],"texture":2},"west":{"uv":[24,19,30,23],"texture":2},"up":{"uv":[0,0,0,0],"texture":null},"down":{"uv":[24,24,30,30],"texture":2}},"type":"cube","uuid":"b819abcb-dadc-e1d1-2512-bd23b9074e34"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,-3,1],"to":[11,19,1],"autouv":0,"color":7,"rotation":[0,0,22.5],"origin":[0,8,2],"faces":{"north":{"uv":[0,0,22,22],"texture":null},"east":{"uv":[0,0,0,22]},"south":{"uv":[36,7,58,29],"texture":2},"west":{"uv":[0,0,0,22]},"up":{"uv":[0,0,22,0]},"down":{"uv":[0,0,22,0]}},"type":"cube","uuid":"c0a9a659-cd72-0268-193f-3ee6f6ada571"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[-11,-3,1.1000000000000014],"to":[11,19,1.1000000000000014],"autouv":0,"color":7,"rotation":[0,0,-22.5],"origin":[0,8,2],"faces":{"north":{"uv":[0,0,22,22],"texture":null},"east":{"uv":[0,0,0,22]},"south":{"uv":[36,7,58,29],"texture":2},"west":{"uv":[0,0,0,22]},"up":{"uv":[0,0,22,0]},"down":{"uv":[0,0,22,0]}},"type":"cube","uuid":"700e25bb-fb04-ed05-77e9-c8b4d6d66fc1"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[11,1,-1],"to":[16,15,3],"autouv":0,"color":0,"rotation":[0,0,135],"origin":[0,8,19],"faces":{"north":{"uv":[0,0,3,14],"texture":2},"east":{"uv":[0,0,4,14],"texture":2},"south":{"uv":[2,18,5,32],"texture":2},"west":{"uv":[0,0,4,14],"texture":2},"up":{"uv":[0,0,3,4],"texture":2},"down":{"uv":[0,0,3,4],"texture":2}},"type":"cube","uuid":"98b2861b-5874-f1bf-a742-28878804b732"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[11,1,-1],"to":[16,15,3],"autouv":0,"color":0,"rotation":[0,0,45.00000000000024],"origin":[0,8,19],"faces":{"north":{"uv":[0,0,3,14],"texture":2},"east":{"uv":[0,0,4,14],"texture":2},"south":{"uv":[2,18,5,32],"texture":2},"west":{"uv":[0,0,4,14],"texture":2},"up":{"uv":[0,0,3,4],"texture":2},"down":{"uv":[0,0,3,4],"texture":2}},"type":"cube","uuid":"8b1aac9f-2379-4de5-892d-52fb86cd712a"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[11,1,-1],"to":[16,15,3],"autouv":0,"color":0,"rotation":[0,0,2.2025341169134855e-13],"origin":[0,8,19],"faces":{"north":{"uv":[0,0,3,14],"texture":2},"east":{"uv":[0,0,4,14],"texture":2},"south":{"uv":[2,18,5,32],"texture":2},"west":{"uv":[0,0,4,14],"texture":2},"up":{"uv":[0,0,3,4],"texture":2},"down":{"uv":[0,0,3,4],"texture":2}},"type":"cube","uuid":"bd1f701c-e2ea-1984-0613-9bde959248ee"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[11,1,-1],"to":[16,15,3],"autouv":0,"color":0,"rotation":[0,0,-134.99999999999966],"origin":[0,8,19],"faces":{"north":{"uv":[0,0,3,14],"texture":2},"east":{"uv":[0,0,4,14],"texture":2},"south":{"uv":[2,18,5,32],"texture":2},"west":{"uv":[0,0,4,14],"texture":2},"up":{"uv":[0,0,3,4],"texture":2},"down":{"uv":[0,0,3,4],"texture":2}},"type":"cube","uuid":"bb980a7c-a96c-c664-e72d-7c59a14103ef"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[11,1,-1],"to":[16,15,3],"autouv":0,"color":0,"rotation":[0,0,-179.99999999999991],"origin":[0,8,19],"faces":{"north":{"uv":[0,0,3,14],"texture":2},"east":{"uv":[0,0,4,14],"texture":2},"south":{"uv":[2,18,5,32],"texture":2},"west":{"uv":[0,0,4,14],"texture":2},"up":{"uv":[0,0,3,4],"texture":2},"down":{"uv":[0,0,3,4],"texture":2}},"type":"cube","uuid":"8e001a80-94d6-cc21-8c83-aa8e7b8b1c61"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[11,1,-1],"to":[16,15,3],"autouv":0,"color":0,"rotation":[0,0,-89.9999999999999],"origin":[0,8,19],"faces":{"north":{"uv":[0,0,3,14],"texture":2},"east":{"uv":[0,0,4,14],"texture":2},"south":{"uv":[2,18,5,32],"texture":2},"west":{"uv":[0,0,4,14],"texture":2},"up":{"uv":[0,0,3,4],"texture":2},"down":{"uv":[0,0,3,4],"texture":2}},"type":"cube","uuid":"9bc5da18-d3bd-c4c9-35d8-26ab8da39266"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[11,1,-1],"to":[16,15,3],"autouv":0,"color":0,"rotation":[0,0,-44.999999999999986],"origin":[0,8,19],"faces":{"north":{"uv":[0,0,3,14],"texture":2},"east":{"uv":[0,0,4,14],"texture":2},"south":{"uv":[2,18,5,32],"texture":2},"west":{"uv":[0,0,4,14],"texture":2},"up":{"uv":[0,0,3,4],"texture":2},"down":{"uv":[0,0,3,4],"texture":2}},"type":"cube","uuid":"0e7db1f7-02bc-3972-06bc-35af6073b950"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,0,-5],"to":[35,2,5],"autouv":0,"color":9,"origin":[25,0,0],"faces":{"north":{"uv":[0,45,11,47],"texture":2},"east":{"uv":[0,0,10,2],"texture":2},"south":{"uv":[0,43,11,45],"texture":2},"west":{"uv":[0,0,10,2],"texture":2},"up":{"uv":[0,40,11,50],"texture":2},"down":{"uv":[0,0,11,10],"texture":2}},"type":"cube","uuid":"f7ee2c2b-0181-3ad6-ead9-c92be961a2c6"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[14,0,-3],"to":[35,5,3],"autouv":0,"color":9,"visibility":false,"rotation":[0,0,-45],"origin":[28,0,0],"faces":{"north":{"uv":[0,45,21,50],"texture":2},"east":{"uv":[0,0,6,5],"texture":2},"south":{"uv":[0,43,21,48],"texture":2},"west":{"uv":[0,0,6,5],"texture":2},"up":{"uv":[0,40,14,46],"texture":2},"down":{"uv":[0,0,21,6],"texture":2}},"type":"cube","uuid":"163f54d7-fe6a-591b-b37f-dec59edb3e77"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[5.798989873223341,19.798989873223327,-3],"to":[26.798989873223313,24.798989873223327,3],"autouv":0,"color":9,"rotation":[179.9999999999999,-2.240821715503627e-13,-135.00000000000009],"origin":[0,0,0],"faces":{"north":{"uv":[0,44,20.99999999999997,49],"texture":2},"east":{"uv":[0,0,6,5],"texture":2},"south":{"uv":[0,43,21,48],"texture":2},"west":{"uv":[0,0,6,5],"texture":2},"up":{"uv":[0,40,14,46],"texture":2},"down":{"uv":[0,0,21,6],"texture":2}},"type":"cube","uuid":"ad479b7b-41aa-65ab-0b7a-8585e5c000d4"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"light_emission":0,"render_order":"default","allow_mirror_modeling":true,"from":[24,0,-5],"to":[35,2,5],"autouv":0,"color":9,"rotation":[180,-9.422393243835668e-14,180],"origin":[0,0,0],"faces":{"north":{"uv":[0,45,11,47],"texture":2},"east":{"uv":[0,0,10,2],"texture":2},"south":{"uv":[0,43,11,45],"texture":2},"west":{"uv":[0,0,10,2],"texture":2},"up":{"uv":[0,40,11,50],"texture":2},"down":{"uv":[0,0,11,10],"texture":2}},"type":"cube","uuid":"cd88cd7b-3de7-e854-e315-2badf6797c4e"}],"outliner":[{"name":"part","origin":[0,8,-7],"color":0,"uuid":"f7a55769-40bc-e852-71af-5795a0b345bb","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["31d54a77-1cfd-69af-7d56-0ed449268dd9","5d9d275b-4c1a-0fb8-1155-ecdb5278ee65","e41fe602-69ba-d942-e4f7-0691232714e7","dc770dcc-c2fb-12d2-976d-1afb2ecfeea9","1e06cbd3-cc94-8e83-a26e-7038e7116bb6","ba9eeca6-cd79-5a91-3506-c4c48c1f412c","6caf25d0-eb39-fe13-5ffb-43e4f2ffc5eb","84d50a84-2858-9763-5934-f231ed9809e5","366d029e-4de0-b6de-cf9b-6bf2aed96dc1","002d8714-ce3b-ad77-0ff1-121f4edc82d7","b6c155ff-cc4e-e4c6-890e-3ba44fa4e245","625a0ff9-29f7-b41c-245c-4b5c2bdbc068","13744a99-850a-23fe-9ebc-81a3ed73d656","181b7b15-0986-aec0-3277-6bf1471f7d1e","cd4ab269-90f2-17e4-2b95-5df95f74da22","a9dfd4cb-d8f7-ef4a-d7a8-c2f2c7173471","7519d9e5-0e13-ee76-0405-0f33b83c3708","0a82e6b2-4d40-4407-a63e-429529f4f422","c01e8be6-7cf2-46f4-d7f3-beaa756eda7d","b687339f-2891-9b78-3feb-04d86a470c79","4c6b6b07-ca30-3e96-5444-bdc553e84d18","a1789f4a-e51a-0ce1-c26c-7b1bc9f95ef2",{"name":"part2","origin":[0,8,-7],"rotation":[0,0,45],"color":0,"uuid":"0dd9ec51-938d-7380-7b5a-c8d497b934ba","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["519cd171-2611-e707-686f-9fb38d17f6bd","c7138253-93b4-aeb8-dac3-e4ba1f493175","eb883d96-4761-96a0-9065-19ee6436aa29",{"name":"part3","origin":[0,8,-7],"rotation":[0,0,45],"color":0,"uuid":"c482dd87-1f34-b2f7-f745-202566e5dfb7","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["2f051ff7-585a-9907-3496-4a5e1fc5e980",{"name":"part4","origin":[0,8,-7],"rotation":[0,0,45],"color":0,"uuid":"13a30339-6182-ef4d-2173-12e93542073d","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["41267697-ebf5-7211-1424-19efefc4ef9f","1d0d1194-a6ae-e85c-515c-bbccc6412468","2515c7a4-6d8e-cd5e-a4ba-af4e9cb52bda",{"name":"part5","origin":[0,8,-7],"rotation":[0,0,45],"color":0,"uuid":"11d7341f-a1c0-8dc2-af95-f3790e5f8baf","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["4cc1c0f2-1422-238d-1ca1-02c24b39c8ad","a0556f33-c2be-c5c4-a5dc-77fb3f5a76ab","d885aa5a-2ad6-f926-e481-66efad8bd469",{"name":"part6","origin":[0,8,-7],"rotation":[0,0,45],"color":0,"uuid":"90c65ed6-1d0a-d9c1-1eab-83a12cd5123d","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["ba0d66ef-dc33-a50d-6190-7c26e7820c3f","af4d716d-c25d-112c-97b4-1e4198e17fba","75a2fa67-c43c-fc86-023e-d488e9e1c221",{"name":"part7","origin":[0,8,-7],"rotation":[0,0,45],"color":0,"uuid":"1ef04d6a-21c3-eb1a-564e-c886136830d3","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["e8a16d08-887d-29a7-42fa-64f488f28483","ab8c8d42-e547-d9db-7ad9-7993811280ee","cd722f6e-56c0-66e3-ca4c-13a86a6ff114",{"name":"part8","origin":[0,8,-7],"rotation":[0,0,45],"color":0,"uuid":"255d7d7a-6e46-e491-c5f2-631ce02ad3fd","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["9b558fed-ec90-cb58-50bd-914deddaa460","6cc6d494-5c36-1c46-b90b-55f6e46cbea1","bd4f074b-af4c-af17-4e20-580a3d093467","795f977f-f697-13a9-88cc-06d069242698"]}]}]}]}]}]}]}]},{"name":"konkret","origin":[-39,-16,-23],"color":0,"uuid":"a6095600-dde9-284d-af97-c98754a0eb69","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["4c73b6ac-53d7-4625-6cca-3ce775c60686","e9f982dd-d366-309b-e043-a51613e82b7f","74c183f4-6916-92cd-9b76-d813c4568438","44c0b025-b5f4-cac6-0e5f-e8e05fca81f2","58152160-bf35-5b64-d175-1e69c6a7d636","596848d6-42c7-c56b-4652-6f1204bb91c8","db023b3e-88cd-0085-4297-f04777cf5cf5","df6d42fb-8551-4d31-b8bf-21f82a93154b","9ade44d7-ae2e-995c-ce43-d4d86ab1273b","3862c279-9c8f-179c-cef1-57f4f9553da4","889375e4-9ab9-7137-729e-4fe897b98c15","24d48a66-8f47-14d5-cdeb-19b09c1fa6a2","600434d9-a654-1c7e-3f48-567ca7c7413e","b56a156d-1771-af36-c5db-fc45192c27ec","ad2f4113-182b-d009-812a-5cb710c52c8c","a722ae44-39aa-cfcc-bd5d-ca04ebed66f8","2e8f5b97-3123-70b0-164b-1039382d8535","6cf40bcf-e4a5-5880-ea4e-6de7cf5c25cd","f433da53-d6cf-376c-ac5f-f2efbc26627b","8e5bdcdb-1369-b2fb-1d1c-3453e1df59f3","c8690f40-201e-27cb-fdef-fa1d8653ec86"]},{"name":"bone","origin":[0,8,0],"color":0,"uuid":"8a4413b5-970b-1cff-0239-40869f1b1833","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["226783cd-e30c-8075-fdce-6b6875040a45","1406327d-facc-5f9f-7616-695fa688fad4","389a3547-d0bf-c35a-7739-f5400f87794d","9bb91f6b-7c8c-f417-373e-89f45e494049","2d72cbf6-83d3-cf9a-420e-9588b137a92a","4d7e72a5-a440-bc9d-c3d3-00841497994b","428c064a-4e7e-1171-7aaa-8691fdef2484","33703390-92b0-837d-e22a-bca98a26eb4e","34ff1c47-bd69-8d29-2408-1fc4cadb0e3f","c99d9e4e-9f4c-79ba-2e5c-e615a105e1fe","20914bf8-2432-67c8-d78b-a42abe1d07d8","a2eb42d8-4206-1968-f880-aa000bfdf0d1","b9374ad3-51f9-b3b2-498e-b0994a890f82","ce853d73-1b52-59c1-3fcc-b292883b2f41","40288fd4-f4b7-2b84-0597-4024bd4ea029","3b1130a8-de9d-22d1-52ed-cb0a608fa0e9","5bdec1af-788f-fcde-f64c-76206f7fee70","f7dc5767-8807-a7f3-5c91-3cbcaa4fab22","1d46ce7d-a372-0806-3800-3d29bd42509d","5377e1d3-086b-b995-e143-fc1425d0e08e","309d77fe-a341-d6c0-4751-ac30ec97c7ce","5c292161-7a7a-b57b-9d35-03c9b79eb457","36f7d8fd-141e-9798-9360-92d45e1fa287","8390d830-d313-0f45-4d28-b8ed1fdb2ca4","c0d6efda-9f54-6062-f3bd-5a18327311b8","8a08db08-e1e6-6aa1-1229-cf861382a486","240dea27-1ebe-c23e-ddf7-ce95ffcf2997","8b2c65db-8c6c-7919-e669-e94ff50b7a7f","d9899c5f-e85c-7914-80ea-cc72a63eafa1","4469d003-8179-32f6-c177-5d724ff66550","c17d7f0a-a62b-75f8-46c3-f681c49bb726","c65affc4-39bd-2047-8d03-22e3eb2a20cb"]},{"name":"rotor","origin":[0,8,24],"rotation":[0,0,-22.5],"color":0,"uuid":"9d77316a-094f-0610-95cd-91017bd5c350","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["d2b5d6a2-c5ed-b631-6614-b9c077ff09dd","718a479f-b3d8-98a5-8950-2c0b7ccd8203","e2cb3112-68dc-771b-27c4-2611ecbee4f8","98b2861b-5874-f1bf-a742-28878804b732","bd1f701c-e2ea-1984-0613-9bde959248ee","8b1aac9f-2379-4de5-892d-52fb86cd712a","0e7db1f7-02bc-3972-06bc-35af6073b950","9bc5da18-d3bd-c4c9-35d8-26ab8da39266","8e001a80-94d6-cc21-8c83-aa8e7b8b1c61","bb980a7c-a96c-c664-e72d-7c59a14103ef","f71e8533-aa0f-ea2a-be94-0d34748e08e1","8cfb86b8-cf8c-9429-6ce9-b5072469eb10","18e880c7-5730-27ab-3266-f37c969aa90f","2a494294-d0a6-5e21-5f24-e5a14a3110e6","5fdc7b3d-f8da-e3dd-16f1-5aa090e421b1","4ffa6b77-5716-c00b-c649-796c06653bec","e54b552c-63b2-2dd0-919a-6effd6f2f04a","0e2f9355-ba8f-4d8d-db23-a2203a53e049","5c11c883-2280-302c-563a-9871eafb039a","bc3ae6ee-238b-1092-bd74-9158ffe8579f","af04edce-cdb8-5bee-ba03-4a86d43d52d4","b1a76d0a-d666-563a-7b2f-543a2411fdde","b819abcb-dadc-e1d1-2512-bd23b9074e34","a887f2e7-2266-c395-b402-6d456ce30be1","27ff9af0-acb2-855c-1326-a7697fe05001","4eecc09c-9d25-a670-61e7-0c7abdba44a8","c0a9a659-cd72-0268-193f-3ee6f6ada571","700e25bb-fb04-ed05-77e9-c8b4d6d66fc1"]},"f7ee2c2b-0181-3ad6-ead9-c92be961a2c6","163f54d7-fe6a-591b-b37f-dec59edb3e77","cd88cd7b-3de7-e854-e315-2badf6797c4e","ad479b7b-41aa-65ab-0b7a-8585e5c000d4"],"textures":[{"path":"C:\\Users\\adamn\\Documents\\minecraft\\mods\\Create-The_Factory_Must_Grow\\src\\main\\resources\\assets\\tfmg\\textures\\block\\shaft.png","name":"shaft.png","folder":"","namespace":"","id":"0","group":"","width":16,"height":16,"uv_width":16,"uv_height":16,"particle":false,"use_as_default":false,"layers_enabled":false,"sync_to_project":"","render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"internal":true,"saved":true,"uuid":"ba9d27e5-ed45-99ec-76b7-f72431add4eb","relative_path":"../../../textures/block/shaft.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAALpJREFUOE9jZMABomKj/ssrKjJ8//6V4dWLVwzLFi9jxKYUqyBIYVJa0n8+fj4GTk5uhpcvnjPMmzWPdAPYOdgZJCWlGR7cv0e6AZl5mf9BLhEQEGJ4eP8+6V4AGcDOzs4gJCRCngtAYQDzwvPnTxmmT5pOWhgge+HDh3ekG4AcC2QZAEoHYhJi4DAgywuwhMTJyUl+IIpLSDKADLhx7Rrp0QgKA5gBZCckUCICAbKSMlUSEkWZidjsDACdInYRyxAALgAAAABJRU5ErkJggg=="},{"path":"C:\\Users\\adamn\\Documents\\minecraft\\mods\\Create-The_Factory_Must_Grow\\src\\main\\resources\\assets\\tfmg\\textures\\block\\shaft_top.png","name":"shaft_top.png","folder":"","namespace":"","id":"1","group":"","width":16,"height":16,"uv_width":16,"uv_height":16,"particle":false,"use_as_default":false,"layers_enabled":false,"sync_to_project":"","render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"internal":true,"saved":true,"uuid":"93917070-2c14-3813-e04f-a6194c0b5abd","relative_path":"../../../textures/block/shaft_top.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAGRJREFUOE9jZKAQMFKon2HUAAbcYZCUlvRfXEKS4fv3rwyfPn5imDdrHtbwwhmIlXXV/8UkxBg+f/zM8P37d4b2plbSDCgoLfgvJCQC1gxyxYTuCaQZQLEXiE1gowkJT0IiNhABDy8oEaP4AzUAAAAASUVORK5CYII="},{"path":"C:\\Users\\adamn\\Documents\\minecraft\\mods\\Create-The_Factory_Must_Grow\\src\\main\\resources\\assets\\tfmg\\textures\\block\\new_generator.png","name":"new_generator.png","folder":"","namespace":"","id":"2","group":"","width":64,"height":64,"uv_width":64,"uv_height":64,"particle":false,"use_as_default":false,"layers_enabled":false,"sync_to_project":"","render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"internal":true,"saved":true,"uuid":"4ea88bf0-809d-f0d9-3fee-ad53e14f919f","relative_path":"../../../textures/block/new_generator.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABoxJREFUeF7tWm9MW1UUP3VrsSXrGqnIn1VYYCvjX0gGuAlIh8wPJkYXTVSSsTFD/OBMtkCUGJcswRg0kC1xfjDEsbFk+sVs34cTA+oCLCH8tRtkMFaKWFwpK5Wy5Zlz8ZbXjr6++/pe/yS9X/revefc9+7vnvO755xX1f79Zdw2tQawaZKSwGhMJde0ORyL4F1bI7dP1r1w+/agyk8gxE3jvjIuZYcGjDo1kXSsrsPSihc6J9nmYXkmi6wKATBl5xAdtUYDmZkZYLPNk3t6ve71kvu5mWk/APjgBQOopbyCO16VBeZ3C2DRugAPh5fgUt8stA38xgQky6JYZH0A4OL4loCT8HceQdoKAOy//tOPqrfefo8LHMc52i0W7ugHRXDqhgs87jW49mkRdHxyA5p7e2MDgPIDFVzO3ly4Mz4R1Lxxp/cW5MP0nSkYuLW5c1T3h+7Lqvfrj3GB4xSApq8Pw5GvRkGbnATnD+vhyvejYQHQea6Ns1QdgrHJSXA4FqDxdItkMFVyAEBNbisAlHCBEw113Bs1r8GYdRTu2exwsetqeAC8XFkFfb/8LOgCVYdehd/7+5gtQAkS/OjDeq4kLx9mbffh4coj+Pa7bukAVFbXcKVl5TBzb4ZsZPbu7KDXQ4MD0P/rTd/DqO759jbVqeYWLnAc5+MDkGvUwZRjlZwE4ZBg88kGruKlamIBy85/oP1CV3gA1NbWgvWuFR6vc1CQnwfjE38SMOj1drUKzHvM0NPT8xQAqOtcdoFhp/6pcZzj+juvcwffzIFUcxqZk54EeR3SzRYBMOeYYWHp79gHQAkLaP28iSs0FxECRBDOfNERngWgCwSe/fw4gF5LcQElLCBuSVAuDpCVBJU+BpWwAFlJUA4AhAIhJThAVhKkuYBSofDZ1i+5HQY96JOTySngcrthxemCs2c+k0xcspIgPxkSigOkJkMd31zg+nr7SRiMDfOBKkslNH18UjIAspKg0ulw58Uu7mZvL7yQmk4A+GvRDjUWCzSeaJAMgKwkiADgiwllgjiOdQC+LNYGaL9Q+hkKgM5zbbY/RkYytJrtoFVvI1PtNDxHYnyhPpTBKJBY1foT8Hgfw+7MdFF9B4uL5xtPt2Siri8dRhPFXcKIDhtGd7hbaLI0zaXugrL8fiEAQrnAtSuXbGPW0Yy1fz2Q9KyWTJWW8jwJcIT6qAzKUzmxfYXmovkjR49vAEBPAQx1tyIrDJFplkdlESgEZ6vsLxCMUCR4d2jANjY5kYFRndGYRqI7/MUm1BdqXGiewn3583tKyyMHAFqTKWsXOQnGJ6zEyugpEHUXwIwO64BCLoB1QcwCqSzNGGm/kAtgoQQtBgEgJ8nsA2I9GDsI6QmNyUqCuChTlolke8FcYG52zgcAylIXoP2RBkDWYxBrebgAIQvAcVr3w2t+zQD7Iw2ArIEQAoCLF7IAZHwKAAWKnhChAEASRA4oyDeTKBBdgM8BUtxA1lA4EgDIHQrLmgwp7QKh4gApFhBXJBgqEpQCgKwkqPQxqAQAspKg0pGgEi4gKwkqDUCoUFiKC8hKgvwER4lkSMoCQ+nISoJKp8OhFiNlXFYSZHkBKfUAlvnFysr6cVTsQ1FOSj2AZf5oyDJlZHzCHB4e2cjuZqbJL+s/R6Kx2K2eyQQAv4BaUlJMvieKrQyJWTAHUyQxi2RjBgBfDv8VQhMofsUo3BdHAFSQy/ROWG/gP5e1zsD0MPogpbggrgBAMLCSLLY6LMY64gYAMYuRIhMVAMpKD3A6nY7pfR1LDtBpdSBFb3x8JKjbRQWA6ldqOJ1OAy+mp4PL44Fd6RtfcGhzOZ2gNxjggd0Oeq0W7tvt4HA4yeKl6A0O3Yo9ANSaZ8h6k5OTQafVkoX6APB4yOWqxwNut5tcLzsfEQCk6MUkALiTBoPBt3DccWx09/GX3Hs84HQ6/SyAVS8mAcCdpLtPd17ICvgWwKoXswDkmExkh3HhaAF096kl0LHpuTk/F2DVi0kA0AXwn+LYkAOwUQvAhVMOwF/8/zCfBFn1YhKAQBegVkB3n/o/JcJgLiBGL2YBoKcA3wooH+DCsdFTwG5fBGOK0e8UEKsXKg6oq2/dPINFXF3tvuwnVVd/TITWpogKAyEWjVXP6v+uwhY8Ub2YA4Bl8UrLYiQYcQtQelEs8ycAiJd6AMuusshGJRlieUGlZRMAJFwgTmqCSrlCwgUSLpBwgfj4LpDgAIUQSJBgFEjwPyhS9djEerUJAAAAAElFTkSuQmCC"},{"path":"C:\\Users\\adamn\\Documents\\minecraft\\mods\\Create-The_Factory_Must_Grow\\src\\main\\resources\\assets\\tfmg\\textures\\block\\concrete.png","name":"concrete.png","folder":"","namespace":"","id":"3","group":"","width":16,"height":16,"uv_width":16,"uv_height":16,"particle":false,"use_as_default":false,"layers_enabled":false,"sync_to_project":"","render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"internal":true,"saved":true,"uuid":"89706d09-7904-4d0e-658c-30d1a2823028","relative_path":"../../../textures/block/concrete.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAepJREFUOE9NU4tu4jAQnPUjgZNQP7wHpJyK4DuvXBPH661mHdBZoETOPmZnZuVymUwkotaCcRyhTRFDRlNFiIKUElpr/g8hQERQSoEAMAAyTScbhgFAwLqu+P88g0KAf2OymfmTBXnkdDrZswuf7MJgM/X3FLMHaquIMb8QABui6/Vq7MSTh4RSak+oFSlHmIknsZh33FAQieoK+fg4Gzty/j5fxW6384+11g7VDOPuF0QMdVXEFKBqjlLu97upqifzxMhuyWdlYRayxvuIEKOTylgWdz5ut5tRAV6wc0qDf+B5PP6+mCfJw0COuiqMeRXgxePxwNvbwRN7UMU8zy7rOOwdPu+JhDLye84Zcp6OxgCyylGeXLD6six+ZzAESZ7gBGuXO3Cc4/HdOBNJQfAfchogAVjKgpySF8l5cBlpMG30RMCyrJDPzz/Ehla7zoTIhK5M3gwTsN/vMX9/I+Xc5dvMJJfL2Vj96+sfDoeDk0YPNFNPZkHiSqnb+Gn7pyPlfP5t40jd1RGwM4OZTBI5N9/pSO5G4N6o9hjKfzy9mzVzCek6kslgJq21eOHuj/hyJFFSdkfEbaRRyjZzDyTsfkqZvUh3pzmpdAl5YBOZpqOR0e5xri8NM7xGUK1oim0vuEDZY/qCKX4AeNFgnuAyVMoAAAAASUVORK5CYII="}],"animations":[{"uuid":"a65e991e-04cc-14b4-6151-8a1665830373","name":"animation","loop":"loop","override":false,"length":0.5,"snapping":24,"selected":false,"anim_time_update":"","blend_weight":"","start_delay":"","loop_delay":"","animators":{"9d77316a-094f-0610-95cd-91017bd5c350":{"name":"rotor","type":"bone","keyframes":[{"channel":"rotation","data_points":[{"x":"0","y":"0","z":"0"}],"uuid":"7a30d2a2-2e45-2af2-b479-738c756659d5","time":0,"color":-1,"interpolation":"linear"},{"channel":"rotation","data_points":[{"x":0,"y":0,"z":"360"}],"uuid":"473e4d61-678f-911a-cf28-2222454e4496","time":0.5,"color":-1,"interpolation":"linear"}]}}}]} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/stator/item.json b/src/main/resources/assets/tfmg/models/block/stator/item.json new file mode 100644 index 00000000..bab77a00 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/stator/item.json @@ -0,0 +1,128 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/stator", + "particle": "tfmg:block/stator" + }, + "elements": [ + { + "from": [0, 0.1, 2], + "to": [16, 0.1, 14], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 8], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 6, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 6, 0], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 6, 8], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [16, 5, 14], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 9, 8]}, + "faces": { + "north": {"uv": [5.5, 8, 8, 16], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2.5, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 8, 8, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2.5, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 8], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [16, 5, 2], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 9, 8]}, + "faces": { + "north": {"uv": [5.5, 8, 8, 16], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2.5, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 8, 8, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2.5, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 8], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 5], + "to": [7, 4, 11], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 9, 8]}, + "faces": { + "north": {"uv": [2, 11, 5, 12.5], "texture": "#0"}, + "east": {"uv": [2, 11, 5, 12.5], "texture": "#0"}, + "south": {"uv": [2, 11, 5, 12.5], "texture": "#0"}, + "west": {"uv": [2, 11, 5, 12.5], "texture": "#0"}, + "up": {"uv": [2, 8, 5, 11], "texture": "#0"}, + "down": {"uv": [2, 8, 5, 11], "texture": "#0"} + } + }, + { + "from": [9, 1, 5], + "to": [15, 4, 11], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 9, 8]}, + "faces": { + "north": {"uv": [2, 11, 5, 12.5], "texture": "#0"}, + "east": {"uv": [2, 11, 5, 12.5], "texture": "#0"}, + "south": {"uv": [2, 11, 5, 12.5], "texture": "#0"}, + "west": {"uv": [2, 11, 5, 12.5], "texture": "#0"}, + "up": {"uv": [2, 8, 5, 11], "texture": "#0"}, + "down": {"uv": [2, 8, 5, 11], "texture": "#0"} + } + }, + { + "from": [1, 4, 1], + "to": [15, 9, 4], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 9, 8]}, + "faces": { + "north": {"uv": [8.5, 0, 11, 7], "rotation": 270, "texture": "#0"}, + "east": {"uv": [11, 3, 12.5, 5.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [8.5, 0, 11, 7], "rotation": 270, "texture": "#0"}, + "west": {"uv": [11, 3, 12.5, 5.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [6, 0, 7.5, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 0, 7.5, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 4, 12], + "to": [15, 9, 15], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 9, 8]}, + "faces": { + "north": {"uv": [11, 0, 8.5, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [12.5, 3, 11, 5.5], "rotation": 180, "texture": "#0"}, + "south": {"uv": [11, 0, 8.5, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [12.5, 3, 11, 5.5], "rotation": 180, "texture": "#0"}, + "up": {"uv": [7.5, 0, 6, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7.5, 0, 6, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [16, 0, 2], + "to": [16, 4, 14], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [6.5, 0.5, 8.5, 6.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8.5, 0.5, 6.5, 6.5], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [0, 4, 14], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [6.5, 0.5, 8.5, 6.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8.5, 0.5, 6.5, 6.5], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/stator/output.json b/src/main/resources/assets/tfmg/models/block/stator/output.json new file mode 100644 index 00000000..32c536de --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/stator/output.json @@ -0,0 +1,18 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/large_generator", + "particle": "tfmg:block/large_generator" + }, + "elements": [ + { + "from": [5, 5, 16.05], + "to": [11, 11, 16.05], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 8, 8]}, + "faces": { + "south": {"uv": [0, 8.5, 0.75, 9.25], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 0], "rotation": 90, "texture": "#missing"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_bottom.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_bottom.json new file mode 100644 index 00000000..b069fd14 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_bottom.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_vat_top", + "1": "tfmg:block/steel_vat", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_bottom_window.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_bottom_window.json new file mode 100644 index 00000000..95538232 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_bottom_window.json @@ -0,0 +1,153 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "4": "tfmg:block/steel_vat_top", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [3, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [13, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 3], + "faces": { + "east": {"uv": [13, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [13, 4, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [13, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 13], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [13, 0, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [3, 4, 1], + "to": [13, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "north"}, + "south": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15, 4, 3], + "to": [15, 16, 13], + "faces": { + "east": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "east"}, + "west": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [3, 4, 15], + "to": [13, 16, 15], + "faces": { + "north": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "south"}, + "south": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [1, 4, 3], + "to": [1, 16, 13], + "faces": { + "east": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "west"}, + "west": {"uv": [0, 2, 5, 8], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [13, 4, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 3, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 13], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 0, 3, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 3, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 16, 3], + "faces": { + "east": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 3, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_bottom_window_ne.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_bottom_window_ne.json new file mode 100644 index 00000000..fe09e6cd --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_bottom_window_ne.json @@ -0,0 +1,72 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "4": "tfmg:block/steel_vat_top", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 11], + "faces": { + "east": {"uv": [5, 0, 16, 12], "texture": "#1"}, + "south": {"uv": [12, 0, 13, 12], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 4, 1], + "to": [5, 16, 1], + "faces": { + "north": {"uv": [0, 2, 2.5, 8], "texture": "#3"}, + "south": {"uv": [2.5, 2, 5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15, 4, 11], + "to": [15, 16, 16], + "faces": { + "east": {"uv": [2.5, 2, 5, 8], "texture": "#3"}, + "west": {"uv": [0, 2, 2.5, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [5, 4, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 11, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "west": {"uv": [3, 0, 4, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_bottom_window_nw.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_bottom_window_nw.json new file mode 100644 index 00000000..bbe9408f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_bottom_window_nw.json @@ -0,0 +1,72 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "4": "tfmg:block/steel_vat_top", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [11, 16, 1], + "faces": { + "north": {"uv": [5, 0, 16, 12], "texture": "#1"}, + "east": {"uv": [12, 0, 13, 12], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 4, 11], + "to": [1, 16, 16], + "faces": { + "east": {"uv": [2.5, 2, 5, 8], "texture": "#3"}, + "west": {"uv": [0, 2, 2.5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [11, 4, 1], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [2.5, 2, 5, 8], "texture": "#3"}, + "south": {"uv": [0, 2, 2.5, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 16, 11], + "faces": { + "east": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "south": {"uv": [3, 0, 4, 12], "texture": "#1"}, + "west": {"uv": [0, 0, 11, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_bottom_window_se.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_bottom_window_se.json new file mode 100644 index 00000000..f4becb20 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_bottom_window_se.json @@ -0,0 +1,72 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_vat_top", + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [5, 4, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "south": {"uv": [5, 0, 16, 12], "texture": "#1"}, + "west": {"uv": [12, 0, 13, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 4, 0], + "to": [15, 16, 5], + "faces": { + "east": {"uv": [0, 2, 2.5, 8], "texture": "#3"}, + "west": {"uv": [2.5, 2, 5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 4, 15], + "to": [5, 16, 15], + "faces": { + "north": {"uv": [0, 2, 2.5, 8], "texture": "#3"}, + "south": {"uv": [2.5, 2, 5, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 5], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [3, 0, 4, 12], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [5, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_bottom_window_sw.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_bottom_window_sw.json new file mode 100644 index 00000000..4abc2dd6 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_bottom_window_sw.json @@ -0,0 +1,72 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_vat_top", + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 5], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 12], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [5, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [11, 4, 15], + "to": [16, 16, 15], + "faces": { + "north": {"uv": [2.5, 2, 5, 8], "texture": "#3"}, + "south": {"uv": [0, 2, 2.5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [1, 4, 0], + "to": [1, 16, 5], + "faces": { + "east": {"uv": [0, 2, 2.5, 8], "texture": "#3"}, + "west": {"uv": [2.5, 2, 5, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [11, 16, 16], + "faces": { + "north": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "east": {"uv": [3, 0, 4, 12], "texture": "#1"}, + "south": {"uv": [0, 0, 11, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_middle.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_middle.json new file mode 100644 index 00000000..1901c3d1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_middle.json @@ -0,0 +1,58 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 15], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [1, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_middle_window.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_middle_window.json new file mode 100644 index 00000000..651fdd2b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_middle_window.json @@ -0,0 +1,138 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [3, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [13, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 0, 13, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 3], + "faces": { + "east": {"uv": [13, 0, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 0, 13, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [13, 0, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [13, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 0, 13, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 13], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 16], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [13, 0, 16, 16], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [3, 0, 1], + "to": [13, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "north"}, + "south": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15, 0, 3], + "to": [15, 16, 13], + "faces": { + "east": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "east"}, + "west": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [3, 0, 15], + "to": [13, 16, 15], + "faces": { + "north": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "south"}, + "south": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [1, 0, 3], + "to": [1, 16, 13], + "faces": { + "east": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "west"}, + "west": {"uv": [5, 0, 10, 8], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [13, 0, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 3, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 0, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 13], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [3, 0, 4, 16], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 0, 3, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 0, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 3, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 16, 3], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 0, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 3, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_middle_window_ne.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_middle_window_ne.json new file mode 100644 index 00000000..9f8f5238 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_middle_window_ne.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 11], + "faces": { + "east": {"uv": [5, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [12, 0, 13, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 0, 1], + "to": [5, 16, 1], + "faces": { + "north": {"uv": [5, 0, 7.5, 8], "texture": "#3"}, + "south": {"uv": [7.5, 0, 10, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15, 0, 11], + "to": [15, 16, 16], + "faces": { + "east": {"uv": [7.5, 0, 10, 8], "texture": "#3"}, + "west": {"uv": [5, 0, 7.5, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [5, 0, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 11, 16], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [3, 0, 4, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_middle_window_nw.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_middle_window_nw.json new file mode 100644 index 00000000..aff9ca04 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_middle_window_nw.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [11, 16, 1], + "faces": { + "north": {"uv": [5, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [12, 0, 13, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 0, 11], + "to": [1, 16, 16], + "faces": { + "east": {"uv": [7.5, 0, 10, 8], "texture": "#3"}, + "west": {"uv": [5, 0, 7.5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [11, 0, 1], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [7.5, 0, 10, 8], "texture": "#3"}, + "south": {"uv": [5, 0, 7.5, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 16, 11], + "faces": { + "east": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [3, 0, 4, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 11, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_middle_window_se.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_middle_window_se.json new file mode 100644 index 00000000..6bc49a61 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_middle_window_se.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [5, 0, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 11, 16], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [12, 0, 13, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 0, 0], + "to": [15, 16, 5], + "faces": { + "east": {"uv": [5, 0, 7.5, 8], "texture": "#3"}, + "west": {"uv": [7.5, 0, 10, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 0, 15], + "to": [5, 16, 15], + "faces": { + "north": {"uv": [5, 0, 7.5, 8], "texture": "#3"}, + "south": {"uv": [7.5, 0, 10, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 5], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [3, 0, 4, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 11, 16], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_middle_window_sw.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_middle_window_sw.json new file mode 100644 index 00000000..2af8678f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_middle_window_sw.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 5], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "west": {"uv": [5, 0, 16, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [11, 0, 15], + "to": [16, 16, 15], + "faces": { + "north": {"uv": [7.5, 0, 10, 8], "texture": "#3"}, + "south": {"uv": [5, 0, 7.5, 8], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [1, 0, 0], + "to": [1, 16, 5], + "faces": { + "east": {"uv": [5, 0, 7.5, 8], "texture": "#3"}, + "west": {"uv": [7.5, 0, 10, 8], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [11, 16, 16], + "faces": { + "north": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [3, 0, 4, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 11, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_single.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_single.json new file mode 100644 index 00000000..1cadf699 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_single.json @@ -0,0 +1,126 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "4": "tfmg:block/steel_vat_top", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [] + }, + { + "name": "block_middle", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [] + } + ] + }, + { + "name": "block_bottom", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] + }, + { + "name": "block_top", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [4, 5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_single_window.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_single_window.json new file mode 100644 index 00000000..870e68ec --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_single_window.json @@ -0,0 +1,167 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "4": "tfmg:block/steel_vat_top", + "5": "tfmg:block/steel_vat_window_single", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [3, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [13, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 3], + "faces": { + "east": {"uv": [13, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [13, 4, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [13, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 13], + "to": [1, 12, 16], + "faces": { + "north": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [13, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [3, 4, 1], + "to": [13, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "north"}, + "south": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15, 4, 3], + "to": [15, 12, 13], + "faces": { + "east": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "east"}, + "west": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [3, 4, 15], + "to": [13, 12, 15], + "faces": { + "north": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "south"}, + "south": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [1, 4, 3], + "to": [1, 12, 13], + "faces": { + "east": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "west"}, + "west": {"uv": [0, 0, 10, 8], "texture": "#5", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [13, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 3, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 13], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 4, 3, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [3, 12, 16], + "faces": { + "north": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 3, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 12, 3], + "faces": { + "east": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 3, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_single_window_ne.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_single_window_ne.json new file mode 100644 index 00000000..d1181599 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_single_window_ne.json @@ -0,0 +1,103 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_vat_top", + "1": "tfmg:block/steel_vat", + "5": "tfmg:block/steel_vat_window_single", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [5, 4, 16, 12], "texture": "#1"}, + "south": {"uv": [12, 4, 13, 12], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 4, 1], + "to": [5, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 5, 8], "texture": "#5"}, + "south": {"uv": [5, 0, 10, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [15, 4, 11], + "to": [15, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [5, 0, 10, 8], "texture": "#5"}, + "west": {"uv": [0, 0, 5, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [5, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 11, 12], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "west": {"uv": [3, 4, 4, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_single_window_nw.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_single_window_nw.json new file mode 100644 index 00000000..32ab2a44 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_single_window_nw.json @@ -0,0 +1,103 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "4": "tfmg:block/steel_vat_top", + "5": "tfmg:block/steel_vat_window_single", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [11, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [5, 4, 16, 12], "texture": "#1"}, + "east": {"uv": [12, 4, 13, 12], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 4, 11], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [5, 0, 10, 8], "texture": "#5"}, + "west": {"uv": [0, 0, 5, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [11, 4, 1], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [5, 0, 10, 8], "texture": "#5"}, + "south": {"uv": [0, 0, 5, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "south": {"uv": [3, 4, 4, 12], "texture": "#1"}, + "west": {"uv": [0, 4, 11, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_single_window_se.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_single_window_se.json new file mode 100644 index 00000000..3ff91cde --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_single_window_se.json @@ -0,0 +1,103 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "4": "tfmg:block/steel_vat_top", + "5": "tfmg:block/steel_vat_window_single", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [5, 4, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "south": {"uv": [5, 4, 16, 12], "texture": "#1"}, + "west": {"uv": [12, 4, 13, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 4, 0], + "to": [15, 12, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 5, 8], "texture": "#5"}, + "west": {"uv": [5, 0, 10, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [0, 4, 15], + "to": [5, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 5, 8], "texture": "#5"}, + "south": {"uv": [5, 0, 10, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 5], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [3, 4, 4, 12], "texture": "#1"}, + "east": {"uv": [0, 4, 11, 12], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_single_window_sw.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_single_window_sw.json new file mode 100644 index 00000000..ff8b4308 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_single_window_sw.json @@ -0,0 +1,103 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "4": "tfmg:block/steel_vat_top", + "5": "tfmg:block/steel_vat_window_single", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 5], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [12, 4, 13, 12], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "west": {"uv": [5, 4, 16, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [11, 4, 15], + "to": [16, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [5, 0, 10, 8], "texture": "#5"}, + "south": {"uv": [0, 0, 5, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [1, 4, 0], + "to": [1, 12, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 5, 8], "texture": "#5"}, + "west": {"uv": [5, 0, 10, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [11, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "east": {"uv": [3, 4, 4, 12], "texture": "#1"}, + "south": {"uv": [0, 4, 11, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_top.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_top.json new file mode 100644 index 00000000..823840a2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_top.json @@ -0,0 +1,70 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "4": "tfmg:block/steel_vat_top", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 16], + "faces": { + "east": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [1, 12, 16], + "faces": { + "east": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_top_window.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_top_window.json new file mode 100644 index 00000000..3399bf0c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_top_window.json @@ -0,0 +1,153 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "4": "tfmg:block/steel_vat_top", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [3, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [13, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 4, 13, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 3], + "faces": { + "east": {"uv": [13, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 4, 13, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [13, 0, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [13, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 4, 13, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 13], + "to": [1, 12, 16], + "faces": { + "north": {"uv": [12, 4, 13, 16], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [13, 4, 16, 16], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [3, 0, 1], + "to": [13, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "north"}, + "south": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15, 0, 3], + "to": [15, 12, 13], + "faces": { + "east": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "east"}, + "west": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [3, 0, 15], + "to": [13, 12, 15], + "faces": { + "north": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "south"}, + "south": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [1, 0, 3], + "to": [1, 12, 13], + "faces": { + "east": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "west"}, + "west": {"uv": [0, 0, 5, 6], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [13, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 3, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 4, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 13], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [3, 4, 4, 16], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 4, 3, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [3, 12, 16], + "faces": { + "north": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 4, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 3, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 12, 3], + "faces": { + "east": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 4, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 3, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_top_window_ne.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_top_window_ne.json new file mode 100644 index 00000000..a38d3a38 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_top_window_ne.json @@ -0,0 +1,76 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "4": "tfmg:block/steel_vat_top", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [5, 4, 16, 16], "texture": "#1"}, + "south": {"uv": [12, 4, 13, 16], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 0, 1], + "to": [5, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 2.5, 6], "texture": "#3"}, + "south": {"uv": [2.5, 0, 5, 6], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15, 0, 11], + "to": [15, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [2.5, 0, 5, 6], "texture": "#3"}, + "west": {"uv": [0, 0, 2.5, 6], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [5, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 11, 16], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "west": {"uv": [3, 4, 4, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_top_window_nw.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_top_window_nw.json new file mode 100644 index 00000000..8de72b7f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_top_window_nw.json @@ -0,0 +1,76 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_vat_top", + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [11, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [5, 4, 16, 16], "texture": "#1"}, + "east": {"uv": [12, 4, 13, 16], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 0, 11], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [2.5, 0, 5, 6], "texture": "#3"}, + "west": {"uv": [0, 0, 2.5, 6], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [11, 0, 1], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 0, 5, 6], "texture": "#3"}, + "south": {"uv": [0, 0, 2.5, 6], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "south": {"uv": [3, 4, 4, 16], "texture": "#1"}, + "west": {"uv": [0, 4, 11, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_top_window_se.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_top_window_se.json new file mode 100644 index 00000000..9a91d2ea --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_top_window_se.json @@ -0,0 +1,76 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "4": "tfmg:block/steel_vat_top", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [5, 0, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "south": {"uv": [5, 4, 16, 16], "texture": "#1"}, + "west": {"uv": [12, 4, 13, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 0, 0], + "to": [15, 12, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 2.5, 6], "texture": "#3"}, + "west": {"uv": [2.5, 0, 5, 6], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 0, 15], + "to": [5, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 2.5, 6], "texture": "#3"}, + "south": {"uv": [2.5, 0, 5, 6], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 5], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [3, 4, 4, 16], "texture": "#1"}, + "east": {"uv": [0, 4, 11, 16], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_top_window_sw.json b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_top_window_sw.json new file mode 100644 index 00000000..603e2aa5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_chemical_vat/block_top_window_sw.json @@ -0,0 +1,76 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_vat", + "3": "tfmg:block/steel_vat_window", + "4": "tfmg:block/steel_vat_top", + "particle": "tfmg:block/steel_vat" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 5], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [12, 4, 13, 16], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "west": {"uv": [5, 4, 16, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [11, 0, 15], + "to": [16, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [2.5, 0, 5, 6], "texture": "#3"}, + "south": {"uv": [0, 0, 2.5, 6], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [1, 0, 0], + "to": [1, 12, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 9]}, + "faces": { + "east": {"uv": [0, 0, 2.5, 6], "texture": "#3"}, + "west": {"uv": [2.5, 0, 5, 6], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [11, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "east": {"uv": [3, 4, 4, 16], "texture": "#1"}, + "south": {"uv": [0, 4, 11, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_cogwheel.json b/src/main/resources/assets/tfmg/models/block/steel_cogwheel.json new file mode 100644 index 00000000..e608861c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_cogwheel.json @@ -0,0 +1,106 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/large_wheels", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_coghweel", + "1": "create:block/axis_top", + "2": "create:block/axis", + "particle": "tfmg:block/steel_coghweel" + }, + "elements": [ + { + "name": "Gear", + "from": [-1, 6.5, 6.5], + "to": [17, 9.5, 9.5], + "faces": { + "north": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "east": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "south": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "west": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#0"} + } + }, + { + "name": "Gear2", + "from": [-1, 6.5, 6.5], + "to": [17, 9.5, 9.5], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "east": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "south": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "west": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#0"} + } + }, + { + "name": "Gear3", + "from": [-1, 6.5, 6.5], + "to": [17, 9.5, 9.5], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "east": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "south": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "west": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#0"} + } + }, + { + "name": "Gear4", + "from": [6.5, 6.5, -1], + "to": [9.5, 9.5, 17], + "faces": { + "north": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "east": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "south": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "west": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "GearCaseInner", + "from": [2, 6.55, 2], + "to": [14, 9.45, 14], + "faces": { + "north": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "east": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "south": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "west": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "up": {"uv": [4, 0, 10, 6], "texture": "#0"}, + "down": {"uv": [4, 0, 10, 6], "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [3, 5, 3], + "to": [13, 11, 13], + "faces": { + "north": {"uv": [5, 10.5, 10, 13.5], "texture": "#0"}, + "east": {"uv": [5, 10.5, 10, 13.5], "texture": "#0"}, + "south": {"uv": [5, 10.5, 10, 13.5], "texture": "#0"}, + "west": {"uv": [5, 10.5, 10, 13.5], "texture": "#0"}, + "up": {"uv": [0, 8.5, 5, 13.5], "texture": "#0"}, + "down": {"uv": [0, 8.5, 5, 13.5], "texture": "#0"} + } + }, + { + "name": "Axis", + "from": [6, 0, 6], + "to": [10, 16, 10], + "faces": { + "north": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "east": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "south": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "west": {"uv": [6, 0, 10, 16], "texture": "#2"}, + "up": {"uv": [6, 6, 10, 10], "texture": "#1"}, + "down": {"uv": [6, 6, 10, 10], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_cogwheel_shaftless.json b/src/main/resources/assets/tfmg/models/block/steel_cogwheel_shaftless.json new file mode 100644 index 00000000..8ef0b787 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_cogwheel_shaftless.json @@ -0,0 +1,91 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/large_wheels", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_coghweel", + "particle": "tfmg:block/steel_coghweel" + }, + "elements": [ + { + "name": "Gear", + "from": [-1, 6.5, 6.5], + "to": [17, 9.5, 9.5], + "faces": { + "north": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "east": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "south": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "west": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#0"} + } + }, + { + "name": "Gear2", + "from": [-1, 6.5, 6.5], + "to": [17, 9.5, 9.5], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "east": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "south": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "west": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#0"} + } + }, + { + "name": "Gear3", + "from": [-1, 6.5, 6.5], + "to": [17, 9.5, 9.5], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "east": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "south": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "west": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#0"} + } + }, + { + "name": "Gear4", + "from": [6.5, 6.5, -1], + "to": [9.5, 9.5, 17], + "faces": { + "north": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "east": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "south": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "west": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "GearCaseInner", + "from": [2, 6.55, 2], + "to": [14, 9.45, 14], + "faces": { + "north": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "east": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "south": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "west": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "up": {"uv": [4, 0, 10, 6], "texture": "#0"}, + "down": {"uv": [4, 0, 10, 6], "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [3, 5, 3], + "to": [13, 11, 13], + "faces": { + "north": {"uv": [5, 10.5, 10, 13.5], "texture": "#0"}, + "east": {"uv": [5, 10.5, 10, 13.5], "texture": "#0"}, + "south": {"uv": [5, 10.5, 10, 13.5], "texture": "#0"}, + "west": {"uv": [5, 10.5, 10, 13.5], "texture": "#0"}, + "up": {"uv": [0, 8.5, 5, 13.5], "texture": "#0"}, + "down": {"uv": [0, 8.5, 5, 13.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_distillation_controller.json b/src/main/resources/assets/tfmg/models/block/steel_distillation_controller.json new file mode 100644 index 00000000..fe2bfc50 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_distillation_controller.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/distillation_controller", + "1": "tfmg:block/distillation_controller_front", + "2": "tfmg:block/distillation_controller_top", + "particle": "tfmg:block/distillation_controller" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_distillation_controller/block.json b/src/main/resources/assets/tfmg/models/block/steel_distillation_controller/block.json new file mode 100644 index 00000000..e7bdeef3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_distillation_controller/block.json @@ -0,0 +1,79 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/distillation_controller", + "1": "tfmg:block/distillation_controller_front", + "2": "tfmg:block/distillation_controller_top", + "particle": "tfmg:block/distillation_controller" + }, + "elements": [ + { + "from": [0, 0, 1], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 15, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [1, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 1, 16, 16], "texture": "#2"}, + "down": {"uv": [0, 0, 16, 15], "texture": "#2"} + } + }, + { + "from": [7, 7, 0.8], + "to": [9, 10, 0.8], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 0]}, + "faces": { + "north": {"uv": [7, 6, 9, 9], "texture": "#1"}, + "east": {"uv": [7, 6, 8, 9], "texture": "#1"}, + "west": {"uv": [8, 6, 9, 9], "texture": "#1"}, + "up": {"uv": [7, 6, 9, 7], "texture": "#1"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 7, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [0, -1, 0]}, + "faces": { + "north": {"uv": [0, 9, 16, 16], "texture": "#1"}, + "east": {"uv": [15, 9, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 9, 1, 16], "texture": "#0"}, + "up": {"uv": [16, 9, 0, 10], "texture": "#1"}, + "down": {"uv": [0, 15, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 13, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "north": {"uv": [0, 0, 16, 3], "texture": "#1"}, + "east": {"uv": [15, 0, 16, 3], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "down": {"uv": [0, 2, 16, 3], "texture": "#1"} + } + }, + { + "from": [13, 7, 0], + "to": [16, 13, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 4, 0]}, + "faces": { + "north": {"uv": [0, 3, 3, 9], "texture": "#1"}, + "east": {"uv": [15, 3, 16, 9], "texture": "#0"}, + "west": {"uv": [2, 3, 3, 9], "texture": "#1"} + } + }, + { + "from": [0, 7, 0], + "to": [3, 13, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [-12, 4, 0]}, + "faces": { + "north": {"uv": [13, 3, 16, 9], "texture": "#1"}, + "east": {"uv": [12, 3, 13, 9], "texture": "#1"}, + "west": {"uv": [0, 3, 1, 9], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_distillation_controller/dial.json b/src/main/resources/assets/tfmg/models/block/steel_distillation_controller/dial.json new file mode 100644 index 00000000..fd969db1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_distillation_controller/dial.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/distillation_controller_front", + "particle": "tfmg:block/distillation_controller_front" + }, + "elements": [ + { + "from": [6.5, 7.5, 0.95], + "to": [10.5, 8.5, 0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 7.5, 0]}, + "faces": { + "north": {"uv": [13, 4, 14, 8], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#missing"}, + "west": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#missing"}, + "up": {"uv": [0, 0, 0, 3], "rotation": 90, "texture": "#missing"}, + "down": {"uv": [0, 0, 0, 3], "rotation": 90, "texture": "#missing"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_distillation_controller/item.json b/src/main/resources/assets/tfmg/models/block/steel_distillation_controller/item.json new file mode 100644 index 00000000..71906030 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_distillation_controller/item.json @@ -0,0 +1,91 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/distillation_controller", + "1": "tfmg:block/distillation_controller_front", + "2": "tfmg:block/distillation_controller_top", + "particle": "tfmg:block/distillation_controller" + }, + "elements": [ + { + "from": [0, 0, 1], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 15, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [1, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 1, 16, 16], "texture": "#2"}, + "down": {"uv": [0, 0, 16, 15], "texture": "#2"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 7, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [0, -1, 0]}, + "faces": { + "north": {"uv": [0, 9, 16, 16], "texture": "#1"}, + "east": {"uv": [15, 9, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 9, 1, 16], "texture": "#0"}, + "up": {"uv": [16, 9, 0, 10], "texture": "#1"}, + "down": {"uv": [0, 15, 16, 16], "texture": "#2"} + } + }, + { + "from": [0, 13, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "north": {"uv": [0, 0, 16, 3], "texture": "#1"}, + "east": {"uv": [15, 0, 16, 3], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "down": {"uv": [0, 2, 16, 3], "texture": "#1"} + } + }, + { + "from": [13, 7, 0], + "to": [16, 13, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 4, 0]}, + "faces": { + "north": {"uv": [0, 3, 3, 9], "texture": "#1"}, + "east": {"uv": [15, 3, 16, 9], "texture": "#0"}, + "west": {"uv": [2, 3, 3, 9], "texture": "#1"} + } + }, + { + "from": [0, 7, 0], + "to": [3, 13, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [-12, 4, 0]}, + "faces": { + "north": {"uv": [13, 3, 16, 9], "texture": "#1"}, + "east": {"uv": [12, 3, 13, 9], "texture": "#1"}, + "west": {"uv": [0, 3, 1, 9], "texture": "#0"} + } + }, + { + "from": [7, 7, 0.8], + "to": [9, 10, 0.8], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 0]}, + "faces": { + "north": {"uv": [7, 6, 9, 9], "texture": "#1"}, + "east": {"uv": [7, 6, 8, 9], "texture": "#1"}, + "west": {"uv": [8, 6, 9, 9], "texture": "#1"}, + "up": {"uv": [7, 6, 9, 7], "texture": "#1"} + } + }, + { + "from": [7.5, 7.5, 0.95], + "to": [12.5, 8.5, 0.95], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [15, 4, 16, 9], "rotation": 270, "texture": "#1"}, + "east": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#missing"}, + "west": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#missing"}, + "up": {"uv": [0, 0, 0, 3], "rotation": 90, "texture": "#missing"}, + "down": {"uv": [0, 0, 0, 3], "rotation": 90, "texture": "#missing"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_distillation_output/block.json b/src/main/resources/assets/tfmg/models/block/steel_distillation_output/block.json new file mode 100644 index 00000000..05a2f904 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_distillation_output/block.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/distillation_controller_top", + "1": "tfmg:block/distillation_tower_output", + "particle": "tfmg:block/distillation_controller_top" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "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": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_distillation_output/item.json b/src/main/resources/assets/tfmg/models/block/steel_distillation_output/item.json new file mode 100644 index 00000000..05a2f904 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_distillation_output/item.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/distillation_controller_top", + "1": "tfmg:block/distillation_tower_output", + "particle": "tfmg:block/distillation_controller_top" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "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": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_door/block_bottom.json b/src/main/resources/assets/tfmg/models/block/steel_door/block_bottom.json new file mode 100644 index 00000000..fdece838 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_door/block_bottom.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_door_side", + "2": "tfmg:block/steel_door_bottom", + "particle": "tfmg:block/steel_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [0, 12, 16, 15], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 12, 16, 15], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "down": {"uv": [0, 8, 16, 11], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_door/block_top.json b/src/main/resources/assets/tfmg/models/block/steel_door/block_top.json new file mode 100644 index 00000000..e570ecb4 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_door/block_top.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_door_side", + "2": "tfmg:block/steel_door_top", + "particle": "tfmg:block/steel_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [3, 16, 16], + "faces": { + "north": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 3], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_door/fold_left.json b/src/main/resources/assets/tfmg/models/block/steel_door/fold_left.json new file mode 100644 index 00000000..ddff00c8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_door/fold_left.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_door_side", + "2": "tfmg:block/steel_door_top", + "3": "tfmg:block/steel_door_bottom", + "particle": "tfmg:block/steel_casing" + }, + "elements": [ + { + "from": [0, 16, 0], + "to": [3, 32, 8], + "faces": { + "north": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 8, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 8, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [3, 16, 8], + "faces": { + "north": {"uv": [16, 4, 0, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8, 0, 16, 16], "texture": "#3"}, + "south": {"uv": [16, 4, 0, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 8, 16], "texture": "#3"}, + "down": {"uv": [0, 8, 8, 11], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_door/fold_right.json b/src/main/resources/assets/tfmg/models/block/steel_door/fold_right.json new file mode 100644 index 00000000..7b7863a7 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_door/fold_right.json @@ -0,0 +1,34 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_door_side", + "2": "tfmg:block/steel_door_top", + "3": "tfmg:block/steel_door_bottom", + "particle": "tfmg:block/steel_casing" + }, + "elements": [ + { + "from": [0, 16, 0], + "to": [3, 32, 8], + "faces": { + "north": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 8, 16], "texture": "#2"}, + "south": {"uv": [0, 4, 16, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 0, 16, 16], "texture": "#2"}, + "up": {"uv": [8, 0, 16, 3], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [3, 16, 8], + "faces": { + "north": {"uv": [16, 4, 0, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 8, 16], "texture": "#3"}, + "south": {"uv": [16, 4, 0, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 0, 16, 16], "texture": "#3"}, + "down": {"uv": [8, 8, 16, 11], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_bottom.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_bottom.json new file mode 100644 index 00000000..1a6139c0 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_bottom.json @@ -0,0 +1,74 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "4": "tfmg:block/steel_fluid_tank_inner", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_bottom_window.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_bottom_window.json new file mode 100644 index 00000000..23d3e9b5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_bottom_window.json @@ -0,0 +1,154 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "3": "tfmg:block/steel_fluid_tank_window", + "4": "tfmg:block/steel_fluid_tank_inner", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [4, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 4], + "faces": { + "east": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 4, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 12], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 4, 1], + "to": [12, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "north"}, + "south": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15, 4, 4], + "to": [15, 16, 12], + "faces": { + "east": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "east"}, + "west": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 4, 15], + "to": [12, 16, 15], + "faces": { + "north": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "south"}, + "south": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [1, 4, 4], + "to": [1, 16, 12], + "faces": { + "east": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "west"}, + "west": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 4, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 12], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [4, 16, 16], + "faces": { + "north": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 16, 4], + "faces": { + "east": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_bottom_window_ne.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_bottom_window_ne.json new file mode 100644 index 00000000..cdf22357 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_bottom_window_ne.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "3": "tfmg:block/steel_fluid_tank_window", + "4": "tfmg:block/steel_fluid_tank_inner", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "south": {"uv": [12, 0, 13, 12], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 4, 1], + "to": [4, 16, 1], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "south": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15, 4, 12], + "to": [15, 16, 16], + "faces": { + "east": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [4, 4, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "west": {"uv": [3, 0, 4, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_bottom_window_nw.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_bottom_window_nw.json new file mode 100644 index 00000000..a2335bc4 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_bottom_window_nw.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "3": "tfmg:block/steel_fluid_tank_window", + "4": "tfmg:block/steel_fluid_tank_inner", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [12, 16, 1], + "faces": { + "north": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "east": {"uv": [12, 0, 13, 12], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 4, 12], + "to": [1, 16, 16], + "faces": { + "east": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [12, 4, 1], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "south": {"uv": [3, 0, 4, 12], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_bottom_window_se.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_bottom_window_se.json new file mode 100644 index 00000000..0de65d07 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_bottom_window_se.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "3": "tfmg:block/steel_fluid_tank_window", + "4": "tfmg:block/steel_fluid_tank_inner", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 4, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "west": {"uv": [12, 0, 13, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 4, 0], + "to": [15, 16, 4], + "faces": { + "east": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "west": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 4, 15], + "to": [4, 16, 15], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "south": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 4], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [3, 0, 4, 12], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_bottom_window_sw.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_bottom_window_sw.json new file mode 100644 index 00000000..82b80793 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_bottom_window_sw.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "3": "tfmg:block/steel_fluid_tank_window", + "4": "tfmg:block/steel_fluid_tank_inner", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 4], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 12], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 4, 15], + "to": [16, 16, 15], + "faces": { + "north": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [1, 4, 0], + "to": [1, 16, 4], + "faces": { + "east": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "west": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [12, 16, 16], + "faces": { + "north": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "east": {"uv": [3, 0, 4, 12], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_middle.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_middle.json new file mode 100644 index 00000000..3127b307 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_middle.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_fluid_tank", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 15], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [1, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_middle_window.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_middle_window.json new file mode 100644 index 00000000..780456c5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_middle_window.json @@ -0,0 +1,137 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_fluid_tank", + "3": "tfmg:block/steel_fluid_tank_window", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [4, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 0, 13, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 4], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 0, 13, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 0, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 0, 13, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 12], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 16], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 0, 1], + "to": [12, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "north"}, + "south": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15, 0, 4], + "to": [15, 16, 12], + "faces": { + "east": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "east"}, + "west": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 0, 15], + "to": [12, 16, 15], + "faces": { + "north": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "south"}, + "south": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [1, 0, 4], + "to": [1, 16, 12], + "faces": { + "east": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "west"}, + "west": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 0, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 0, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 12], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [3, 0, 4, 16], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [4, 16, 16], + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 0, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 16, 4], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 0, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_middle_window_ne.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_middle_window_ne.json new file mode 100644 index 00000000..9bcf0747 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_middle_window_ne.json @@ -0,0 +1,56 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_fluid_tank", + "3": "tfmg:block/steel_fluid_tank_window", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [12, 0, 13, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 0, 1], + "to": [4, 16, 1], + "faces": { + "north": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15, 0, 12], + "to": [15, 16, 16], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [4, 0, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [3, 0, 4, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_middle_window_nw.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_middle_window_nw.json new file mode 100644 index 00000000..f0a70435 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_middle_window_nw.json @@ -0,0 +1,56 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_fluid_tank", + "3": "tfmg:block/steel_fluid_tank_window", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [12, 16, 1], + "faces": { + "north": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [12, 0, 13, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 0, 12], + "to": [1, 16, 16], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [12, 0, 1], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "south": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [3, 0, 4, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_middle_window_se.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_middle_window_se.json new file mode 100644 index 00000000..43ccead9 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_middle_window_se.json @@ -0,0 +1,56 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_fluid_tank", + "3": "tfmg:block/steel_fluid_tank_window", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 0, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [12, 0, 13, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 0, 0], + "to": [15, 16, 4], + "faces": { + "east": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 0, 15], + "to": [4, 16, 15], + "faces": { + "north": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 4], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [3, 0, 4, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_middle_window_sw.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_middle_window_sw.json new file mode 100644 index 00000000..a73b67b8 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_middle_window_sw.json @@ -0,0 +1,56 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_fluid_tank", + "3": "tfmg:block/steel_fluid_tank_window", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 4], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 0, 15], + "to": [16, 16, 15], + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "south": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [1, 0, 0], + "to": [1, 16, 4], + "faces": { + "east": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [12, 16, 16], + "faces": { + "north": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [3, 0, 4, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_single.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_single.json new file mode 100644 index 00000000..e0454ab4 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_single.json @@ -0,0 +1,127 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "4": "tfmg:block/steel_fluid_tank_inner", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [] + }, + { + "name": "block_middle", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [] + } + ] + }, + { + "name": "block_bottom", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3] + } + ] + }, + { + "name": "block_top", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [4, 5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_single_window.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_single_window.json new file mode 100644 index 00000000..288c27a3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_single_window.json @@ -0,0 +1,168 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "4": "tfmg:block/steel_fluid_tank_inner", + "5": "tfmg:block/steel_fluid_tank_window_single", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [4, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 4, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 12], + "to": [1, 12, 16], + "faces": { + "north": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 4, 1], + "to": [12, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "north"}, + "south": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15, 4, 4], + "to": [15, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "east"}, + "west": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 4, 15], + "to": [12, 12, 15], + "faces": { + "north": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "south"}, + "south": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [1, 4, 4], + "to": [1, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "west"}, + "west": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 12], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [4, 12, 16], + "faces": { + "north": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_single_window_ne.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_single_window_ne.json new file mode 100644 index 00000000..80eda6ca --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_single_window_ne.json @@ -0,0 +1,104 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "4": "tfmg:block/steel_fluid_tank_inner", + "5": "tfmg:block/steel_fluid_tank_window_single", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "south": {"uv": [12, 4, 13, 12], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 4, 1], + "to": [4, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 8], "texture": "#5"}, + "south": {"uv": [4, 0, 8, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [15, 4, 12], + "to": [15, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 0, 8, 8], "texture": "#5"}, + "west": {"uv": [0, 0, 4, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [4, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "west": {"uv": [3, 4, 4, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_single_window_nw.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_single_window_nw.json new file mode 100644 index 00000000..f607e07c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_single_window_nw.json @@ -0,0 +1,104 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "4": "tfmg:block/steel_fluid_tank_inner", + "5": "tfmg:block/steel_fluid_tank_window_single", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [12, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "east": {"uv": [12, 4, 13, 12], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 4, 12], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 0, 8, 8], "texture": "#5"}, + "west": {"uv": [0, 0, 4, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [12, 4, 1], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 0, 8, 8], "texture": "#5"}, + "south": {"uv": [0, 0, 4, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "south": {"uv": [3, 4, 4, 12], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_single_window_se.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_single_window_se.json new file mode 100644 index 00000000..7b9860dc --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_single_window_se.json @@ -0,0 +1,104 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "4": "tfmg:block/steel_fluid_tank_inner", + "5": "tfmg:block/steel_fluid_tank_window_single", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 4, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "west": {"uv": [12, 4, 13, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 4, 0], + "to": [15, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 8], "texture": "#5"}, + "west": {"uv": [4, 0, 8, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [0, 4, 15], + "to": [4, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 8], "texture": "#5"}, + "south": {"uv": [4, 0, 8, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 4], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [3, 4, 4, 12], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_single_window_sw.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_single_window_sw.json new file mode 100644 index 00000000..fb04288b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_single_window_sw.json @@ -0,0 +1,104 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "4": "tfmg:block/steel_fluid_tank_inner", + "5": "tfmg:block/steel_fluid_tank_window_single", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 4], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [12, 4, 13, 12], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 4, 15], + "to": [16, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 0, 8, 8], "texture": "#5"}, + "south": {"uv": [0, 0, 4, 8], "texture": "#5"} + } + }, + { + "name": "Window", + "from": [1, 4, 0], + "to": [1, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 8], "texture": "#5"}, + "west": {"uv": [4, 0, 8, 8], "texture": "#5"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "east": {"uv": [3, 4, 4, 12], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_top.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_top.json new file mode 100644 index 00000000..95c767c1 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_top.json @@ -0,0 +1,71 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "4": "tfmg:block/steel_fluid_tank_inner", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 16], + "faces": { + "east": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [1, 12, 16], + "faces": { + "east": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_top_window.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_top_window.json new file mode 100644 index 00000000..bb293ab3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_top_window.json @@ -0,0 +1,154 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "3": "tfmg:block/steel_fluid_tank_window", + "4": "tfmg:block/steel_fluid_tank_inner", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [4, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 4, 13, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 4, 13, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 0, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 4, 13, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 12], + "to": [1, 12, 16], + "faces": { + "north": {"uv": [12, 4, 13, 16], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 0, 1], + "to": [12, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "north"}, + "south": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15, 0, 4], + "to": [15, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "east"}, + "west": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 0, 15], + "to": [12, 12, 15], + "faces": { + "north": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "south"}, + "south": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [1, 0, 4], + "to": [1, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "west"}, + "west": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 4, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 12], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [3, 4, 4, 16], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [4, 12, 16], + "faces": { + "north": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 4, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 4, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_top_window_ne.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_top_window_ne.json new file mode 100644 index 00000000..dc3e3279 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_top_window_ne.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "3": "tfmg:block/steel_fluid_tank_window", + "4": "tfmg:block/steel_fluid_tank_inner", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "south": {"uv": [12, 4, 13, 16], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 0, 1], + "to": [4, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "south": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15, 0, 12], + "to": [15, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 0, 8, 12], "texture": "#3"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [4, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "west": {"uv": [3, 4, 4, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_top_window_nw.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_top_window_nw.json new file mode 100644 index 00000000..bd55ea68 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_top_window_nw.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "3": "tfmg:block/steel_fluid_tank_window", + "4": "tfmg:block/steel_fluid_tank_inner", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [12, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "east": {"uv": [12, 4, 13, 16], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 0, 12], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 0, 8, 12], "texture": "#3"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [12, 0, 1], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 0, 8, 12], "texture": "#3"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "south": {"uv": [3, 4, 4, 16], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_top_window_se.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_top_window_se.json new file mode 100644 index 00000000..07ba6d7e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_top_window_se.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "3": "tfmg:block/steel_fluid_tank_window", + "4": "tfmg:block/steel_fluid_tank_inner", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 0, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "west": {"uv": [12, 4, 13, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 0, 0], + "to": [15, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "west": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 0, 15], + "to": [4, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "south": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 4], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [3, 4, 4, 16], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_top_window_sw.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_top_window_sw.json new file mode 100644 index 00000000..300a4c8c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_tank/block_top_window_sw.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_fluid_tank_top", + "1": "tfmg:block/steel_fluid_tank", + "3": "tfmg:block/steel_fluid_tank_window", + "4": "tfmg:block/steel_fluid_tank_inner", + "particle": "tfmg:block/steel_fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 4], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [12, 4, 13, 16], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 0, 15], + "to": [16, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 0, 8, 12], "texture": "#3"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [1, 0, 0], + "to": [1, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "west": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "east": {"uv": [3, 4, 4, 16], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#4"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_valve/block_horizontal_closed.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_valve/block_horizontal_closed.json new file mode 100644 index 00000000..367799b7 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_valve/block_horizontal_closed.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/steel_fluid_valve", + "3": "tfmg:block/steel_valve_closed", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "down": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1.5, 9.5, 6.5, 14.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7, 9, 1, 15], "rotation": 90, "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_valve/block_horizontal_open.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_valve/block_horizontal_open.json new file mode 100644 index 00000000..331ea99b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_valve/block_horizontal_open.json @@ -0,0 +1,77 @@ +{ + "credit": "Made with Blockbench", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/steel_fluid_valve", + "3": "tfmg:block/steel_valve_open", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9, 1, 15, 7], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "down": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [1.5, 9.5, 6.5, 14.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [8.5, 1.5, 7.5, 6.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7, 9, 1, 15], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#3"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_valve/block_vertical_closed.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_valve/block_vertical_closed.json new file mode 100644 index 00000000..2ad510a2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_valve/block_vertical_closed.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench, praise the pufferfish", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/steel_fluid_valve", + "4": "tfmg:block/steel_valve_closed", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "east": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "west": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "up": {"uv": [9, 1, 15, 7], "texture": "#2"}, + "down": {"uv": [9, 1, 15, 7], "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "west": {"uv": [1.5, 9.5, 6.5, 14.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + }, + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "east": {"uv": [6.5, 9.5, 1.5, 14.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_valve/block_vertical_open.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_valve/block_vertical_open.json new file mode 100644 index 00000000..173a4136 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_valve/block_vertical_open.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench", + "render_type": "minecraft:cutout", + "textures": { + "2": "tfmg:block/steel_fluid_valve", + "4": "tfmg:block/steel_valve_open", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "east": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "south": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "west": {"uv": [1, 9, 7, 15], "rotation": 90, "texture": "#2"}, + "up": {"uv": [9, 1, 15, 7], "texture": "#2"}, + "down": {"uv": [9, 1, 15, 7], "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 3], + "to": [14, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 12]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "name": "ValveCenter", + "from": [2, 2, 14], + "to": [14, 14, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 13.5]}, + "faces": { + "east": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "south": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "west": {"uv": [7.5, 1, 8, 7], "texture": "#2"}, + "up": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "west": {"uv": [1.5, 9.5, 6.5, 14.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + }, + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "east": {"uv": [6.5, 9.5, 1.5, 14.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "up": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "down": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_valve/item.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_valve/item.json new file mode 100644 index 00000000..7913308b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_valve/item.json @@ -0,0 +1,155 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "2": "tfmg:block/steel_fluid_valve", + "4": "tfmg:block/steel_valve_open", + "1_1": "create:block/axis_top", + "1_0": "create:block/axis", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "name": "ValveCenter", + "from": [2, 2, 2], + "to": [14, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 11, 11]}, + "faces": { + "north": {"uv": [9, 1, 15, 7], "texture": "#2"}, + "east": {"uv": [1, 9, 7, 15], "texture": "#2"}, + "south": {"uv": [9, 1, 15, 7], "texture": "#2"}, + "west": {"uv": [1, 9, 7, 15], "texture": "#2"}, + "up": {"uv": [1, 1, 7, 7], "texture": "#2"}, + "down": {"uv": [1, 1, 7, 7], "texture": "#2"} + } + }, + { + "from": [2, 14, 2], + "to": [14, 13, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [24, 23, 11]}, + "faces": { + "north": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "east": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "south": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "rotation": 90, "texture": "#2"}, + "up": {"uv": [2, 2, 14, 14], "texture": "#4"} + } + }, + { + "from": [2, 3, 2], + "to": [14, 2, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 2.5, 8]}, + "faces": { + "north": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "east": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "south": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "west": {"uv": [7.5, 1, 8, 7], "rotation": 270, "texture": "#2"}, + "down": {"uv": [2, 2, 14, 14], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 8, 8]}, + "faces": { + "north": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "south": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "west": {"uv": [6.5, 9.5, 1.5, 14.5], "texture": "#2"}, + "up": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 180, "texture": "#2"}, + "down": {"uv": [7.5, 1.5, 8.5, 6.5], "rotation": 180, "texture": "#2"} + } + }, + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [8.5, 1.5, 7.5, 6.5], "texture": "#2"}, + "east": {"uv": [6.5, 9.5, 1.5, 14.5], "texture": "#2"}, + "south": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "up": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"}, + "down": {"uv": [7.5, 1.5, 8.5, 6.5], "texture": "#2"} + } + }, + { + "name": "Axis", + "from": [6, 6, 0], + "to": [10, 10, 16], + "faces": { + "north": {"uv": [6, 6, 10, 10], "rotation": 180, "texture": "#1_1"}, + "east": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#1_0"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#1_1"}, + "west": {"uv": [6, 0, 10, 16], "rotation": 270, "texture": "#1_0"}, + "up": {"uv": [6, 0, 10, 16], "texture": "#1_0"}, + "down": {"uv": [6, 0, 10, 16], "rotation": 180, "texture": "#1_0"} + } + }, + { + "from": [4.5, 13.5, 7.5], + "to": [11.5, 13.5, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 13.5, 8]}, + "faces": { + "up": {"uv": [2, 7.5, 5.5, 8], "texture": "#2"} + } + }, + { + "from": [4.5, 2.5, 7.5], + "to": [11.5, 2.5, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 2.5, 8]}, + "faces": { + "down": {"uv": [2, 7.5, 5.5, 8], "rotation": 180, "texture": "#2"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [90, 0, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "group", + "origin": [16, 0, 0], + "color": 0, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "shaft", + "origin": [8, 8, 8], + "color": 0, + "children": [5] + }, + { + "name": "hands", + "origin": [7, 14, 4], + "color": 0, + "children": [6, 7] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_fluid_valve/pointer.json b/src/main/resources/assets/tfmg/models/block/steel_fluid_valve/pointer.json new file mode 100644 index 00000000..f70386d9 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_fluid_valve/pointer.json @@ -0,0 +1,151 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "2": "tfmg:block/steel_fluid_valve", + "4": "create:block/pump", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [7, 14.1, 5], + "to": [9, 15.1, 7], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [14, 0, 12, 1], "rotation": 180, "texture": "#4"}, + "east": {"uv": [14, 3, 12, 4], "texture": "#4"}, + "south": {"uv": [14, 2, 12, 3], "rotation": 180, "texture": "#4"}, + "west": {"uv": [12, 0, 13, 2], "rotation": 270, "texture": "#4"}, + "up": {"uv": [12, 0, 14, 2], "texture": "#4"}, + "down": {"uv": [14, 0, 12, 2], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [9, 14.1, 5], + "to": [11, 15.1, 9], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [16, 0, 14, 1], "texture": "#4"}, + "east": {"uv": [15, 0, 16, 4], "rotation": 90, "texture": "#4"}, + "south": {"uv": [16, 0, 14, 1], "rotation": 180, "texture": "#4"}, + "up": {"uv": [14, 0, 16, 4], "texture": "#4"}, + "down": {"uv": [16, 0, 14, 4], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [7, 14.1, 9], + "to": [11, 15.1, 11], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [16, 0, 14, 1], "texture": "#4"}, + "south": {"uv": [15, 0, 16, 4], "rotation": 90, "texture": "#4"}, + "west": {"uv": [16, 0, 14, 1], "rotation": 180, "texture": "#4"}, + "up": {"uv": [14, 0, 16, 4], "rotation": 90, "texture": "#4"}, + "down": {"uv": [16, 0, 14, 4], "rotation": 90, "texture": "#4"} + } + }, + { + "from": [9, 14.1, 7], + "to": [11, 15.1, 9], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 0, 13, 2], "rotation": 270, "texture": "#4"}, + "east": {"uv": [14, 0, 12, 1], "rotation": 180, "texture": "#4"}, + "south": {"uv": [14, 3, 12, 4], "texture": "#4"}, + "west": {"uv": [14, 2, 12, 3], "rotation": 180, "texture": "#4"}, + "up": {"uv": [12, 0, 14, 2], "rotation": 90, "texture": "#4"}, + "down": {"uv": [14, 0, 12, 2], "rotation": 90, "texture": "#4"} + } + }, + { + "from": [9, 14.1, 5], + "to": [11, 15.1, 9], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [16, 0, 14, 1], "texture": "#4"}, + "east": {"uv": [15, 0, 16, 4], "rotation": 90, "texture": "#4"}, + "south": {"uv": [16, 0, 14, 1], "rotation": 180, "texture": "#4"}, + "up": {"uv": [14, 0, 16, 4], "texture": "#4"}, + "down": {"uv": [16, 0, 14, 4], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [7, 14.1, 5], + "to": [9, 15.1, 7], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [14, 0, 12, 1], "rotation": 180, "texture": "#4"}, + "east": {"uv": [14, 3, 12, 4], "texture": "#4"}, + "south": {"uv": [14, 2, 12, 3], "rotation": 180, "texture": "#4"}, + "west": {"uv": [12, 0, 13, 2], "rotation": 270, "texture": "#4"}, + "up": {"uv": [12, 0, 14, 2], "texture": "#4"}, + "down": {"uv": [14, 0, 12, 2], "rotation": 180, "texture": "#4"} + } + }, + { + "name": "Center", + "from": [7, 14, 7], + "to": [9, 16, 9], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 15, 8]}, + "faces": { + "north": {"uv": [12.5, 0, 12, 1], "rotation": 90, "texture": "#2"}, + "east": {"uv": [13, 0.5, 12, 1], "texture": "#2"}, + "south": {"uv": [12, 0.5, 13, 1], "texture": "#2"}, + "west": {"uv": [12, 1, 12.5, 0], "rotation": 90, "texture": "#2"}, + "up": {"uv": [12, 0, 13, 1], "texture": "#2"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "Pointer", + "origin": [7.5, 14, 8], + "color": 0, + "children": [ + { + "name": "arrow", + "origin": [8, 8, 8], + "color": 0, + "children": [] + }, + { + "name": "arrow", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3, 4, 5] + }, + 6 + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_flywheel/block.json b/src/main/resources/assets/tfmg/models/block/steel_flywheel/block.json new file mode 100644 index 00000000..cf36372c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_flywheel/block.json @@ -0,0 +1,6 @@ +{ + "parent": "tfmg:block/steel_flywheel/flywheel", + "loader": "neoforge:obj", + "flip-v": true, + "model": "create:models/block/flywheel/flywheel_shaftless.obj" +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_flywheel/flywheel.json b/src/main/resources/assets/tfmg/models/block/steel_flywheel/flywheel.json new file mode 100644 index 00000000..024d8451 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_flywheel/flywheel.json @@ -0,0 +1,10 @@ +{ + "parent": "block/block", + "ambientocclusion": false, + "textures": { + "0": "tfmg:block/steel_flywheel", + "1": "create:block/axis", + "2": "create:block/axis_top", + "particle": "tfmg:block/steel_flywheel" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_flywheel/item.json b/src/main/resources/assets/tfmg/models/block/steel_flywheel/item.json new file mode 100644 index 00000000..4c40766d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_flywheel/item.json @@ -0,0 +1,18 @@ +{ + "parent": "tfmg:block/steel_flywheel/flywheel", + "loader": "neoforge:obj", + "flip-v": true, + "model": "create:models/block/flywheel/flywheel.obj", + "display": { + "gui": { + "rotation": [ 30, 225, 0 ], + "translation": [ 0, 0, 0], + "scale":[ 0.4, 0.4, 0.4 ] + }, + "fixed": { + "rotation": [ 90, 0, 0 ], + "translation": [ 0, 0, 0], + "scale":[ 0.4, 0.4, 0.4 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_frame/block.json b/src/main/resources/assets/tfmg/models/block/steel_frame/block.json new file mode 100644 index 00000000..783bd93f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_frame/block.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_frame_2", + "particle": "tfmg:block/steel_frame_2" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_frame/item.json b/src/main/resources/assets/tfmg/models/block/steel_frame/item.json new file mode 100644 index 00000000..783bd93f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_frame/item.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_frame_2", + "particle": "tfmg:block/steel_frame_2" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_gearbox/block.json b/src/main/resources/assets/tfmg/models/block/steel_gearbox/block.json new file mode 100644 index 00000000..deba5feb --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_gearbox/block.json @@ -0,0 +1,48 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "2": "tfmg:block/heavy_gearbox", + "3": "tfmg:block/heavy_machinery_casing", + "particle": "tfmg:block/heavy_machinery_casing" + }, + "elements": [ + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 2, 16], + "faces": { + "north": {"uv": [0, 14, 16, 16], "texture": "#3"}, + "east": {"uv": [0, 14, 16, 16], "texture": "#3"}, + "south": {"uv": [0, 14, 16, 16], "texture": "#3"}, + "west": {"uv": [0, 14, 16, 16], "texture": "#3"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "Core", + "from": [0.95, 2, 0.95], + "to": [15.05, 14, 15.05], + "faces": { + "north": {"uv": [1, 2, 15, 14], "texture": "#2"}, + "east": {"uv": [1, 2, 15, 14], "texture": "#2"}, + "south": {"uv": [1, 2, 15, 14], "texture": "#2"}, + "west": {"uv": [1, 2, 15, 14], "texture": "#2"} + } + }, + { + "name": "Top", + "from": [0, 14, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 2], "texture": "#3"}, + "east": {"uv": [0, 0, 16, 2], "texture": "#3"}, + "south": {"uv": [0, 0, 16, 2], "texture": "#3"}, + "west": {"uv": [0, 0, 16, 2], "texture": "#3"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#3"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_gearbox/item.json b/src/main/resources/assets/tfmg/models/block/steel_gearbox/item.json new file mode 100644 index 00000000..d6ca9b5a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_gearbox/item.json @@ -0,0 +1,97 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "4": "tfmg:block/heavy_gearbox", + "5": "tfmg:block/heavy_machinery_casing", + "particle": "create:block/axis", + "1_0": "create:block/axis", + "1_1": "create:block/axis_top" + }, + "elements": [ + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 2, 16], + "faces": { + "north": {"uv": [0, 14, 16, 16], "texture": "#5"}, + "east": {"uv": [0, 14, 16, 16], "texture": "#5"}, + "south": {"uv": [0, 14, 16, 16], "texture": "#5"}, + "west": {"uv": [0, 14, 16, 16], "texture": "#5"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#5"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#5"} + } + }, + { + "name": "Core", + "from": [1, 2, 1], + "to": [15, 14, 15], + "faces": { + "north": {"uv": [1, 2, 15, 14], "texture": "#4"}, + "east": {"uv": [1, 2, 15, 14], "texture": "#4"}, + "south": {"uv": [1, 2, 15, 14], "texture": "#4"}, + "west": {"uv": [1, 2, 15, 14], "texture": "#4"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#4"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#4"} + } + }, + { + "name": "Top", + "from": [0, 14, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 2], "texture": "#5"}, + "east": {"uv": [0, 0, 16, 2], "texture": "#5"}, + "south": {"uv": [0, 0, 16, 2], "texture": "#5"}, + "west": {"uv": [0, 0, 16, 2], "texture": "#5"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#5"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#5"} + } + }, + { + "name": "Axis", + "from": [6, 6, 0], + "to": [10, 10, 16], + "faces": { + "north": {"uv": [6, 6, 10, 10], "rotation": 180, "texture": "#1_1"}, + "east": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#1_0"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#1_1"}, + "west": {"uv": [6, 0, 10, 16], "rotation": 270, "texture": "#1_0"}, + "up": {"uv": [6, 0, 10, 16], "texture": "#1_0"}, + "down": {"uv": [6, 0, 10, 16], "rotation": 180, "texture": "#1_0"} + } + }, + { + "name": "Axis", + "from": [0, 6, 6], + "to": [16, 10, 10], + "faces": { + "north": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#1_0"}, + "east": {"uv": [6, 6, 10, 10], "rotation": 270, "texture": "#1_1"}, + "south": {"uv": [6, 0, 10, 16], "rotation": 270, "texture": "#1_0"}, + "west": {"uv": [6, 6, 10, 10], "rotation": 270, "texture": "#1_1"}, + "up": {"uv": [6, 0, 10, 16], "rotation": 270, "texture": "#1_0"}, + "down": {"uv": [6, 0, 10, 16], "rotation": 270, "texture": "#1_0"} + } + } + ], + "groups": [ + 0, + 1, + 2, + { + "name": "shaft", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [3] + }, + { + "name": "shaft", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_gearbox/item_vertical.json b/src/main/resources/assets/tfmg/models/block/steel_gearbox/item_vertical.json new file mode 100644 index 00000000..71ceb9b5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_gearbox/item_vertical.json @@ -0,0 +1,95 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/axis", + "1": "create:block/axis_top", + "3": "tfmg:block/heavy_gearbox", + "4": "tfmg:block/heavy_machinery_casing", + "particle": "create:block/axis" + }, + "elements": [ + { + "name": "Side", + "from": [0, 0, 0], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#4"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#4"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "up": {"uv": [0, 0, 2, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 2, 16], "texture": "#4"} + } + }, + { + "name": "Side", + "from": [14, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#4"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#4"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "up": {"uv": [14, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [14, 0, 16, 16], "texture": "#4"} + } + }, + { + "name": "Center", + "from": [2, 1, 1], + "to": [14, 15, 15], + "faces": { + "north": {"uv": [2, 1, 14, 15], "texture": "#3"}, + "south": {"uv": [2, 1, 14, 15], "texture": "#3"}, + "up": {"uv": [2, 1, 14, 15], "texture": "#3"}, + "down": {"uv": [2, 1, 14, 15], "texture": "#3"} + } + }, + { + "name": "Axis", + "from": [6, 6, 0], + "to": [10, 10, 16], + "faces": { + "north": {"uv": [6, 6, 10, 10], "rotation": 180, "texture": "#1"}, + "east": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#1"}, + "west": {"uv": [6, 0, 10, 16], "rotation": 270, "texture": "#0"}, + "up": {"uv": [6, 0, 10, 16], "texture": "#0"}, + "down": {"uv": [6, 0, 10, 16], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Axis", + "from": [6, 0, 6], + "to": [10, 16, 10], + "faces": { + "north": {"uv": [6, 0, 10, 16], "texture": "#0"}, + "east": {"uv": [6, 0, 10, 16], "texture": "#0"}, + "south": {"uv": [6, 0, 10, 16], "texture": "#0"}, + "west": {"uv": [6, 0, 10, 16], "texture": "#0"}, + "up": {"uv": [6, 6, 10, 10], "texture": "#1"}, + "down": {"uv": [6, 6, 10, 10], "texture": "#1"} + } + } + ], + "groups": [ + 0, + 1, + 2, + { + "name": "shaft", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [3] + }, + { + "name": "shaft", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_mechanical_pump/block.json b/src/main/resources/assets/tfmg/models/block/steel_mechanical_pump/block.json new file mode 100644 index 00000000..5876a65e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_mechanical_pump/block.json @@ -0,0 +1,67 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/block", + "textures": { + "4": "tfmg:block/steel_pump", + "particle": "tfmg:block/steel_pump" + }, + "elements": [ + { + "from": [2, 13, 2], + "to": [14, 16, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 14.5, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "east": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "west": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "up": {"uv": [0, 0, 6, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#4"} + } + }, + { + "from": [2, 0, 2], + "to": [14, 3, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 1.5, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "east": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "west": {"uv": [8, 0, 6.5, 6], "rotation": 270, "texture": "#4"}, + "up": {"uv": [0, 0, 6, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#4"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_mechanical_pump/cog.json b/src/main/resources/assets/tfmg/models/block/steel_mechanical_pump/cog.json new file mode 100644 index 00000000..4c2e8b52 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_mechanical_pump/cog.json @@ -0,0 +1,162 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "2": "tfmg:block/steel_pump" + }, + "elements": [ + { + "from": [6.5, -1, 3], + "to": [9.5, 17, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "east": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#2"}, + "up": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [-1, 6.5, 3], + "to": [17, 9.5, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#2"}, + "east": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "texture": "#2"}, + "west": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "up": {"uv": [0, 9, 9, 14], "rotation": 180, "texture": "#2"}, + "down": {"uv": [0, 9, 9, 14], "texture": "#2"} + } + }, + { + "from": [6.5, -1, 3], + "to": [9.5, 17, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "east": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#2"}, + "up": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [-1, 6.5, 3], + "to": [17, 9.5, 13], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#2"}, + "east": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "south": {"uv": [0, 6.5, 9, 8], "texture": "#2"}, + "west": {"uv": [10, 6.5, 15, 8], "texture": "#2"}, + "up": {"uv": [0, 9, 9, 14], "rotation": 180, "texture": "#2"}, + "down": {"uv": [0, 9, 9, 14], "texture": "#2"} + } + }, + { + "from": [5.5, 0.9, 3.05], + "to": [10.5, 15.1, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "up": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [0.9, 5.5, 3.05], + "to": [15.1, 10.5, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [10, 9, 15, 11.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#2"}, + "west": {"uv": [10, 9, 15, 11.5], "texture": "#2"} + } + }, + { + "from": [0.9, 5.5, 3.05], + "to": [15.1, 10.5, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [10, 9, 15, 11.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#2"}, + "west": {"uv": [10, 9, 15, 11.5], "texture": "#2"} + } + }, + { + "from": [5.5, 0.9, 3.05], + "to": [10.5, 15.1, 12.95], + "forge_data": {"calculate_normals": true}, + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "south": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"}, + "up": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, -149, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, -149, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, -55, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, -55, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 1, 1.25], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 45, 0], + "translation": [2.5, -0.5, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [0, 180, 0], + "translation": [0, 1.75, -4.5], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "cogwheel", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3] + }, + { + "name": "group", + "origin": [8, 8, 8], + "color": 0, + "children": [4, 5, 6, 7] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_mechanical_pump/item.json b/src/main/resources/assets/tfmg/models/block/steel_mechanical_pump/item.json new file mode 100644 index 00000000..03d7e565 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_mechanical_pump/item.json @@ -0,0 +1,164 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/block", + "texture_size": [32, 32], + "textures": { + "4": "tfmg:block/steel_pump", + "particle": "tfmg:block/steel_pump" + }, + "elements": [ + { + "from": [0, 2, 2], + "to": [3, 14, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "texture": "#4"}, + "east": {"uv": [0, 0, 6, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"}, + "west": {"uv": [0, 0, 6, 6], "rotation": 90, "texture": "#4"}, + "up": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [13, 2, 2], + "to": [16, 14, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8, 0, 6.5, 6], "texture": "#4"}, + "east": {"uv": [0, 0, 6, 6], "rotation": 270, "texture": "#4"}, + "south": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"}, + "west": {"uv": [0, 0, 6, 6], "rotation": 90, "texture": "#4"}, + "up": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"}, + "down": {"uv": [8, 0, 6.5, 6], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [3, -1, 6.5], + "to": [13, 17, 9.5], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#4"}, + "east": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#4"}, + "south": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"}, + "west": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#4"}, + "up": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "down": {"uv": [10, 6.5, 15, 8], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [3, 6.5, -1], + "to": [13, 9.5, 17], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "east": {"uv": [0, 6.5, 9, 8], "texture": "#4"}, + "south": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "west": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#4"}, + "up": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"}, + "down": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"} + } + }, + { + "from": [3, -1, 6.5], + "to": [13, 17, 9.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 14, 9, 9], "rotation": 270, "texture": "#4"}, + "east": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#4"}, + "south": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"}, + "west": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#4"}, + "up": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "down": {"uv": [10, 8, 15, 6.5], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [3, 6.5, -1], + "to": [13, 9.5, 17], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "east": {"uv": [0, 6.5, 9, 8], "texture": "#4"}, + "south": {"uv": [10, 6.5, 15, 8], "texture": "#4"}, + "west": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#4"}, + "up": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"}, + "down": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#4"} + } + }, + { + "from": [3.05, 0.9, 5.5], + "to": [12.95, 15.1, 10.5], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [1, 7, 1.5, 7.5], "texture": "#4"}, + "west": {"uv": [1, 7, 1.5, 7.5], "texture": "#4"}, + "up": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "down": {"uv": [10, 9, 15, 11.5], "rotation": 180, "texture": "#4"} + } + }, + { + "from": [3.05, 5.5, 0.9], + "to": [12.95, 10.5, 15.1], + "rotation": {"angle": 22.5, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "east": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#4"}, + "south": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "west": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#4"} + } + }, + { + "from": [3.05, 0.9, 5.5], + "to": [12.95, 15.1, 10.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [1, 7, 1.5, 7.5], "rotation": 180, "texture": "#4"}, + "west": {"uv": [1, 7, 1.5, 7.5], "rotation": 180, "texture": "#4"}, + "up": {"uv": [10, 9, 15, 11.5], "rotation": 180, "texture": "#4"}, + "down": {"uv": [10, 9, 15, 11.5], "texture": "#4"} + } + }, + { + "from": [3.05, 5.5, 0.9], + "to": [12.95, 10.5, 15.1], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "east": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#4"}, + "south": {"uv": [10, 9, 15, 11.5], "texture": "#4"}, + "west": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#4"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/casing.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/casing.json new file mode 100644 index 00000000..177e609e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/casing.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "east": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "south": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "west": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "up": {"uv": [1, 11, 6, 16], "texture": "#0"}, + "down": {"uv": [1, 11, 6, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/connection/down.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/connection/down.json new file mode 100644 index 00000000..c3f049b7 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/connection/down.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "name": "connection_down", + "from": [4, 0, 4], + "to": [12, 4, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 6, 4, 8], "texture": "#0"}, + "east": {"uv": [0, 6, 4, 8], "texture": "#0"}, + "south": {"uv": [4, 6, 0, 8], "texture": "#0"}, + "west": {"uv": [4, 6, 0, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/connection/east.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/connection/east.json new file mode 100644 index 00000000..c817b0d3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/connection/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "name": "connection_east", + "from": [12, 4, 4], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 6, 4, 8], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/connection/north.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/connection/north.json new file mode 100644 index 00000000..23f2b4ff --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/connection/north.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "name": "connection_north", + "from": [4, 4, 0], + "to": [12, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 4, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 2], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/connection/south.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/connection/south.json new file mode 100644 index 00000000..d76bf941 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/connection/south.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "name": "connection_south", + "from": [4, 4, 12], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 4, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 6, 4, 8], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/connection/up.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/connection/up.json new file mode 100644 index 00000000..dd8ff667 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/connection/up.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "name": "connection_up", + "from": [4, 12, 4], + "to": [12, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 2], "texture": "#0"}, + "south": {"uv": [4, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [4, 0, 0, 2], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/connection/west.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/connection/west.json new file mode 100644 index 00000000..d4a3d775 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/connection/west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "name": "connection_west", + "from": [0, 4, 4], + "to": [4, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 0, 4, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 4, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 2], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/core_x.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/core_x.json new file mode 100644 index 00000000..f4d0afcd --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/core_x.json @@ -0,0 +1,18 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/steel_pipes_connected", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "name": "core_x", + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "east": {"uv": [12, 8, 16, 12], "texture": "#0"}, + "west": {"uv": [16, 8, 12, 12], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/core_y.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/core_y.json new file mode 100644 index 00000000..0a590804 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/core_y.json @@ -0,0 +1,18 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/steel_pipes_connected", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "name": "core_y", + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "up": {"uv": [12, 12, 16, 8], "rotation": 180, "texture": "#0"}, + "down": {"uv": [12, 8, 16, 12], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/core_z.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/core_z.json new file mode 100644 index 00000000..1c96d8b6 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/core_z.json @@ -0,0 +1,18 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/steel_pipes_connected", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "name": "core_z", + "from": [4, 4, 4], + "to": [12, 12, 12], + "faces": { + "north": {"uv": [12, 8, 16, 12], "texture": "#0"}, + "south": {"uv": [16, 8, 12, 12], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/drain/down.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/drain/down.json new file mode 100644 index 00000000..f89880ba --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/drain/down.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [4.95, -3.95, 4.95], + "to": [11.05, -0.95, 11.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"}, + "down": {"uv": [13, 8, 16, 11], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [2.95, -1.1, 2.95], + "to": [13.05, 2, 13.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/drain/east.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/drain/east.json new file mode 100644 index 00000000..79f1ea1e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/drain/east.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [16.95, 4.95, 4.95], + "to": [19.95, 11.05, 11.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12, 8, 13.5, 11], "rotation": 180, "texture": "#0"}, + "east": {"uv": [13, 8, 16, 11], "texture": "#0"}, + "south": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "up": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "down": {"uv": [12, 8, 13.5, 11], "texture": "#0"} + } + }, + { + "from": [14, 2.95, 2.95], + "to": [17.1, 13.05, 13.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 16, 10.5, 11], "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "south": {"uv": [10.5, 11, 9, 16], "texture": "#0"}, + "west": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "up": {"uv": [10.5, 11, 9, 16], "texture": "#0"}, + "down": {"uv": [10.5, 16, 9, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/drain/north.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/drain/north.json new file mode 100644 index 00000000..64967f1d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/drain/north.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [2.95, 2.95, -1.1], + "to": [13.05, 13.05, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "east": {"uv": [10.5, 11, 9, 16], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "west": {"uv": [9, 16, 10.5, 11], "texture": "#0"}, + "up": {"uv": [9, 11, 10.5, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [10.5, 16, 9, 11], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4.95, 4.95, -3.95], + "to": [11.05, 11.05, -0.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [13, 8, 16, 11], "texture": "#0"}, + "east": {"uv": [12, 8, 13.5, 11], "texture": "#0"}, + "west": {"uv": [12, 8, 13.5, 11], "rotation": 180, "texture": "#0"}, + "up": {"uv": [12, 8, 13.5, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12, 8, 13.5, 11], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/drain/south.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/drain/south.json new file mode 100644 index 00000000..59637356 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/drain/south.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [4.95, 4.95, 16.95], + "to": [11.05, 11.05, 19.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "east": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "south": {"uv": [16, 8, 13, 11], "texture": "#0"}, + "west": {"uv": [13.5, 8, 12, 11], "rotation": 180, "texture": "#0"}, + "up": {"uv": [13.5, 8, 12, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2.95, 2.95, 14], + "to": [13.05, 13.05, 17.1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 34, 8]}, + "faces": { + "north": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "east": {"uv": [9, 11, 10.5, 16], "texture": "#0"}, + "south": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "west": {"uv": [10.5, 16, 9, 11], "texture": "#0"}, + "up": {"uv": [10.5, 11, 9, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/drain/up.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/drain/up.json new file mode 100644 index 00000000..a204fef5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/drain/up.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [2.95, 14, 2.95], + "to": [13.05, 17.1, 13.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [9, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [16, 11, 11, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16, 11, 11, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4.95, 16.95, 4.95], + "to": [11.05, 19.95, 11.05], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [13.5, 8, 12, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [13, 11, 16, 8], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/drain/west.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/drain/west.json new file mode 100644 index 00000000..61626988 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/drain/west.json @@ -0,0 +1,35 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [-1.1, 2.95, 2.95], + "to": [2, 13.05, 13.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10.5, 16, 9, 11], "texture": "#0"}, + "east": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "south": {"uv": [9, 11, 10.5, 16], "texture": "#0"}, + "west": {"uv": [16, 11, 11, 16], "texture": "#0"}, + "up": {"uv": [9, 11, 10.5, 16], "texture": "#0"}, + "down": {"uv": [9, 16, 10.5, 11], "texture": "#0"} + } + }, + { + "from": [-3.95, 4.95, 4.95], + "to": [-0.95, 11.05, 11.05], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [13.5, 8, 12, 11], "rotation": 180, "texture": "#0"}, + "south": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "west": {"uv": [16, 8, 13, 11], "texture": "#0"}, + "up": {"uv": [13.5, 8, 12, 11], "texture": "#0"}, + "down": {"uv": [13.5, 8, 12, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/item.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/item.json new file mode 100644 index 00000000..6d59a975 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/item.json @@ -0,0 +1,53 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [4, 4, 0], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [4, 8, 8, 0], "rotation": 90, "texture": "#1"}, + "west": {"uv": [4, 0, 8, 8], "rotation": 90, "texture": "#1"}, + "up": {"uv": [4, 8, 8, 0], "texture": "#1"}, + "down": {"uv": [4, 8, 8, 0], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#1"}, + "east": {"uv": [10.5, 16, 9.5, 11], "texture": "#1"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#1"}, + "west": {"uv": [9.5, 16, 10.5, 11], "texture": "#1"}, + "up": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 15]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [10.5, 16, 9.5, 11], "rotation": 180, "texture": "#1"}, + "south": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [9.5, 16, 10.5, 11], "rotation": 180, "texture": "#1"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"} + } + } + ], + "display": { + "fixed": { + "rotation": [0, 90, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/rim/down.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim/down.json new file mode 100644 index 00000000..1cc539aa --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim/down.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 2, 13], + "faces": { + "north": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 270, "texture": "#0", "cullface": "down"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/rim/east.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim/east.json new file mode 100644 index 00000000..0c0082b3 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [14, 3, 3], + "to": [16, 13, 13], + "faces": { + "north": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "east"}, + "south": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "west": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "up": {"uv": [9.5, 16, 10.5, 11], "rotation": 180, "texture": "#0"}, + "down": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/rim/north.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim/north.json new file mode 100644 index 00000000..a47e483b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim/north.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "north"}, + "east": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "west": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 270, "texture": "#0"}, + "down": {"uv": [9.5, 16, 10.5, 11], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/rim/south.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim/south.json new file mode 100644 index 00000000..f426fd63 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim/south.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 28, 8]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "east": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "south": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "south"}, + "west": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "up": {"uv": [9.5, 16, 10.5, 11], "rotation": 270, "texture": "#0"}, + "down": {"uv": [10.5, 11, 9.5, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/rim/up.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim/up.json new file mode 100644 index 00000000..46429902 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim/up.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [3, 14, 3], + "to": [13, 16, 13], + "faces": { + "north": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "east": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "west": {"uv": [9.5, 16, 10.5, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#0", "cullface": "up"}, + "down": {"uv": [11, 11, 16, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/rim/west.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim/west.json new file mode 100644 index 00000000..2f6552ad --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim/west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "from": [0, 3, 3], + "to": [2, 13, 13], + "faces": { + "north": {"uv": [10.5, 11, 9.5, 16], "texture": "#0"}, + "east": {"uv": [11, 11, 16, 16], "texture": "#0"}, + "south": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"}, + "west": {"uv": [11, 11, 16, 16], "texture": "#0", "cullface": "west"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [9.5, 16, 10.5, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/rim_connector/down.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim_connector/down.json new file mode 100644 index 00000000..1e64af0a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim_connector/down.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "name": "rim_down", + "from": [4, 0, 4], + "to": [12, 4, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 6, 8, 8], "texture": "#0"}, + "east": {"uv": [4, 6, 8, 8], "texture": "#0"}, + "south": {"uv": [8, 6, 4, 8], "texture": "#0"}, + "west": {"uv": [8, 6, 4, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/rim_connector/east.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim_connector/east.json new file mode 100644 index 00000000..47fb906a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim_connector/east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "name": "rim_east", + "from": [12, 4, 4], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 6, 8, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [4, 8, 8, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 8, 8, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 6, 8, 8], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/rim_connector/north.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim_connector/north.json new file mode 100644 index 00000000..7e5cf668 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim_connector/north.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "name": "rim_north", + "from": [4, 4, 0], + "to": [12, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [4, 0, 8, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [4, 2, 8, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 2, 8, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4, 0, 8, 2], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/rim_connector/south.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim_connector/south.json new file mode 100644 index 00000000..bc9101b0 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim_connector/south.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "name": "rim_south", + "from": [4, 4, 12], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 0]}, + "faces": { + "east": {"uv": [4, 6, 8, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [4, 8, 8, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 8, 8, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [4, 6, 8, 8], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/rim_connector/up.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim_connector/up.json new file mode 100644 index 00000000..5ddd10ac --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim_connector/up.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "name": "rim_up", + "from": [4, 12, 4], + "to": [12, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 0, 8, 2], "texture": "#0"}, + "east": {"uv": [4, 0, 8, 2], "texture": "#0"}, + "south": {"uv": [8, 0, 4, 2], "texture": "#0"}, + "west": {"uv": [8, 0, 4, 2], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/rim_connector/west.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim_connector/west.json new file mode 100644 index 00000000..1341fce0 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/rim_connector/west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_pipes", + "particle": "tfmg:block/steel_pipes" + }, + "elements": [ + { + "name": "rim_west", + "from": [0, 4, 4], + "to": [4, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [4, 0, 8, 2], "rotation": 90, "texture": "#0"}, + "south": {"uv": [4, 2, 8, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 2, 8, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 8, 2], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_pipe/window.json b/src/main/resources/assets/tfmg/models/block/steel_pipe/window.json new file mode 100644 index 00000000..e1409363 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_pipe/window.json @@ -0,0 +1,51 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/steel_glass_fluid_pipe", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "name": "Outer", + "from": [4, 0, 4], + "to": [12, 16, 12], + "faces": { + "north": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Inner", + "from": [4.1, 0, 11.9], + "to": [11.9, 16, 4.1], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 8]}, + "faces": { + "north": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [10, 0, 4], + "to": [6, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 0, 10], + "to": [12, 16, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 0, 10]}, + "faces": { + "north": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 8], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_smart_fluid_pipe/block.json b/src/main/resources/assets/tfmg/models/block/steel_smart_fluid_pipe/block.json new file mode 100644 index 00000000..1b7e5363 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_smart_fluid_pipe/block.json @@ -0,0 +1,61 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "2": "tfmg:block/steel_smart_pipe_1", + "3": "tfmg:block/steel_smart_pipe_2", + "4": "tfmg:block/steel_pipes", + "5": "tfmg:block/steel_smart_pipe_3", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [3, 3, 13, 13], "texture": "#5"}, + "east": {"uv": [13, 3, 3, 13], "texture": "#2"}, + "south": {"uv": [3, 3, 13, 13], "texture": "#5"}, + "west": {"uv": [3, 3, 13, 13], "texture": "#2"}, + "up": {"uv": [13, 3, 3, 13], "rotation": 270, "texture": "#2"}, + "down": {"uv": [3, 3, 13, 13], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [4.5, 5, 7.15], + "to": [11.5, 12, 13.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [1, 9, 7, 15], "texture": "#3"}, + "east": {"uv": [0, 0, 6, 7], "texture": "#3"}, + "west": {"uv": [0, 0, 6, 7], "rotation": 180, "texture": "#3"}, + "up": {"uv": [0, 0, 6, 7], "rotation": 270, "texture": "#3"}, + "down": {"uv": [0, 0, 6, 7], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [3.9, 4.4, 4.15], + "to": [12.1, 12.6, 7.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [8, 8, 16, 16], "texture": "#3"}, + "east": {"uv": [13, 0, 16, 8], "texture": "#3"}, + "south": {"uv": [0, 8, 8, 16], "texture": "#3"}, + "west": {"uv": [13, 8, 16, 0], "rotation": 180, "texture": "#3"}, + "up": {"uv": [13, 8, 16, 0], "rotation": 270, "texture": "#3"}, + "down": {"uv": [13, 0, 16, 8], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [4, 4, 0], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 4, 0]}, + "faces": { + "east": {"uv": [4, 8, 8, 0], "rotation": 90, "texture": "#4"}, + "west": {"uv": [4, 0, 8, 8], "rotation": 90, "texture": "#4"}, + "up": {"uv": [4, 8, 8, 0], "texture": "#4"}, + "down": {"uv": [4, 0, 8, 8], "texture": "#4"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_smart_fluid_pipe/item.json b/src/main/resources/assets/tfmg/models/block/steel_smart_fluid_pipe/item.json new file mode 100644 index 00000000..30d8552f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_smart_fluid_pipe/item.json @@ -0,0 +1,119 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "tfmg:block/steel_pipes", + "2": "tfmg:block/steel_smart_pipe_1", + "3": "tfmg:block/steel_smart_pipe_2", + "4": "tfmg:block/steel_smart_pipe_3", + "particle": "tfmg:block/steel_smart_pipe_3" + }, + "elements": [ + { + "from": [3, 3, 0], + "to": [13, 13, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0]}, + "faces": { + "north": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [10.5, 11, 9.5, 16], "texture": "#1"}, + "south": {"uv": [11, 11, 16, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [9.5, 11, 10.5, 16], "texture": "#1"}, + "up": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 14], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 16]}, + "faces": { + "north": {"uv": [16, 11, 11, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [9.5, 11, 10.5, 16], "texture": "#1"}, + "south": {"uv": [16, 11, 11, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [10.5, 11, 9.5, 16], "texture": "#1"}, + "up": {"uv": [10.5, 11, 9.5, 16], "rotation": 90, "texture": "#1"}, + "down": {"uv": [9.5, 11, 10.5, 16], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 3, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [3, 3, 13, 13], "texture": "#4"}, + "east": {"uv": [13, 3, 3, 13], "texture": "#2"}, + "south": {"uv": [3, 3, 13, 13], "texture": "#4"}, + "west": {"uv": [3, 3, 13, 13], "texture": "#2"}, + "up": {"uv": [13, 3, 3, 13], "rotation": 270, "texture": "#2"}, + "down": {"uv": [3, 3, 13, 13], "rotation": 270, "texture": "#2"} + } + }, + { + "from": [4.5, 5, 7.15], + "to": [11.5, 12, 13.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [1, 9, 7, 15], "texture": "#3"}, + "east": {"uv": [0, 0, 6, 7], "texture": "#3"}, + "west": {"uv": [0, 0, 6, 7], "rotation": 180, "texture": "#3"}, + "up": {"uv": [0, 0, 6, 7], "rotation": 270, "texture": "#3"}, + "down": {"uv": [0, 0, 6, 7], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [3.9, 4.4, 4.15], + "to": [12.1, 12.6, 7.15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 12, 13]}, + "faces": { + "north": {"uv": [8, 8, 16, 16], "texture": "#3"}, + "east": {"uv": [13, 0, 16, 8], "texture": "#3"}, + "south": {"uv": [0, 8, 8, 16], "texture": "#3"}, + "west": {"uv": [13, 8, 16, 0], "rotation": 180, "texture": "#3"}, + "up": {"uv": [13, 8, 16, 0], "rotation": 270, "texture": "#3"}, + "down": {"uv": [13, 0, 16, 8], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [4, 4, 0], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 4, 0]}, + "faces": { + "east": {"uv": [4, 8, 8, 0], "rotation": 90, "texture": "#1"}, + "west": {"uv": [4, 0, 8, 8], "rotation": 90, "texture": "#1"}, + "up": {"uv": [4, 8, 8, 0], "texture": "#1"}, + "down": {"uv": [4, 0, 8, 8], "texture": "#1"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [0, 90, 0], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_trapdoor.json b/src/main/resources/assets/tfmg/models/block/steel_trapdoor.json new file mode 100644 index 00000000..1cd983db --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_trapdoor.json @@ -0,0 +1,23 @@ +{ + "parent": "block/thin_block", + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/heavy_plated_door_side", + "1": "tfmg:block/steel_trapdoor", + "particle": "tfmg:block/steel_trapdoor" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 3, 16], + "faces": { + "north": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_trapdoor/block_bottom.json b/src/main/resources/assets/tfmg/models/block/steel_trapdoor/block_bottom.json new file mode 100644 index 00000000..1cd983db --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_trapdoor/block_bottom.json @@ -0,0 +1,23 @@ +{ + "parent": "block/thin_block", + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/heavy_plated_door_side", + "1": "tfmg:block/steel_trapdoor", + "particle": "tfmg:block/steel_trapdoor" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 3, 16], + "faces": { + "north": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_trapdoor/block_open.json b/src/main/resources/assets/tfmg/models/block/steel_trapdoor/block_open.json new file mode 100644 index 00000000..ed258eb5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_trapdoor/block_open.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/heavy_plated_door_side", + "1": "tfmg:block/steel_trapdoor", + "particle": "tfmg:block/steel_trapdoor" + }, + "elements": [ + { + "from": [0, 0, 13], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#1"}, + "east": {"uv": [0, 0, 16, 3], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [0, 0, 16, 3], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 3], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_trapdoor/block_top.json b/src/main/resources/assets/tfmg/models/block/steel_trapdoor/block_top.json new file mode 100644 index 00000000..941b9301 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_trapdoor/block_top.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/heavy_plated_door_side", + "1": "tfmg:block/steel_trapdoor", + "particle": "tfmg:block/steel_trapdoor" + }, + "elements": [ + { + "from": [0, 13, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/steel_truss.json b/src/main/resources/assets/tfmg/models/block/steel_truss.json new file mode 100644 index 00000000..5a5c5e8e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/steel_truss.json @@ -0,0 +1,106 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/steel_truss", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [2, 0, 15], + "to": [14, 16, 15], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + }, + { + "from": [15, 0, 2], + "to": [15, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 0, 2], + "to": [1, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 0, 1], + "to": [14, 16, 1], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/surface_scanner/block.json b/src/main/resources/assets/tfmg/models/block/surface_scanner/block.json new file mode 100644 index 00000000..55905513 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/surface_scanner/block.json @@ -0,0 +1,349 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "2": "tfmg:block/surface_scanner_electron_tube", + "3": "tfmg:block/steel_casing", + "particle": "tfmg:block/heavy_machinery_casing" + }, + "elements": [ + { + "from": [7, 8, 7], + "to": [9, 11, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 7]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [10, 8, 7], + "to": [12, 11, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 9, 7]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [13, 8, 7], + "to": [15, 11, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 9, 7]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [1, 8, 7], + "to": [3, 11, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 7]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [4, 8, 7], + "to": [6, 11, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 9, 7]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [7, 8, 10], + "to": [9, 11, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 10]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [10, 8, 10], + "to": [12, 11, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 9, 10]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [13, 8, 10], + "to": [15, 11, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 9, 10]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [1, 8, 10], + "to": [3, 11, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 10]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [4, 8, 10], + "to": [6, 11, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 9, 10]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [7, 8, 13], + "to": [9, 11, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 13]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [10, 8, 13], + "to": [12, 11, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 9, 13]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [13, 8, 13], + "to": [15, 11, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 9, 13]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [1, 8, 13], + "to": [3, 11, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 13]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [4, 8, 13], + "to": [6, 11, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 9, 13]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [13, 8, 1], + "to": [15, 11, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 9, 1]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [10, 8, 1], + "to": [12, 11, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 9, 1]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [7, 8, 1], + "to": [9, 11, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 1]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [4, 8, 1], + "to": [6, 11, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 9, 1]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [1, 8, 1], + "to": [3, 11, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 1]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [7, 8, 4], + "to": [9, 11, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 4]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [10, 8, 4], + "to": [12, 11, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 9, 4]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [13, 8, 4], + "to": [15, 11, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 9, 4]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [1, 8, 4], + "to": [3, 11, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 4]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [4, 8, 4], + "to": [6, 11, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 9, 4]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 8, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 6, 0]}, + "faces": { + "north": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "east": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "west": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#particle"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/surface_scanner/block_old.json b/src/main/resources/assets/tfmg/models/block/surface_scanner/block_old.json new file mode 100644 index 00000000..48e1d442 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/surface_scanner/block_old.json @@ -0,0 +1,95 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "texture_size": [48, 32], + "textures": { + "2": "tfmg:block/surface_scanner", + "particle": "tfmg:block/surface_scanner" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 2, 16], + "faces": { + "north": {"uv": [5.33333, 13, 10.66667, 14], "texture": "#2"}, + "east": {"uv": [5.33333, 13, 10.66667, 14], "texture": "#2"}, + "south": {"uv": [5.33333, 13, 10.66667, 14], "texture": "#2"}, + "west": {"uv": [5.33333, 13, 10.66667, 14], "texture": "#2"}, + "up": {"uv": [5.33333, 8, 0, 0], "texture": "#2"}, + "down": {"uv": [5.33333, 0, 0, 8], "texture": "#2"} + } + }, + { + "from": [1, 2, 2], + "to": [15, 14, 15], + "faces": { + "north": {"uv": [0.66667, 8, 5.33333, 14], "texture": "#2"}, + "east": {"uv": [5, 8, 0.66667, 14], "texture": "#2"}, + "south": {"uv": [10, 0, 14.66667, 6], "texture": "#2"}, + "west": {"uv": [0.66667, 8, 5, 14], "texture": "#2"}, + "up": {"uv": [10, 6.5, 5.33333, 0], "texture": "#2"}, + "down": {"uv": [13, 9.5, 8.33333, 16], "texture": "#2"} + } + }, + { + "from": [14, 2, 15], + "to": [15, 14, 16], + "faces": { + "north": {"uv": [5, 8, 5.33333, 14], "texture": "#2"}, + "east": {"uv": [5, 8, 5.33333, 14], "texture": "#2"}, + "south": {"uv": [5, 8, 5.33333, 14], "texture": "#2"}, + "west": {"uv": [5, 8, 5.33333, 14], "texture": "#2"}, + "up": {"uv": [1, 14, 0.66667, 13.5], "texture": "#2"}, + "down": {"uv": [1, 13.5, 0.66667, 14], "texture": "#2"} + } + }, + { + "from": [2, 13, 15], + "to": [14, 14, 16], + "faces": { + "north": {"uv": [1, 13.5, 5, 14], "texture": "#2"}, + "east": {"uv": [5, 13.5, 5.33333, 14], "texture": "#2"}, + "south": {"uv": [1, 13.5, 5, 14], "texture": "#2"}, + "west": {"uv": [5, 13.5, 5.33333, 14], "texture": "#2"}, + "up": {"uv": [5, 14, 1, 13.5], "texture": "#2"}, + "down": {"uv": [5, 13.5, 1, 14], "texture": "#2"} + } + }, + { + "from": [1, 2, 15], + "to": [2, 14, 16], + "faces": { + "north": {"uv": [5, 8, 5.33333, 14], "texture": "#2"}, + "east": {"uv": [5, 8, 5.33333, 14], "texture": "#2"}, + "south": {"uv": [5, 8, 5.33333, 14], "texture": "#2"}, + "west": {"uv": [5, 8, 5.33333, 14], "texture": "#2"}, + "up": {"uv": [5.33333, 14, 5, 13.5], "texture": "#2"}, + "down": {"uv": [14.66667, 7.5, 14.33333, 8], "texture": "#2"} + } + }, + { + "from": [4, 2, 0], + "to": [12, 13, 2], + "faces": { + "north": {"uv": [5.33333, 6.5, 8, 12], "texture": "#2"}, + "east": {"uv": [8, 6.5, 8.66667, 12], "texture": "#2"}, + "south": {"uv": [0, 16, 2.66667, 21.5], "texture": "#2"}, + "west": {"uv": [8.66667, 6.5, 8, 12], "texture": "#2"}, + "up": {"uv": [8, 13, 5.33333, 12], "texture": "#2"}, + "down": {"uv": [8, 21, 5.33333, 22], "texture": "#2"} + } + }, + { + "from": [7, 14, 8], + "to": [9, 15, 10], + "faces": { + "north": {"uv": [7.33333, 2.5, 8, 3], "texture": "#2"}, + "east": {"uv": [7.33333, 2.5, 8, 3], "texture": "#2"}, + "south": {"uv": [7.33333, 2.5, 8, 3], "texture": "#2"}, + "west": {"uv": [7.33333, 2.5, 8, 3], "texture": "#2"}, + "up": {"uv": [7.33333, 2.5, 8, 3.5], "texture": "#2"}, + "down": {"uv": [7.33333, 2.5, 8, 3.5], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/surface_scanner/dial.json b/src/main/resources/assets/tfmg/models/block/surface_scanner/dial.json new file mode 100644 index 00000000..23867433 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/surface_scanner/dial.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [48, 32], + "textures": { + "0": "tfmg:block/surface_scanner", + "particle": "tfmg:block/surface_scanner" + }, + "elements": [ + { + "from": [7.5, 16, 4], + "to": [8.5, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [0, 0, 1, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "up": {"uv": [10, 8.5, 10.33333, 12.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [3.75, 7, 4, 9], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/surface_scanner/flag.json b/src/main/resources/assets/tfmg/models/block/surface_scanner/flag.json new file mode 100644 index 00000000..8c18526e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/surface_scanner/flag.json @@ -0,0 +1,46 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/surface_scanner", + "1": "tfmg:block/surface_scanner_flags/flag1", + "particle": "tfmg:block/surface_scanner" + }, + "elements": [ + { + "from": [15, 7.5, 7.5], + "to": [16, 8.5, 8.5], + "faces": { + "north": {"uv": [12.25, 6.25, 12.5, 6.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [12.5, 6.25, 12.25, 6.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [12.25, 6.25, 12.5, 6.5], "texture": "#0"}, + "west": {"uv": [12.25, 6.25, 12.5, 6.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [12.25, 6.25, 12.5, 6.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [12.25, 6.25, 12.5, 6.5], "texture": "#0"} + } + }, + { + "from": [15.5, 7.5, 8.5], + "to": [15.5, 8.5, 14.5], + "faces": { + "north": {"uv": [0, 0, 0, 3], "rotation": 180, "texture": "#0"}, + "east": {"uv": [12.25, 6.5, 12.5, 5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "west": {"uv": [12.25, 5, 12.5, 6.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 6], "texture": "#0"} + } + }, + { + "from": [15.5, 3.5, 11.5], + "to": [15.5, 7.5, 14.5], + "faces": { + "north": {"uv": [0, 0, 0, 3], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"}, + "south": {"uv": [0, 0, 0, 3], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#1"}, + "up": {"uv": [0, 0, 0, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 6], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/surface_scanner/item.json b/src/main/resources/assets/tfmg/models/block/surface_scanner/item.json new file mode 100644 index 00000000..55905513 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/surface_scanner/item.json @@ -0,0 +1,349 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "2": "tfmg:block/surface_scanner_electron_tube", + "3": "tfmg:block/steel_casing", + "particle": "tfmg:block/heavy_machinery_casing" + }, + "elements": [ + { + "from": [7, 8, 7], + "to": [9, 11, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 7]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [10, 8, 7], + "to": [12, 11, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 9, 7]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [13, 8, 7], + "to": [15, 11, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 9, 7]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [1, 8, 7], + "to": [3, 11, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 7]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [4, 8, 7], + "to": [6, 11, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 9, 7]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [7, 8, 10], + "to": [9, 11, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 10]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [10, 8, 10], + "to": [12, 11, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 9, 10]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [13, 8, 10], + "to": [15, 11, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 9, 10]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [1, 8, 10], + "to": [3, 11, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 10]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [4, 8, 10], + "to": [6, 11, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 9, 10]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [7, 8, 13], + "to": [9, 11, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 13]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [10, 8, 13], + "to": [12, 11, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 9, 13]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [13, 8, 13], + "to": [15, 11, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 9, 13]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [1, 8, 13], + "to": [3, 11, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 13]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [4, 8, 13], + "to": [6, 11, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 9, 13]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [13, 8, 1], + "to": [15, 11, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 9, 1]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [10, 8, 1], + "to": [12, 11, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 9, 1]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [7, 8, 1], + "to": [9, 11, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 1]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [4, 8, 1], + "to": [6, 11, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 9, 1]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [1, 8, 1], + "to": [3, 11, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 1]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [7, 8, 4], + "to": [9, 11, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 4]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [10, 8, 4], + "to": [12, 11, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 9, 4]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [13, 8, 4], + "to": [15, 11, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 9, 4]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [1, 8, 4], + "to": [3, 11, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 4]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [4, 8, 4], + "to": [6, 11, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 9, 4]}, + "faces": { + "north": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "east": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "south": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "west": {"uv": [0, 2, 2, 5], "texture": "#2"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#2"}, + "down": {"uv": [0, 5, 2, 7], "texture": "#2"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 8, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 6, 0]}, + "faces": { + "north": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "east": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "west": {"uv": [0, 8, 16, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#particle"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/surface_scanner/light.json b/src/main/resources/assets/tfmg/models/block/surface_scanner/light.json new file mode 100644 index 00000000..cafdf38a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/surface_scanner/light.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/surface_scanner_electron_tube", + "particle": "tfmg:block/surface_scanner_electron_tube" + }, + "elements": [ + { + "from": [6.9, 9.1, 6.9], + "to": [9.1, 11.1, 9.1], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 7]}, + "faces": { + "north": {"uv": [8, 0, 10, 2], "texture": "#0"}, + "east": {"uv": [8, 0, 10, 2], "texture": "#0"}, + "south": {"uv": [8, 0, 10, 2], "texture": "#0"}, + "west": {"uv": [8, 0, 10, 2], "texture": "#0"}, + "up": {"uv": [8, 0, 10, 2], "texture": "#0"}, + "down": {"uv": [8, 0, 10, 2], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/traffic_light/block.json b/src/main/resources/assets/tfmg/models/block/traffic_light/block.json new file mode 100644 index 00000000..c8b9fafb --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/traffic_light/block.json @@ -0,0 +1,141 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/traffic_light", + "particle": "tfmg:block/traffic_light" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [5, 0, 10, 8], "texture": "#0"}, + "east": {"uv": [10, 0, 15, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 5, 8], "texture": "#0"}, + "west": {"uv": [10, 0, 15, 8], "texture": "#0"}, + "up": {"uv": [0, 8, 5, 13], "texture": "#0"}, + "down": {"uv": [0, 8, 5, 13], "texture": "#0"} + } + }, + { + "from": [5, 15.5, 0], + "to": [11, 15.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 2]}, + "faces": { + "north": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "up": {"uv": [12, 10.5, 15, 9], "texture": "#0"}, + "down": {"uv": [12, 9, 15, 10.5], "texture": "#0"} + } + }, + { + "from": [11, 11.5, 0], + "to": [11, 15.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 11.5, 0], + "to": [5, 15.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 14, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 10.5, 0], + "to": [11, 10.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 2]}, + "faces": { + "north": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "up": {"uv": [12, 10.5, 15, 9], "texture": "#0"}, + "down": {"uv": [12, 9, 15, 10.5], "texture": "#0"} + } + }, + { + "from": [11, 6.5, 0], + "to": [11, 10.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 6.5, 0], + "to": [5, 10.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 5.5, 0], + "to": [11, 5.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 2]}, + "faces": { + "north": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "up": {"uv": [12, 10.5, 15, 9], "texture": "#0"}, + "down": {"uv": [12, 9, 15, 10.5], "texture": "#0"} + } + }, + { + "from": [11, 1.5, 0], + "to": [11, 5.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 1.5, 0], + "to": [5, 5.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 4, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/traffic_light/item.json b/src/main/resources/assets/tfmg/models/block/traffic_light/item.json new file mode 100644 index 00000000..c8b9fafb --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/traffic_light/item.json @@ -0,0 +1,141 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/traffic_light", + "particle": "tfmg:block/traffic_light" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [5, 0, 10, 8], "texture": "#0"}, + "east": {"uv": [10, 0, 15, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 5, 8], "texture": "#0"}, + "west": {"uv": [10, 0, 15, 8], "texture": "#0"}, + "up": {"uv": [0, 8, 5, 13], "texture": "#0"}, + "down": {"uv": [0, 8, 5, 13], "texture": "#0"} + } + }, + { + "from": [5, 15.5, 0], + "to": [11, 15.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 2]}, + "faces": { + "north": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "up": {"uv": [12, 10.5, 15, 9], "texture": "#0"}, + "down": {"uv": [12, 9, 15, 10.5], "texture": "#0"} + } + }, + { + "from": [11, 11.5, 0], + "to": [11, 15.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 11.5, 0], + "to": [5, 15.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 14, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 10.5, 0], + "to": [11, 10.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 2]}, + "faces": { + "north": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "up": {"uv": [12, 10.5, 15, 9], "texture": "#0"}, + "down": {"uv": [12, 9, 15, 10.5], "texture": "#0"} + } + }, + { + "from": [11, 6.5, 0], + "to": [11, 10.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 6.5, 0], + "to": [5, 10.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 5.5, 0], + "to": [11, 5.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 2]}, + "faces": { + "north": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "up": {"uv": [12, 10.5, 15, 9], "texture": "#0"}, + "down": {"uv": [12, 9, 15, 10.5], "texture": "#0"} + } + }, + { + "from": [11, 1.5, 0], + "to": [11, 5.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 1.5, 0], + "to": [5, 5.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 4, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/traffic_light/light.json b/src/main/resources/assets/tfmg/models/block/traffic_light/light.json new file mode 100644 index 00000000..0ef89a0b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/traffic_light/light.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "tfmg:block/traffic_light", + "particle": "tfmg:block/traffic_light" + }, + "elements": [ + { + "from": [6, 1, 2.5], + "to": [10, 5, 3.5], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 1]}, + "faces": { + "north": {"uv": [8, 12, 10, 14], "texture": "#1"}, + "east": {"uv": [8, 12, 8.5, 14], "texture": "#1"}, + "west": {"uv": [9.5, 12, 10, 14], "texture": "#1"}, + "up": {"uv": [8, 12, 10, 12.5], "texture": "#1"}, + "down": {"uv": [8, 13.5, 10, 14], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/transformer/block.json b/src/main/resources/assets/tfmg/models/block/transformer/block.json new file mode 100644 index 00000000..675e94ba --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/transformer/block.json @@ -0,0 +1,132 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_casing", + "1": "tfmg:block/transformer", + "particle": "tfmg:block/steel_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "east": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "south": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "west": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "up": {"uv": [0, 8, 8, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "from": [3, 15, 7], + "to": [5, 18, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 14, 7]}, + "faces": { + "north": {"uv": [5, 6, 6, 7.5], "texture": "#1"}, + "east": {"uv": [5, 6, 6, 7.5], "texture": "#1"}, + "south": {"uv": [1, 6, 2, 7.5], "texture": "#1"}, + "west": {"uv": [5, 4, 6, 5.5], "texture": "#1"}, + "up": {"uv": [10.5, 6, 11.5, 7], "texture": "#1"} + } + }, + { + "from": [11, 15, 7], + "to": [13, 18, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [11, 14, 7]}, + "faces": { + "north": {"uv": [1, 6, 2, 7.5], "texture": "#1"}, + "east": {"uv": [1, 4, 2, 5.5], "texture": "#1"}, + "south": {"uv": [5, 6, 6, 7.5], "texture": "#1"}, + "west": {"uv": [5, 6, 6, 7.5], "texture": "#1"}, + "up": {"uv": [6.5, 6, 7.5, 7], "texture": "#1"} + } + }, + { + "from": [5, 16, 7], + "to": [11, 18, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 14, 7]}, + "faces": { + "north": {"uv": [2, 6, 5, 7], "texture": "#1"}, + "south": {"uv": [2, 6, 5, 7], "texture": "#1"}, + "up": {"uv": [7.5, 6, 10.5, 7], "texture": "#1"}, + "down": {"uv": [0, 0, 12, 4], "texture": "#1"} + } + }, + { + "from": [0.5, 14, 4.5], + "to": [7.5, 15, 11.5], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 14, 4]}, + "faces": { + "north": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "east": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "south": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "west": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "up": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"}, + "down": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"} + } + }, + { + "from": [8.5, 14, 4.5], + "to": [15.5, 15, 11.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 14, 4]}, + "faces": { + "north": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "east": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "south": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "west": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "up": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"}, + "down": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"} + } + }, + { + "from": [0, 6, 6], + "to": [1, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 7, 7]}, + "faces": { + "north": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "east": {"uv": [7, 3, 9, 5], "rotation": 90, "texture": "#1"}, + "south": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "west": {"uv": [3, 3, 5, 5], "rotation": 90, "texture": "#1"}, + "up": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [15, 6, 6], + "to": [16, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 7, 7]}, + "faces": { + "north": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "east": {"uv": [3, 3, 5, 5], "rotation": 90, "texture": "#1"}, + "south": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "west": {"uv": [7, 3, 9, 5], "rotation": 90, "texture": "#1"}, + "up": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [11, 6, 7], + "to": [13, 14, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [11, 6, 7]}, + "faces": { + "north": {"uv": [7, 6, 11, 7], "rotation": 90, "texture": "#1"}, + "east": {"uv": [7, 6, 11, 7], "rotation": 90, "texture": "#1"}, + "south": {"uv": [7, 6, 11, 7], "rotation": 90, "texture": "#1"}, + "west": {"uv": [7, 6, 11, 7], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [3, 6, 7], + "to": [5, 14, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 6, 7]}, + "faces": { + "north": {"uv": [7, 6, 11, 7], "rotation": 90, "texture": "#1"}, + "east": {"uv": [7, 6, 11, 7], "rotation": 90, "texture": "#1"}, + "south": {"uv": [7, 6, 11, 7], "rotation": 90, "texture": "#1"}, + "west": {"uv": [7, 6, 11, 7], "rotation": 90, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/transformer/block_encased.json b/src/main/resources/assets/tfmg/models/block/transformer/block_encased.json new file mode 100644 index 00000000..1bfcfd09 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/transformer/block_encased.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/voltage_observer", + "1": "tfmg:block/aluminum_plating", + "particle": "tfmg:block/voltage_observer" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 8, 8, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "south": {"uv": [0, 8, 8, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/transformer/coil.json b/src/main/resources/assets/tfmg/models/block/transformer/coil.json new file mode 100644 index 00000000..a5aca95d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/transformer/coil.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/transformer", + "particle": "tfmg:block/transformer" + }, + "elements": [ + { + "from": [1, 6, 5], + "to": [7, 14, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 6, 7]}, + "faces": { + "north": {"uv": [13, 0.5, 16, 4.5], "texture": "#0"}, + "east": {"uv": [13, 0.5, 16, 4.5], "texture": "#0"}, + "south": {"uv": [13, 0.5, 16, 4.5], "texture": "#0"}, + "west": {"uv": [13, 0.5, 16, 4.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/transformer/item.json b/src/main/resources/assets/tfmg/models/block/transformer/item.json new file mode 100644 index 00000000..8c8a0eff --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/transformer/item.json @@ -0,0 +1,129 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_casing", + "1": "tfmg:block/transformer", + "particle": "tfmg:block/steel_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 6, 16], + "faces": { + "north": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "east": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "south": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "west": {"uv": [0, 0, 8, 3], "texture": "#1"}, + "up": {"uv": [0, 8, 8, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "from": [1, 6, 5], + "to": [7, 14, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 6, 7]}, + "faces": { + "north": {"uv": [13, 0.5, 16, 4.5], "texture": "#1"}, + "east": {"uv": [13, 0.5, 16, 4.5], "texture": "#1"}, + "south": {"uv": [13, 0.5, 16, 4.5], "texture": "#1"}, + "west": {"uv": [13, 0.5, 16, 4.5], "texture": "#1"} + } + }, + { + "from": [9, 6, 5], + "to": [15, 14, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [11, 6, 7]}, + "faces": { + "north": {"uv": [13, 0.5, 16, 4.5], "texture": "#1"}, + "east": {"uv": [13, 0.5, 16, 4.5], "texture": "#1"}, + "south": {"uv": [13, 0.5, 16, 4.5], "texture": "#1"}, + "west": {"uv": [13, 0.5, 16, 4.5], "texture": "#1"} + } + }, + { + "from": [3, 15, 7], + "to": [5, 18, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 14, 7]}, + "faces": { + "north": {"uv": [5, 6, 6, 7.5], "texture": "#1"}, + "east": {"uv": [5, 4, 6, 5.5], "texture": "#1"}, + "south": {"uv": [6, 6, 5, 7.5], "texture": "#1"}, + "west": {"uv": [5, 4, 6, 5.5], "texture": "#1"}, + "up": {"uv": [6.5, 6, 7.5, 7], "texture": "#1"} + } + }, + { + "from": [5, 16, 7], + "to": [11, 18, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 14, 7]}, + "faces": { + "north": {"uv": [2, 6, 5, 7], "texture": "#1"}, + "south": {"uv": [5, 6, 2, 7], "texture": "#1"}, + "up": {"uv": [7.5, 6, 10.5, 7], "texture": "#1"}, + "down": {"uv": [0, 0, 6, 2], "texture": "#1"} + } + }, + { + "from": [11, 15, 7], + "to": [13, 18, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [11, 14, 7]}, + "faces": { + "north": {"uv": [1, 6, 2, 7.5], "texture": "#1"}, + "east": {"uv": [1, 4, 2, 5.5], "texture": "#1"}, + "south": {"uv": [2, 6, 1, 7.5], "texture": "#1"}, + "west": {"uv": [5, 4, 6, 5.5], "texture": "#1"}, + "up": {"uv": [10.5, 6, 11.5, 7], "texture": "#1"} + } + }, + { + "from": [0.5, 14, 4.5], + "to": [7.5, 15, 11.5], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 14, 4]}, + "faces": { + "north": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "east": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "south": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "west": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "up": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"}, + "down": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"} + } + }, + { + "from": [8.5, 14, 4.5], + "to": [15.5, 15, 11.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 14, 4]}, + "faces": { + "north": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "east": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "south": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "west": {"uv": [10.5, 8, 14, 8.5], "texture": "#1"}, + "up": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"}, + "down": {"uv": [10.5, 8, 14, 11.5], "texture": "#1"} + } + }, + { + "from": [0, 6, 6], + "to": [1, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 7, 7]}, + "faces": { + "north": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "south": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "west": {"uv": [3, 3, 5, 5], "texture": "#1"}, + "up": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [15, 6, 6], + "to": [16, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 7, 7]}, + "faces": { + "north": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "east": {"uv": [3, 3, 5, 5], "texture": "#1"}, + "south": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"}, + "up": {"uv": [5, 3, 7, 3.5], "rotation": 90, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/transistor/block.json b/src/main/resources/assets/tfmg/models/block/transistor/block.json new file mode 100644 index 00000000..c8b9fafb --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/transistor/block.json @@ -0,0 +1,141 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/traffic_light", + "particle": "tfmg:block/traffic_light" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [5, 0, 10, 8], "texture": "#0"}, + "east": {"uv": [10, 0, 15, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 5, 8], "texture": "#0"}, + "west": {"uv": [10, 0, 15, 8], "texture": "#0"}, + "up": {"uv": [0, 8, 5, 13], "texture": "#0"}, + "down": {"uv": [0, 8, 5, 13], "texture": "#0"} + } + }, + { + "from": [5, 15.5, 0], + "to": [11, 15.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 2]}, + "faces": { + "north": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "up": {"uv": [12, 10.5, 15, 9], "texture": "#0"}, + "down": {"uv": [12, 9, 15, 10.5], "texture": "#0"} + } + }, + { + "from": [11, 11.5, 0], + "to": [11, 15.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 11.5, 0], + "to": [5, 15.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 14, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 10.5, 0], + "to": [11, 10.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 2]}, + "faces": { + "north": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "up": {"uv": [12, 10.5, 15, 9], "texture": "#0"}, + "down": {"uv": [12, 9, 15, 10.5], "texture": "#0"} + } + }, + { + "from": [11, 6.5, 0], + "to": [11, 10.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 6.5, 0], + "to": [5, 10.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 5.5, 0], + "to": [11, 5.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 2]}, + "faces": { + "north": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "up": {"uv": [12, 10.5, 15, 9], "texture": "#0"}, + "down": {"uv": [12, 9, 15, 10.5], "texture": "#0"} + } + }, + { + "from": [11, 1.5, 0], + "to": [11, 5.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 1.5, 0], + "to": [5, 5.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 4, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/transistor/item.json b/src/main/resources/assets/tfmg/models/block/transistor/item.json new file mode 100644 index 00000000..c8b9fafb --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/transistor/item.json @@ -0,0 +1,141 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/traffic_light", + "particle": "tfmg:block/traffic_light" + }, + "elements": [ + { + "from": [3, 0, 3], + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [5, 0, 10, 8], "texture": "#0"}, + "east": {"uv": [10, 0, 15, 8], "texture": "#0"}, + "south": {"uv": [0, 0, 5, 8], "texture": "#0"}, + "west": {"uv": [10, 0, 15, 8], "texture": "#0"}, + "up": {"uv": [0, 8, 5, 13], "texture": "#0"}, + "down": {"uv": [0, 8, 5, 13], "texture": "#0"} + } + }, + { + "from": [5, 15.5, 0], + "to": [11, 15.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 2]}, + "faces": { + "north": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "up": {"uv": [12, 10.5, 15, 9], "texture": "#0"}, + "down": {"uv": [12, 9, 15, 10.5], "texture": "#0"} + } + }, + { + "from": [11, 11.5, 0], + "to": [11, 15.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 14, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 11.5, 0], + "to": [5, 15.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 14, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 10.5, 0], + "to": [11, 10.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 2]}, + "faces": { + "north": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "up": {"uv": [12, 10.5, 15, 9], "texture": "#0"}, + "down": {"uv": [12, 9, 15, 10.5], "texture": "#0"} + } + }, + { + "from": [11, 6.5, 0], + "to": [11, 10.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 6.5, 0], + "to": [5, 10.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 9, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 5.5, 0], + "to": [11, 5.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 2]}, + "faces": { + "north": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 3, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 1.5, 0], "texture": "#0"}, + "up": {"uv": [12, 10.5, 15, 9], "texture": "#0"}, + "down": {"uv": [12, 9, 15, 10.5], "texture": "#0"} + } + }, + { + "from": [11, 1.5, 0], + "to": [11, 5.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + }, + { + "from": [5, 1.5, 0], + "to": [5, 5.5, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 4, 2]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [11.5, 10.5, 9.5, 9], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [11.5, 9, 9.5, 10.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/turbine_engine/block.json b/src/main/resources/assets/tfmg/models/block/turbine_engine/block.json new file mode 100644 index 00000000..0ae95c8b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/turbine_engine/block.json @@ -0,0 +1,48 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/engines/turbine_engine", + "particle": "tfmg:block/engines/turbine_engine" + }, + "elements": [ + { + "from": [0, 0, 2], + "to": [5, 5, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [-2, -2, 0]}, + "faces": { + "north": {"uv": [0.5, 13.5, 1.75, 14.75], "texture": "#0"}, + "east": {"uv": [0.5, 12, 3.5, 13.25], "texture": "#0"}, + "south": {"uv": [0.5, 13.5, 1.75, 14.75], "texture": "#0"}, + "west": {"uv": [0.5, 12, 3.5, 13.25], "texture": "#0"}, + "up": {"uv": [0.5, 12, 3.5, 13.25], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0.5, 12, 3.5, 13.25], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 0], + "to": [15, 15, 16], + "faces": { + "north": {"uv": [0, 2.75, 3.5, 6.25], "texture": "#0"}, + "east": {"uv": [3.75, 2.75, 7.75, 6.25], "texture": "#0"}, + "south": {"uv": [0, 2.75, 3.5, 6.25], "texture": "#0"}, + "west": {"uv": [7.75, 2.75, 3.75, 6.25], "texture": "#0"}, + "up": {"uv": [7.75, 6.5, 3.75, 10], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7.75, 10.25, 3.75, 13.75], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [11, 0, 2], + "to": [16, 5, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, -2, 0]}, + "faces": { + "north": {"uv": [0.5, 13.5, 1.75, 14.75], "texture": "#0"}, + "east": {"uv": [0.5, 12, 3.5, 13.25], "texture": "#0"}, + "south": {"uv": [0.5, 13.5, 1.75, 14.75], "texture": "#0"}, + "west": {"uv": [0.5, 12, 3.5, 13.25], "texture": "#0"}, + "up": {"uv": [0.5, 12, 3.5, 13.25], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0.5, 12, 3.5, 13.25], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/turbine_engine/block_back.json b/src/main/resources/assets/tfmg/models/block/turbine_engine/block_back.json new file mode 100644 index 00000000..cadfc677 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/turbine_engine/block_back.json @@ -0,0 +1,46 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engines/turbine_engine", + "particle": "tfmg:block/engines/turbine_engine" + }, + "elements": [ + { + "from": [5.3, 0, 5], + "to": [11.3, 3, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [16.3, 10, 14]}, + "faces": { + "north": {"uv": [9.25, 0, 10, 1.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8.25, 0, 9, 2.25], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9.25, 0, 10, 1.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8.25, 0, 9, 2.25], "rotation": 90, "texture": "#0"}, + "down": {"uv": [12.25, 6.25, 13.75, 8.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [3, 3, 2], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 23, 16]}, + "faces": { + "north": {"uv": [0, 0, 2.5, 2.5], "texture": "#0"}, + "east": {"uv": [6.25, 0, 2.75, 2.5], "texture": "#0"}, + "south": {"uv": [0.5, 3.25, 3, 5.75], "texture": "#0"}, + "west": {"uv": [2.75, 0, 6.25, 2.5], "texture": "#0"}, + "up": {"uv": [6.25, 0, 2.75, 2.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [2.75, 0, 6.25, 2.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 13, 7], + "to": [11, 14, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 23, 16]}, + "faces": { + "north": {"uv": [9.75, 0, 10, 1.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [9, 2.25, 9.25, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9.75, 0, 10, 1.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [9, 0, 9.25, 2.25], "rotation": 90, "texture": "#0"}, + "up": {"uv": [6.5, 0, 8, 2.25], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/turbine_engine/block_front.json b/src/main/resources/assets/tfmg/models/block/turbine_engine/block_front.json new file mode 100644 index 00000000..997c90f2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/turbine_engine/block_front.json @@ -0,0 +1,154 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engines/turbine_engine", + "particle": "tfmg:block/engines/turbine_engine" + }, + "elements": [ + { + "from": [3, 0, 8], + "to": [13, 2, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-2, -2, 1]}, + "faces": { + "north": {"uv": [14.5, 2.75, 15, 5.25], "rotation": 90, "texture": "#0"}, + "east": {"uv": [12.25, 5.5, 14.25, 6], "texture": "#0"}, + "south": {"uv": [14.5, 2.75, 15, 5.25], "rotation": 90, "texture": "#0"}, + "west": {"uv": [12.25, 5.5, 14.25, 6], "texture": "#0"}, + "down": {"uv": [12.25, 2.75, 14.25, 5.25], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [12, 2, 0], + "to": [14, 14, 16], + "faces": { + "north": {"uv": [0, 6.5, 0.5, 9.5], "texture": "#0"}, + "east": {"uv": [8, 2.75, 12, 5.75], "texture": "#0"}, + "south": {"uv": [8, 2.75, 8.5, 5.75], "texture": "#0"}, + "west": {"uv": [8, 5.75, 12, 8.75], "texture": "#0"}, + "up": {"uv": [12, 2.75, 8, 3.25], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8, 5.75, 12, 5.25], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [14, 6, 4], + "to": [15, 9, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 2, 2]}, + "faces": { + "north": {"uv": [12.25, 1, 12.5, 1.75], "texture": "#0"}, + "east": {"uv": [12.25, 1, 12.75, 1.75], "texture": "#0"}, + "south": {"uv": [12.25, 1, 12.5, 1.75], "texture": "#0"}, + "down": {"uv": [12.25, 1.25, 12.75, 1.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [14, 9, 4], + "to": [15, 11, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 4, 2]}, + "faces": { + "north": {"uv": [12.25, 0.5, 12.5, 1], "texture": "#0"}, + "east": {"uv": [15.25, 0.5, 12.25, 1], "texture": "#0"}, + "south": {"uv": [12.5, 0.5, 12.75, 1], "texture": "#0"}, + "up": {"uv": [12.25, 0.5, 15.25, 0.75], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15.25, 0.5, 12.25, 0.75], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 9, 4], + "to": [2, 11, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-1, 4, 2]}, + "faces": { + "north": {"uv": [12.25, 0.5, 12.5, 1], "texture": "#0"}, + "south": {"uv": [12.5, 0.5, 12.75, 1], "texture": "#0"}, + "west": {"uv": [12.25, 0.5, 15.25, 1], "texture": "#0"}, + "up": {"uv": [12.25, 0.5, 15.25, 0.75], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15.25, 0.5, 12.25, 0.75], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 6, 4], + "to": [2, 9, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [-1, 2, 2]}, + "faces": { + "north": {"uv": [12.25, 1, 12.5, 1.75], "texture": "#0"}, + "south": {"uv": [12.5, 1, 12.75, 1.75], "texture": "#0"}, + "west": {"uv": [12.25, 1, 12.75, 1.75], "texture": "#0"}, + "down": {"uv": [12.25, 1.25, 12.75, 1.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 2, 0], + "to": [4, 14, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-10, 0, 0]}, + "faces": { + "north": {"uv": [2.5, 6.5, 3, 9.5], "texture": "#0"}, + "east": {"uv": [8, 5.75, 12, 8.75], "texture": "#0"}, + "south": {"uv": [8, 2.75, 8.5, 5.75], "texture": "#0"}, + "west": {"uv": [12, 2.75, 8, 5.75], "texture": "#0"}, + "up": {"uv": [12, 5.25, 8, 5.75], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8, 3.25, 12, 2.75], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 12, 0], + "to": [12, 14, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, 0]}, + "faces": { + "north": {"uv": [0.5, 6.5, 2.5, 7], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "south": {"uv": [12.25, 2.75, 14.25, 3.25], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "up": {"uv": [12, 3.25, 8, 5.25], "rotation": 90, "texture": "#0"}, + "down": {"uv": [12, 6.25, 8, 8.25], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4, 2, 0], + "to": [12, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, -10, 0]}, + "faces": { + "north": {"uv": [0.5, 9, 2.5, 9.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "south": {"uv": [12.25, 2.75, 14.25, 3.25], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "up": {"uv": [8, 6.25, 12, 8.25], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8, 3.25, 12, 5.25], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [7, 7, 0], + "to": [9, 9, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 14]}, + "faces": { + "north": {"uv": [1.25, 7.75, 1.75, 8.25], "texture": "#0"}, + "east": {"uv": [0, 9.75, 0.5, 10.75], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 9.75, 0.5, 10.75], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 9.75, 0.5, 10.75], "texture": "#0"}, + "down": {"uv": [0, 9.75, 0.5, 10.75], "texture": "#0"} + } + }, + { + "from": [4, 4, 1], + "to": [12, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [0.5, 7, 2.5, 9], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 0], "texture": "#0"} + } + }, + { + "from": [4, 4, 2], + "to": [12, 12, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 2]}, + "faces": { + "north": {"uv": [0.75, 9.75, 2.75, 11.75], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 8], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/turbine_engine/block_normal.json b/src/main/resources/assets/tfmg/models/block/turbine_engine/block_normal.json new file mode 100644 index 00000000..0ae95c8b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/turbine_engine/block_normal.json @@ -0,0 +1,48 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/engines/turbine_engine", + "particle": "tfmg:block/engines/turbine_engine" + }, + "elements": [ + { + "from": [0, 0, 2], + "to": [5, 5, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [-2, -2, 0]}, + "faces": { + "north": {"uv": [0.5, 13.5, 1.75, 14.75], "texture": "#0"}, + "east": {"uv": [0.5, 12, 3.5, 13.25], "texture": "#0"}, + "south": {"uv": [0.5, 13.5, 1.75, 14.75], "texture": "#0"}, + "west": {"uv": [0.5, 12, 3.5, 13.25], "texture": "#0"}, + "up": {"uv": [0.5, 12, 3.5, 13.25], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0.5, 12, 3.5, 13.25], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 0], + "to": [15, 15, 16], + "faces": { + "north": {"uv": [0, 2.75, 3.5, 6.25], "texture": "#0"}, + "east": {"uv": [3.75, 2.75, 7.75, 6.25], "texture": "#0"}, + "south": {"uv": [0, 2.75, 3.5, 6.25], "texture": "#0"}, + "west": {"uv": [7.75, 2.75, 3.75, 6.25], "texture": "#0"}, + "up": {"uv": [7.75, 6.5, 3.75, 10], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7.75, 10.25, 3.75, 13.75], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [11, 0, 2], + "to": [16, 5, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, -2, 0]}, + "faces": { + "north": {"uv": [0.5, 13.5, 1.75, 14.75], "texture": "#0"}, + "east": {"uv": [0.5, 12, 3.5, 13.25], "texture": "#0"}, + "south": {"uv": [0.5, 13.5, 1.75, 14.75], "texture": "#0"}, + "west": {"uv": [0.5, 12, 3.5, 13.25], "texture": "#0"}, + "up": {"uv": [0.5, 12, 3.5, 13.25], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0.5, 12, 3.5, 13.25], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/turbine_engine/block_single.json b/src/main/resources/assets/tfmg/models/block/turbine_engine/block_single.json new file mode 100644 index 00000000..cadfc677 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/turbine_engine/block_single.json @@ -0,0 +1,46 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/engines/turbine_engine", + "particle": "tfmg:block/engines/turbine_engine" + }, + "elements": [ + { + "from": [5.3, 0, 5], + "to": [11.3, 3, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [16.3, 10, 14]}, + "faces": { + "north": {"uv": [9.25, 0, 10, 1.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8.25, 0, 9, 2.25], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9.25, 0, 10, 1.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8.25, 0, 9, 2.25], "rotation": 90, "texture": "#0"}, + "down": {"uv": [12.25, 6.25, 13.75, 8.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [3, 3, 2], + "to": [13, 13, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 23, 16]}, + "faces": { + "north": {"uv": [0, 0, 2.5, 2.5], "texture": "#0"}, + "east": {"uv": [6.25, 0, 2.75, 2.5], "texture": "#0"}, + "south": {"uv": [0.5, 3.25, 3, 5.75], "texture": "#0"}, + "west": {"uv": [2.75, 0, 6.25, 2.5], "texture": "#0"}, + "up": {"uv": [6.25, 0, 2.75, 2.5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [2.75, 0, 6.25, 2.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 13, 7], + "to": [11, 14, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 23, 16]}, + "faces": { + "north": {"uv": [9.75, 0, 10, 1.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [9, 2.25, 9.25, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [9.75, 0, 10, 1.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [9, 0, 9.25, 2.25], "rotation": 90, "texture": "#0"}, + "up": {"uv": [6.5, 0, 8, 2.25], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/turbine_engine/item.json b/src/main/resources/assets/tfmg/models/block/turbine_engine/item.json new file mode 100644 index 00000000..fd71c756 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/turbine_engine/item.json @@ -0,0 +1,208 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/shaft_top", + "1": "tfmg:block/shaft", + "2": "tfmg:block/engines/turbine_engine", + "particle": "tfmg:block/shaft_top" + }, + "elements": [ + { + "from": [12, 2, -8], + "to": [14, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -8]}, + "faces": { + "north": {"uv": [0, 6.5, 0.5, 9.5], "texture": "#2"}, + "east": {"uv": [8, 2.75, 12, 5.75], "texture": "#2"}, + "south": {"uv": [8, 2.75, 8.5, 5.75], "texture": "#2"}, + "west": {"uv": [8, 5.75, 12, 8.75], "texture": "#2"}, + "up": {"uv": [12, 2.75, 8, 3.25], "rotation": 90, "texture": "#2"}, + "down": {"uv": [8, 5.75, 12, 5.25], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [2, 2, -8], + "to": [4, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-10, 0, -8]}, + "faces": { + "north": {"uv": [2.5, 6.5, 3, 9.5], "texture": "#2"}, + "east": {"uv": [8, 5.75, 12, 8.75], "texture": "#2"}, + "south": {"uv": [8.5, 2.75, 8, 5.75], "texture": "#2"}, + "west": {"uv": [12, 2.75, 8, 5.75], "texture": "#2"}, + "up": {"uv": [12, 5.25, 8, 5.75], "rotation": 90, "texture": "#2"}, + "down": {"uv": [8, 3.25, 12, 2.75], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [3, 3, 8], + "to": [13, 13, 22], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 8]}, + "faces": { + "north": {"uv": [0.5, 3.25, 3, 5.75], "texture": "#2"}, + "east": {"uv": [2.75, 0, 6.25, 2.5], "texture": "#2"}, + "south": {"uv": [0, 0, 2.5, 2.5], "texture": "#2"}, + "west": {"uv": [6.25, 0, 2.75, 2.5], "texture": "#2"}, + "up": {"uv": [6.25, 0, 2.75, 2.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [2.75, 0, 6.25, 2.5], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [5.3, 0, 10], + "to": [11.3, 3, 19], + "rotation": {"angle": 0, "axis": "y", "origin": [0.3, 10, 10]}, + "faces": { + "north": {"uv": [9.25, 0, 10, 1.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [8.25, 0, 9, 2.25], "rotation": 90, "texture": "#2"}, + "south": {"uv": [9.25, 0, 10, 1.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [8.25, 0, 9, 2.25], "rotation": 90, "texture": "#2"}, + "down": {"uv": [12.25, 6.25, 13.75, 8.5], "texture": "#2"} + } + }, + { + "from": [5, 13, 8], + "to": [11, 14, 17], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 23, 8]}, + "faces": { + "north": {"uv": [9.75, 0, 10, 1.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9, 0, 9.25, 2.25], "rotation": 90, "texture": "#2"}, + "south": {"uv": [9.75, 0, 10, 1.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9, 2.25, 9.25, 0], "rotation": 90, "texture": "#2"}, + "up": {"uv": [6.5, 0, 8, 2.25], "texture": "#2"} + } + }, + { + "from": [3, 0, 0], + "to": [13, 2, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-2, -2, -7]}, + "faces": { + "north": {"uv": [14.5, 2.75, 15, 5.25], "rotation": 90, "texture": "#2"}, + "east": {"uv": [12.25, 5.5, 14.25, 6], "texture": "#2"}, + "south": {"uv": [14.5, 2.75, 15, 5.25], "rotation": 90, "texture": "#2"}, + "west": {"uv": [12.25, 5.5, 14.25, 6], "texture": "#2"}, + "down": {"uv": [12.25, 2.75, 14.25, 5.25], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [1, 9, -4], + "to": [2, 11, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-1, 4, -6]}, + "faces": { + "north": {"uv": [12.25, 0.5, 12.5, 1], "texture": "#2"}, + "south": {"uv": [12.5, 0.5, 12.75, 1], "texture": "#2"}, + "west": {"uv": [12.25, 0.5, 15.25, 1], "texture": "#2"}, + "up": {"uv": [12.25, 0.5, 15.25, 0.75], "rotation": 90, "texture": "#2"}, + "down": {"uv": [15.25, 0.5, 12.25, 0.75], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [1, 6, -4], + "to": [2, 9, -2], + "rotation": {"angle": 0, "axis": "y", "origin": [-1, 2, -6]}, + "faces": { + "north": {"uv": [12.25, 1, 12.5, 1.75], "texture": "#2"}, + "south": {"uv": [12.5, 1, 12.75, 1.75], "texture": "#2"}, + "west": {"uv": [12.25, 1, 12.75, 1.75], "texture": "#2"}, + "down": {"uv": [12.25, 1.25, 12.75, 1.5], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [14, 9, -4], + "to": [15, 11, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 4, -6]}, + "faces": { + "north": {"uv": [12.25, 0.5, 12.5, 1], "texture": "#2"}, + "east": {"uv": [15.25, 0.5, 12.25, 1], "texture": "#2"}, + "south": {"uv": [12.5, 0.5, 12.75, 1], "texture": "#2"}, + "up": {"uv": [12.25, 0.5, 15.25, 0.75], "rotation": 90, "texture": "#2"}, + "down": {"uv": [15.25, 0.5, 12.25, 0.75], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [14, 6, -4], + "to": [15, 9, -2], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 2, -6]}, + "faces": { + "north": {"uv": [12.25, 1, 12.5, 1.75], "texture": "#2"}, + "east": {"uv": [12.25, 1, 12.75, 1.75], "texture": "#2"}, + "south": {"uv": [12.25, 1, 12.5, 1.75], "texture": "#2"}, + "down": {"uv": [12.25, 1.25, 12.75, 1.5], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [4, 4, -6], + "to": [12, 12, -6], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -6]}, + "faces": { + "north": {"uv": [0.75, 9.75, 2.75, 11.75], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 8], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 8], "texture": "#2"}, + "up": {"uv": [0, 0, 8, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 8, 0], "texture": "#2"} + } + }, + { + "from": [4, 12, -8], + "to": [12, 14, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -8]}, + "faces": { + "north": {"uv": [0.5, 6.5, 2.5, 7], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "south": {"uv": [12.25, 2.75, 14.25, 3.25], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "up": {"uv": [12, 3.25, 8, 5.25], "rotation": 90, "texture": "#2"}, + "down": {"uv": [12, 6.25, 8, 8.25], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [4, 2, -8], + "to": [12, 4, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, -10, -8]}, + "faces": { + "north": {"uv": [0.5, 9, 2.5, 9.5], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "south": {"uv": [12.25, 2.75, 14.25, 3.25], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "up": {"uv": [8, 6.25, 12, 8.25], "rotation": 90, "texture": "#2"}, + "down": {"uv": [8, 3.25, 12, 5.25], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [4, 4, -7], + "to": [12, 12, -7], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -7]}, + "faces": { + "north": {"uv": [0.5, 7, 2.5, 9], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 8], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 8], "texture": "#2"}, + "up": {"uv": [0, 0, 8, 0], "texture": "#2"}, + "down": {"uv": [0, 0, 8, 0], "texture": "#2"} + } + }, + { + "from": [6, 6, 21], + "to": [10, 10, 24], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 22]}, + "faces": { + "east": {"uv": [6, 0, 10, 3], "rotation": 90, "texture": "#1"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#0"}, + "west": {"uv": [6, 0, 10, 3], "rotation": 90, "texture": "#1"}, + "up": {"uv": [6, 0, 10, 3], "texture": "#1"}, + "down": {"uv": [6, 0, 10, 3], "texture": "#1"} + } + }, + { + "from": [7, 7, -8], + "to": [9, 9, -4], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 6]}, + "faces": { + "north": {"uv": [1.25, 7.75, 1.75, 8.25], "texture": "#2"}, + "east": {"uv": [0, 9.75, 0.5, 10.75], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 9.75, 0.5, 10.75], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 9.75, 0.5, 10.75], "texture": "#2"}, + "down": {"uv": [0, 9.75, 0.5, 10.75], "texture": "#2"} + } + } + ], + "display": {} +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/turbine_engine/turbine_engine.json b/src/main/resources/assets/tfmg/models/block/turbine_engine/turbine_engine.json new file mode 100644 index 00000000..b8104d06 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/turbine_engine/turbine_engine.json @@ -0,0 +1,245 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/shaft_top", + "1": "tfmg:block/shaft", + "2": "tfmg:block/engines/turbine_engine", + "particle": "tfmg:block/shaft_top" + }, + "elements": [ + { + "from": [28, 2, -16], + "to": [30, 14, 0], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [0, 6.5, 0.5, 9.5], "texture": "#2"}, + "east": {"uv": [8, 2.75, 12, 5.75], "texture": "#2"}, + "south": {"uv": [8, 2.75, 8.5, 5.75], "texture": "#2"}, + "west": {"uv": [8, 5.75, 12, 8.75], "texture": "#2"}, + "up": {"uv": [12, 2.75, 8, 3.25], "rotation": 90, "texture": "#2"}, + "down": {"uv": [8, 5.75, 12, 5.25], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [18, 2, -16], + "to": [20, 14, 0], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, -16]}, + "faces": { + "north": {"uv": [2.5, 6.5, 3, 9.5], "texture": "#2"}, + "east": {"uv": [8, 5.75, 12, 8.75], "texture": "#2"}, + "south": {"uv": [8, 2.75, 8.5, 5.75], "texture": "#2"}, + "west": {"uv": [12, 2.75, 8, 5.75], "texture": "#2"}, + "up": {"uv": [12, 5.25, 8, 5.75], "rotation": 90, "texture": "#2"}, + "down": {"uv": [8, 3.25, 12, 2.75], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [19, 3, 16], + "to": [29, 13, 30], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 16]}, + "faces": { + "north": {"uv": [0.5, 3.25, 3, 5.75], "texture": "#2"}, + "east": {"uv": [2.75, 0, 6.25, 2.5], "texture": "#2"}, + "south": {"uv": [0, 0, 2.5, 2.5], "texture": "#2"}, + "west": {"uv": [6.25, 0, 2.75, 2.5], "texture": "#2"}, + "up": {"uv": [6.25, 0, 2.75, 2.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [2.75, 0, 6.25, 2.5], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [21.3, 0, 18], + "to": [27.3, 3, 27], + "rotation": {"angle": 0, "axis": "y", "origin": [16.3, 10, 18]}, + "faces": { + "north": {"uv": [9.25, 0, 10, 1.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [8.25, 0, 9, 2.25], "rotation": 90, "texture": "#2"}, + "south": {"uv": [9.25, 0, 10, 1.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [8.25, 0, 9, 2.25], "rotation": 90, "texture": "#2"}, + "down": {"uv": [12.25, 6.25, 13.75, 8.5], "texture": "#2"} + } + }, + { + "from": [21, 13, 16], + "to": [27, 14, 25], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 23, 16]}, + "faces": { + "north": {"uv": [9.75, 0, 10, 1.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9, 0, 9.25, 2.25], "rotation": 90, "texture": "#2"}, + "south": {"uv": [9.75, 0, 10, 1.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9, 2.25, 9.25, 0], "rotation": 90, "texture": "#2"}, + "up": {"uv": [6.5, 0, 8, 2.25], "texture": "#2"} + } + }, + { + "from": [17, 1, 0], + "to": [31, 15, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [0, 2.75, 3.5, 6.25], "texture": "#2"}, + "east": {"uv": [3.75, 2.75, 7.75, 6.25], "texture": "#2"}, + "south": {"uv": [0, 2.75, 3.5, 6.25], "texture": "#2"}, + "west": {"uv": [7.75, 2.75, 3.75, 6.25], "texture": "#2"}, + "up": {"uv": [7.75, 6.5, 3.75, 10], "rotation": 90, "texture": "#2"}, + "down": {"uv": [7.75, 10.25, 3.75, 13.75], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [19, 0, -8], + "to": [29, 2, 0], + "rotation": {"angle": 0, "axis": "y", "origin": [14, -2, -15]}, + "faces": { + "north": {"uv": [14.5, 2.75, 15, 5.25], "rotation": 90, "texture": "#2"}, + "east": {"uv": [12.25, 5.5, 14.25, 6], "texture": "#2"}, + "south": {"uv": [14.5, 2.75, 15, 5.25], "rotation": 90, "texture": "#2"}, + "west": {"uv": [12.25, 5.5, 14.25, 6], "texture": "#2"}, + "down": {"uv": [12.25, 2.75, 14.25, 5.25], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [17, 9, -12], + "to": [18, 11, 0], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 4, -14]}, + "faces": { + "north": {"uv": [12.25, 0.5, 12.5, 1], "texture": "#2"}, + "south": {"uv": [12.5, 0.5, 12.75, 1], "texture": "#2"}, + "west": {"uv": [12.25, 0.5, 15.25, 1], "texture": "#2"}, + "up": {"uv": [12.25, 0.5, 15.25, 0.75], "rotation": 90, "texture": "#2"}, + "down": {"uv": [15.25, 0.5, 12.25, 0.75], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [17, 6, -12], + "to": [18, 9, -10], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 2, -14]}, + "faces": { + "north": {"uv": [12.25, 1, 12.5, 1.75], "texture": "#2"}, + "south": {"uv": [12.5, 1, 12.75, 1.75], "texture": "#2"}, + "west": {"uv": [12.25, 1, 12.75, 1.75], "texture": "#2"}, + "down": {"uv": [12.25, 1.25, 12.75, 1.5], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [30, 9, -12], + "to": [31, 11, 0], + "rotation": {"angle": 0, "axis": "y", "origin": [28, 4, -14]}, + "faces": { + "north": {"uv": [12.25, 0.5, 12.5, 1], "texture": "#2"}, + "east": {"uv": [15.25, 0.5, 12.25, 1], "texture": "#2"}, + "south": {"uv": [12.5, 0.5, 12.75, 1], "texture": "#2"}, + "up": {"uv": [12.25, 0.5, 15.25, 0.75], "rotation": 90, "texture": "#2"}, + "down": {"uv": [15.25, 0.5, 12.25, 0.75], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [30, 6, -12], + "to": [31, 9, -10], + "rotation": {"angle": 0, "axis": "y", "origin": [28, 2, -14]}, + "faces": { + "north": {"uv": [12.25, 1, 12.5, 1.75], "texture": "#2"}, + "east": {"uv": [12.25, 1, 12.75, 1.75], "texture": "#2"}, + "south": {"uv": [12.25, 1, 12.5, 1.75], "texture": "#2"}, + "down": {"uv": [12.25, 1.25, 12.75, 1.5], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [27, 0, 2], + "to": [32, 5, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [25, -2, 0]}, + "faces": { + "north": {"uv": [0.5, 13.5, 1.75, 14.75], "texture": "#2"}, + "east": {"uv": [0.5, 12, 3.5, 13.25], "texture": "#2"}, + "south": {"uv": [0.5, 13.5, 1.75, 14.75], "texture": "#2"}, + "west": {"uv": [0.5, 12, 3.5, 13.25], "texture": "#2"}, + "up": {"uv": [0.5, 12, 3.5, 13.25], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0.5, 12, 3.5, 13.25], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [16, 0, 2], + "to": [21, 5, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [14, -2, 0]}, + "faces": { + "north": {"uv": [0.5, 13.5, 1.75, 14.75], "texture": "#2"}, + "east": {"uv": [0.5, 12, 3.5, 13.25], "texture": "#2"}, + "south": {"uv": [0.5, 13.5, 1.75, 14.75], "texture": "#2"}, + "west": {"uv": [0.5, 12, 3.5, 13.25], "texture": "#2"}, + "up": {"uv": [0.5, 12, 3.5, 13.25], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0.5, 12, 3.5, 13.25], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [20, 4, -14], + "to": [28, 12, -14], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -14]}, + "faces": { + "north": {"uv": [0.75, 9.75, 2.75, 11.75], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 8], "texture": "#missing"}, + "west": {"uv": [0, 0, 0, 8], "texture": "#missing"}, + "up": {"uv": [0, 0, 8, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 8, 0], "texture": "#missing"} + } + }, + { + "from": [20, 12, -16], + "to": [28, 14, 0], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, -16]}, + "faces": { + "north": {"uv": [0.5, 6.5, 2.5, 7], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "south": {"uv": [12.25, 2.75, 14.25, 3.25], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "up": {"uv": [12, 3.25, 8, 5.25], "rotation": 90, "texture": "#2"}, + "down": {"uv": [12, 6.25, 8, 8.25], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [20, 2, -16], + "to": [28, 4, 0], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -10, -16]}, + "faces": { + "north": {"uv": [0.5, 9, 2.5, 9.5], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "south": {"uv": [12.25, 2.75, 14.25, 3.25], "texture": "#2"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#2"}, + "up": {"uv": [8, 6.25, 12, 8.25], "rotation": 90, "texture": "#2"}, + "down": {"uv": [8, 3.25, 12, 5.25], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [20, 4, -15], + "to": [28, 12, -15], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -15]}, + "faces": { + "north": {"uv": [0.5, 7, 2.5, 9], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 8], "texture": "#missing"}, + "west": {"uv": [0, 0, 0, 8], "texture": "#missing"}, + "up": {"uv": [0, 0, 8, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 8, 0], "texture": "#missing"} + } + }, + { + "from": [22, 6, 29], + "to": [26, 10, 32], + "rotation": {"angle": -22.5, "axis": "z", "origin": [24, 8, 30]}, + "faces": { + "east": {"uv": [6, 0, 10, 3], "rotation": 90, "texture": "#1"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#0"}, + "west": {"uv": [6, 0, 10, 3], "rotation": 90, "texture": "#1"}, + "up": {"uv": [6, 0, 10, 3], "texture": "#1"}, + "down": {"uv": [6, 0, 10, 3], "texture": "#1"} + } + }, + { + "from": [23, 7, -16], + "to": [25, 9, -12], + "rotation": {"angle": 0, "axis": "y", "origin": [23, 7, -2]}, + "faces": { + "north": {"uv": [1.25, 7.75, 1.75, 8.25], "texture": "#2"}, + "east": {"uv": [0, 9.75, 0.5, 10.75], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 9.75, 0.5, 10.75], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 9.75, 0.5, 10.75], "texture": "#2"}, + "down": {"uv": [0, 9.75, 0.5, 10.75], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/voltage_observer/block.json b/src/main/resources/assets/tfmg/models/block/voltage_observer/block.json new file mode 100644 index 00000000..9c1ede1e --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/voltage_observer/block.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "tfmg:block/voltage_observer", + "particle": "tfmg:block/voltage_observer" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 8, 8, 16], "texture": "#0"}, + "east": {"uv": [0.00001, 8, 8, 16], "texture": "#0"}, + "south": {"uv": [0, 8, 7.99999, 16], "texture": "#0"}, + "west": {"uv": [0, 8, 7.99999, 16], "texture": "#0"}, + "up": {"uv": [8.00001, 8, 0, 0], "texture": "#0"}, + "down": {"uv": [16, 0, 7.99999, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/voltage_observer/block_on.json b/src/main/resources/assets/tfmg/models/block/voltage_observer/block_on.json new file mode 100644 index 00000000..d4af49b2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/voltage_observer/block_on.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "tfmg:block/voltage_observer_on", + "particle": "tfmg:block/voltage_observer_on" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 8, 8, 16], "texture": "#0"}, + "east": {"uv": [0.00001, 8, 8, 16], "texture": "#0"}, + "south": {"uv": [0, 8, 7.99999, 16], "texture": "#0"}, + "west": {"uv": [0, 8, 7.99999, 16], "texture": "#0"}, + "up": {"uv": [8.00001, 8, 0, 0], "texture": "#0"}, + "down": {"uv": [16, 0, 7.99999, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/voltage_observer/item.json b/src/main/resources/assets/tfmg/models/block/voltage_observer/item.json new file mode 100644 index 00000000..49299f4c --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/voltage_observer/item.json @@ -0,0 +1,23 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [64, 64], + "textures": { + "0": "tfmg:block/voltage_observer", + "particle": "tfmg:block/voltage_observer" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [8.00001, 0, 16, 8], "texture": "#0"}, + "south": {"uv": [8.00001, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [8.00001, 0, 16, 8], "texture": "#0"}, + "up": {"uv": [8.00001, 8, 0, 0], "texture": "#0"}, + "down": {"uv": [16, 0, 7.99999, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/voltmeter/block.json b/src/main/resources/assets/tfmg/models/block/voltmeter/block.json new file mode 100644 index 00000000..979379a5 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/voltmeter/block.json @@ -0,0 +1,83 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [64, 64], + "textures": { + "0": "tfmg:block/voltmeter", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [0, 13, 12], + "to": [16, 14, 13], + "faces": { + "north": {"uv": [0, 0, 4, 0.25], "texture": "#0"}, + "east": {"uv": [0, 6, 0.25, 6.25], "texture": "#0"}, + "south": {"uv": [5.75, 2.75, 9.75, 3], "texture": "#0"}, + "west": {"uv": [0, 6, 0.25, 6.25], "texture": "#0"}, + "up": {"uv": [4, 3, 0, 2.75], "texture": "#0"}, + "down": {"uv": [4, 2.5, 0, 2.75], "texture": "#0"} + } + }, + { + "from": [0, 3, 12], + "to": [2, 13, 13], + "faces": { + "north": {"uv": [3.5, 0.25, 4, 2.75], "texture": "#0"}, + "east": {"uv": [3.5, 0.25, 3.75, 2.75], "texture": "#0"}, + "south": {"uv": [4.75, 5, 5.25, 7.5], "texture": "#0"}, + "west": {"uv": [0, 6, 0.25, 8.5], "texture": "#0"}, + "up": {"uv": [1.25, 6.25, 0.75, 6], "texture": "#0"}, + "down": {"uv": [1.75, 6, 1.25, 6.25], "texture": "#0"} + } + }, + { + "from": [14, 3, 12], + "to": [16, 13, 13], + "faces": { + "north": {"uv": [0, 0.25, 0.5, 2.75], "texture": "#0"}, + "east": {"uv": [0, 6, 0.25, 8.5], "texture": "#0"}, + "south": {"uv": [5.25, 5, 5.75, 7.5], "texture": "#0"}, + "west": {"uv": [0.25, 0.25, 0.5, 2.75], "texture": "#0"}, + "up": {"uv": [2.25, 6.25, 1.75, 6], "texture": "#0"}, + "down": {"uv": [2.75, 6, 2.25, 6.25], "texture": "#0"} + } + }, + { + "from": [0, 2, 12], + "to": [16, 3, 13], + "faces": { + "north": {"uv": [0, 2.75, 4, 3], "texture": "#0"}, + "east": {"uv": [0.25, 8.25, 0.5, 8.5], "texture": "#0"}, + "south": {"uv": [6, 2.5, 10, 3], "texture": "#0"}, + "west": {"uv": [0, 8.25, 0.25, 8.5], "texture": "#0"}, + "up": {"uv": [0.5, 2.5, 3.5, 2.75], "texture": "#0"}, + "down": {"uv": [4, 2.75, 0, 3], "texture": "#0"} + } + }, + { + "from": [0, 2, 13], + "to": [16, 14, 16], + "faces": { + "north": {"uv": [0, 0, 4, 3], "texture": "#0"}, + "east": {"uv": [4, 1.5, 4.75, 4.5], "texture": "#0"}, + "south": {"uv": [0, 3, 4, 6], "texture": "#0"}, + "west": {"uv": [4, 4.5, 4.75, 7.5], "texture": "#0"}, + "up": {"uv": [8, 0.75, 4, 0], "texture": "#0"}, + "down": {"uv": [8, 0.75, 4, 1.5], "texture": "#0"} + } + }, + { + "from": [7, 5, 12], + "to": [9, 7, 13], + "faces": { + "north": {"uv": [5.75, 2.75, 6.25, 3.25], "texture": "#0"}, + "east": {"uv": [5.75, 2.75, 6, 3.25], "texture": "#0"}, + "south": {"uv": [5.75, 2.75, 6.25, 3.25], "texture": "#0"}, + "west": {"uv": [5.75, 2.75, 6, 3.25], "texture": "#0"}, + "up": {"uv": [5.75, 2.75, 6.25, 3], "texture": "#0"}, + "down": {"uv": [5.75, 2.75, 6.25, 3], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/voltmeter/dial.json b/src/main/resources/assets/tfmg/models/block/voltmeter/dial.json new file mode 100644 index 00000000..4b14b522 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/voltmeter/dial.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "tfmg:block/voltmeter", + "particle": "tfmg:block/voltmeter" + }, + "elements": [ + { + "name": "GaugeDial", + "from": [12.75, 5.25, 2.5], + "to": [13.45, 6.25, 8.5], + "rotation": {"angle": 0, "axis": "x", "origin": [16.1, 5.75, 8.25]}, + "faces": { + "north": {"uv": [7, 2.5, 7.25, 2.75], "rotation": 180, "texture": "#0"}, + "east": {"uv": [7, 2.5, 7.25, 4], "rotation": 90, "texture": "#0"}, + "south": {"uv": [4, 11, 5, 12], "rotation": 180, "texture": "#0"}, + "west": {"uv": [7, 4, 7.25, 2.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [7, 2.5, 7.25, 4], "texture": "#0"}, + "down": {"uv": [7, 4, 7.25, 2.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/voltmeter/item.json b/src/main/resources/assets/tfmg/models/block/voltmeter/item.json new file mode 100644 index 00000000..1b1f8dc2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/voltmeter/item.json @@ -0,0 +1,76 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [64, 64], + "textures": { + "0": "tfmg:block/voltmeter", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [0, 13, 6], + "to": [16, 14, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -6]}, + "faces": { + "north": {"uv": [0, 0, 4, 0.25], "texture": "#0"}, + "east": {"uv": [0, 6, 0.25, 6.25], "texture": "#0"}, + "south": {"uv": [5.75, 2.75, 9.75, 3], "texture": "#0"}, + "west": {"uv": [0, 6, 0.25, 6.25], "texture": "#0"}, + "up": {"uv": [4, 3, 0, 2.75], "texture": "#0"}, + "down": {"uv": [4, 2.5, 0, 2.75], "texture": "#0"} + } + }, + { + "from": [0, 3, 6], + "to": [2, 13, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -6]}, + "faces": { + "north": {"uv": [3.5, 0.25, 4, 2.75], "texture": "#0"}, + "east": {"uv": [3.5, 0.25, 3.75, 2.75], "texture": "#0"}, + "south": {"uv": [4.75, 5, 5.25, 7.5], "texture": "#0"}, + "west": {"uv": [0, 6, 0.25, 8.5], "texture": "#0"}, + "up": {"uv": [1.25, 6.25, 0.75, 6], "texture": "#0"}, + "down": {"uv": [1.75, 6, 1.25, 6.25], "texture": "#0"} + } + }, + { + "from": [14, 3, 6], + "to": [16, 13, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -6]}, + "faces": { + "north": {"uv": [0, 0.25, 0.5, 2.75], "texture": "#0"}, + "east": {"uv": [0, 6, 0.25, 8.5], "texture": "#0"}, + "south": {"uv": [5.25, 5, 5.75, 7.5], "texture": "#0"}, + "west": {"uv": [0.25, 0.25, 0.5, 2.75], "texture": "#0"}, + "up": {"uv": [2.25, 6.25, 1.75, 6], "texture": "#0"}, + "down": {"uv": [2.75, 6, 2.25, 6.25], "texture": "#0"} + } + }, + { + "from": [0, 2, 6], + "to": [16, 3, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -6]}, + "faces": { + "north": {"uv": [0, 2.75, 4, 3], "texture": "#0"}, + "east": {"uv": [0.25, 8.25, 0.5, 8.5], "texture": "#0"}, + "south": {"uv": [6, 2.5, 10, 3], "texture": "#0"}, + "west": {"uv": [0, 8.25, 0.25, 8.5], "texture": "#0"}, + "up": {"uv": [0.5, 2.5, 3.5, 2.75], "texture": "#0"}, + "down": {"uv": [4, 2.75, 0, 3], "texture": "#0"} + } + }, + { + "from": [0, 2, 7], + "to": [16, 14, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -6]}, + "faces": { + "north": {"uv": [0, 0, 4, 3], "texture": "#0"}, + "east": {"uv": [4, 1.5, 4.75, 4.5], "texture": "#0"}, + "south": {"uv": [0, 3, 4, 6], "texture": "#0"}, + "west": {"uv": [4, 4.5, 4.75, 7.5], "texture": "#0"}, + "up": {"uv": [8, 0.75, 4, 0], "texture": "#0"}, + "down": {"uv": [8, 0.75, 4, 1.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/welding_machine/block.json b/src/main/resources/assets/tfmg/models/block/welding_machine/block.json new file mode 100644 index 00000000..60157296 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/welding_machine/block.json @@ -0,0 +1,46 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/engines/turbine", + "particle": "block/anvil" + }, + "elements": [ + { + "from": [1, 4, 5], + "to": [15, 10, 16], + "faces": { + "north": {"uv": [2.125, 8.875, 3.875, 9.625], "texture": "#0"}, + "east": {"uv": [1.5, 6.375, 2.875, 7.125], "texture": "#0"}, + "south": {"uv": [2.125, 8.125, 3.875, 8.875], "texture": "#0"}, + "west": {"uv": [1.125, 7.125, 2.5, 6.375], "rotation": 180, "texture": "#0"}, + "up": {"uv": [8.5, 5.875, 9.725, 7.625], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 14, 11], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [16, 4, 16], + "faces": { + "north": {"uv": [0.25, 1, 2.25, 1.5], "texture": "#0"}, + "east": {"uv": [4.5, 1, 2.75, 1.475], "texture": "#0"}, + "south": {"uv": [5, 1, 7, 1.5], "texture": "#0"}, + "west": {"uv": [2.75, 1, 4.5, 1.5], "texture": "#0"}, + "up": {"uv": [5.75, 4.5, 7.75, 6.25], "texture": "#0"}, + "down": {"uv": [5.125, 5.5, 7.125, 3.75], "texture": "#0"} + } + }, + { + "from": [3, 4, 2], + "to": [13, 13, 16], + "faces": { + "north": {"uv": [0.625, 0, 1.875, 1.125], "texture": "#0"}, + "east": {"uv": [0.5, 11, 1.625, 9.25], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.375, 0, 6.625, 1.125], "texture": "#0"}, + "west": {"uv": [0.5, 9.25, 1.625, 11], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0.625, 1.75, 1.875, 3.5], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 14], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/welding_machine/item.json b/src/main/resources/assets/tfmg/models/block/welding_machine/item.json new file mode 100644 index 00000000..e69de29b diff --git a/src/main/resources/assets/tfmg/models/block/winding_machine/aluminum_spool.json b/src/main/resources/assets/tfmg/models/block/winding_machine/aluminum_spool.json new file mode 100644 index 00000000..9682aeda --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/winding_machine/aluminum_spool.json @@ -0,0 +1,20 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/copper_spool", + "particle": "tfmg:block/copper_spool" + }, + "elements": [ + { + "from": [4, 6, 6], + "to": [11, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 7, 7]}, + "faces": { + "north": {"uv": [4, 0, 8, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [4, 0, 8, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 0, 8, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 8, 7], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/winding_machine/block.json b/src/main/resources/assets/tfmg/models/block/winding_machine/block.json new file mode 100644 index 00000000..68d09f63 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/winding_machine/block.json @@ -0,0 +1,156 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_casing", + "1": "tfmg:block/winding_machine", + "particle": "tfmg:block/steel_casing" + }, + "elements": [ + { + "from": [1, 0, 0], + "to": [16, 8, 16], + "faces": { + "north": {"uv": [8, 0, 15.5, 4], "texture": "#1"}, + "east": {"uv": [8, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [8.5, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [8, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [1, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [1, 0, 16, 16], "texture": "#0"} + } + }, + { + "from": [1, 8, 4], + "to": [10, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 4]}, + "faces": { + "north": {"uv": [3.5, 0.5, 5.5, 5], "rotation": 90, "texture": "#1"}, + "east": {"uv": [3.5, 0, 1.5, 4], "rotation": 90, "texture": "#1"}, + "south": {"uv": [3.5, 0, 5.5, 4.5], "rotation": 90, "texture": "#1"}, + "west": {"uv": [10, 10, 14, 12], "texture": "#1"}, + "up": {"uv": [3.5, 0, 7.5, 4.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [0, 0, 0], + "to": [1, 5, 16], + "faces": { + "north": {"uv": [8, 1.5, 8.5, 4], "texture": "#1"}, + "south": {"uv": [8, 1.5, 8.5, 4], "texture": "#1"}, + "west": {"uv": [8, 13.5, 16, 16], "texture": "#1"}, + "up": {"uv": [8, 13.5, 16, 14], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 1, 16], "texture": "#0"} + } + }, + { + "from": [0, 5, 0], + "to": [1, 8, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 0]}, + "faces": { + "north": {"uv": [8, 0, 8.5, 1.5], "texture": "#1"}, + "south": {"uv": [0, 0, 0.5, 1.5], "texture": "#missing"}, + "west": {"uv": [8, 12, 10, 13.5], "texture": "#1"}, + "up": {"uv": [0, 0, 1, 4], "texture": "#0"}, + "down": {"uv": [0, 0, 0.5, 2], "texture": "#missing"} + } + }, + { + "from": [0, 5, 12], + "to": [1, 8, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 12]}, + "faces": { + "north": {"uv": [0, 0, 0.5, 1.5], "texture": "#missing"}, + "south": {"uv": [8, 0.5, 8.5, 2], "texture": "#1"}, + "west": {"uv": [14, 12, 16, 13.5], "texture": "#1"}, + "up": {"uv": [0, 0, 1, 4], "texture": "#0"}, + "down": {"uv": [0, 0, 0.5, 2], "texture": "#missing"} + } + }, + { + "from": [0, 5, 4], + "to": [1, 12, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 3]}, + "faces": { + "north": {"uv": [10, 10, 10.5, 13.5], "texture": "#1"}, + "south": {"uv": [10, 10, 10.5, 13.5], "texture": "#1"}, + "west": {"uv": [10, 10, 10.5, 13.5], "texture": "#1"}, + "up": {"uv": [3.5, 4.5, 4, 5], "texture": "#1"}, + "down": {"uv": [0, 0, 0.5, 0.5], "texture": "#missing"} + } + }, + { + "from": [0, 5, 11], + "to": [1, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 10]}, + "faces": { + "north": {"uv": [13.5, 10, 14, 13.5], "texture": "#1"}, + "south": {"uv": [13.5, 10, 14, 13.5], "texture": "#1"}, + "west": {"uv": [13.5, 10, 14, 13.5], "texture": "#1"}, + "up": {"uv": [7, 4.5, 7.5, 5], "texture": "#1"}, + "down": {"uv": [0, 0, 0.5, 0.5], "texture": "#missing"} + } + }, + { + "from": [0, 11, 5], + "to": [1, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 10, 5]}, + "faces": { + "west": {"uv": [10.5, 10, 13.5, 10.5], "texture": "#1"}, + "up": {"uv": [4, 4.5, 7, 5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [10.5, 10, 13.5, 10.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [12, 8, 0], + "to": [12, 16, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 8, 0]}, + "faces": { + "north": {"uv": [0, 0, 0, 4], "texture": "#missing"}, + "east": {"uv": [2.5, 10.5, 4, 14.5], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 4], "texture": "#missing"}, + "west": {"uv": [2.5, 10.5, 4, 14.5], "texture": "#1"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#missing"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#missing"} + } + }, + { + "from": [3, 8, 0], + "to": [3, 16, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 8, 0]}, + "faces": { + "north": {"uv": [0, 0, 0, 4], "texture": "#missing"}, + "east": {"uv": [2.5, 10.5, 4, 14.5], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 4], "texture": "#missing"}, + "west": {"uv": [2.5, 10.5, 4, 14.5], "texture": "#1"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#missing"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#missing"} + } + }, + { + "from": [10, 8, 6], + "to": [13, 12, 17], + "rotation": {"angle": -22.5, "axis": "x", "origin": [10, 10, 7]}, + "faces": { + "north": {"uv": [5, 8.5, 7, 10], "rotation": 90, "texture": "#1"}, + "east": {"uv": [4, 16, 6, 10.5], "rotation": 90, "texture": "#1"}, + "south": {"uv": [5, 8.5, 7, 10], "rotation": 90, "texture": "#1"}, + "west": {"uv": [6, 10.5, 8, 16], "rotation": 90, "texture": "#1"}, + "up": {"uv": [2.5, 10.5, 4, 16], "rotation": 180, "texture": "#1"}, + "down": {"uv": [2.5, 10.5, 4, 16], "texture": "#1"} + } + }, + { + "from": [9, 11.85, 13.75], + "to": [10, 13.85, 15.75], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 12, 14]}, + "faces": { + "north": {"uv": [6, 11.5, 6.5, 12.5], "texture": "#1"}, + "south": {"uv": [6, 11.5, 6.5, 12.5], "texture": "#1"}, + "west": {"uv": [6.5, 11, 7.5, 12], "texture": "#1"}, + "up": {"uv": [6, 11.5, 6.5, 12.5], "texture": "#1"}, + "down": {"uv": [6, 11.5, 6.5, 12.5], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/winding_machine/connecting_wire.json b/src/main/resources/assets/tfmg/models/block/winding_machine/connecting_wire.json new file mode 100644 index 00000000..cc34f4a9 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/winding_machine/connecting_wire.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/winding_machine_wire", + "particle": "tfmg:block/winding_machine_wire" + }, + "elements": [ + { + "from": [9, 8, 0], + "to": [10, 8, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 14, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 14, 0], "texture": "#0"}, + "up": {"uv": [12, 0, 13, 13], "texture": "#0"}, + "down": {"uv": [12, 13, 13, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/winding_machine/connecting_wire_animated.json b/src/main/resources/assets/tfmg/models/block/winding_machine/connecting_wire_animated.json new file mode 100644 index 00000000..6029a77f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/winding_machine/connecting_wire_animated.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "tfmg:block/winding_machine_wire_animated" + }, + "elements": [ + { + "from": [9, 8, 0], + "to": [10, 8, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 14, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 1, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 14, 0], "texture": "#missing"}, + "up": {"uv": [12, 0, 13, 13], "texture": "#1"}, + "down": {"uv": [12, 13, 13, 0], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/winding_machine/constantan_spool.json b/src/main/resources/assets/tfmg/models/block/winding_machine/constantan_spool.json new file mode 100644 index 00000000..449eb288 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/winding_machine/constantan_spool.json @@ -0,0 +1,20 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/copper_spool", + "particle": "tfmg:block/copper_spool" + }, + "elements": [ + { + "from": [4, 6, 6], + "to": [11, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 7, 7]}, + "faces": { + "north": {"uv": [0, 8, 4, 15], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 8, 4, 15], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 4, 15], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 8, 4, 15], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/winding_machine/copper_connecting_wire.json b/src/main/resources/assets/tfmg/models/block/winding_machine/copper_connecting_wire.json new file mode 100644 index 00000000..8c75d1cb --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/winding_machine/copper_connecting_wire.json @@ -0,0 +1,21 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "tfmg:block/winding_machine_wire" + }, + "elements": [ + { + "from": [9, 17, 1], + "to": [10, 17, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 17, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 0], "texture": "#1"}, + "east": {"uv": [0, 0, 14, 0], "texture": "#1"}, + "south": {"uv": [0, 0, 1, 0], "texture": "#1"}, + "west": {"uv": [0, 0, 14, 0], "texture": "#1"}, + "up": {"uv": [12, 0, 13, 14], "texture": "#1"}, + "down": {"uv": [12, 14, 13, 0], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/winding_machine/copper_spool.json b/src/main/resources/assets/tfmg/models/block/winding_machine/copper_spool.json new file mode 100644 index 00000000..b255b84a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/winding_machine/copper_spool.json @@ -0,0 +1,20 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/copper_spool", + "particle": "tfmg:block/copper_spool" + }, + "elements": [ + { + "from": [4, 6, 6], + "to": [11, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 7, 7]}, + "faces": { + "north": {"uv": [0, 0, 4, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 4, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 4, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 7], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/winding_machine/item.json b/src/main/resources/assets/tfmg/models/block/winding_machine/item.json new file mode 100644 index 00000000..7458c567 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/winding_machine/item.json @@ -0,0 +1,193 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_casing", + "1": "tfmg:block/winding_machine", + "particle": "tfmg:block/steel_casing" + }, + "elements": [ + { + "from": [1, 0, 0], + "to": [16, 8, 16], + "faces": { + "north": {"uv": [8, 0, 15.5, 4], "texture": "#1"}, + "east": {"uv": [8, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [8.5, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [8, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [1, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [1, 0, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 6, 6], + "to": [2, 10, 10], + "rotation": {"angle": -22.5, "axis": "x", "origin": [0, 8, 8]}, + "faces": { + "north": {"uv": [10.5, 9, 12.5, 10], "rotation": 90, "texture": "#1"}, + "south": {"uv": [10.5, 9, 12.5, 10], "rotation": 90, "texture": "#1"}, + "west": {"uv": [8, 8, 10, 10], "rotation": 90, "texture": "#1"}, + "up": {"uv": [10.5, 9, 12.5, 10], "rotation": 90, "texture": "#1"}, + "down": {"uv": [10.5, 9, 12.5, 10], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [1, 8, 4], + "to": [10, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 8, 4]}, + "faces": { + "north": {"uv": [3.5, 0.5, 5.5, 5], "rotation": 90, "texture": "#1"}, + "east": {"uv": [3.5, 0, 1.5, 4], "rotation": 90, "texture": "#1"}, + "south": {"uv": [3.5, 0, 5.5, 4.5], "rotation": 90, "texture": "#1"}, + "west": {"uv": [10, 10, 14, 12], "texture": "#1"}, + "up": {"uv": [3.5, 0, 7.5, 4.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [0, 0, 0], + "to": [1, 5, 16], + "faces": { + "north": {"uv": [8, 1.5, 8.5, 4], "texture": "#1"}, + "south": {"uv": [8, 1.5, 8.5, 4], "texture": "#1"}, + "west": {"uv": [8, 13.5, 16, 16], "texture": "#1"}, + "up": {"uv": [8, 13.5, 16, 14], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 1, 16], "texture": "#0"} + } + }, + { + "from": [0, 5, 0], + "to": [1, 8, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 0]}, + "faces": { + "north": {"uv": [8, 0, 8.5, 1.5], "texture": "#1"}, + "south": {"uv": [0, 0, 0.5, 1.5], "texture": "#missing"}, + "west": {"uv": [8, 12, 10, 13.5], "texture": "#1"}, + "up": {"uv": [0, 0, 1, 4], "texture": "#0"}, + "down": {"uv": [0, 0, 0.5, 2], "texture": "#missing"} + } + }, + { + "from": [0, 5, 12], + "to": [1, 8, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 12]}, + "faces": { + "north": {"uv": [0, 0, 0.5, 1.5], "texture": "#missing"}, + "south": {"uv": [8, 0.5, 8.5, 2], "texture": "#1"}, + "west": {"uv": [14, 12, 16, 13.5], "texture": "#1"}, + "up": {"uv": [0, 0, 1, 4], "texture": "#0"}, + "down": {"uv": [0, 0, 0.5, 2], "texture": "#missing"} + } + }, + { + "from": [0, 5, 4], + "to": [1, 12, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 3]}, + "faces": { + "north": {"uv": [10, 10, 10.5, 13.5], "texture": "#1"}, + "south": {"uv": [10, 10, 10.5, 13.5], "texture": "#1"}, + "west": {"uv": [10, 10, 10.5, 13.5], "texture": "#1"}, + "up": {"uv": [3.5, 4.5, 4, 5], "texture": "#1"}, + "down": {"uv": [0, 0, 0.5, 0.5], "texture": "#missing"} + } + }, + { + "from": [0, 5, 11], + "to": [1, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 10]}, + "faces": { + "north": {"uv": [13.5, 10, 14, 13.5], "texture": "#1"}, + "south": {"uv": [13.5, 10, 14, 13.5], "texture": "#1"}, + "west": {"uv": [13.5, 10, 14, 13.5], "texture": "#1"}, + "up": {"uv": [7, 4.5, 7.5, 5], "texture": "#1"}, + "down": {"uv": [0, 0, 0.5, 0.5], "texture": "#missing"} + } + }, + { + "from": [0, 11, 5], + "to": [1, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 10, 5]}, + "faces": { + "west": {"uv": [10.5, 10, 13.5, 10.5], "texture": "#1"}, + "up": {"uv": [4, 4.5, 7, 5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [10.5, 10, 13.5, 10.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [12, 8, 0], + "to": [12, 16, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 8, 0]}, + "faces": { + "north": {"uv": [0, 0, 0, 4], "texture": "#missing"}, + "east": {"uv": [2.5, 10.5, 4, 14.5], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 4], "texture": "#missing"}, + "west": {"uv": [2.5, 10.5, 4, 14.5], "texture": "#1"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#missing"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#missing"} + } + }, + { + "from": [3, 8, 0], + "to": [3, 16, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 8, 0]}, + "faces": { + "north": {"uv": [0, 0, 0, 4], "texture": "#missing"}, + "east": {"uv": [2.5, 10.5, 4, 14.5], "texture": "#1"}, + "south": {"uv": [0, 0, 0, 4], "texture": "#missing"}, + "west": {"uv": [2.5, 10.5, 4, 14.5], "texture": "#1"}, + "up": {"uv": [0, 0, 0, 1.5], "texture": "#missing"}, + "down": {"uv": [0, 0, 0, 1.5], "texture": "#missing"} + } + }, + { + "from": [10, 8, 6], + "to": [13, 12, 17], + "rotation": {"angle": -22.5, "axis": "x", "origin": [10, 10, 7]}, + "faces": { + "north": {"uv": [5, 8.5, 7, 10], "rotation": 90, "texture": "#1"}, + "east": {"uv": [4, 16, 6, 10.5], "rotation": 90, "texture": "#1"}, + "south": {"uv": [5, 8.5, 7, 10], "rotation": 90, "texture": "#1"}, + "west": {"uv": [6, 10.5, 8, 16], "rotation": 90, "texture": "#1"}, + "up": {"uv": [2.5, 10.5, 4, 16], "rotation": 180, "texture": "#1"}, + "down": {"uv": [2.5, 10.5, 4, 16], "texture": "#1"} + } + }, + { + "from": [3.01, 13, -1], + "to": [4.01, 18, 4], + "rotation": {"angle": 45, "axis": "x", "origin": [4, 15.5, 1.5]}, + "faces": { + "north": {"uv": [0, 8.5, 0.5, 11], "texture": "#1"}, + "east": {"uv": [0, 8.5, 2.5, 11], "texture": "#1"}, + "south": {"uv": [0, 8.5, 0.5, 11], "texture": "#1"}, + "west": {"uv": [0, 8.5, 2.5, 11], "texture": "#1"}, + "up": {"uv": [0, 8.5, 0.5, 11], "texture": "#1"}, + "down": {"uv": [0, 8.5, 0.5, 11], "texture": "#1"} + } + }, + { + "from": [10.99, 13, -1], + "to": [11.99, 18, 4], + "rotation": {"angle": 45, "axis": "x", "origin": [4, 15.5, 1.5]}, + "faces": { + "north": {"uv": [0, 8.5, 0.5, 11], "texture": "#1"}, + "east": {"uv": [0, 8.5, 2.5, 11], "texture": "#1"}, + "south": {"uv": [0, 8.5, 0.5, 11], "texture": "#1"}, + "west": {"uv": [0, 8.5, 2.5, 11], "texture": "#1"}, + "up": {"uv": [0, 8.5, 0.5, 11], "texture": "#1"}, + "down": {"uv": [0, 8.5, 0.5, 11], "texture": "#1"} + } + }, + { + "from": [4, 15, 1], + "to": [11, 16, 2], + "rotation": {"angle": 45, "axis": "x", "origin": [4, 15.5, 1.5]}, + "faces": { + "north": {"uv": [0, 5, 0.5, 8.5], "rotation": 90, "texture": "#1"}, + "south": {"uv": [0, 5, 0.5, 8.5], "rotation": 90, "texture": "#1"}, + "up": {"uv": [0, 5, 0.5, 8.5], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 5, 0.5, 8.5], "rotation": 90, "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/winding_machine/spool.json b/src/main/resources/assets/tfmg/models/block/winding_machine/spool.json new file mode 100644 index 00000000..275567e2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/winding_machine/spool.json @@ -0,0 +1,47 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/winding_machine", + "particle": "tfmg:block/winding_machine" + }, + "elements": [ + { + "from": [10.99, 5.5, 5.5], + "to": [11.99, 10.5, 10.5], + "rotation": {"angle": 0, "axis": "x", "origin": [4, 8.5, 8.5]}, + "faces": { + "north": {"uv": [0, 8.5, 0.5, 11], "texture": "#0"}, + "east": {"uv": [0, 8.5, 2.5, 11], "texture": "#0"}, + "south": {"uv": [0, 8.5, 0.5, 11], "texture": "#0"}, + "west": {"uv": [0, 8.5, 2.5, 11], "texture": "#0"}, + "up": {"uv": [0, 8.5, 0.5, 11], "texture": "#0"}, + "down": {"uv": [0, 8.5, 0.5, 11], "texture": "#0"} + } + }, + { + "from": [4, 7.5, 7.5], + "to": [11, 8.5, 8.5], + "rotation": {"angle": 0, "axis": "x", "origin": [4, 10.5, 10.5]}, + "faces": { + "north": {"uv": [0, 5, 0.5, 8.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 5, 0.5, 8.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 5, 0.5, 8.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 5, 0.5, 8.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3.01, 5.5, 5.5], + "to": [4.01, 10.5, 10.5], + "rotation": {"angle": 0, "axis": "x", "origin": [4, 8.5, 8.5]}, + "faces": { + "north": {"uv": [0, 8.5, 0.5, 11], "texture": "#0"}, + "east": {"uv": [0, 8.5, 2.5, 11], "texture": "#0"}, + "south": {"uv": [0, 8.5, 0.5, 11], "texture": "#0"}, + "west": {"uv": [0, 8.5, 2.5, 11], "texture": "#0"}, + "up": {"uv": [0, 8.5, 0.5, 11], "texture": "#0"}, + "down": {"uv": [0, 8.5, 0.5, 11], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/zinc_frame/block.json b/src/main/resources/assets/tfmg/models/block/zinc_frame/block.json new file mode 100644 index 00000000..3580a984 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/zinc_frame/block.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/zinc_frame", + "particle": "tfmg:block/zinc_frame" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/zinc_frame/item.json b/src/main/resources/assets/tfmg/models/block/zinc_frame/item.json new file mode 100644 index 00000000..3580a984 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/zinc_frame/item.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/zinc_frame", + "particle": "tfmg:block/zinc_frame" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 14, 2, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [14, 14, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 16, 16], "texture": "#0"}, + "down": {"uv": [14, 0, 16, 2], "texture": "#0"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [2, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#0"} + } + }, + { + "from": [14, 0, 2], + "to": [16, 2, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#0"} + } + }, + { + "from": [2, 14, 0], + "to": [14, 16, 2], + "faces": { + "north": {"uv": [14, 2, 16, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 14, 14], + "to": [14, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 14], + "to": [14, 2, 16], + "faces": { + "north": {"uv": [0, 0, 2, 12], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [2, 0, 0], + "to": [14, 2, 2], + "faces": { + "north": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "east": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "west": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/zinc_truss.json b/src/main/resources/assets/tfmg/models/block/zinc_truss.json new file mode 100644 index 00000000..887511fa --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/zinc_truss.json @@ -0,0 +1,106 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:block/zinc_truss", + "particle": "tfmg:block/zinc_truss" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [0, 0, 14], + "to": [2, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 0, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [2, 0, 15], + "to": [14, 16, 15], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + }, + { + "from": [15, 0, 2], + "to": [15, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [1, 0, 2], + "to": [1, 16, 14], + "faces": { + "north": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [2, 0, 1], + "to": [14, 16, 1], + "faces": { + "north": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [2, 0, 14, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 0], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/cable_insulator_small.json b/src/main/resources/assets/tfmg/models/cable_insulator_small.json new file mode 100644 index 00000000..79212604 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/cable_insulator_small.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench", + "elements": [ + { + "from": [7, 0, 7], + "to": [9, 9, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "color": 9, + "faces": { + "north": {"uv": [0, 0, 2, 9], "texture": "#missing"}, + "east": {"uv": [0, 0, 2, 9], "texture": "#missing"}, + "south": {"uv": [0, 0, 2, 9], "texture": "#missing"}, + "west": {"uv": [0, 0, 2, 9], "texture": "#missing"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#missing"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#missing"} + } + }, + { + "from": [6, 2, 6], + "to": [10, 2, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 7]}, + "color": 6, + "faces": { + "north": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#missing"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#missing"} + } + }, + { + "from": [6, 4, 6], + "to": [10, 4, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 7]}, + "color": 6, + "faces": { + "north": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#missing"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#missing"} + } + }, + { + "from": [6, 6, 6], + "to": [10, 6, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "color": 6, + "faces": { + "north": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#missing"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#missing"} + } + }, + { + "from": [6, 8, 6], + "to": [10, 8, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 7]}, + "color": 6, + "faces": { + "north": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "east": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 4, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#missing"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#missing"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/engines.json b/src/main/resources/assets/tfmg/models/engines.json new file mode 100644 index 00000000..b1166f16 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/engines.json @@ -0,0 +1,528 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "tfmg:block/engines/base", + "2": "tfmg:block/engines/engine_bottom_connected", + "3": "tfmg:block/shaft", + "4": "tfmg:block/shaft_top", + "6": "tfmg:block/engines/engine_top_connected", + "7": "tfmg:block/engines/engine_side_connected", + "particle": "tfmg:block/engines/base" + }, + "elements": [ + { + "from": [-3.19239, 1.29289, 2.1], + "to": [4.80761, 5.29289, 6.1], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 4, 34]}, + "faces": { + "north": {"uv": [15, 0, 16, 2], "rotation": 90, "texture": "#0"}, + "east": {"uv": [15, 2.25, 16, 3.25], "rotation": 270, "texture": "#0"}, + "south": {"uv": [15, 0, 16, 2], "rotation": 270, "texture": "#0"}, + "west": {"uv": [15, 2.25, 16, 3.25], "rotation": 270, "texture": "#0"}, + "up": {"uv": [15, 0, 16, 2], "rotation": 270, "texture": "#0"}, + "down": {"uv": [15, 0, 16, 2], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [-5.19239, 1.9, -12.4], + "to": [2.80761, 6.9, -7.4], + "rotation": {"angle": -45, "axis": "z", "origin": [6, 3, 20]}, + "faces": { + "north": {"uv": [11.75, 0, 13, 2], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 1, 1, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.75, 0, 13, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [11.75, 3.25, 13, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11.75, 0, 13, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11.75, 0, 13, 2], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-5.19239, 1.9, -5.4], + "to": [2.80761, 6.9, -0.4], + "rotation": {"angle": -45, "axis": "z", "origin": [6, 3, 27]}, + "faces": { + "north": {"uv": [11.75, 0, 13, 2], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 1, 1, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.75, 0, 13, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [11.75, 3.25, 13, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11.75, 0, 13, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11.75, 0, 13, 2], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-5.19239, 1.9, 1.6], + "to": [2.80761, 6.9, 6.6], + "rotation": {"angle": -45, "axis": "z", "origin": [6, 3, 34]}, + "faces": { + "north": {"uv": [11.75, 0, 13, 2], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 1, 1, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.75, 0, 13, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [11.75, 3.25, 13, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11.75, 0, 13, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11.75, 0, 13, 2], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-5.19239, 1.9, -12.4], + "to": [2.80761, 6.9, -7.4], + "rotation": {"angle": -45, "axis": "z", "origin": [6, 3, 20]}, + "faces": { + "north": {"uv": [11.75, 0, 13, 2], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 1, 1, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.75, 0, 13, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [11.75, 3.25, 13, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11.75, 0, 13, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11.75, 0, 13, 2], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-5.19239, 1.9, 22.6], + "to": [2.80761, 6.9, 27.6], + "rotation": {"angle": -45, "axis": "z", "origin": [6, 3, 55]}, + "faces": { + "north": {"uv": [11.75, 0, 13, 2], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 1, 1, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.75, 0, 13, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [11.75, 3.25, 13, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11.75, 0, 13, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11.75, 0, 13, 2], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-5.19239, 1.9, 15.6], + "to": [2.80761, 6.9, 20.6], + "rotation": {"angle": -45, "axis": "z", "origin": [6, 3, 48]}, + "faces": { + "north": {"uv": [11.75, 0, 13, 2], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 1, 1, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.75, 0, 13, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [11.75, 3.25, 13, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11.75, 0, 13, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11.75, 0, 13, 2], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-5.19239, 1.9, 8.6], + "to": [2.80761, 6.9, 13.6], + "rotation": {"angle": -45, "axis": "z", "origin": [6, 3, 41]}, + "faces": { + "north": {"uv": [11.75, 0, 13, 2], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 1, 1, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.75, 0, 13, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [11.75, 3.25, 13, 2], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11.75, 0, 13, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11.75, 0, 13, 2], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-4.19239, 1.70711, -11.9], + "to": [3.80761, 5.70711, -7.9], + "rotation": {"angle": -45, "axis": "z", "origin": [7, 3, 20]}, + "faces": { + "north": {"uv": [15, 2, 16, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 1, 1, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [15, 2, 16, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [15, 3.25, 16, 2.25], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15, 2, 16, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 2, 16, 0], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-4.19239, 1.70711, -4.9], + "to": [3.80761, 5.70711, -0.9], + "rotation": {"angle": -45, "axis": "z", "origin": [7, 3, 27]}, + "faces": { + "north": {"uv": [15, 2, 16, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 1, 1, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [15, 2, 16, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [15, 3.25, 16, 2.25], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15, 2, 16, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 2, 16, 0], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-4.19239, 1.70711, 9.1], + "to": [3.80761, 5.70711, 13.1], + "rotation": {"angle": -45, "axis": "z", "origin": [7, 3, 41]}, + "faces": { + "north": {"uv": [15, 2, 16, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 1, 1, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [15, 2, 16, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [15, 3.25, 16, 2.25], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15, 2, 16, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 2, 16, 0], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-4.19239, 1.70711, 16.1], + "to": [3.80761, 5.70711, 20.1], + "rotation": {"angle": -45, "axis": "z", "origin": [7, 3, 48]}, + "faces": { + "north": {"uv": [15, 2, 16, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 1, 1, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [15, 2, 16, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [15, 3.25, 16, 2.25], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15, 2, 16, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 2, 16, 0], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-4.19239, 1.70711, 23.1], + "to": [3.80761, 5.70711, 27.1], + "rotation": {"angle": -45, "axis": "z", "origin": [7, 3, 55]}, + "faces": { + "north": {"uv": [15, 2, 16, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0, 1, 1, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [15, 2, 16, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [15, 3.25, 16, 2.25], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15, 2, 16, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 2, 16, 0], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [11.19239, 1.29289, 2.1], + "to": [19.19239, 5.29289, 6.1], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 4, 34]}, + "faces": { + "north": {"uv": [15, 2, 16, 0], "rotation": 90, "texture": "#0"}, + "east": {"uv": [15, 3.25, 16, 2.25], "rotation": 270, "texture": "#0"}, + "south": {"uv": [15, 2, 16, 0], "rotation": 270, "texture": "#0"}, + "west": {"uv": [15, 3.25, 16, 2.25], "rotation": 270, "texture": "#0"}, + "up": {"uv": [15, 2, 16, 0], "rotation": 270, "texture": "#0"}, + "down": {"uv": [15, 2, 16, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [13.19239, 1.9, -12.4], + "to": [21.19239, 6.9, -7.4], + "rotation": {"angle": 45, "axis": "z", "origin": [10, 3, 20]}, + "faces": { + "north": {"uv": [11.75, 2, 13, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [11.75, 2, 13, 3.25], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.75, 2, 13, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11.75, 2, 13, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11.75, 2, 13, 0], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13.19239, 1.9, -5.4], + "to": [21.19239, 6.9, -0.4], + "rotation": {"angle": 45, "axis": "z", "origin": [10, 3, 27]}, + "faces": { + "north": {"uv": [11.75, 2, 13, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [11.75, 2, 13, 3.25], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.75, 2, 13, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11.75, 2, 13, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11.75, 2, 13, 0], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13.19239, 1.9, 1.6], + "to": [21.19239, 6.9, 6.6], + "rotation": {"angle": 45, "axis": "z", "origin": [10, 3, 34]}, + "faces": { + "north": {"uv": [11.75, 2, 13, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [11.75, 2, 13, 3.25], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.75, 2, 13, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11.75, 2, 13, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11.75, 2, 13, 0], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [14.19239, 1.9, -12.4], + "to": [22.19239, 6.9, -7.4], + "rotation": {"angle": 45, "axis": "z", "origin": [11, 3, 20]}, + "faces": { + "north": {"uv": [11.75, 2, 13, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [11.75, 2, 13, 3.25], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.75, 2, 13, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11.75, 2, 13, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11.75, 2, 13, 0], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13.19239, 1.9, 22.6], + "to": [21.19239, 6.9, 27.6], + "rotation": {"angle": 45, "axis": "z", "origin": [10, 3, 55]}, + "faces": { + "north": {"uv": [11.75, 2, 13, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [11.75, 2, 13, 3.25], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.75, 2, 13, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11.75, 2, 13, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11.75, 2, 13, 0], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13.19239, 1.9, 15.6], + "to": [21.19239, 6.9, 20.6], + "rotation": {"angle": 45, "axis": "z", "origin": [10, 3, 48]}, + "faces": { + "north": {"uv": [11.75, 2, 13, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [11.75, 2, 13, 3.25], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.75, 2, 13, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11.75, 2, 13, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11.75, 2, 13, 0], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [13.19239, 1.9, 8.6], + "to": [21.19239, 6.9, 13.6], + "rotation": {"angle": 45, "axis": "z", "origin": [10, 3, 41]}, + "faces": { + "north": {"uv": [11.75, 2, 13, 0], "rotation": 270, "texture": "#0"}, + "east": {"uv": [11.75, 2, 13, 3.25], "rotation": 90, "texture": "#0"}, + "south": {"uv": [11.75, 2, 13, 0], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "rotation": 90, "texture": "#0"}, + "up": {"uv": [11.75, 2, 13, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [11.75, 2, 13, 0], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [12.19239, 1.70711, -11.9], + "to": [20.19239, 5.70711, -7.9], + "rotation": {"angle": 45, "axis": "z", "origin": [9, 3, 20]}, + "faces": { + "north": {"uv": [15, 0, 16, 2], "rotation": 270, "texture": "#0"}, + "east": {"uv": [15, 2.25, 16, 3.25], "rotation": 90, "texture": "#0"}, + "south": {"uv": [15, 0, 16, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15, 0, 16, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 0, 16, 2], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [12.19239, 1.70711, -4.9], + "to": [20.19239, 5.70711, -0.9], + "rotation": {"angle": 45, "axis": "z", "origin": [9, 3, 27]}, + "faces": { + "north": {"uv": [15, 0, 16, 2], "rotation": 270, "texture": "#0"}, + "east": {"uv": [15, 2.25, 16, 3.25], "rotation": 90, "texture": "#0"}, + "south": {"uv": [15, 0, 16, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15, 0, 16, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 0, 16, 2], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [12.19239, 1.70711, 9.1], + "to": [20.19239, 5.70711, 13.1], + "rotation": {"angle": 45, "axis": "z", "origin": [9, 3, 41]}, + "faces": { + "north": {"uv": [15, 0, 16, 2], "rotation": 270, "texture": "#0"}, + "east": {"uv": [15, 2.25, 16, 3.25], "rotation": 90, "texture": "#0"}, + "south": {"uv": [15, 0, 16, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15, 0, 16, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 0, 16, 2], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [12.19239, 1.70711, 16.1], + "to": [20.19239, 5.70711, 20.1], + "rotation": {"angle": 45, "axis": "z", "origin": [9, 3, 48]}, + "faces": { + "north": {"uv": [15, 0, 16, 2], "rotation": 270, "texture": "#0"}, + "east": {"uv": [15, 2.25, 16, 3.25], "rotation": 90, "texture": "#0"}, + "south": {"uv": [15, 0, 16, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15, 0, 16, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 0, 16, 2], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [12.19239, 1.70711, 23.1], + "to": [20.19239, 5.70711, 27.1], + "rotation": {"angle": 45, "axis": "z", "origin": [9, 3, 55]}, + "faces": { + "north": {"uv": [15, 0, 16, 2], "rotation": 270, "texture": "#0"}, + "east": {"uv": [15, 2.25, 16, 3.25], "rotation": 90, "texture": "#0"}, + "south": {"uv": [15, 0, 16, 2], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "rotation": 90, "texture": "#0"}, + "up": {"uv": [15, 0, 16, 2], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 0, 16, 2], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [3, 7, 16], + "faces": { + "north": {"uv": [0, 0, 0.75, 1.75], "texture": "#missing"}, + "east": {"uv": [0, 0, 4, 1.75], "texture": "#missing"}, + "south": {"uv": [0, 0, 0.75, 1.75], "texture": "#missing"}, + "west": {"uv": [8, 12.5, 16, 16], "texture": "#7"}, + "up": {"uv": [14.5, 8, 16, 16], "texture": "#6"}, + "down": {"uv": [16, 8, 14.5, 16], "texture": "#2"} + } + }, + { + "from": [13, 0, 0], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [0.75, 0, 0, 1.75], "texture": "#missing"}, + "east": {"uv": [16, 12.5, 8, 16], "texture": "#7"}, + "south": {"uv": [0.75, 0, 0, 1.75], "texture": "#missing"}, + "west": {"uv": [4, 0, 0, 1.75], "texture": "#missing"}, + "up": {"uv": [16, 8, 14.5, 16], "texture": "#6"}, + "down": {"uv": [14.5, 8, 16, 16], "texture": "#2"} + } + }, + { + "from": [3, 0, 0], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 0]}, + "faces": { + "north": {"uv": [0, 0, 2.5, 3], "texture": "#missing"}, + "east": {"uv": [8, 9.5, 16, 15.5], "texture": "#7"}, + "south": {"uv": [0, 0, 2.5, 3], "texture": "#missing"}, + "west": {"uv": [8, 9.5, 16, 15.5], "texture": "#7"}, + "up": {"uv": [9.5, 8, 14.5, 16], "texture": "#6"}, + "down": {"uv": [10, 8, 14, 16], "texture": "#2"} + } + }, + { + "from": [0, 0, -14], + "to": [3, 7, 0], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -16]}, + "faces": { + "north": {"uv": [7.5, 2.25, 8.25, 4], "texture": "#0"}, + "east": {"uv": [0, 0, 3.5, 1.75], "texture": "#missing"}, + "south": {"uv": [0, 0, 0.75, 1.75], "texture": "#missing"}, + "west": {"uv": [0, 12.5, 7, 16], "texture": "#7"}, + "up": {"uv": [0, 8, 1.5, 15], "texture": "#6"}, + "down": {"uv": [7.5, 16, 6, 8], "texture": "#2"} + } + }, + { + "from": [13, 0, -14], + "to": [16, 7, 0], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -16]}, + "faces": { + "north": {"uv": [8.25, 2.25, 7.5, 4], "texture": "#0"}, + "east": {"uv": [7, 12.5, 0, 16], "texture": "#7"}, + "south": {"uv": [0.75, 0, 0, 1.75], "texture": "#missing"}, + "west": {"uv": [3.5, 0, 0, 1.75], "texture": "#missing"}, + "up": {"uv": [1.5, 8, 0, 15], "texture": "#6"}, + "down": {"uv": [6, 16, 7.5, 8], "texture": "#2"} + } + }, + { + "from": [3, 0, -14], + "to": [13, 12, 0], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, -16]}, + "faces": { + "north": {"uv": [5, 1, 7.5, 4], "texture": "#0"}, + "east": {"uv": [9, 1.5, 16, 7.5], "texture": "#7"}, + "south": {"uv": [0, 0, 2.5, 3], "texture": "#missing"}, + "west": {"uv": [0, 9.5, 7, 15.5], "texture": "#7"}, + "up": {"uv": [1.5, 8, 6.5, 15], "texture": "#6"}, + "down": {"uv": [2, 16, 6, 8], "texture": "#2"} + } + }, + { + "from": [6, 6, -16], + "to": [10, 10, -14], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, -16]}, + "faces": { + "north": {"uv": [6, 6, 10, 10], "texture": "#4"}, + "east": {"uv": [6, 0, 10, 2], "rotation": 90, "texture": "#3"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#3"}, + "west": {"uv": [6, 2, 10, 0], "rotation": 90, "texture": "#3"}, + "up": {"uv": [6, 0, 10, 2], "texture": "#3"}, + "down": {"uv": [6, 2, 10, 0], "texture": "#3"} + } + }, + { + "from": [0, 0, 16], + "to": [3, 7, 30], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 16]}, + "faces": { + "north": {"uv": [0, 0, 0.75, 1.75], "texture": "#missing"}, + "east": {"uv": [0, 0, 4, 1.75], "texture": "#missing"}, + "south": {"uv": [0, 1.25, 0.75, 3], "texture": "#0"}, + "west": {"uv": [8, 4.5, 15, 8], "texture": "#7"}, + "up": {"uv": [8, 1, 9.5, 8], "texture": "#6"}, + "down": {"uv": [8, 9, 6.5, 16], "texture": "#2"} + } + }, + { + "from": [13, 0, 16], + "to": [16, 7, 30], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 16]}, + "faces": { + "north": {"uv": [0.75, 0, 0, 1.75], "texture": "#missing"}, + "east": {"uv": [15, 4.5, 8, 8], "texture": "#7"}, + "south": {"uv": [0.75, 1.25, 0, 3], "texture": "#0"}, + "west": {"uv": [4, 0, 0, 1.75], "texture": "#missing"}, + "up": {"uv": [9.5, 1, 8, 8], "texture": "#6"}, + "down": {"uv": [6.5, 9, 8, 16], "texture": "#2"} + } + }, + { + "from": [3, 0, 16], + "to": [13, 12, 30], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 0, 16]}, + "faces": { + "north": {"uv": [0, 0, 2.5, 3], "texture": "#0"}, + "east": {"uv": [1, 9.5, 8, 15.5], "texture": "#7"}, + "south": {"uv": [0.75, 0, 3.25, 3], "texture": "#0"}, + "west": {"uv": [8, 1.5, 15, 7.5], "texture": "#7"}, + "up": {"uv": [1.5, 14, 6.5, 7.5], "texture": "#6"}, + "down": {"uv": [2, 9, 6, 16], "texture": "#2"} + } + }, + { + "from": [0, 0, 30], + "to": [16, 12, 32], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 30]}, + "faces": { + "north": {"uv": [0, 0, 4, 3], "texture": "#0"}, + "east": {"uv": [0, 0, 0.5, 3], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 3], "texture": "#0"}, + "west": {"uv": [0, 0, 0.5, 3], "texture": "#0"}, + "up": {"uv": [0, 0.5, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 8, 8, 9], "texture": "#2"} + } + } + ], + "groups": [ + { + "name": "v", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25] + }, + { + "name": "generic", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "middle", + "origin": [8, 8, 8], + "color": 0, + "children": [26, 27, 28] + }, + { + "name": "front", + "origin": [8, 8, 8], + "color": 0, + "children": [29, 30, 31, 32] + }, + { + "name": "closed", + "origin": [8, 8, 8], + "color": 0, + "children": [33, 34, 35, 36] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/item/advanced_potato_cannon/item.json b/src/main/resources/assets/tfmg/models/item/advanced_potato_cannon/item.json new file mode 100644 index 00000000..10a580f7 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/item/advanced_potato_cannon/item.json @@ -0,0 +1,131 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "tfmg:item/advanced_potato_cannon", + "particle": "tfmg:item/advanced_potato_cannon" + }, + "elements": [ + { + "from": [6, 6.5, -2.5], + "to": [10, 10.5, -1.5], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7.6, 11]}, + "faces": { + "north": {"uv": [2, 0.5, 4, 2.5], "texture": "#0"}, + "east": {"uv": [7.75, 0, 7.25, 2], "texture": "#0"}, + "south": {"uv": [0, 0.5, 2, 2.5], "texture": "#0"}, + "west": {"uv": [7.25, 0, 7.75, 2], "texture": "#0"}, + "up": {"uv": [2, 0.25, 4, 0.75], "texture": "#0"}, + "down": {"uv": [6.25, 2.75, 8.25, 2.25], "texture": "#0"} + } + }, + { + "from": [6.5, 6.5, 16.5], + "to": [9.5, 10.5, 17.5], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7.6, 11]}, + "faces": { + "north": {"uv": [6, 10.25, 7.5, 12.25], "texture": "#0"}, + "east": {"uv": [8.25, 10.25, 7.75, 12.25], "texture": "#0"}, + "south": {"uv": [6, 10.25, 7.5, 12.25], "texture": "#0"}, + "west": {"uv": [7.75, 10.25, 8.25, 12.25], "texture": "#0"}, + "up": {"uv": [9, 10.25, 8.5, 11.75], "rotation": 90, "texture": "#0"}, + "down": {"uv": [9, 10.25, 8.5, 11.75], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6.5, 7, -1.5], + "to": [9.5, 10, 6.5], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7.6, 11]}, + "faces": { + "east": {"uv": [4, 2.5, 0, 4], "texture": "#0"}, + "south": {"uv": [10, 6, 11.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 2.5, 4, 4], "texture": "#0"}, + "up": {"uv": [0, 4, 4, 5.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 5.5, 4, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [7, 8, 11.5], + "to": [9, 10, 16.5], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7.6, 11]}, + "faces": { + "east": {"uv": [2.5, 9.5, 0, 10.5], "texture": "#0"}, + "south": {"uv": [10, 6, 11.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 9.5, 2.5, 10.5], "texture": "#0"}, + "up": {"uv": [0, 7.5, 2.5, 8.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 8.5, 2.5, 9.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [6.5, 4.5, 3.5], + "to": [9.5, 7.5, 9.5], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 6, 11.5]}, + "faces": { + "north": {"uv": [5.5, 0, 7, 1.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [5.5, 0, 4, 3], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5.5, 0, 7, 1.5], "texture": "#0"}, + "west": {"uv": [4, 3, 5.5, 0], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4, 0, 5.5, 3], "texture": "#0"}, + "down": {"uv": [5.5, 3, 4, 0], "texture": "#0"} + } + }, + { + "from": [7, 4, 9.5], + "to": [9, 9, 10.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, 8.6, 11]}, + "faces": { + "north": {"uv": [2.5, 11, 1.5, 13.5], "texture": "#0"}, + "east": {"uv": [1.25, 11, 0.75, 13.5], "texture": "#0"}, + "south": {"uv": [2.5, 11, 1.5, 13.5], "texture": "#0"}, + "west": {"uv": [0.75, 11, 1.25, 13.5], "texture": "#0"}, + "down": {"uv": [0, 11, 0.5, 12.5], "texture": "#0"} + } + }, + { + "from": [6, 6, 6.5], + "to": [10, 10, 11.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9.6, 11]}, + "faces": { + "north": {"uv": [6.75, 6.5, 8.75, 8.5], "texture": "#0"}, + "east": {"uv": [6.25, 3.25, 4.25, 5.75], "rotation": 90, "texture": "#0"}, + "south": {"uv": [6.75, 6.5, 8.75, 8.5], "texture": "#0"}, + "west": {"uv": [6.25, 5.75, 4.25, 3.25], "rotation": 90, "texture": "#0"}, + "up": {"uv": [6.75, 3.25, 8.75, 5.75], "texture": "#0"}, + "down": {"uv": [4, 6.25, 6.5, 9.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [7, 10, 7.5], + "to": [9, 11, 10.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9.6, 11]}, + "faces": { + "north": {"uv": [3, 11, 3.5, 12], "rotation": 90, "texture": "#0"}, + "east": {"uv": [3.75, 12.5, 4.25, 11], "rotation": 90, "texture": "#0"}, + "south": {"uv": [3, 11, 3.5, 12], "rotation": 90, "texture": "#0"}, + "west": {"uv": [3.75, 11, 4.25, 12.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [4.5, 11, 5.5, 12.5], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [0, -15, 0], + "translation": [0.25, 1.25, -2] + }, + "thirdperson_lefthand": { + "rotation": [0, -15, 0], + "translation": [0.25, 1.25, -2] + }, + "firstperson_lefthand": { + "translation": [-2.5, 4, 0] + }, + "gui": { + "rotation": [42.14, 40.43, -5.75], + "translation": [0.25, -0.5, 0], + "scale": [0.9, 0.9, 0.9] + }, + "head": { + "translation": [0, 7.25, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/item/bars.json b/src/main/resources/assets/tfmg/models/item/bars.json new file mode 100644 index 00000000..397b8a6d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/item/bars.json @@ -0,0 +1,86 @@ +{ + "credit": "Made with Blockbench", + "ambientocclusion": false, + "textures": { + "bars": "block/iron_bars", + "edge": "block/iron_bars_edge" + }, + "elements": [ + { + "from": [0, 0, 8], + "to": [16, 16, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#bars"}, + "south": {"uv": [16, 0, 0, 16], "texture": "#bars"} + } + }, + { + "from": [15.95, 0, 7], + "to": [16, 16, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [7, 16, 9, 0], "rotation": 180, "texture": "#bars", "cullface": "east"}, + "west": {"uv": [9, 16, 7, 0], "rotation": 180, "texture": "#bars", "cullface": "east"} + } + }, + { + "from": [0, 0, 7], + "to": [0.05, 16, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [7, 16, 9, 0], "rotation": 180, "texture": "#bars", "cullface": "west"}, + "west": {"uv": [9, 16, 7, 0], "rotation": 180, "texture": "#bars", "cullface": "west"} + } + }, + { + "from": [0, 15.95, 7], + "to": [16, 16, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "up": {"uv": [9, 0, 7, 16], "rotation": 270, "texture": "#edge", "cullface": "up"}, + "down": {"uv": [9, 0, 7, 16], "rotation": 90, "texture": "#edge", "cullface": "up"} + } + }, + { + "from": [0, 0, 7], + "to": [16, 0.05, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "up": {"uv": [9, 0, 7, 16], "rotation": 270, "texture": "#edge", "cullface": "down"}, + "down": {"uv": [9, 0, 7, 16], "rotation": 90, "texture": "#edge", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/item/copper_electrode_model.json b/src/main/resources/assets/tfmg/models/item/copper_electrode_model.json new file mode 100644 index 00000000..5529641b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/item/copper_electrode_model.json @@ -0,0 +1,63 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/electrodes", + "particle": "tfmg:block/electrodes" + }, + "elements": [ + { + "from": [6, -8, 6], + "to": [10, 16, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 6]}, + "faces": { + "north": {"uv": [2.5, 0, 4.5, 12], "texture": "#0"}, + "east": {"uv": [2.5, 0, 4.5, 12], "texture": "#0"}, + "south": {"uv": [2.5, 0, 4.5, 12], "texture": "#0"}, + "west": {"uv": [2.5, 0, 4.5, 12], "texture": "#0"}, + "up": {"uv": [2.5, 12, 4.5, 14], "texture": "#0"}, + "down": {"uv": [2.5, 12, 4.5, 14], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [-22.75, 0, 0], + "translation": [0, 5, -1.75], + "scale": [0.5, 0.5, 0.5] + }, + "thirdperson_lefthand": { + "rotation": [-22.75, 0, 0], + "translation": [0, 5, -1.75], + "scale": [0.5, 0.5, 0.5] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [2.25, 2, 0], + "scale": [0.5, 0.5, 0.5] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [2.25, 2, 0], + "scale": [0.5, 0.5, 0.5] + }, + "ground": { + "translation": [0, 4.5, 0], + "scale": [0.3, 0.3, 0.3] + }, + "gui": { + "rotation": [53, 45, 0], + "translation": [0, 2, 0], + "scale": [0.75, 0.75, 0.75] + }, + "head": { + "rotation": [30, 90, 90], + "translation": [0, 7.75, -10] + }, + "fixed": { + "rotation": [0, 0, -45], + "translation": [2.5, 2.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/item/crankshaft_model.json b/src/main/resources/assets/tfmg/models/item/crankshaft_model.json new file mode 100644 index 00000000..a0cb6d47 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/item/crankshaft_model.json @@ -0,0 +1,179 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:item/crankshaft", + "particle": "tfmg:item/crankshaft" + }, + "elements": [ + { + "from": [7, 6, 0], + "to": [9, 8, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 0]}, + "faces": { + "north": {"uv": [6, 8, 4, 10], "texture": "#0"}, + "east": {"uv": [5, 8, 6, 10], "texture": "#0"}, + "south": {"uv": [4, 10, 6, 12], "texture": "#0"}, + "west": {"uv": [4, 8, 5, 10], "texture": "#0"}, + "up": {"uv": [6, 10, 4, 9], "texture": "#0"}, + "down": {"uv": [6, 8, 4, 9], "texture": "#0"} + } + }, + { + "from": [7, 6, 5], + "to": [9, 8, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 5]}, + "faces": { + "north": {"uv": [17, 23, 19, 25], "texture": "#0"}, + "east": {"uv": [5, 8, 6, 10], "texture": "#0"}, + "south": {"uv": [22, 24, 24, 26], "texture": "#0"}, + "west": {"uv": [4, 8, 5, 10], "texture": "#0"}, + "up": {"uv": [6, 10, 4, 9], "texture": "#0"}, + "down": {"uv": [6, 8, 4, 9], "texture": "#0"} + } + }, + { + "from": [7, 6, 10], + "to": [9, 8, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 10]}, + "faces": { + "north": {"uv": [24, 24, 26, 26], "texture": "#0"}, + "east": {"uv": [5, 8, 6, 10], "texture": "#0"}, + "south": {"uv": [25, 6, 27, 8], "texture": "#0"}, + "west": {"uv": [5, 8, 4, 10], "texture": "#0"}, + "up": {"uv": [6, 10, 4, 9], "texture": "#0"}, + "down": {"uv": [6, 8, 4, 9], "texture": "#0"} + } + }, + { + "from": [7, 6, 15], + "to": [9, 8, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 15]}, + "faces": { + "north": {"uv": [4, 10, 6, 12], "texture": "#0"}, + "east": {"uv": [5, 8, 6, 10], "texture": "#0"}, + "south": {"uv": [4, 8, 6, 10], "texture": "#0"}, + "west": {"uv": [4, 8, 5, 10], "texture": "#0"}, + "up": {"uv": [6, 10, 4, 9], "texture": "#0"}, + "down": {"uv": [6, 8, 4, 9], "texture": "#0"} + } + }, + { + "from": [6, 5, 14], + "to": [10, 11, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 5, 13]}, + "faces": { + "north": {"uv": [0, 8, 4, 14], "texture": "#0"}, + "east": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "south": {"uv": [0, 8, 4, 14], "texture": "#0"}, + "west": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "up": {"uv": [4, 9, 0, 8], "texture": "#0"}, + "down": {"uv": [4, 8, 0, 9], "texture": "#0"} + } + }, + { + "from": [5.6, 7.5, 2], + "to": [10.6, 12.5, 4], + "rotation": {"angle": 45, "axis": "z", "origin": [8.1, 10, 3]}, + "faces": { + "north": {"uv": [0, 0, 5, 5], "texture": "#0"}, + "east": {"uv": [9, 0, 11, 5], "texture": "#0"}, + "south": {"uv": [5, 0, 10, 5], "texture": "#0"}, + "west": {"uv": [11, 0, 9, 5], "texture": "#0"}, + "up": {"uv": [5, 6, 0, 8], "texture": "#0"}, + "down": {"uv": [5, 5, 0, 7], "texture": "#0"} + } + }, + { + "from": [5.6, 7.5, 12], + "to": [10.6, 12.5, 14], + "rotation": {"angle": 45, "axis": "z", "origin": [8.1, 10, 13]}, + "faces": { + "north": {"uv": [5, 0, 10, 5], "texture": "#0"}, + "east": {"uv": [11, 0, 9, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 5, 5], "texture": "#0"}, + "west": {"uv": [9, 0, 11, 5], "texture": "#0"}, + "up": {"uv": [5, 8, 0, 6], "texture": "#0"}, + "down": {"uv": [5, 6, 0, 8], "texture": "#0"} + } + }, + { + "from": [5.6, 0.5, 7], + "to": [10.6, 5.5, 9], + "rotation": {"angle": 45, "axis": "z", "origin": [8.1, 3, 8]}, + "faces": { + "north": {"uv": [0, 0, 5, 5], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 5], "texture": "#0"}, + "south": {"uv": [0, 0, 5, 5], "texture": "#0"}, + "west": {"uv": [3, 0, 5, 5], "texture": "#0"}, + "up": {"uv": [5, 2, 0, 0], "texture": "#0"}, + "down": {"uv": [5, 0, 0, 2], "texture": "#0"} + } + }, + { + "from": [6, 5, 1], + "to": [10, 11, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 5, 0]}, + "faces": { + "north": {"uv": [0, 8, 4, 14], "texture": "#0"}, + "east": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "south": {"uv": [0, 8, 4, 14], "texture": "#0"}, + "west": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "up": {"uv": [4, 9, 0, 8], "texture": "#0"}, + "down": {"uv": [4, 8, 0, 9], "texture": "#0"} + } + }, + { + "from": [6, 5, 4], + "to": [10, 11, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 5, 3]}, + "faces": { + "north": {"uv": [0, 8, 4, 14], "texture": "#0"}, + "east": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "south": {"uv": [0, 8, 4, 14], "texture": "#0"}, + "west": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "up": {"uv": [4, 14, 0, 13], "texture": "#0"}, + "down": {"uv": [4, 13, 0, 14], "texture": "#0"} + } + }, + { + "from": [6, 5, 11], + "to": [10, 11, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 5, 10]}, + "faces": { + "north": {"uv": [0, 8, 4, 14], "texture": "#0"}, + "east": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "south": {"uv": [0, 8, 4, 14], "texture": "#0"}, + "west": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "up": {"uv": [4, 14, 0, 13], "texture": "#0"}, + "down": {"uv": [4, 13, 0, 14], "texture": "#0"} + } + }, + { + "from": [6, 2.5, 9], + "to": [10, 8.5, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5.25, 8]}, + "faces": { + "north": {"uv": [0, 14, 4, 8], "texture": "#0"}, + "east": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "south": {"uv": [0, 14, 4, 8], "texture": "#0"}, + "west": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "up": {"uv": [4, 9, 0, 8], "texture": "#0"}, + "down": {"uv": [4, 8, 0, 9], "texture": "#0"} + } + }, + { + "from": [6, 2.5, 6], + "to": [10, 8.5, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5.25, 8]}, + "faces": { + "north": {"uv": [0, 14, 4, 8], "texture": "#0"}, + "east": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "south": {"uv": [0, 14, 4, 8], "texture": "#0"}, + "west": {"uv": [3, 8, 4, 14], "texture": "#0"}, + "up": {"uv": [4, 9, 0, 8], "texture": "#0"}, + "down": {"uv": [4, 8, 0, 9], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/item/flamethrower/item.json b/src/main/resources/assets/tfmg/models/item/flamethrower/item.json new file mode 100644 index 00000000..434cc607 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/item/flamethrower/item.json @@ -0,0 +1,137 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "1": "tfmg:item/flamethrower", + "particle": "tfmg:item/flamethrower" + }, + "elements": [ + { + "from": [7.25, 7.25, 0], + "to": [8.75, 8.75, 8], + "faces": { + "north": {"uv": [4.75, 8.75, 5.5, 9.5], "texture": "#1"}, + "east": {"uv": [7.25, 0, 3.25, 0.75], "texture": "#1"}, + "west": {"uv": [3.25, 0, 7.25, 0.75], "texture": "#1"}, + "up": {"uv": [7.25, 1.75, 3.25, 1], "rotation": 90, "texture": "#1"}, + "down": {"uv": [3.25, 2.75, 7.25, 2], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [8, 6, -1], + "to": [8, 8, 3], + "faces": { + "north": {"uv": [3, 4, 3, 5], "texture": "#1"}, + "east": {"uv": [2, 5.5, 0, 6.5], "texture": "#1"}, + "south": {"uv": [3, 5.5, 3, 6.5], "texture": "#1"}, + "west": {"uv": [0, 5.5, 2, 6.5], "texture": "#1"}, + "up": {"uv": [3, 14.5, 3, 12.5], "texture": "#1"}, + "down": {"uv": [4.5, 12.5, 4.5, 14.5], "texture": "#1"} + } + }, + { + "from": [6.5, 4, 6], + "to": [9.5, 7, 12], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 5.5, 0]}, + "faces": { + "north": {"uv": [0, 3.75, 1.5, 5.25], "texture": "#1"}, + "east": {"uv": [3, 2, 0, 3.5], "rotation": 180, "texture": "#1"}, + "south": {"uv": [0, 3.75, 1.5, 5.25], "texture": "#1"}, + "west": {"uv": [0, 0, 3, 1.5], "rotation": 180, "texture": "#1"}, + "up": {"uv": [3, 3.5, 0, 2], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 1.5, 3, 0], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [7, 7, 8], + "to": [9, 9, 14], + "faces": { + "north": {"uv": [3.25, 8.75, 4.25, 9.75], "texture": "#1"}, + "east": {"uv": [3.25, 3, 6.25, 4], "texture": "#1"}, + "south": {"uv": [3.25, 8.75, 4.25, 9.75], "texture": "#1"}, + "west": {"uv": [3.25, 3, 6.25, 4], "texture": "#1"}, + "up": {"uv": [6.25, 5.25, 3.25, 4.25], "rotation": 90, "texture": "#1"}, + "down": {"uv": [3.25, 6.5, 6.25, 5.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [7.25, 7.25, 14], + "to": [8.75, 8.75, 19], + "faces": { + "east": {"uv": [9, 3, 6.5, 3.75], "texture": "#1"}, + "west": {"uv": [6.5, 3, 9, 3.75], "texture": "#1"}, + "up": {"uv": [9, 4.75, 6.5, 4], "rotation": 90, "texture": "#1"}, + "down": {"uv": [6.5, 5.75, 9, 5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [7.5, 9, 9], + "to": [8.5, 9.5, 13], + "faces": { + "north": {"uv": [6.75, 7.5, 7, 8], "rotation": 90, "texture": "#1"}, + "east": {"uv": [4.5, 7, 6.5, 7.25], "texture": "#1"}, + "south": {"uv": [6.75, 7.5, 7, 8], "rotation": 90, "texture": "#1"}, + "west": {"uv": [4.5, 7, 6.5, 7.25], "texture": "#1"}, + "up": {"uv": [6.5, 8, 4.5, 7.5], "rotation": 90, "texture": "#1"} + } + }, + { + "from": [7, 6, 19], + "to": [9, 9, 20], + "faces": { + "north": {"uv": [1.25, 8.25, 2.25, 9.75], "texture": "#1"}, + "east": {"uv": [3, 8.25, 2.5, 9.75], "texture": "#1"}, + "south": {"uv": [0, 8.25, 1, 9.75], "texture": "#1"}, + "west": {"uv": [2.5, 8.25, 3, 9.75], "texture": "#1"}, + "up": {"uv": [3, 8, 2, 7.5], "texture": "#1"}, + "down": {"uv": [3, 6.75, 2, 7.25], "texture": "#1"} + } + }, + { + "from": [7.25, 0, 14], + "to": [8.75, 2, 15], + "rotation": {"angle": -22.5, "axis": "x", "origin": [0, 0, 0]}, + "faces": { + "north": {"uv": [1.75, 11.5, 2.5, 12.5], "texture": "#1"}, + "east": {"uv": [1, 11.5, 1.5, 12.5], "texture": "#1"}, + "south": {"uv": [1.75, 11.5, 2.5, 12.5], "texture": "#1"}, + "west": {"uv": [1.5, 11.5, 1, 12.5], "texture": "#1"}, + "down": {"uv": [2.5, 12.75, 1.75, 13.25], "texture": "#1"} + } + }, + { + "from": [7, 7, 0], + "to": [9, 9, 3], + "faces": { + "east": {"uv": [1.5, 7, 0, 8], "texture": "#1"}, + "west": {"uv": [1.5, 7, 0, 8], "texture": "#1"}, + "up": {"uv": [0, 8, 1.5, 7], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 8, 1.5, 7], "rotation": 90, "texture": "#1"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [0, -15, 0], + "translation": [0.75, 0, -4.5] + }, + "thirdperson_lefthand": { + "rotation": [0, -15, 0], + "translation": [0.75, 0, -4.5] + }, + "firstperson_righthand": { + "translation": [-1, 1, 0] + }, + "firstperson_lefthand": { + "translation": [-1, 1, 0] + }, + "gui": { + "rotation": [44.7, 36.34, -16.89], + "translation": [-1, 1.75, 0] + }, + "fixed": { + "rotation": [90, -57.75, 90], + "translation": [1.25, 1, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/item/glass_insulator_segment_model.json b/src/main/resources/assets/tfmg/models/item/glass_insulator_segment_model.json new file mode 100644 index 00000000..70bc7974 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/item/glass_insulator_segment_model.json @@ -0,0 +1,49 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/glass_insulator", + "particle": "tfmg:block/glass_insulator" + }, + "elements": [ + { + "from": [4, 7, 4], + "to": [12, 9, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 7, 9]}, + "faces": { + "north": {"uv": [8, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [8, 0, 0, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 8], "texture": "#0"} + } + }, + { + "from": [6, 6, 6], + "to": [10, 7, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "east": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "south": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "west": {"uv": [7, 10, 11, 11], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + }, + { + "from": [6, 9, 6], + "to": [10, 10, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 7]}, + "faces": { + "north": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "east": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "south": {"uv": [7, 12, 11, 13], "texture": "#0"}, + "west": {"uv": [7, 11, 11, 12], "texture": "#0"}, + "up": {"uv": [7, 10, 11, 14], "texture": "#0"}, + "down": {"uv": [7, 10, 11, 14], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/item/graphite_electrode_model.json b/src/main/resources/assets/tfmg/models/item/graphite_electrode_model.json new file mode 100644 index 00000000..485a4635 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/item/graphite_electrode_model.json @@ -0,0 +1,63 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/electrodes", + "particle": "tfmg:block/electrodes" + }, + "elements": [ + { + "from": [6, -8, 6], + "to": [10, 16, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 6]}, + "faces": { + "north": {"uv": [5, 0, 7, 12], "texture": "#0"}, + "east": {"uv": [5, 0, 7, 12], "texture": "#0"}, + "south": {"uv": [5, 0, 7, 12], "texture": "#0"}, + "west": {"uv": [5, 0, 7, 12], "texture": "#0"}, + "up": {"uv": [5, 12, 7, 14], "texture": "#0"}, + "down": {"uv": [5, 12, 7, 14], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [-22.75, 0, 0], + "translation": [0, 5, -1.75], + "scale": [0.5, 0.5, 0.5] + }, + "thirdperson_lefthand": { + "rotation": [-22.75, 0, 0], + "translation": [0, 5, -1.75], + "scale": [0.5, 0.5, 0.5] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [2.25, 2, 0], + "scale": [0.5, 0.5, 0.5] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [2.25, 2, 0], + "scale": [0.5, 0.5, 0.5] + }, + "ground": { + "translation": [0, 4.5, 0], + "scale": [0.3, 0.3, 0.3] + }, + "gui": { + "rotation": [53, 45, 0], + "translation": [0, 2, 0], + "scale": [0.75, 0.75, 0.75] + }, + "head": { + "rotation": [30, 90, 90], + "translation": [0, 7.75, -10] + }, + "fixed": { + "rotation": [0, 0, -45], + "translation": [2.5, 2.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/item/oil_can_model.json b/src/main/resources/assets/tfmg/models/item/oil_can_model.json new file mode 100644 index 00000000..30de4966 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/item/oil_can_model.json @@ -0,0 +1,82 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "1": "tfmg:item/oil_can" + }, + "elements": [ + { + "from": [5, 6, 6], + "to": [10, 11, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 3, 7]}, + "faces": { + "north": {"uv": [0, 0, 2.5, 2.5], "texture": "#1"}, + "east": {"uv": [2.5, 0, 4.5, 2.5], "texture": "#1"}, + "south": {"uv": [2.5, 0, 0, 2.5], "texture": "#1"}, + "west": {"uv": [2.5, 0, 4.5, 2.5], "texture": "#1"}, + "up": {"uv": [2.5, 8, 0, 6], "texture": "#1"}, + "down": {"uv": [5, 6, 2.5, 8], "texture": "#1"} + } + }, + { + "from": [2, 6, 8], + "to": [7, 12, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 8, 8]}, + "faces": { + "north": {"uv": [2.5, 3, 0, 6], "texture": "#1"}, + "east": {"uv": [0, 0, 0, 6], "texture": "#1"}, + "south": {"uv": [0, 3, 2.5, 6], "texture": "#1"}, + "west": {"uv": [0, 0, 0, 6], "texture": "#1"}, + "up": {"uv": [5, 0, 0, 0], "texture": "#1"}, + "down": {"uv": [5, 0, 0, 0], "texture": "#1"} + } + }, + { + "from": [8, 10, 8], + "to": [20, 12, 8], + "rotation": {"angle": 22.5, "axis": "z", "origin": [11.5, 11.5, 8]}, + "faces": { + "north": {"uv": [4.5, 0, 5.5, 6], "rotation": 270, "texture": "#1"}, + "east": {"uv": [2, 0, 0, 0], "rotation": 90, "texture": "#1"}, + "south": {"uv": [5.5, 0, 4.5, 6], "rotation": 90, "texture": "#1"}, + "west": {"uv": [2, 0, 0, 0], "rotation": 90, "texture": "#1"}, + "up": {"uv": [0, 0, 0, 9], "rotation": 90, "texture": "#1"}, + "down": {"uv": [0, 0, 0, 9], "rotation": 90, "texture": "#1"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [38, 90, 0], + "translation": [0, 1, -2.25], + "scale": [0.7, 0.7, 0.7] + }, + "thirdperson_lefthand": { + "rotation": [38, -90, 0], + "translation": [0, 1, -2.25], + "scale": [0.7, 0.7, 0.7] + }, + "firstperson_righthand": { + "rotation": [0, 99, 0], + "translation": [-0.75, 0.75, 0] + }, + "firstperson_lefthand": { + "rotation": [0, -99, 0], + "translation": [-0.75, 0.75, 0] + }, + "gui": { + "rotation": [19, 150, 0], + "translation": [2, -1.5, -0.5] + }, + "head": { + "rotation": [0, 90, 0], + "translation": [0, 0, -2.5], + "scale": [3.5, 3.5, 3.5] + }, + "fixed": { + "rotation": [0, 0, 15], + "translation": [0, -2.75, -0.5], + "scale": [1.5, 1.5, 1.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/item/quad_potato_cannon/item.json b/src/main/resources/assets/tfmg/models/item/quad_potato_cannon/item.json new file mode 100644 index 00000000..256b4696 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/item/quad_potato_cannon/item.json @@ -0,0 +1,263 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "tfmg:item/quad_potato_cannon", + "particle": "tfmg:item/quad_potato_cannon" + }, + "elements": [ + { + "name": "Body", + "from": [5, 1, 2], + "to": [11, 7, 19], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 4]}, + "faces": { + "north": {"uv": [5, 2, 6.5, 3.5], "texture": "#0"}, + "east": {"uv": [0.5, 0, 4.75, 1.5], "texture": "#0"}, + "south": {"uv": [5.5, 5, 7, 6.5], "texture": "#0"}, + "west": {"uv": [0, 1.5, 4.25, 3], "texture": "#0"}, + "up": {"uv": [1.5, 7.75, 0, 3.5], "texture": "#0"}, + "down": {"uv": [3, 3, 1.5, 7.25], "texture": "#0"} + } + }, + { + "name": "Back", + "from": [8, 3, 19], + "to": [10, 5, 24], + "rotation": {"angle": -45, "axis": "z", "origin": [6, 6, 20]}, + "faces": { + "north": {"uv": [7.75, 6.5, 8.25, 7], "texture": "#0"}, + "east": {"uv": [7.5, 2.25, 8.75, 2.75], "texture": "#0"}, + "south": {"uv": [8, 1.5, 8.5, 2], "texture": "#0"}, + "west": {"uv": [7.5, 2.25, 8.75, 2.75], "texture": "#0"}, + "up": {"uv": [8, 4, 7.5, 2.75], "texture": "#0"}, + "down": {"uv": [8, 2.75, 7.5, 4], "texture": "#0"} + } + }, + { + "name": "Back", + "from": [10, 5, 19], + "to": [12, 7, 24], + "rotation": {"angle": -45, "axis": "z", "origin": [6, 6, 20]}, + "faces": { + "north": {"uv": [7.75, 6.5, 8.25, 7], "texture": "#0"}, + "east": {"uv": [7.5, 2.25, 8.75, 2.75], "texture": "#0"}, + "south": {"uv": [8, 1.5, 8.5, 2], "texture": "#0"}, + "west": {"uv": [0.5, 7.25, 1.75, 7.75], "texture": "#0"}, + "up": {"uv": [8, 4, 7.5, 2.75], "texture": "#0"}, + "down": {"uv": [8, 2.75, 7.5, 4], "texture": "#0"} + } + }, + { + "name": "Back", + "from": [8, 7, 19], + "to": [10, 9, 24], + "rotation": {"angle": -45, "axis": "z", "origin": [6, 6, 20]}, + "faces": { + "north": {"uv": [7.75, 6.5, 8.25, 7], "texture": "#0"}, + "east": {"uv": [7.5, 2.25, 8.75, 2.75], "texture": "#0"}, + "south": {"uv": [8, 1.5, 8.5, 2], "texture": "#0"}, + "west": {"uv": [7.5, 2.25, 8.75, 2.75], "texture": "#0"}, + "up": {"uv": [8, 4, 7.5, 2.75], "texture": "#0"}, + "down": {"uv": [2.75, 7.25, 2.25, 8.5], "texture": "#0"} + } + }, + { + "name": "Handle", + "from": [6, -5, 4], + "to": [8, 0, 5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [0, 0, 0]}, + "faces": { + "north": {"uv": [0, 7.75, 0.5, 9], "texture": "#0"}, + "east": {"uv": [0, 7.75, 0.25, 9], "texture": "#0"}, + "south": {"uv": [0, 7.75, 0.5, 9], "texture": "#0"}, + "west": {"uv": [0.125, 7.75, 0.375, 9], "texture": "#0"}, + "up": {"uv": [7.5, 8.25, 7, 8], "texture": "#0"}, + "down": {"uv": [0.5, 8.875, 0.25, 9], "texture": "#0"} + } + }, + { + "name": "Pipe", + "from": [11, 3, 5], + "to": [12, 5, 14], + "faces": { + "north": {"uv": [6.875, 0.75, 7.125, 1.25], "texture": "#0"}, + "east": {"uv": [6.75, 0.75, 9, 1.25], "texture": "#0"}, + "south": {"uv": [8, 7.5, 8.25, 8], "texture": "#0"}, + "west": {"uv": [5.5, 6.5, 7.75, 7], "texture": "#0"}, + "up": {"uv": [10.5, 2.5, 10.25, 0.25], "texture": "#0"}, + "down": {"uv": [10.5, 0.25, 10.25, 2.5], "texture": "#0"} + } + }, + { + "name": "Pipe", + "from": [4, 3, 5], + "to": [5, 5, 14], + "faces": { + "north": {"uv": [7, 1.25, 7.25, 1.75], "texture": "#0"}, + "east": {"uv": [7, 3.5, 9.25, 4], "texture": "#0"}, + "south": {"uv": [8.25, 0.5, 8.5, 1], "texture": "#0"}, + "west": {"uv": [6.75, 1.25, 9, 1.75], "texture": "#0"}, + "up": {"uv": [10.75, 2.5, 10.5, 0.25], "texture": "#0"}, + "down": {"uv": [10.75, 0.25, 10.5, 2.5], "texture": "#0"} + } + }, + { + "name": "Back", + "from": [6, 5, 19], + "to": [8, 7, 24], + "rotation": {"angle": -45, "axis": "z", "origin": [6, 6, 20]}, + "faces": { + "north": {"uv": [7.75, 6.5, 8.25, 7], "texture": "#0"}, + "east": {"uv": [7.25, 0, 8.5, 0.5], "texture": "#0"}, + "south": {"uv": [8, 1.5, 8.5, 2], "texture": "#0"}, + "west": {"uv": [7.5, 2.25, 8.75, 2.75], "texture": "#0"}, + "up": {"uv": [8, 4, 7.5, 2.75], "texture": "#0"}, + "down": {"uv": [8, 2.75, 7.5, 4], "texture": "#0"} + } + }, + { + "name": "Tank", + "from": [6, 7, 11], + "to": [10, 9, 17], + "faces": { + "north": {"uv": [7.75, 6.75, 8.75, 7.25], "texture": "#0"}, + "east": {"uv": [5.5, 7.25, 7, 7.75], "texture": "#0"}, + "south": {"uv": [7.75, 6.75, 8.75, 7.25], "texture": "#0"}, + "west": {"uv": [5.5, 7.25, 7, 7.75], "texture": "#0"}, + "up": {"uv": [4, 8, 3, 6.5], "texture": "#0"}, + "down": {"uv": [7.5, 1.5, 6.5, 3], "texture": "#0"} + } + }, + { + "name": "Pipe", + "from": [5, 7, 14], + "to": [7, 8, 16], + "faces": { + "north": {"uv": [7, 4.25, 7.5, 4.5], "texture": "#0"}, + "east": {"uv": [8.25, 1.25, 8.75, 1.5], "texture": "#0"}, + "south": {"uv": [7, 4.5, 7.5, 4.75], "texture": "#0"}, + "west": {"uv": [8.25, 6.75, 8.75, 7], "texture": "#0"}, + "up": {"uv": [7.5, 5.5, 7, 5], "texture": "#0"}, + "down": {"uv": [8.5, 2.5, 8, 3], "texture": "#0"} + } + }, + { + "name": "Pipe", + "from": [9, 7, 14], + "to": [11, 8, 16], + "faces": { + "north": {"uv": [7, 4.5, 7.5, 4.75], "texture": "#0"}, + "east": {"uv": [7.5, 8.25, 8, 8.5], "texture": "#0"}, + "south": {"uv": [7, 4.5, 7.5, 4.75], "texture": "#0"}, + "west": {"uv": [8.25, 7.75, 8.75, 8], "texture": "#0"}, + "up": {"uv": [7.5, 5.5, 7, 5], "texture": "#0"}, + "down": {"uv": [6.5, 8, 6, 8.5], "texture": "#0"} + } + }, + { + "name": "Pipe", + "from": [11, 3, 14], + "to": [12, 8, 16], + "faces": { + "north": {"uv": [7, 4.25, 7.25, 5.5], "texture": "#0"}, + "east": {"uv": [7, 4.25, 7.5, 5.5], "texture": "#0"}, + "south": {"uv": [7.25, 4.25, 7.5, 5.5], "texture": "#0"}, + "west": {"uv": [0.5, 7.75, 1, 8.75], "texture": "#0"}, + "up": {"uv": [7.25, 5.5, 7, 5], "texture": "#0"}, + "down": {"uv": [7.5, 5, 7.25, 5.5], "texture": "#0"} + } + }, + { + "name": "Pipe", + "from": [4, 3, 14], + "to": [5, 8, 16], + "faces": { + "north": {"uv": [7.25, 4.25, 7.5, 5.5], "texture": "#0"}, + "east": {"uv": [7.75, 0.5, 8.25, 1.5], "texture": "#0"}, + "south": {"uv": [7, 4.25, 7.25, 5.5], "texture": "#0"}, + "west": {"uv": [7, 4.25, 7.5, 5.5], "texture": "#0"}, + "up": {"uv": [7.5, 5.5, 7.25, 5], "texture": "#0"}, + "down": {"uv": [7.25, 5, 7, 5.5], "texture": "#0"} + } + }, + { + "name": "Grip", + "from": [7, 0, 2], + "to": [9, 1, 19], + "faces": { + "north": {"uv": [8.5, 0.5, 9, 0.75], "texture": "#0"}, + "east": {"uv": [5.5, 6.5, 10, 6.75], "texture": "#0"}, + "south": {"uv": [6, 6.25, 6.5, 6.5], "texture": "#0"}, + "west": {"uv": [5.5, 6.5, 10, 6.75], "texture": "#0"}, + "up": {"uv": [5.5, 8, 5, 3.5], "texture": "#0"}, + "down": {"uv": [5, 5, 4.5, 9.5], "texture": "#0"} + } + }, + { + "name": "Back", + "from": [5, 1, 24], + "to": [11, 7, 25], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -1]}, + "faces": { + "north": {"uv": [5.5, 3.5, 7, 5], "texture": "#0"}, + "east": {"uv": [1.5, 7.75, 1.75, 9.25], "texture": "#0"}, + "south": {"uv": [5.5, 3.5, 7, 5], "texture": "#0"}, + "west": {"uv": [1.125, 8.125, 1.375, 9.625], "texture": "#0"}, + "up": {"uv": [1.625, 9.375, 0.125, 9.125], "texture": "#0"}, + "down": {"uv": [1.5, 9.5, 0, 9.75], "texture": "#0"} + } + }, + { + "from": [4, 0, 0], + "to": [12, 8, 2], + "faces": { + "north": {"uv": [3, 3, 5, 5], "texture": "#0"}, + "east": {"uv": [2, 10, 2.5, 12], "texture": "#0"}, + "south": {"uv": [3, 3, 5, 5], "texture": "#0"}, + "west": {"uv": [2, 10, 2.5, 12], "texture": "#0"}, + "up": {"uv": [2, 11.125, 0, 10.625], "texture": "#0"}, + "down": {"uv": [2, 10.625, 0, 11.125], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "translation": [1.75, 6.75, 3.75] + }, + "thirdperson_lefthand": { + "translation": [1.75, 6.75, 3.75] + }, + "firstperson_righthand": { + "translation": [0, 10.75, 5.25] + }, + "firstperson_lefthand": { + "translation": [0, 10.75, 5.25] + }, + "ground": { + "rotation": [0, 0, 90], + "translation": [-3.5, 0.75, -4.25] + }, + "gui": { + "rotation": [40, 39, -6], + "translation": [-1.5, 3.5, 0], + "scale": [0.7, 0.7, 0.7] + }, + "head": { + "translation": [0, 14, -2.75] + }, + "fixed": { + "rotation": [-90, 180, 0], + "translation": [0, 4.25, -4.5], + "scale": [0.8, 0.8, 0.8] + } + }, + "groups": [ + { + "name": "group", + "origin": [0, 0, 0], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/item/transmission_model.json b/src/main/resources/assets/tfmg/models/item/transmission_model.json new file mode 100644 index 00000000..d6026b8f --- /dev/null +++ b/src/main/resources/assets/tfmg/models/item/transmission_model.json @@ -0,0 +1,159 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "texture_size": [32, 32], + "textures": { + "2": "tfmg:block/transmission" + }, + "elements": [ + { + "from": [5, 11, 3], + "to": [11, 14, 12], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 4, 8]}, + "faces": { + "north": {"uv": [3, 3, 4.5, 6], "rotation": 270, "texture": "#2"}, + "east": {"uv": [1.5, 7.5, 0, 3], "rotation": 90, "texture": "#2"}, + "south": {"uv": [6.5, 0, 8, 3], "rotation": 90, "texture": "#2"}, + "west": {"uv": [3, 3, 1.5, 7.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 4.5, 3], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 0, 4.5, 3], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [5, 11, 2], + "to": [10, 14, 3], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 4, 8]}, + "faces": { + "north": {"uv": [7.5, 0, 9, 2.5], "rotation": 270, "texture": "#2"}, + "east": {"uv": [9, 2.5, 7.5, 2], "rotation": 90, "texture": "#2"}, + "south": {"uv": [4.5, 8, 6, 10.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9, 2, 7.5, 2.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [4, 3.5, 4.5, 6], "rotation": 90, "texture": "#2"}, + "down": {"uv": [3.5, 3.5, 4, 6], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [4, 11, 12], + "to": [12, 15, 14], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 4, 8]}, + "faces": { + "north": {"uv": [4.5, 0, 6.5, 4], "rotation": 270, "texture": "#2"}, + "east": {"uv": [11, 2, 9, 1], "rotation": 90, "texture": "#2"}, + "south": {"uv": [4.5, 4, 6.5, 8], "rotation": 90, "texture": "#2"}, + "west": {"uv": [11, 1, 9, 2], "rotation": 90, "texture": "#2"}, + "up": {"uv": [6.5, 0, 7.5, 4], "rotation": 90, "texture": "#2"}, + "down": {"uv": [15, 0, 16, 4], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [4, 15, 7], + "to": [12, 15, 9], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 4], "rotation": 270, "texture": "#2"}, + "east": {"uv": [0, 1, 0, 0], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 0, 0, 4], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 0, 0, 1], "rotation": 90, "texture": "#2"}, + "up": {"uv": [2.5, 3.5, 3.5, 7.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [2, 3, 3, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [12, 11, 7], + "to": [12, 15, 9], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 0], "rotation": 270, "texture": "#2"}, + "east": {"uv": [11, 0, 9, 1], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 0, 2, 0], "rotation": 90, "texture": "#2"}, + "west": {"uv": [11, 1, 9, 0], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [4, 11, 7], + "to": [4, 15, 9], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 0], "rotation": 270, "texture": "#2"}, + "east": {"uv": [11, 0, 9, 1], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 0, 2, 0], "rotation": 90, "texture": "#2"}, + "west": {"uv": [11, 1, 9, 0], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 0, 1, 0], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [12, 11, 10], + "to": [12, 15, 11], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 0], "rotation": 270, "texture": "#2"}, + "east": {"uv": [11, 1, 9, 0.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 0, 2, 0], "rotation": 90, "texture": "#2"}, + "west": {"uv": [11, 0, 9, 0.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 0.5, 0], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 0, 0.5, 0], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [4, 15, 10], + "to": [12, 15, 11], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 4], "rotation": 270, "texture": "#2"}, + "east": {"uv": [0, 0.5, 0, 0], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 0, 0, 4], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 0, 0, 0.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [3, 3.5, 3.5, 7.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [1.5, 3, 2, 7], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [4, 11, 10], + "to": [4, 15, 11], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 0], "rotation": 270, "texture": "#2"}, + "east": {"uv": [11.5, 0.5, 9.5, 0], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 0, 2, 0], "rotation": 90, "texture": "#2"}, + "west": {"uv": [11, 0.5, 9, 1], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 0.5, 0], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 0, 0.5, 0], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [11, 12, 3], + "to": [12, 13, 12], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 4, 8]}, + "faces": { + "north": {"uv": [1.5, 10.5, 2, 11], "rotation": 270, "texture": "#2"}, + "east": {"uv": [3.5, 7.5, 3, 3], "rotation": 90, "texture": "#2"}, + "south": {"uv": [2, 10.5, 2.5, 11], "rotation": 90, "texture": "#2"}, + "west": {"uv": [16, 0, 15.5, 4.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [12.5, 2.5, 8, 3], "rotation": 90, "texture": "#2"}, + "down": {"uv": [12.5, 2.5, 8, 3], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [10, 12, 2], + "to": [12, 13, 3], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 4, 8]}, + "faces": { + "north": {"uv": [3, 3.5, 3.5, 4.5], "rotation": 270, "texture": "#2"}, + "east": {"uv": [3.5, 6, 3, 5.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [6.5, 4, 7, 5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [7, 4, 6.5, 4.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [3, 6, 3.5, 7], "rotation": 90, "texture": "#2"}, + "down": {"uv": [3, 4, 3.5, 5], "rotation": 90, "texture": "#2"} + } + } + ], + "display": { + "gui": { + "rotation": [37, -42, 0], + "translation": [0.75, -2.75, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/item/unfinished_engine.json b/src/main/resources/assets/tfmg/models/item/unfinished_engine.json new file mode 100644 index 00000000..b3fa1962 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/item/unfinished_engine.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "0": "tfmg:item/engine_base", + "particle": "tfmg:item/engine_base" + }, + "elements": [ + { + "from": [3, 0, 2], + "to": [13, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [1, 0, 3.5, 3], "texture": "#0"}, + "east": {"uv": [3.5, 12.25, 0, 15.25], "texture": "#0"}, + "south": {"uv": [5.5, 0, 8, 3], "texture": "#0"}, + "west": {"uv": [0, 12.25, 3.5, 15.25], "texture": "#0"}, + "up": {"uv": [1, 7, 3.5, 10.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 3.5, 8, 7], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [0, 0, 2], + "to": [3, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [3.5, 1.25, 4.25, 3], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "south": {"uv": [4.75, 1.25, 5.5, 3], "texture": "#0"}, + "west": {"uv": [0, 13.75, 3.5, 15.5], "texture": "#0"}, + "up": {"uv": [0, 7, 0.75, 10.5], "texture": "#0"}, + "down": {"uv": [8.625, 7, 8, 3.5], "texture": "#0"} + } + }, + { + "from": [13, 0, 2], + "to": [16, 7, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [0.25, 1.25, 1, 3], "texture": "#0"}, + "east": {"uv": [3.5, 13.75, 0, 15.5], "texture": "#0"}, + "south": {"uv": [8, 1.25, 8.75, 3], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "up": {"uv": [3.75, 7, 4.5, 10.5], "texture": "#0"}, + "down": {"uv": [5.5, 3.5, 4.75, 7], "texture": "#0"} + } + }, + { + "from": [2, 7, 2], + "to": [3, 10, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [14, 1, 14.25, 1.75], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "south": {"uv": [14, 1, 14.25, 1.75], "texture": "#0"}, + "west": {"uv": [14, 1, 14.5, 1.75], "texture": "#0"}, + "up": {"uv": [14, 1.25, 14.5, 1.5], "texture": "#0"}, + "down": {"uv": [14.25, 0, 15.25, 2], "texture": "#0"} + } + }, + { + "from": [13, 7, 2], + "to": [14, 10, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 8]}, + "faces": { + "north": {"uv": [14, 1, 14.25, 1.75], "texture": "#0"}, + "east": {"uv": [14, 1, 14.5, 1.75], "texture": "#0"}, + "south": {"uv": [14, 1, 14.25, 1.75], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "up": {"uv": [14, 1.25, 14.5, 1.5], "texture": "#0"}, + "down": {"uv": [14.25, 0.125, 15.25, 2.125], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/item/unfinished_generator_model.json b/src/main/resources/assets/tfmg/models/item/unfinished_generator_model.json new file mode 100644 index 00000000..e97990ae --- /dev/null +++ b/src/main/resources/assets/tfmg/models/item/unfinished_generator_model.json @@ -0,0 +1,36 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "2": "tfmg:block/unfinished_generator", + "particle": "tfmg:block/steel_block" + }, + "elements": [ + { + "from": [0, 0, 6], + "to": [16, 16, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [7, 0, 15, 8], "texture": "#2"}, + "east": {"uv": [5, 0, 2, 8], "texture": "#2"}, + "south": {"uv": [7, 0, 15, 8], "texture": "#2"}, + "west": {"uv": [2, 0, 5, 8], "texture": "#2"}, + "up": {"uv": [2, 0, 5, 8], "rotation": 90, "texture": "#2"}, + "down": {"uv": [5, 0, 2, 8], "rotation": 90, "texture": "#2"} + } + }, + { + "from": [3, 3, 2], + "to": [13, 13, 16], + "faces": { + "north": {"uv": [8.5, 1.5, 13.5, 6.5], "texture": "#2"}, + "east": {"uv": [0, 1.5, 7, 6.5], "texture": "#2"}, + "south": {"uv": [0, 8.5, 5, 13.5], "texture": "#2"}, + "west": {"uv": [0, 1.5, 7, 6.5], "texture": "#2"}, + "up": {"uv": [0, 1.5, 7, 6.5], "rotation": 90, "texture": "#2"}, + "down": {"uv": [0, 1.5, 7, 6.5], "rotation": 90, "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/item/unfinished_insulator_model.json b/src/main/resources/assets/tfmg/models/item/unfinished_insulator_model.json new file mode 100644 index 00000000..891ccc8a --- /dev/null +++ b/src/main/resources/assets/tfmg/models/item/unfinished_insulator_model.json @@ -0,0 +1,74 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "tfmg:block/regular_insulator", + "particle": "tfmg:block/regular_insulator" + }, + "elements": [ + { + "from": [5, 1, 5], + "to": [11, 2, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 1, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [5, 3, 5], + "to": [11, 4, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 3, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [5, 5, 5], + "to": [11, 6, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 5, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + }, + { + "from": [6, 0, 6], + "to": [10, 8, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]}, + "faces": { + "north": {"uv": [12, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [12, 0, 16, 8], "texture": "#0"}, + "south": {"uv": [12, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [12, 0, 16, 8], "texture": "#0"}, + "down": {"uv": [1, 3, 5, 7], "texture": "#0"} + } + }, + { + "from": [5, 7, 5], + "to": [11, 8, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 6]}, + "faces": { + "north": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 6, 1], "texture": "#0"}, + "up": {"uv": [0, 2, 6, 8], "texture": "#0"}, + "down": {"uv": [0, 2, 6, 8], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/item/unfired_insulator_model.json b/src/main/resources/assets/tfmg/models/item/unfired_insulator_model.json new file mode 100644 index 00000000..25241a3b --- /dev/null +++ b/src/main/resources/assets/tfmg/models/item/unfired_insulator_model.json @@ -0,0 +1,8 @@ +{ + "credit": "Made with Blockbench", + "parent": "tfmg:item/unfinished_insulator", + "textures": { + "0": "minecraft:block/clay", + "particle": "minecraft:block/clay" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/item/zinc_electrode_model.json b/src/main/resources/assets/tfmg/models/item/zinc_electrode_model.json new file mode 100644 index 00000000..3f82a84d --- /dev/null +++ b/src/main/resources/assets/tfmg/models/item/zinc_electrode_model.json @@ -0,0 +1,63 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/electrodes", + "particle": "tfmg:block/electrodes" + }, + "elements": [ + { + "from": [6, -8, 6], + "to": [10, 16, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 6]}, + "faces": { + "north": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "up": {"uv": [0, 12, 2, 14], "texture": "#0"}, + "down": {"uv": [0, 12, 2, 14], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [-22.75, 0, 0], + "translation": [0, 5, -1.75], + "scale": [0.5, 0.5, 0.5] + }, + "thirdperson_lefthand": { + "rotation": [-22.75, 0, 0], + "translation": [0, 5, -1.75], + "scale": [0.5, 0.5, 0.5] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [2.25, 2, 0], + "scale": [0.5, 0.5, 0.5] + }, + "firstperson_lefthand": { + "rotation": [0, 45, 0], + "translation": [2.25, 2, 0], + "scale": [0.5, 0.5, 0.5] + }, + "ground": { + "translation": [0, 4.5, 0], + "scale": [0.3, 0.3, 0.3] + }, + "gui": { + "rotation": [53, 45, 0], + "translation": [0, 2, 0], + "scale": [0.75, 0.75, 0.75] + }, + "head": { + "rotation": [30, 90, 90], + "translation": [0, 7.75, -10] + }, + "fixed": { + "rotation": [0, 0, -45], + "translation": [2.5, 2.5, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/large_aluminum_cogwheel_shaftless.json b/src/main/resources/assets/tfmg/models/large_aluminum_cogwheel_shaftless.json new file mode 100644 index 00000000..f419da33 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/large_aluminum_cogwheel_shaftless.json @@ -0,0 +1,189 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/large_aluminum_coghweel", + "particle": "tfmg:block/large_aluminum_coghweel" + }, + "elements": [ + { + "name": "Gear2", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear3", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear4", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "GearCaseInner", + "from": [-2, 7.6, -2], + "to": [18, 8.4, 18], + "faces": { + "north": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "east": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "south": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "west": {"uv": [0, 10, 10, 11.5], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 10], "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [-1, 5.975, 1], + "to": [1, 10.025, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "south": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [12, 0, 13, 7], "rotation": 180, "texture": "#0"}, + "down": {"uv": [13, 0, 14, 7], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [1, 5.975, -1], + "to": [15, 10.025, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "west": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#0"}, + "up": {"uv": [13, 0, 14, 7], "rotation": 270, "texture": "#0"}, + "down": {"uv": [12, 0, 13, 7], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [15, 5.975, 1], + "to": [17, 10.025, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#0"}, + "east": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "up": {"uv": [15, 0, 16, 7], "texture": "#0"}, + "down": {"uv": [14, 0, 15, 7], "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [1, 5.975, 15], + "to": [15, 10.025, 17], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "east": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#0"}, + "south": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#0"}, + "west": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#0"}, + "up": {"uv": [14, 0, 15, 7], "rotation": 90, "texture": "#0"}, + "down": {"uv": [15, 0, 16, 7], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "Gear", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Gear5", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear6", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "Gear7", + "from": [-7, 6.525, 6.5], + "to": [23, 9.475, 9.5], + "faces": { + "north": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "east": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "south": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "west": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "texture": "#0"} + } + }, + { + "name": "Gear8", + "from": [6.5, 6.525, -7], + "to": [9.5, 9.475, 23], + "faces": { + "north": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "east": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "south": {"uv": [10, 9.5, 11.5, 11], "texture": "#0"}, + "west": {"uv": [0, 13, 15, 14.5], "texture": "#0"}, + "up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/large_steel_cogwheel_shaftless.json b/src/main/resources/assets/tfmg/models/large_steel_cogwheel_shaftless.json new file mode 100644 index 00000000..e69de29b diff --git a/src/main/resources/assets/tfmg/models/steel_cogwheel_shaftless.json b/src/main/resources/assets/tfmg/models/steel_cogwheel_shaftless.json new file mode 100644 index 00000000..8ef0b787 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/steel_cogwheel_shaftless.json @@ -0,0 +1,91 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/large_wheels", + "texture_size": [32, 32], + "textures": { + "0": "tfmg:block/steel_coghweel", + "particle": "tfmg:block/steel_coghweel" + }, + "elements": [ + { + "name": "Gear", + "from": [-1, 6.5, 6.5], + "to": [17, 9.5, 9.5], + "faces": { + "north": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "east": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "south": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "west": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#0"} + } + }, + { + "name": "Gear2", + "from": [-1, 6.5, 6.5], + "to": [17, 9.5, 9.5], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "east": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "south": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "west": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#0"} + } + }, + { + "name": "Gear3", + "from": [-1, 6.5, 6.5], + "to": [17, 9.5, 9.5], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "east": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "south": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "west": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#0"} + } + }, + { + "name": "Gear4", + "from": [6.5, 6.5, -1], + "to": [9.5, 9.5, 17], + "faces": { + "north": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "east": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "south": {"uv": [5, 8, 6.5, 9.5], "texture": "#0"}, + "west": {"uv": [7, 8, 16, 9.5], "texture": "#0"}, + "up": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "GearCaseInner", + "from": [2, 6.55, 2], + "to": [14, 9.45, 14], + "faces": { + "north": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "east": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "south": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "west": {"uv": [0, 6, 6, 7.5], "texture": "#0"}, + "up": {"uv": [4, 0, 10, 6], "texture": "#0"}, + "down": {"uv": [4, 0, 10, 6], "texture": "#0"} + } + }, + { + "name": "GearCaseOuter", + "from": [3, 5, 3], + "to": [13, 11, 13], + "faces": { + "north": {"uv": [5, 10.5, 10, 13.5], "texture": "#0"}, + "east": {"uv": [5, 10.5, 10, 13.5], "texture": "#0"}, + "south": {"uv": [5, 10.5, 10, 13.5], "texture": "#0"}, + "west": {"uv": [5, 10.5, 10, 13.5], "texture": "#0"}, + "up": {"uv": [0, 8.5, 5, 13.5], "texture": "#0"}, + "down": {"uv": [0, 8.5, 5, 13.5], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/particles/electric_spark.json b/src/main/resources/assets/tfmg/particles/electric_spark.json new file mode 100644 index 00000000..277bb088 --- /dev/null +++ b/src/main/resources/assets/tfmg/particles/electric_spark.json @@ -0,0 +1,5 @@ +{ + "textures": [ + "tfmg:electric_spark" + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/ponder/blast_furnace.nbt b/src/main/resources/assets/tfmg/ponder/blast_furnace.nbt new file mode 100644 index 00000000..02a4a68e Binary files /dev/null and b/src/main/resources/assets/tfmg/ponder/blast_furnace.nbt differ diff --git a/src/main/resources/assets/tfmg/ponder/chemical_vat.nbt b/src/main/resources/assets/tfmg/ponder/chemical_vat.nbt new file mode 100644 index 00000000..3bd634d7 Binary files /dev/null and b/src/main/resources/assets/tfmg/ponder/chemical_vat.nbt differ diff --git a/src/main/resources/assets/tfmg/ponder/coke_oven.nbt b/src/main/resources/assets/tfmg/ponder/coke_oven.nbt new file mode 100644 index 00000000..c4345cf0 Binary files /dev/null and b/src/main/resources/assets/tfmg/ponder/coke_oven.nbt differ diff --git a/src/main/resources/assets/tfmg/ponder/distillation_tower.nbt b/src/main/resources/assets/tfmg/ponder/distillation_tower.nbt new file mode 100644 index 00000000..2f7bd572 Binary files /dev/null and b/src/main/resources/assets/tfmg/ponder/distillation_tower.nbt differ diff --git a/src/main/resources/assets/tfmg/ponder/electricity.nbt b/src/main/resources/assets/tfmg/ponder/electricity.nbt new file mode 100644 index 00000000..ba5f6e5e Binary files /dev/null and b/src/main/resources/assets/tfmg/ponder/electricity.nbt differ diff --git a/src/main/resources/assets/tfmg/ponder/electricity_two.nbt b/src/main/resources/assets/tfmg/ponder/electricity_two.nbt new file mode 100644 index 00000000..9bdf7b42 Binary files /dev/null and b/src/main/resources/assets/tfmg/ponder/electricity_two.nbt differ diff --git a/src/main/resources/assets/tfmg/ponder/engines.nbt b/src/main/resources/assets/tfmg/ponder/engines.nbt new file mode 100644 index 00000000..de0cd2ce Binary files /dev/null and b/src/main/resources/assets/tfmg/ponder/engines.nbt differ diff --git a/src/main/resources/assets/tfmg/ponder/pumpjack.nbt b/src/main/resources/assets/tfmg/ponder/pumpjack.nbt new file mode 100644 index 00000000..0a582c89 Binary files /dev/null and b/src/main/resources/assets/tfmg/ponder/pumpjack.nbt differ diff --git a/src/main/resources/assets/tfmg/sounds.json b/src/main/resources/assets/tfmg/sounds.json new file mode 100644 index 00000000..efa422fc --- /dev/null +++ b/src/main/resources/assets/tfmg/sounds.json @@ -0,0 +1,23 @@ +{ + + "engine": { + "sounds": [ + { + "name": "tfmg:engine", + "type": "file", + "attenuation_distance": 16 + } + ], + "subtitle": "tfmg.subtitle.engine_sounds" + }, + "diesel_engine": { + "sounds": [ + { + "name": "tfmg:diesel_engine", + "type": "file", + "attenuation_distance": 16 + } + ], + "subtitle": "tfmg.subtitle.diesel_engine_sounds" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/sounds/diesel_engine.ogg b/src/main/resources/assets/tfmg/sounds/diesel_engine.ogg new file mode 100644 index 00000000..ecd3402a Binary files /dev/null and b/src/main/resources/assets/tfmg/sounds/diesel_engine.ogg differ diff --git a/src/main/resources/assets/tfmg/sounds/engine.ogg b/src/main/resources/assets/tfmg/sounds/engine.ogg new file mode 100644 index 00000000..a3885eb1 Binary files /dev/null and b/src/main/resources/assets/tfmg/sounds/engine.ogg differ diff --git a/src/main/resources/assets/tfmg/textures/block/accumulator.png b/src/main/resources/assets/tfmg/textures/block/accumulator.png new file mode 100644 index 00000000..2de280c8 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/accumulator.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/accumulator_side.png b/src/main/resources/assets/tfmg/textures/block/accumulator_side.png new file mode 100644 index 00000000..41106f0e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/accumulator_side.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/accumulator_side_connected.png b/src/main/resources/assets/tfmg/textures/block/accumulator_side_connected.png new file mode 100644 index 00000000..c204e53e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/accumulator_side_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/air_intake/air_intake_large.png b/src/main/resources/assets/tfmg/textures/block/air_intake/air_intake_large.png new file mode 100644 index 00000000..35e73b42 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/air_intake/air_intake_large.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/air_intake/air_intake_medium.png b/src/main/resources/assets/tfmg/textures/block/air_intake/air_intake_medium.png new file mode 100644 index 00000000..794d87e6 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/air_intake/air_intake_medium.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/air_intake/air_intake_small.png b/src/main/resources/assets/tfmg/textures/block/air_intake/air_intake_small.png new file mode 100644 index 00000000..b78bdfe2 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/air_intake/air_intake_small.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/air_intake/front.png b/src/main/resources/assets/tfmg/textures/block/air_intake/front.png new file mode 100644 index 00000000..f5b09b1a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/air_intake/front.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/air_intake/inputs.png b/src/main/resources/assets/tfmg/textures/block/air_intake/inputs.png new file mode 100644 index 00000000..28e556fa Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/air_intake/inputs.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/air_intake/inside_large.png b/src/main/resources/assets/tfmg/textures/block/air_intake/inside_large.png new file mode 100644 index 00000000..5d8717ad Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/air_intake/inside_large.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/air_intake/inside_medium.png b/src/main/resources/assets/tfmg/textures/block/air_intake/inside_medium.png new file mode 100644 index 00000000..f25b9d11 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/air_intake/inside_medium.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/air_intake/inside_small.png b/src/main/resources/assets/tfmg/textures/block/air_intake/inside_small.png new file mode 100644 index 00000000..bcc081d1 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/air_intake/inside_small.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/air_intake/small_fan.png b/src/main/resources/assets/tfmg/textures/block/air_intake/small_fan.png new file mode 100644 index 00000000..70f75276 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/air_intake/small_fan.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/air_intake/test/air_intake_large.png b/src/main/resources/assets/tfmg/textures/block/air_intake/test/air_intake_large.png new file mode 100644 index 00000000..3b2609f1 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/air_intake/test/air_intake_large.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/air_intake/test/air_intake_medium.png b/src/main/resources/assets/tfmg/textures/block/air_intake/test/air_intake_medium.png new file mode 100644 index 00000000..a4e27ba2 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/air_intake/test/air_intake_medium.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/air_intake/test/air_intake_small.png b/src/main/resources/assets/tfmg/textures/block/air_intake/test/air_intake_small.png new file mode 100644 index 00000000..32a989dc Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/air_intake/test/air_intake_small.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/air_intake/test/back.png b/src/main/resources/assets/tfmg/textures/block/air_intake/test/back.png new file mode 100644 index 00000000..d1bea582 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/air_intake/test/back.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/air_intake/test/fan.png b/src/main/resources/assets/tfmg/textures/block/air_intake/test/fan.png new file mode 100644 index 00000000..b04990c3 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/air_intake/test/fan.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/air_intake/test/fan_large.png b/src/main/resources/assets/tfmg/textures/block/air_intake/test/fan_large.png new file mode 100644 index 00000000..64441007 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/air_intake/test/fan_large.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/air_intake/test/fan_medium.png b/src/main/resources/assets/tfmg/textures/block/air_intake/test/fan_medium.png new file mode 100644 index 00000000..903235a3 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/air_intake/test/fan_medium.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/air_intake/test/front.png b/src/main/resources/assets/tfmg/textures/block/air_intake/test/front.png new file mode 100644 index 00000000..bb84ecff Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/air_intake/test/front.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/air_intake/test/sides.png b/src/main/resources/assets/tfmg/textures/block/air_intake/test/sides.png new file mode 100644 index 00000000..cffd663d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/air_intake/test/sides.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminium_encased_pipe.png b/src/main/resources/assets/tfmg/textures/block/aluminium_encased_pipe.png new file mode 100644 index 00000000..a186aa82 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminium_encased_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_block.png b/src/main/resources/assets/tfmg/textures/block/aluminum_block.png new file mode 100644 index 00000000..4d494363 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_block.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_cable_hub.png b/src/main/resources/assets/tfmg/textures/block/aluminum_cable_hub.png new file mode 100644 index 00000000..262869e7 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_cable_hub.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_casing.png b/src/main/resources/assets/tfmg/textures/block/aluminum_casing.png new file mode 100644 index 00000000..f67b659b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_casing.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_casing_connected.png b/src/main/resources/assets/tfmg/textures/block/aluminum_casing_connected.png new file mode 100644 index 00000000..3f433d1f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_casing_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_coghweel.png b/src/main/resources/assets/tfmg/textures/block/aluminum_coghweel.png new file mode 100644 index 00000000..48beaa2d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_coghweel.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_door_bottom.png b/src/main/resources/assets/tfmg/textures/block/aluminum_door_bottom.png new file mode 100644 index 00000000..fcca5a89 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_door_bottom.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_door_side.png b/src/main/resources/assets/tfmg/textures/block/aluminum_door_side.png new file mode 100644 index 00000000..0cb07433 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_door_side.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_door_top.png b/src/main/resources/assets/tfmg/textures/block/aluminum_door_top.png new file mode 100644 index 00000000..7512126f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_door_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_encased_pipe.png b/src/main/resources/assets/tfmg/textures/block/aluminum_encased_pipe.png new file mode 100644 index 00000000..a186aa82 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_encased_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank.png b/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank.png new file mode 100644 index 00000000..3bb2d86f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank_connected.png b/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank_connected.png new file mode 100644 index 00000000..965b5abd Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank_inner.png b/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank_inner.png new file mode 100644 index 00000000..4e96f160 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank_inner.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank_inner_connected.png b/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank_inner_connected.png new file mode 100644 index 00000000..d9436874 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank_inner_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank_top.png b/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank_top.png new file mode 100644 index 00000000..07cd3410 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank_top_connected.png b/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank_top_connected.png new file mode 100644 index 00000000..727f6e37 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank_top_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank_window.png b/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank_window.png new file mode 100644 index 00000000..95a29a72 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank_window.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank_window_single.png b/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank_window_single.png new file mode 100644 index 00000000..fbbedabc Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_tank_window_single.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_valve.png b/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_valve.png new file mode 100644 index 00000000..40bfd62b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_fluid_valve.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_flywheel.png b/src/main/resources/assets/tfmg/textures/block/aluminum_flywheel.png new file mode 100644 index 00000000..9c5e471b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_flywheel.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_frame.png b/src/main/resources/assets/tfmg/textures/block/aluminum_frame.png new file mode 100644 index 00000000..2998f9dd Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_frame.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_frame_2.png b/src/main/resources/assets/tfmg/textures/block/aluminum_frame_2.png new file mode 100644 index 00000000..4866a949 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_frame_2.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_glass_fluid_pipe.png b/src/main/resources/assets/tfmg/textures/block/aluminum_glass_fluid_pipe.png new file mode 100644 index 00000000..3224d8b0 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_glass_fluid_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_inlet.png b/src/main/resources/assets/tfmg/textures/block/aluminum_inlet.png new file mode 100644 index 00000000..24575405 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_inlet.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_lamp_off.png b/src/main/resources/assets/tfmg/textures/block/aluminum_lamp_off.png new file mode 100644 index 00000000..7d82f098 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_lamp_off.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_lamp_on.png b/src/main/resources/assets/tfmg/textures/block/aluminum_lamp_on.png new file mode 100644 index 00000000..e1a44925 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_lamp_on.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_pipes.png b/src/main/resources/assets/tfmg/textures/block/aluminum_pipes.png new file mode 100644 index 00000000..12315291 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_pipes.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_pipes_connected.png b/src/main/resources/assets/tfmg/textures/block/aluminum_pipes_connected.png new file mode 100644 index 00000000..c68c81a7 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_pipes_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_plating.png b/src/main/resources/assets/tfmg/textures/block/aluminum_plating.png new file mode 100644 index 00000000..ed91684e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_plating.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_pump.png b/src/main/resources/assets/tfmg/textures/block/aluminum_pump.png new file mode 100644 index 00000000..0c41833a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_pump.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_smart_pipe_1.png b/src/main/resources/assets/tfmg/textures/block/aluminum_smart_pipe_1.png new file mode 100644 index 00000000..ad44e4ea Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_smart_pipe_1.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_smart_pipe_2.png b/src/main/resources/assets/tfmg/textures/block/aluminum_smart_pipe_2.png new file mode 100644 index 00000000..c05b143c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_smart_pipe_2.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_smart_pipe_3.png b/src/main/resources/assets/tfmg/textures/block/aluminum_smart_pipe_3.png new file mode 100644 index 00000000..f5d93289 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_smart_pipe_3.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_truss.png b/src/main/resources/assets/tfmg/textures/block/aluminum_truss.png new file mode 100644 index 00000000..b38131e5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_truss.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_valve_closed.png b/src/main/resources/assets/tfmg/textures/block/aluminum_valve_closed.png new file mode 100644 index 00000000..b1175dfa Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_valve_closed.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/aluminum_valve_open.png b/src/main/resources/assets/tfmg/textures/block/aluminum_valve_open.png new file mode 100644 index 00000000..327ae80c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/aluminum_valve_open.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/ammeter.png b/src/main/resources/assets/tfmg/textures/block/ammeter.png new file mode 100644 index 00000000..c82ae643 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/ammeter.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/asphalt.png b/src/main/resources/assets/tfmg/textures/block/asphalt.png new file mode 100644 index 00000000..383e9cac Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/asphalt.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/bars/aluminum_bars.png b/src/main/resources/assets/tfmg/textures/block/bars/aluminum_bars.png new file mode 100644 index 00000000..7051c0b8 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/bars/aluminum_bars.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/bars/aluminum_bars_edge.png b/src/main/resources/assets/tfmg/textures/block/bars/aluminum_bars_edge.png new file mode 100644 index 00000000..f53be64e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/bars/aluminum_bars_edge.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/bars/cast_iron_bars.png b/src/main/resources/assets/tfmg/textures/block/bars/cast_iron_bars.png new file mode 100644 index 00000000..765f9348 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/bars/cast_iron_bars.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/bars/cast_iron_bars_edge.png b/src/main/resources/assets/tfmg/textures/block/bars/cast_iron_bars_edge.png new file mode 100644 index 00000000..8e46dbf9 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/bars/cast_iron_bars_edge.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/bars/lead_bars.png b/src/main/resources/assets/tfmg/textures/block/bars/lead_bars.png new file mode 100644 index 00000000..e9591b72 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/bars/lead_bars.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/bars/lead_bars_edge.png b/src/main/resources/assets/tfmg/textures/block/bars/lead_bars_edge.png new file mode 100644 index 00000000..f33468c8 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/bars/lead_bars_edge.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/bars/nickel_bars.png b/src/main/resources/assets/tfmg/textures/block/bars/nickel_bars.png new file mode 100644 index 00000000..806650b1 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/bars/nickel_bars.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/bars/nickel_bars_edge.png b/src/main/resources/assets/tfmg/textures/block/bars/nickel_bars_edge.png new file mode 100644 index 00000000..58cfa5fa Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/bars/nickel_bars_edge.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/bars/steel_bars.png b/src/main/resources/assets/tfmg/textures/block/bars/steel_bars.png new file mode 100644 index 00000000..536643a5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/bars/steel_bars.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/bars/steel_bars_edge.png b/src/main/resources/assets/tfmg/textures/block/bars/steel_bars_edge.png new file mode 100644 index 00000000..58681dc8 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/bars/steel_bars_edge.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/black_concrete.png b/src/main/resources/assets/tfmg/textures/block/black_concrete.png new file mode 100644 index 00000000..2cfd4630 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/black_concrete.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/blast_furnace_hatch.png b/src/main/resources/assets/tfmg/textures/block/blast_furnace_hatch.png new file mode 100644 index 00000000..d8ac38fa Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/blast_furnace_hatch.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/blast_furnace_output.png b/src/main/resources/assets/tfmg/textures/block/blast_furnace_output.png new file mode 100644 index 00000000..2c955d6a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/blast_furnace_output.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/blast_furnace_reinforcement.png b/src/main/resources/assets/tfmg/textures/block/blast_furnace_reinforcement.png new file mode 100644 index 00000000..631ba6b5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/blast_furnace_reinforcement.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/blast_furnace_reinforcement_connected.png b/src/main/resources/assets/tfmg/textures/block/blast_furnace_reinforcement_connected.png new file mode 100644 index 00000000..6eabf6ff Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/blast_furnace_reinforcement_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/blast_stove_side.png b/src/main/resources/assets/tfmg/textures/block/blast_stove_side.png new file mode 100644 index 00000000..8fe2a338 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/blast_stove_side.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/blast_stove_side_connected.png b/src/main/resources/assets/tfmg/textures/block/blast_stove_side_connected.png new file mode 100644 index 00000000..0e146b2f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/blast_stove_side_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/blast_stove_top.png b/src/main/resources/assets/tfmg/textures/block/blast_stove_top.png new file mode 100644 index 00000000..8afd69af Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/blast_stove_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/blast_stove_top_connected.png b/src/main/resources/assets/tfmg/textures/block/blast_stove_top_connected.png new file mode 100644 index 00000000..4b6ced8a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/blast_stove_top_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/blue_concrete.png b/src/main/resources/assets/tfmg/textures/block/blue_concrete.png new file mode 100644 index 00000000..7feed647 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/blue_concrete.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/blue_fire.png b/src/main/resources/assets/tfmg/textures/block/blue_fire.png new file mode 100644 index 00000000..b8eed0d6 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/blue_fire.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/blue_fire_0.png b/src/main/resources/assets/tfmg/textures/block/blue_fire_0.png new file mode 100644 index 00000000..b8eed0d6 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/blue_fire_0.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/blue_fire_0.png.mcmeta b/src/main/resources/assets/tfmg/textures/block/blue_fire_0.png.mcmeta new file mode 100644 index 00000000..76446714 --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/block/blue_fire_0.png.mcmeta @@ -0,0 +1,38 @@ +{ + "animation": { + "frames": [ + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 + ] + } +} diff --git a/src/main/resources/assets/tfmg/textures/block/blue_fire_1.png b/src/main/resources/assets/tfmg/textures/block/blue_fire_1.png new file mode 100644 index 00000000..0db6a920 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/blue_fire_1.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/blue_fire_1.png.mcmeta b/src/main/resources/assets/tfmg/textures/block/blue_fire_1.png.mcmeta new file mode 100644 index 00000000..4f0718ac --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/block/blue_fire_1.png.mcmeta @@ -0,0 +1,3 @@ +{ + "animation": {} +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/textures/block/brass_cable_hub.png b/src/main/resources/assets/tfmg/textures/block/brass_cable_hub.png new file mode 100644 index 00000000..15229fab Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/brass_cable_hub.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/brass_encased_pipe.png b/src/main/resources/assets/tfmg/textures/block/brass_encased_pipe.png new file mode 100644 index 00000000..410c396d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/brass_encased_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/brass_fluid_valve.png b/src/main/resources/assets/tfmg/textures/block/brass_fluid_valve.png new file mode 100644 index 00000000..a766d393 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/brass_fluid_valve.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/brass_frame.png b/src/main/resources/assets/tfmg/textures/block/brass_frame.png new file mode 100644 index 00000000..a0503d34 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/brass_frame.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/brass_glass_fluid_pipe.png b/src/main/resources/assets/tfmg/textures/block/brass_glass_fluid_pipe.png new file mode 100644 index 00000000..d0ace4ad Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/brass_glass_fluid_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/brass_pipes.png b/src/main/resources/assets/tfmg/textures/block/brass_pipes.png new file mode 100644 index 00000000..ab95638f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/brass_pipes.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/brass_pipes_connected.png b/src/main/resources/assets/tfmg/textures/block/brass_pipes_connected.png new file mode 100644 index 00000000..83aa9d95 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/brass_pipes_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/brass_pump.png b/src/main/resources/assets/tfmg/textures/block/brass_pump.png new file mode 100644 index 00000000..1b778388 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/brass_pump.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/brass_smart_pipe_1.png b/src/main/resources/assets/tfmg/textures/block/brass_smart_pipe_1.png new file mode 100644 index 00000000..910bea4d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/brass_smart_pipe_1.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/brass_smart_pipe_2.png b/src/main/resources/assets/tfmg/textures/block/brass_smart_pipe_2.png new file mode 100644 index 00000000..95af8809 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/brass_smart_pipe_2.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/brass_smart_pipe_3.png b/src/main/resources/assets/tfmg/textures/block/brass_smart_pipe_3.png new file mode 100644 index 00000000..9b0f061c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/brass_smart_pipe_3.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/brass_truss.png b/src/main/resources/assets/tfmg/textures/block/brass_truss.png new file mode 100644 index 00000000..a835e14b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/brass_truss.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/brass_valve_closed.png b/src/main/resources/assets/tfmg/textures/block/brass_valve_closed.png new file mode 100644 index 00000000..ce2a7b4c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/brass_valve_closed.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/brass_valve_open.png b/src/main/resources/assets/tfmg/textures/block/brass_valve_open.png new file mode 100644 index 00000000..f8777562 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/brass_valve_open.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/brick_smokestack.png b/src/main/resources/assets/tfmg/textures/block/brick_smokestack.png new file mode 100644 index 00000000..42f2f56e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/brick_smokestack.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/brown_concrete.png b/src/main/resources/assets/tfmg/textures/block/brown_concrete.png new file mode 100644 index 00000000..5e1a5c87 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/brown_concrete.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cable_connector.png b/src/main/resources/assets/tfmg/textures/block/cable_connector.png new file mode 100644 index 00000000..ed1361db Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cable_connector.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cable_tube.png b/src/main/resources/assets/tfmg/textures/block/cable_tube.png new file mode 100644 index 00000000..17cba083 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cable_tube.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/capacitor.png b/src/main/resources/assets/tfmg/textures/block/capacitor.png new file mode 100644 index 00000000..36342d5e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/capacitor.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/capacitor_side.png b/src/main/resources/assets/tfmg/textures/block/capacitor_side.png new file mode 100644 index 00000000..533b2834 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/capacitor_side.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/capacitor_side_connected.png b/src/main/resources/assets/tfmg/textures/block/capacitor_side_connected.png new file mode 100644 index 00000000..04e8ce83 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/capacitor_side_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_block.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_block.png new file mode 100644 index 00000000..ba96a332 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_block.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_block_connected.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_block_connected.png new file mode 100644 index 00000000..43c72697 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_block_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_encased_pipe.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_encased_pipe.png new file mode 100644 index 00000000..4e5bc13b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_encased_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank.png new file mode 100644 index 00000000..f350847a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank_connected.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank_connected.png new file mode 100644 index 00000000..6f338183 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank_inner.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank_inner.png new file mode 100644 index 00000000..4b4c3311 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank_inner.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank_inner_connected.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank_inner_connected.png new file mode 100644 index 00000000..be753482 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank_inner_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank_top.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank_top.png new file mode 100644 index 00000000..72dfc949 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank_top_connected.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank_top_connected.png new file mode 100644 index 00000000..ad954e66 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank_top_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank_window.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank_window.png new file mode 100644 index 00000000..f5a49999 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank_window.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank_window_single.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank_window_single.png new file mode 100644 index 00000000..ec29eaa0 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_tank_window_single.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_valve.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_valve.png new file mode 100644 index 00000000..2139a9ee Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_fluid_valve.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_flywheel.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_flywheel.png new file mode 100644 index 00000000..0193ed29 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_flywheel.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_frame_2.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_frame_2.png new file mode 100644 index 00000000..d4fe5333 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_frame_2.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_glass_fluid_pipe.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_glass_fluid_pipe.png new file mode 100644 index 00000000..2e0eed52 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_glass_fluid_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_pipes.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_pipes.png new file mode 100644 index 00000000..bf65a5fa Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_pipes.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_pipes_connected.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_pipes_connected.png new file mode 100644 index 00000000..261f29bd Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_pipes_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_pump.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_pump.png new file mode 100644 index 00000000..b0c5569a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_pump.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_smart_pipe_1.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_smart_pipe_1.png new file mode 100644 index 00000000..e7216a63 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_smart_pipe_1.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_smart_pipe_2.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_smart_pipe_2.png new file mode 100644 index 00000000..ed3b77a8 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_smart_pipe_2.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_smart_pipe_3.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_smart_pipe_3.png new file mode 100644 index 00000000..9b0f061c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_smart_pipe_3.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_truss.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_truss.png new file mode 100644 index 00000000..50934990 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_truss.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_valve_closed.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_valve_closed.png new file mode 100644 index 00000000..f5a4e74f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_valve_closed.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_valve_open.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_valve_open.png new file mode 100644 index 00000000..1112b53c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_valve_open.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_vat.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_vat.png new file mode 100644 index 00000000..d3a89932 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_vat.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_vat_connected.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_vat_connected.png new file mode 100644 index 00000000..b6bafbab Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_vat_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_vat_top.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_vat_top.png new file mode 100644 index 00000000..60d067ed Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_vat_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_vat_top_connected.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_vat_top_connected.png new file mode 100644 index 00000000..0834315c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_vat_top_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_vat_window.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_vat_window.png new file mode 100644 index 00000000..ed764cf8 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_vat_window.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cast_iron_vat_window_single.png b/src/main/resources/assets/tfmg/textures/block/cast_iron_vat_window_single.png new file mode 100644 index 00000000..ace60f25 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cast_iron_vat_window_single.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/casting_basin.png b/src/main/resources/assets/tfmg/textures/block/casting_basin.png new file mode 100644 index 00000000..62bb3f50 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/casting_basin.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/caution_block.png b/src/main/resources/assets/tfmg/textures/block/caution_block.png new file mode 100644 index 00000000..ce2bf285 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/caution_block.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/caution_block/blue.png b/src/main/resources/assets/tfmg/textures/block/caution_block/blue.png new file mode 100644 index 00000000..71d77fe8 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/caution_block/blue.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/caution_block/brown.png b/src/main/resources/assets/tfmg/textures/block/caution_block/brown.png new file mode 100644 index 00000000..08d92ac1 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/caution_block/brown.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/caution_block/cyan.png b/src/main/resources/assets/tfmg/textures/block/caution_block/cyan.png new file mode 100644 index 00000000..74cafad7 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/caution_block/cyan.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/caution_block/gray.png b/src/main/resources/assets/tfmg/textures/block/caution_block/gray.png new file mode 100644 index 00000000..d34e8320 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/caution_block/gray.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/caution_block/green.png b/src/main/resources/assets/tfmg/textures/block/caution_block/green.png new file mode 100644 index 00000000..fefa00a9 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/caution_block/green.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/caution_block/light_blue.png b/src/main/resources/assets/tfmg/textures/block/caution_block/light_blue.png new file mode 100644 index 00000000..f04c9384 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/caution_block/light_blue.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/caution_block/light_gray.png b/src/main/resources/assets/tfmg/textures/block/caution_block/light_gray.png new file mode 100644 index 00000000..8c0d39ae Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/caution_block/light_gray.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/caution_block/lime.png b/src/main/resources/assets/tfmg/textures/block/caution_block/lime.png new file mode 100644 index 00000000..1fc70e5a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/caution_block/lime.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/caution_block/magenta.png b/src/main/resources/assets/tfmg/textures/block/caution_block/magenta.png new file mode 100644 index 00000000..5a4c9fef Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/caution_block/magenta.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/caution_block/orange.png b/src/main/resources/assets/tfmg/textures/block/caution_block/orange.png new file mode 100644 index 00000000..fde6622c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/caution_block/orange.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/caution_block/pink.png b/src/main/resources/assets/tfmg/textures/block/caution_block/pink.png new file mode 100644 index 00000000..cf4ab559 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/caution_block/pink.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/caution_block/purple.png b/src/main/resources/assets/tfmg/textures/block/caution_block/purple.png new file mode 100644 index 00000000..1410a042 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/caution_block/purple.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/caution_block/red.png b/src/main/resources/assets/tfmg/textures/block/caution_block/red.png new file mode 100644 index 00000000..6e86820e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/caution_block/red.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/caution_block/white.png b/src/main/resources/assets/tfmg/textures/block/caution_block/white.png new file mode 100644 index 00000000..a57b1d79 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/caution_block/white.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/caution_block/yellow.png b/src/main/resources/assets/tfmg/textures/block/caution_block/yellow.png new file mode 100644 index 00000000..bc768e74 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/caution_block/yellow.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cement.png b/src/main/resources/assets/tfmg/textures/block/cement.png new file mode 100644 index 00000000..de5f3158 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cement.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/centrifuge.png b/src/main/resources/assets/tfmg/textures/block/centrifuge.png new file mode 100644 index 00000000..8891e492 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/centrifuge.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/centrifuge_top.png b/src/main/resources/assets/tfmg/textures/block/centrifuge_top.png new file mode 100644 index 00000000..2265ee59 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/centrifuge_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/chipwood.png b/src/main/resources/assets/tfmg/textures/block/chipwood.png new file mode 100644 index 00000000..fb796f26 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/chipwood.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cinderblock.png b/src/main/resources/assets/tfmg/textures/block/cinderblock.png new file mode 100644 index 00000000..567cd9ac Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cinderblock.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cinderblock_top.png b/src/main/resources/assets/tfmg/textures/block/cinderblock_top.png new file mode 100644 index 00000000..23297016 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cinderblock_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cinderflourblock.png b/src/main/resources/assets/tfmg/textures/block/cinderflourblock.png new file mode 100644 index 00000000..768f9c07 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cinderflourblock.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cinderflourblock_top.png b/src/main/resources/assets/tfmg/textures/block/cinderflourblock_top.png new file mode 100644 index 00000000..38cfc235 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cinderflourblock_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/circular_lamp_off.png b/src/main/resources/assets/tfmg/textures/block/circular_lamp_off.png new file mode 100644 index 00000000..d4b979c2 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/circular_lamp_off.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/circular_lamp_off_outlet.png b/src/main/resources/assets/tfmg/textures/block/circular_lamp_off_outlet.png new file mode 100644 index 00000000..57429ad0 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/circular_lamp_off_outlet.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/circular_lamp_on.png b/src/main/resources/assets/tfmg/textures/block/circular_lamp_on.png new file mode 100644 index 00000000..a3b465f3 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/circular_lamp_on.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/circular_lamp_on_outlet.png b/src/main/resources/assets/tfmg/textures/block/circular_lamp_on_outlet.png new file mode 100644 index 00000000..08c1e913 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/circular_lamp_on_outlet.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/coal_coke_block.png b/src/main/resources/assets/tfmg/textures/block/coal_coke_block.png new file mode 100644 index 00000000..d4351718 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/coal_coke_block.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/coal_coke_dust.png b/src/main/resources/assets/tfmg/textures/block/coal_coke_dust.png new file mode 100644 index 00000000..94e581c9 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/coal_coke_dust.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven/bottom.png b/src/main/resources/assets/tfmg/textures/block/coke_oven/bottom.png new file mode 100644 index 00000000..15a358f7 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/coke_oven/bottom.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven/bottom_connected.png b/src/main/resources/assets/tfmg/textures/block/coke_oven/bottom_connected.png new file mode 100644 index 00000000..97adb1f5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/coke_oven/bottom_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven/casual.png b/src/main/resources/assets/tfmg/textures/block/coke_oven/casual.png new file mode 100644 index 00000000..87634935 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/coke_oven/casual.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven/casual.png.mcmeta b/src/main/resources/assets/tfmg/textures/block/coke_oven/casual.png.mcmeta new file mode 100644 index 00000000..4f0718ac --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/block/coke_oven/casual.png.mcmeta @@ -0,0 +1,3 @@ +{ + "animation": {} +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven/coke.png b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke.png new file mode 100644 index 00000000..b9fcb973 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_door.png b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_door.png new file mode 100644 index 00000000..4a6f21f8 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_door.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_door_bottom.png b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_door_bottom.png new file mode 100644 index 00000000..96387af2 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_door_bottom.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_door_middle.png b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_door_middle.png new file mode 100644 index 00000000..1e07d9b3 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_door_middle.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_door_top.png b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_door_top.png new file mode 100644 index 00000000..1253efda Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_door_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_bottom_off.png b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_bottom_off.png new file mode 100644 index 00000000..8e438bb5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_bottom_off.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_bottom_on.png b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_bottom_on.png new file mode 100644 index 00000000..dccdf267 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_bottom_on.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_bottom_on.png.mcmeta b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_bottom_on.png.mcmeta new file mode 100644 index 00000000..4f0718ac --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_bottom_on.png.mcmeta @@ -0,0 +1,3 @@ +{ + "animation": {} +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_middle_off.png b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_middle_off.png new file mode 100644 index 00000000..f963f780 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_middle_off.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_middle_on.png b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_middle_on.png new file mode 100644 index 00000000..b013544c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_middle_on.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_middle_on.png.mcmeta b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_middle_on.png.mcmeta new file mode 100644 index 00000000..4f0718ac --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_middle_on.png.mcmeta @@ -0,0 +1,3 @@ +{ + "animation": {} +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_top_off.png b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_top_off.png new file mode 100644 index 00000000..dd86326c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_top_off.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_top_on.png b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_top_on.png new file mode 100644 index 00000000..b90b72e0 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_top_on.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_top_on.png.mcmeta b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_top_on.png.mcmeta new file mode 100644 index 00000000..4f0718ac --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/block/coke_oven/coke_oven_front_top_on.png.mcmeta @@ -0,0 +1,3 @@ +{ + "animation": {} +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven/side.png b/src/main/resources/assets/tfmg/textures/block/coke_oven/side.png new file mode 100644 index 00000000..d5dfb877 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/coke_oven/side.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven/side_connected.png b/src/main/resources/assets/tfmg/textures/block/coke_oven/side_connected.png new file mode 100644 index 00000000..f30f146a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/coke_oven/side_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven/top.png b/src/main/resources/assets/tfmg/textures/block/coke_oven/top.png new file mode 100644 index 00000000..ea7e435f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/coke_oven/top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven/top_connected.png b/src/main/resources/assets/tfmg/textures/block/coke_oven/top_connected.png new file mode 100644 index 00000000..977e800b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/coke_oven/top_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/coke_oven_slot.png b/src/main/resources/assets/tfmg/textures/block/coke_oven_slot.png new file mode 100644 index 00000000..66a27c26 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/coke_oven_slot.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/compact_exhaust.png b/src/main/resources/assets/tfmg/textures/block/compact_exhaust.png new file mode 100644 index 00000000..291af75f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/compact_exhaust.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/concrete.png b/src/main/resources/assets/tfmg/textures/block/concrete.png new file mode 100644 index 00000000..23bb156b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/concrete.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/concrete_encased_industrial_pipe.png b/src/main/resources/assets/tfmg/textures/block/concrete_encased_industrial_pipe.png new file mode 100644 index 00000000..769e5e23 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/concrete_encased_industrial_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/concrete_encased_wire.png b/src/main/resources/assets/tfmg/textures/block/concrete_encased_wire.png new file mode 100644 index 00000000..d2e21257 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/concrete_encased_wire.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/concrete_smokestack.png b/src/main/resources/assets/tfmg/textures/block/concrete_smokestack.png new file mode 100644 index 00000000..a257afbe Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/concrete_smokestack.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/constantan_block.png b/src/main/resources/assets/tfmg/textures/block/constantan_block.png new file mode 100644 index 00000000..f201e7f8 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/constantan_block.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/constantan_frame.png b/src/main/resources/assets/tfmg/textures/block/constantan_frame.png new file mode 100644 index 00000000..ce0528a7 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/constantan_frame.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/constantan_truss.png b/src/main/resources/assets/tfmg/textures/block/constantan_truss.png new file mode 100644 index 00000000..8fbb9696 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/constantan_truss.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/converter.png b/src/main/resources/assets/tfmg/textures/block/converter.png new file mode 100644 index 00000000..9ad0dd7a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/converter.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/converter_side.png b/src/main/resources/assets/tfmg/textures/block/converter_side.png new file mode 100644 index 00000000..ef881998 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/converter_side.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/converter_top.png b/src/main/resources/assets/tfmg/textures/block/converter_top.png new file mode 100644 index 00000000..82f44a7f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/converter_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/copper_cable_hub.png b/src/main/resources/assets/tfmg/textures/block/copper_cable_hub.png new file mode 100644 index 00000000..bb3820a5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/copper_cable_hub.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/copper_coil.png b/src/main/resources/assets/tfmg/textures/block/copper_coil.png new file mode 100644 index 00000000..67733f53 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/copper_coil.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/copper_coil_arrow.png b/src/main/resources/assets/tfmg/textures/block/copper_coil_arrow.png new file mode 100644 index 00000000..0d07c764 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/copper_coil_arrow.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/copper_coil_top.png b/src/main/resources/assets/tfmg/textures/block/copper_coil_top.png new file mode 100644 index 00000000..c59a6cb6 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/copper_coil_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_aluminum_pipe.png b/src/main/resources/assets/tfmg/textures/block/copper_encased_aluminum_pipe.png new file mode 100644 index 00000000..a186aa82 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/copper_encased_aluminum_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_aluminum_pipe_side.png b/src/main/resources/assets/tfmg/textures/block/copper_encased_aluminum_pipe_side.png new file mode 100644 index 00000000..1115de5e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/copper_encased_aluminum_pipe_side.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_brass_pipe.png b/src/main/resources/assets/tfmg/textures/block/copper_encased_brass_pipe.png new file mode 100644 index 00000000..410c396d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/copper_encased_brass_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_brass_pipe_side.png b/src/main/resources/assets/tfmg/textures/block/copper_encased_brass_pipe_side.png new file mode 100644 index 00000000..bec350d8 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/copper_encased_brass_pipe_side.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_cast_iron_pipe.png b/src/main/resources/assets/tfmg/textures/block/copper_encased_cast_iron_pipe.png new file mode 100644 index 00000000..4e5bc13b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/copper_encased_cast_iron_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_cast_iron_pipe_side.png b/src/main/resources/assets/tfmg/textures/block/copper_encased_cast_iron_pipe_side.png new file mode 100644 index 00000000..637d6f65 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/copper_encased_cast_iron_pipe_side.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_lead_pipe.png b/src/main/resources/assets/tfmg/textures/block/copper_encased_lead_pipe.png new file mode 100644 index 00000000..2ce6f97c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/copper_encased_lead_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_plastic_pipe.png b/src/main/resources/assets/tfmg/textures/block/copper_encased_plastic_pipe.png new file mode 100644 index 00000000..a7919dbc Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/copper_encased_plastic_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_plastic_pipe_side.png b/src/main/resources/assets/tfmg/textures/block/copper_encased_plastic_pipe_side.png new file mode 100644 index 00000000..967273e3 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/copper_encased_plastic_pipe_side.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_steel_pipe.png b/src/main/resources/assets/tfmg/textures/block/copper_encased_steel_pipe.png new file mode 100644 index 00000000..0fce5d9c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/copper_encased_steel_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_steel_pipe_side.png b/src/main/resources/assets/tfmg/textures/block/copper_encased_steel_pipe_side.png new file mode 100644 index 00000000..851fca83 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/copper_encased_steel_pipe_side.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/copper_frame.png b/src/main/resources/assets/tfmg/textures/block/copper_frame.png new file mode 100644 index 00000000..fadf1bea Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/copper_frame.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/copper_spool.png b/src/main/resources/assets/tfmg/textures/block/copper_spool.png new file mode 100644 index 00000000..9f08f08a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/copper_spool.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/copper_truss.png b/src/main/resources/assets/tfmg/textures/block/copper_truss.png new file mode 100644 index 00000000..df7f8e3c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/copper_truss.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/copycat_cable_block.png b/src/main/resources/assets/tfmg/textures/block/copycat_cable_block.png new file mode 100644 index 00000000..6701780f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/copycat_cable_block.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/creative_generator.png b/src/main/resources/assets/tfmg/textures/block/creative_generator.png new file mode 100644 index 00000000..194a19a6 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/creative_generator.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/cyan_concrete.png b/src/main/resources/assets/tfmg/textures/block/cyan_concrete.png new file mode 100644 index 00000000..ca292435 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/cyan_concrete.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/debug_conductor.png b/src/main/resources/assets/tfmg/textures/block/debug_conductor.png new file mode 100644 index 00000000..2dd59769 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/debug_conductor.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/debug_electric_block.png b/src/main/resources/assets/tfmg/textures/block/debug_electric_block.png new file mode 100644 index 00000000..2cf2473c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/debug_electric_block.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/debug_generator_block.png b/src/main/resources/assets/tfmg/textures/block/debug_generator_block.png new file mode 100644 index 00000000..84b5ac64 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/debug_generator_block.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/deepslate_lead_ore.png b/src/main/resources/assets/tfmg/textures/block/deepslate_lead_ore.png new file mode 100644 index 00000000..da5d13f6 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/deepslate_lead_ore.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/deepslate_lithium_ore.png b/src/main/resources/assets/tfmg/textures/block/deepslate_lithium_ore.png new file mode 100644 index 00000000..6868a92e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/deepslate_lithium_ore.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/deepslate_nickel_ore.png b/src/main/resources/assets/tfmg/textures/block/deepslate_nickel_ore.png new file mode 100644 index 00000000..a2f62c2f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/deepslate_nickel_ore.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/diagonal_cable_block.png b/src/main/resources/assets/tfmg/textures/block/diagonal_cable_block.png new file mode 100644 index 00000000..fb1bde68 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/diagonal_cable_block.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/diesel_engine.png b/src/main/resources/assets/tfmg/textures/block/diesel_engine.png new file mode 100644 index 00000000..3645049b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/diesel_engine.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/diesel_engine_back.png b/src/main/resources/assets/tfmg/textures/block/diesel_engine_back.png new file mode 100644 index 00000000..3c67aa1e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/diesel_engine_back.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/diesel_engine_expansion.png b/src/main/resources/assets/tfmg/textures/block/diesel_engine_expansion.png new file mode 100644 index 00000000..0acac172 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/diesel_engine_expansion.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/diesel_engine_front.png b/src/main/resources/assets/tfmg/textures/block/diesel_engine_front.png new file mode 100644 index 00000000..6bbfcd0e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/diesel_engine_front.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/diesel_engine_linkage.png b/src/main/resources/assets/tfmg/textures/block/diesel_engine_linkage.png new file mode 100644 index 00000000..5397ab56 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/diesel_engine_linkage.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/diesel_engine_side.png b/src/main/resources/assets/tfmg/textures/block/diesel_engine_side.png new file mode 100644 index 00000000..9b485f50 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/diesel_engine_side.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/digital_display.png b/src/main/resources/assets/tfmg/textures/block/digital_display.png new file mode 100644 index 00000000..bf9c125b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/digital_display.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/diode.png b/src/main/resources/assets/tfmg/textures/block/diode.png new file mode 100644 index 00000000..ba598fc2 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/diode.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/distillation_controller.png b/src/main/resources/assets/tfmg/textures/block/distillation_controller.png new file mode 100644 index 00000000..f7a69aeb Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/distillation_controller.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/distillation_controller_front.png b/src/main/resources/assets/tfmg/textures/block/distillation_controller_front.png new file mode 100644 index 00000000..d764926c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/distillation_controller_front.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/distillation_controller_top.png b/src/main/resources/assets/tfmg/textures/block/distillation_controller_top.png new file mode 100644 index 00000000..25bced55 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/distillation_controller_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/distillation_tower_output.png b/src/main/resources/assets/tfmg/textures/block/distillation_tower_output.png new file mode 100644 index 00000000..b2629dfa Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/distillation_tower_output.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/electric_casing.png b/src/main/resources/assets/tfmg/textures/block/electric_casing.png new file mode 100644 index 00000000..619e49f3 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/electric_casing.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/electric_casing_connected.png b/src/main/resources/assets/tfmg/textures/block/electric_casing_connected.png new file mode 100644 index 00000000..f32cbe47 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/electric_casing_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/electric_diode.png b/src/main/resources/assets/tfmg/textures/block/electric_diode.png new file mode 100644 index 00000000..4c47fb50 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/electric_diode.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/electric_mixer_input.png b/src/main/resources/assets/tfmg/textures/block/electric_mixer_input.png new file mode 100644 index 00000000..bf296681 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/electric_mixer_input.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/electric_motor.png b/src/main/resources/assets/tfmg/textures/block/electric_motor.png new file mode 100644 index 00000000..1508ae5f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/electric_motor.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/electric_motor_2.png b/src/main/resources/assets/tfmg/textures/block/electric_motor_2.png new file mode 100644 index 00000000..ab3f200b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/electric_motor_2.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/electric_post.png b/src/main/resources/assets/tfmg/textures/block/electric_post.png new file mode 100644 index 00000000..777c90b6 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/electric_post.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/electric_pump.png b/src/main/resources/assets/tfmg/textures/block/electric_pump.png new file mode 100644 index 00000000..c05b29be Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/electric_pump.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/electrode_holder_slot.png b/src/main/resources/assets/tfmg/textures/block/electrode_holder_slot.png new file mode 100644 index 00000000..6dda4fb3 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/electrode_holder_slot.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/electrodes.png b/src/main/resources/assets/tfmg/textures/block/electrodes.png new file mode 100644 index 00000000..bf19f2be Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/electrodes.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/encased_coil.png b/src/main/resources/assets/tfmg/textures/block/encased_coil.png new file mode 100644 index 00000000..c18e4e1a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/encased_coil.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/encased_diode_back.png b/src/main/resources/assets/tfmg/textures/block/encased_diode_back.png new file mode 100644 index 00000000..f735bc92 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/encased_diode_back.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/encased_diode_front.png b/src/main/resources/assets/tfmg/textures/block/encased_diode_front.png new file mode 100644 index 00000000..23bf2751 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/encased_diode_front.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/encased_resistor.png b/src/main/resources/assets/tfmg/textures/block/encased_resistor.png new file mode 100644 index 00000000..3ef43b7b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/encased_resistor.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engine.png b/src/main/resources/assets/tfmg/textures/block/engine.png new file mode 100644 index 00000000..41106f0e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engine.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engine_controller.png b/src/main/resources/assets/tfmg/textures/block/engine_controller.png new file mode 100644 index 00000000..60da5558 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engine_controller.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engine_generator.png b/src/main/resources/assets/tfmg/textures/block/engine_generator.png new file mode 100644 index 00000000..f4d59e39 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engine_generator.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engines/aluminum_cylinder.png b/src/main/resources/assets/tfmg/textures/block/engines/aluminum_cylinder.png new file mode 100644 index 00000000..df7fc258 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engines/aluminum_cylinder.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engines/base.png b/src/main/resources/assets/tfmg/textures/block/engines/base.png new file mode 100644 index 00000000..a358651e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engines/base.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engines/engine_back.png b/src/main/resources/assets/tfmg/textures/block/engines/engine_back.png new file mode 100644 index 00000000..3d23c2ba Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engines/engine_back.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engines/engine_bottom.png b/src/main/resources/assets/tfmg/textures/block/engines/engine_bottom.png new file mode 100644 index 00000000..2a0c79d6 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engines/engine_bottom.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engines/engine_bottom_connected.png b/src/main/resources/assets/tfmg/textures/block/engines/engine_bottom_connected.png new file mode 100644 index 00000000..130630c1 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engines/engine_bottom_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engines/engine_chamber.png b/src/main/resources/assets/tfmg/textures/block/engines/engine_chamber.png new file mode 100644 index 00000000..57362dcf Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engines/engine_chamber.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engines/engine_controller_parts.png b/src/main/resources/assets/tfmg/textures/block/engines/engine_controller_parts.png new file mode 100644 index 00000000..029334f7 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engines/engine_controller_parts.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engines/engine_front.png b/src/main/resources/assets/tfmg/textures/block/engines/engine_front.png new file mode 100644 index 00000000..c78527fa Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engines/engine_front.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engines/engine_front_tall.png b/src/main/resources/assets/tfmg/textures/block/engines/engine_front_tall.png new file mode 100644 index 00000000..f3646a0b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engines/engine_front_tall.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engines/engine_gearbox.png b/src/main/resources/assets/tfmg/textures/block/engines/engine_gearbox.png new file mode 100644 index 00000000..53e66eeb Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engines/engine_gearbox.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engines/engine_gearbox_front.png b/src/main/resources/assets/tfmg/textures/block/engines/engine_gearbox_front.png new file mode 100644 index 00000000..f8ca6e74 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engines/engine_gearbox_front.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engines/engine_side.png b/src/main/resources/assets/tfmg/textures/block/engines/engine_side.png new file mode 100644 index 00000000..3bf7807e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engines/engine_side.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engines/engine_side_connected.png b/src/main/resources/assets/tfmg/textures/block/engines/engine_side_connected.png new file mode 100644 index 00000000..4f4fcc4e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engines/engine_side_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engines/engine_side_tall.png b/src/main/resources/assets/tfmg/textures/block/engines/engine_side_tall.png new file mode 100644 index 00000000..6ec6acf4 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engines/engine_side_tall.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engines/engine_side_tall_connected.png b/src/main/resources/assets/tfmg/textures/block/engines/engine_side_tall_connected.png new file mode 100644 index 00000000..1ac65a86 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engines/engine_side_tall_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engines/engine_top.png b/src/main/resources/assets/tfmg/textures/block/engines/engine_top.png new file mode 100644 index 00000000..637a84b8 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engines/engine_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engines/engine_top_connected.png b/src/main/resources/assets/tfmg/textures/block/engines/engine_top_connected.png new file mode 100644 index 00000000..65884f37 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engines/engine_top_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engines/gasoline.png b/src/main/resources/assets/tfmg/textures/block/engines/gasoline.png new file mode 100644 index 00000000..1b22acdc Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engines/gasoline.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engines/lpg.png b/src/main/resources/assets/tfmg/textures/block/engines/lpg.png new file mode 100644 index 00000000..9c9985af Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engines/lpg.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/engines/turbine_engine.png b/src/main/resources/assets/tfmg/textures/block/engines/turbine_engine.png new file mode 100644 index 00000000..6aaacbcf Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/engines/turbine_engine.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/epic_party_light_bulb.png b/src/main/resources/assets/tfmg/textures/block/epic_party_light_bulb.png new file mode 100644 index 00000000..460ab802 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/epic_party_light_bulb.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/exhaust.png b/src/main/resources/assets/tfmg/textures/block/exhaust.png new file mode 100644 index 00000000..8fecb8c4 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/exhaust.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/factory_floor.png b/src/main/resources/assets/tfmg/textures/block/factory_floor.png new file mode 100644 index 00000000..6bac99eb Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/factory_floor.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/firebox.png b/src/main/resources/assets/tfmg/textures/block/firebox.png new file mode 100644 index 00000000..ade10795 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/firebox.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/firebox_lit.png b/src/main/resources/assets/tfmg/textures/block/firebox_lit.png new file mode 100644 index 00000000..cfd1180a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/firebox_lit.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/firebox_lit.png.mcmeta b/src/main/resources/assets/tfmg/textures/block/firebox_lit.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/block/firebox_lit.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/block/firebox_top.png b/src/main/resources/assets/tfmg/textures/block/firebox_top.png new file mode 100644 index 00000000..c7c7ca3a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/firebox_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/firebox_top_connected.png b/src/main/resources/assets/tfmg/textures/block/firebox_top_connected.png new file mode 100644 index 00000000..50af5970 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/firebox_top_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/firebrick_vat.png b/src/main/resources/assets/tfmg/textures/block/firebrick_vat.png new file mode 100644 index 00000000..d1c2c420 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/firebrick_vat.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/firebrick_vat_connected.png b/src/main/resources/assets/tfmg/textures/block/firebrick_vat_connected.png new file mode 100644 index 00000000..ff1897ec Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/firebrick_vat_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/fireclay.png b/src/main/resources/assets/tfmg/textures/block/fireclay.png new file mode 100644 index 00000000..3dde3233 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/fireclay.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/fireproof_brick_reinforcement.png b/src/main/resources/assets/tfmg/textures/block/fireproof_brick_reinforcement.png new file mode 100644 index 00000000..22252a65 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/fireproof_brick_reinforcement.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/fireproof_bricks.png b/src/main/resources/assets/tfmg/textures/block/fireproof_bricks.png new file mode 100644 index 00000000..22252a65 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/fireproof_bricks.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/flarestack.png b/src/main/resources/assets/tfmg/textures/block/flarestack.png new file mode 100644 index 00000000..a9cfe23c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/flarestack.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/formwork_bottom.png b/src/main/resources/assets/tfmg/textures/block/formwork_bottom.png new file mode 100644 index 00000000..8ad50b6b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/formwork_bottom.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/formwork_side.png b/src/main/resources/assets/tfmg/textures/block/formwork_side.png new file mode 100644 index 00000000..4d8440bf Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/formwork_side.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/fossilstone.png b/src/main/resources/assets/tfmg/textures/block/fossilstone.png new file mode 100644 index 00000000..1e59e231 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/fossilstone.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/funnel/aluminum_funnel_frame.png b/src/main/resources/assets/tfmg/textures/block/funnel/aluminum_funnel_frame.png new file mode 100644 index 00000000..2998f9dd Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/funnel/aluminum_funnel_frame.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/funnel/steel_funnel_frame.png b/src/main/resources/assets/tfmg/textures/block/funnel/steel_funnel_frame.png new file mode 100644 index 00000000..a08981ff Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/funnel/steel_funnel_frame.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/fuse.png b/src/main/resources/assets/tfmg/textures/block/fuse.png new file mode 100644 index 00000000..5288fb9a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/fuse.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/fuse_block.png b/src/main/resources/assets/tfmg/textures/block/fuse_block.png new file mode 100644 index 00000000..dde8c88c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/fuse_block.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/galvanic_cell.png b/src/main/resources/assets/tfmg/textures/block/galvanic_cell.png new file mode 100644 index 00000000..220665db Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/galvanic_cell.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/gasoline_engine.png b/src/main/resources/assets/tfmg/textures/block/gasoline_engine.png new file mode 100644 index 00000000..cd4506a8 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/gasoline_engine.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/gauge.png b/src/main/resources/assets/tfmg/textures/block/gauge.png new file mode 100644 index 00000000..a7aec9ac Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/gauge.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/generator.png b/src/main/resources/assets/tfmg/textures/block/generator.png new file mode 100644 index 00000000..50d19156 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/generator.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/glass_aluminum_pipe.png b/src/main/resources/assets/tfmg/textures/block/glass_aluminum_pipe.png new file mode 100644 index 00000000..ac4294e3 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/glass_aluminum_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/glass_brass_pipe.png b/src/main/resources/assets/tfmg/textures/block/glass_brass_pipe.png new file mode 100644 index 00000000..34a41f91 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/glass_brass_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/glass_cast_iron_pipe.png b/src/main/resources/assets/tfmg/textures/block/glass_cast_iron_pipe.png new file mode 100644 index 00000000..2a27140c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/glass_cast_iron_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/glass_insulator.png b/src/main/resources/assets/tfmg/textures/block/glass_insulator.png new file mode 100644 index 00000000..4f5cc574 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/glass_insulator.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/glass_lead_pipe.png b/src/main/resources/assets/tfmg/textures/block/glass_lead_pipe.png new file mode 100644 index 00000000..d10d9d8d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/glass_lead_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/glass_plastic_pipe.png b/src/main/resources/assets/tfmg/textures/block/glass_plastic_pipe.png new file mode 100644 index 00000000..85914e38 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/glass_plastic_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/glass_steel_pipe.png b/src/main/resources/assets/tfmg/textures/block/glass_steel_pipe.png new file mode 100644 index 00000000..05f1d279 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/glass_steel_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/golden_turbo.png b/src/main/resources/assets/tfmg/textures/block/golden_turbo.png new file mode 100644 index 00000000..bb4f3b36 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/golden_turbo.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/gray_concrete.png b/src/main/resources/assets/tfmg/textures/block/gray_concrete.png new file mode 100644 index 00000000..136b7891 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/gray_concrete.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/green_concrete.png b/src/main/resources/assets/tfmg/textures/block/green_concrete.png new file mode 100644 index 00000000..c550e82c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/green_concrete.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/green_fire.png b/src/main/resources/assets/tfmg/textures/block/green_fire.png new file mode 100644 index 00000000..1462d813 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/green_fire.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/green_fire_0.png b/src/main/resources/assets/tfmg/textures/block/green_fire_0.png new file mode 100644 index 00000000..1462d813 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/green_fire_0.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/green_fire_0.png.mcmeta b/src/main/resources/assets/tfmg/textures/block/green_fire_0.png.mcmeta new file mode 100644 index 00000000..76446714 --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/block/green_fire_0.png.mcmeta @@ -0,0 +1,38 @@ +{ + "animation": { + "frames": [ + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 + ] + } +} diff --git a/src/main/resources/assets/tfmg/textures/block/green_fire_1.png b/src/main/resources/assets/tfmg/textures/block/green_fire_1.png new file mode 100644 index 00000000..c0f29962 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/green_fire_1.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/green_fire_1.png.mcmeta b/src/main/resources/assets/tfmg/textures/block/green_fire_1.png.mcmeta new file mode 100644 index 00000000..4f0718ac --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/block/green_fire_1.png.mcmeta @@ -0,0 +1,3 @@ +{ + "animation": {} +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/textures/block/hardened_planks.png b/src/main/resources/assets/tfmg/textures/block/hardened_planks.png new file mode 100644 index 00000000..f0113520 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/hardened_planks.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/heavy_cable_hub.png b/src/main/resources/assets/tfmg/textures/block/heavy_cable_hub.png new file mode 100644 index 00000000..7aa9321a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/heavy_cable_hub.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/heavy_casing_door_bottom.png b/src/main/resources/assets/tfmg/textures/block/heavy_casing_door_bottom.png new file mode 100644 index 00000000..f27ad051 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/heavy_casing_door_bottom.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/heavy_casing_side.png b/src/main/resources/assets/tfmg/textures/block/heavy_casing_side.png new file mode 100644 index 00000000..3ead5dd5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/heavy_casing_side.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/heavy_casing_top.png b/src/main/resources/assets/tfmg/textures/block/heavy_casing_top.png new file mode 100644 index 00000000..d8dc8128 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/heavy_casing_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/heavy_gearbox.png b/src/main/resources/assets/tfmg/textures/block/heavy_gearbox.png new file mode 100644 index 00000000..8758f4c9 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/heavy_gearbox.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/heavy_machinery_casing.png b/src/main/resources/assets/tfmg/textures/block/heavy_machinery_casing.png new file mode 100644 index 00000000..6f34926b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/heavy_machinery_casing.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/heavy_machinery_casing_connected.png b/src/main/resources/assets/tfmg/textures/block/heavy_machinery_casing_connected.png new file mode 100644 index 00000000..635d52a1 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/heavy_machinery_casing_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/heavy_machinery_encased_cogwheel_side.png b/src/main/resources/assets/tfmg/textures/block/heavy_machinery_encased_cogwheel_side.png new file mode 100644 index 00000000..b53331d9 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/heavy_machinery_encased_cogwheel_side.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/heavy_machinery_encased_cogwheel_side_connected.png b/src/main/resources/assets/tfmg/textures/block/heavy_machinery_encased_cogwheel_side_connected.png new file mode 100644 index 00000000..84dc211c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/heavy_machinery_encased_cogwheel_side_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/heavy_machinery_encased_cogwheel_side_horizontal.png b/src/main/resources/assets/tfmg/textures/block/heavy_machinery_encased_cogwheel_side_horizontal.png new file mode 100644 index 00000000..b53331d9 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/heavy_machinery_encased_cogwheel_side_horizontal.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/heavy_machinery_encased_cogwheel_side_horizontal_connected.png b/src/main/resources/assets/tfmg/textures/block/heavy_machinery_encased_cogwheel_side_horizontal_connected.png new file mode 100644 index 00000000..7bcd9d6e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/heavy_machinery_encased_cogwheel_side_horizontal_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/heavy_machinery_encased_cogwheel_side_large.png b/src/main/resources/assets/tfmg/textures/block/heavy_machinery_encased_cogwheel_side_large.png new file mode 100644 index 00000000..329e3e88 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/heavy_machinery_encased_cogwheel_side_large.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/heavy_plated_door_bottom.png b/src/main/resources/assets/tfmg/textures/block/heavy_plated_door_bottom.png new file mode 100644 index 00000000..e2e138b1 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/heavy_plated_door_bottom.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/heavy_plated_door_side.png b/src/main/resources/assets/tfmg/textures/block/heavy_plated_door_side.png new file mode 100644 index 00000000..29f3ca77 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/heavy_plated_door_side.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/heavy_plated_door_top.png b/src/main/resources/assets/tfmg/textures/block/heavy_plated_door_top.png new file mode 100644 index 00000000..6bdf663d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/heavy_plated_door_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/industrial_aluminum_casing.png b/src/main/resources/assets/tfmg/textures/block/industrial_aluminum_casing.png new file mode 100644 index 00000000..c91037e4 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/industrial_aluminum_casing.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/industrial_aluminum_casing_connected.png b/src/main/resources/assets/tfmg/textures/block/industrial_aluminum_casing_connected.png new file mode 100644 index 00000000..9cec1657 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/industrial_aluminum_casing_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/industrial_barrel_back.png b/src/main/resources/assets/tfmg/textures/block/industrial_barrel_back.png new file mode 100644 index 00000000..d51bc98c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/industrial_barrel_back.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/industrial_barrel_front.png b/src/main/resources/assets/tfmg/textures/block/industrial_barrel_front.png new file mode 100644 index 00000000..8782eeca Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/industrial_barrel_front.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/industrial_barrel_front_open.png b/src/main/resources/assets/tfmg/textures/block/industrial_barrel_front_open.png new file mode 100644 index 00000000..1cf23110 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/industrial_barrel_front_open.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/industrial_barrel_side.png b/src/main/resources/assets/tfmg/textures/block/industrial_barrel_side.png new file mode 100644 index 00000000..72aa519d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/industrial_barrel_side.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/industrial_mixer.png b/src/main/resources/assets/tfmg/textures/block/industrial_mixer.png new file mode 100644 index 00000000..2903a563 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/industrial_mixer.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/industrial_pipe.png b/src/main/resources/assets/tfmg/textures/block/industrial_pipe.png new file mode 100644 index 00000000..13e78890 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/industrial_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/ladder_aluminum.png b/src/main/resources/assets/tfmg/textures/block/ladder_aluminum.png new file mode 100644 index 00000000..52b7bd61 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/ladder_aluminum.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/ladder_aluminum_hoop.png b/src/main/resources/assets/tfmg/textures/block/ladder_aluminum_hoop.png new file mode 100644 index 00000000..5aa1c9e2 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/ladder_aluminum_hoop.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/ladder_cast_iron.png b/src/main/resources/assets/tfmg/textures/block/ladder_cast_iron.png new file mode 100644 index 00000000..ad7bf1ac Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/ladder_cast_iron.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/ladder_cast_iron_hoop.png b/src/main/resources/assets/tfmg/textures/block/ladder_cast_iron_hoop.png new file mode 100644 index 00000000..4814538a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/ladder_cast_iron_hoop.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/ladder_constantan.png b/src/main/resources/assets/tfmg/textures/block/ladder_constantan.png new file mode 100644 index 00000000..84413fc9 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/ladder_constantan.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/ladder_constantan_hoop.png b/src/main/resources/assets/tfmg/textures/block/ladder_constantan_hoop.png new file mode 100644 index 00000000..1ce9b307 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/ladder_constantan_hoop.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/ladder_lead.png b/src/main/resources/assets/tfmg/textures/block/ladder_lead.png new file mode 100644 index 00000000..377d8e32 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/ladder_lead.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/ladder_lead_hoop.png b/src/main/resources/assets/tfmg/textures/block/ladder_lead_hoop.png new file mode 100644 index 00000000..4f9b053f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/ladder_lead_hoop.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/ladder_nickel.png b/src/main/resources/assets/tfmg/textures/block/ladder_nickel.png new file mode 100644 index 00000000..e6ddd051 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/ladder_nickel.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/ladder_nickel_hoop.png b/src/main/resources/assets/tfmg/textures/block/ladder_nickel_hoop.png new file mode 100644 index 00000000..53bb2bf3 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/ladder_nickel_hoop.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/ladder_steel.png b/src/main/resources/assets/tfmg/textures/block/ladder_steel.png new file mode 100644 index 00000000..01abf4fb Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/ladder_steel.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/ladder_steel_hoop.png b/src/main/resources/assets/tfmg/textures/block/ladder_steel_hoop.png new file mode 100644 index 00000000..7a129d18 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/ladder_steel_hoop.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/large_aluminum_coghweel.png b/src/main/resources/assets/tfmg/textures/block/large_aluminum_coghweel.png new file mode 100644 index 00000000..b6e18009 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/large_aluminum_coghweel.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/large_engine.png b/src/main/resources/assets/tfmg/textures/block/large_engine.png new file mode 100644 index 00000000..a186aa82 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/large_engine.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/large_generator.png b/src/main/resources/assets/tfmg/textures/block/large_generator.png new file mode 100644 index 00000000..2a5a6f0d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/large_generator.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/large_pumpjack_hammer_head.png b/src/main/resources/assets/tfmg/textures/block/large_pumpjack_hammer_head.png new file mode 100644 index 00000000..03c8f1e8 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/large_pumpjack_hammer_head.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/large_pumpjack_hammer_part.png b/src/main/resources/assets/tfmg/textures/block/large_pumpjack_hammer_part.png new file mode 100644 index 00000000..3ffc8377 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/large_pumpjack_hammer_part.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/large_radial_engine.png b/src/main/resources/assets/tfmg/textures/block/large_radial_engine.png new file mode 100644 index 00000000..f20fdf02 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/large_radial_engine.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/large_steel_cogwheel.png b/src/main/resources/assets/tfmg/textures/block/large_steel_cogwheel.png new file mode 100644 index 00000000..34e9f34a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/large_steel_cogwheel.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/layered_bauxite_connected.png b/src/main/resources/assets/tfmg/textures/block/layered_bauxite_connected.png new file mode 100644 index 00000000..3df3b1ad Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/layered_bauxite_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lead_block.png b/src/main/resources/assets/tfmg/textures/block/lead_block.png new file mode 100644 index 00000000..5a52e2de Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lead_block.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lead_block_connected.png b/src/main/resources/assets/tfmg/textures/block/lead_block_connected.png new file mode 100644 index 00000000..777adb74 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lead_block_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lead_encased_pipe.png b/src/main/resources/assets/tfmg/textures/block/lead_encased_pipe.png new file mode 100644 index 00000000..7ba90003 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lead_encased_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lead_fluid_valve.png b/src/main/resources/assets/tfmg/textures/block/lead_fluid_valve.png new file mode 100644 index 00000000..d6ec5eb7 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lead_fluid_valve.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lead_flywheel.png b/src/main/resources/assets/tfmg/textures/block/lead_flywheel.png new file mode 100644 index 00000000..96bf40bb Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lead_flywheel.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lead_frame_2.png b/src/main/resources/assets/tfmg/textures/block/lead_frame_2.png new file mode 100644 index 00000000..a9b1e388 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lead_frame_2.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lead_glass.png b/src/main/resources/assets/tfmg/textures/block/lead_glass.png new file mode 100644 index 00000000..3766b3a5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lead_glass.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lead_glass_connected.png b/src/main/resources/assets/tfmg/textures/block/lead_glass_connected.png new file mode 100644 index 00000000..f0c07662 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lead_glass_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lead_glass_fluid_pipe.png b/src/main/resources/assets/tfmg/textures/block/lead_glass_fluid_pipe.png new file mode 100644 index 00000000..1e4c2a6c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lead_glass_fluid_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lead_glass_item.png b/src/main/resources/assets/tfmg/textures/block/lead_glass_item.png new file mode 100644 index 00000000..a11b44d3 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lead_glass_item.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lead_ore.png b/src/main/resources/assets/tfmg/textures/block/lead_ore.png new file mode 100644 index 00000000..bf67ca59 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lead_ore.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lead_pipes.png b/src/main/resources/assets/tfmg/textures/block/lead_pipes.png new file mode 100644 index 00000000..f5b10a2f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lead_pipes.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lead_pipes_connected.png b/src/main/resources/assets/tfmg/textures/block/lead_pipes_connected.png new file mode 100644 index 00000000..412cf865 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lead_pipes_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lead_pump.png b/src/main/resources/assets/tfmg/textures/block/lead_pump.png new file mode 100644 index 00000000..fb7975eb Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lead_pump.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lead_smart_pipe_1.png b/src/main/resources/assets/tfmg/textures/block/lead_smart_pipe_1.png new file mode 100644 index 00000000..8a344cbe Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lead_smart_pipe_1.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lead_smart_pipe_2.png b/src/main/resources/assets/tfmg/textures/block/lead_smart_pipe_2.png new file mode 100644 index 00000000..0aab7a4b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lead_smart_pipe_2.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lead_smart_pipe_3.png b/src/main/resources/assets/tfmg/textures/block/lead_smart_pipe_3.png new file mode 100644 index 00000000..94fae740 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lead_smart_pipe_3.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lead_truss.png b/src/main/resources/assets/tfmg/textures/block/lead_truss.png new file mode 100644 index 00000000..0f42d355 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lead_truss.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/light.png b/src/main/resources/assets/tfmg/textures/block/light.png new file mode 100644 index 00000000..4fd9baa5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/light.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/light_2.png b/src/main/resources/assets/tfmg/textures/block/light_2.png new file mode 100644 index 00000000..2767ed3b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/light_2.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/light_blue_concrete.png b/src/main/resources/assets/tfmg/textures/block/light_blue_concrete.png new file mode 100644 index 00000000..9544445d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/light_blue_concrete.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/light_bulb.png b/src/main/resources/assets/tfmg/textures/block/light_bulb.png new file mode 100644 index 00000000..460ab802 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/light_bulb.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/light_gray_concrete.png b/src/main/resources/assets/tfmg/textures/block/light_gray_concrete.png new file mode 100644 index 00000000..910975d5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/light_gray_concrete.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lignite.png b/src/main/resources/assets/tfmg/textures/block/lignite.png new file mode 100644 index 00000000..775b1eb7 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lignite.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lime_concrete.png b/src/main/resources/assets/tfmg/textures/block/lime_concrete.png new file mode 100644 index 00000000..5b24a2ec Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lime_concrete.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/limesand.png b/src/main/resources/assets/tfmg/textures/block/limesand.png new file mode 100644 index 00000000..9a7e7003 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/limesand.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/liquid_concrete.png b/src/main/resources/assets/tfmg/textures/block/liquid_concrete.png new file mode 100644 index 00000000..5a35319c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/liquid_concrete.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lithium_block.png b/src/main/resources/assets/tfmg/textures/block/lithium_block.png new file mode 100644 index 00000000..c01bfea3 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lithium_block.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lithium_fire_0.png b/src/main/resources/assets/tfmg/textures/block/lithium_fire_0.png new file mode 100644 index 00000000..a1241093 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lithium_fire_0.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lithium_fire_0.png.mcmeta b/src/main/resources/assets/tfmg/textures/block/lithium_fire_0.png.mcmeta new file mode 100644 index 00000000..76446714 --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/block/lithium_fire_0.png.mcmeta @@ -0,0 +1,38 @@ +{ + "animation": { + "frames": [ + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 + ] + } +} diff --git a/src/main/resources/assets/tfmg/textures/block/lithium_fire_1.png b/src/main/resources/assets/tfmg/textures/block/lithium_fire_1.png new file mode 100644 index 00000000..dcc23a67 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lithium_fire_1.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lithium_fire_1.png.mcmeta b/src/main/resources/assets/tfmg/textures/block/lithium_fire_1.png.mcmeta new file mode 100644 index 00000000..4f0718ac --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/block/lithium_fire_1.png.mcmeta @@ -0,0 +1,3 @@ +{ + "animation": {} +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/textures/block/lithium_ore.png b/src/main/resources/assets/tfmg/textures/block/lithium_ore.png new file mode 100644 index 00000000..12edc020 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lithium_ore.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/lithium_torch.png b/src/main/resources/assets/tfmg/textures/block/lithium_torch.png new file mode 100644 index 00000000..1592e67c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/lithium_torch.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/low_grade_fuel_engine.png b/src/main/resources/assets/tfmg/textures/block/low_grade_fuel_engine.png new file mode 100644 index 00000000..9c6fce06 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/low_grade_fuel_engine.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/magenta_concrete.png b/src/main/resources/assets/tfmg/textures/block/magenta_concrete.png new file mode 100644 index 00000000..bbca4d52 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/magenta_concrete.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/metal_smokestack.png b/src/main/resources/assets/tfmg/textures/block/metal_smokestack.png new file mode 100644 index 00000000..8d564c67 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/metal_smokestack.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/modern_light_off.png b/src/main/resources/assets/tfmg/textures/block/modern_light_off.png new file mode 100644 index 00000000..47b218ef Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/modern_light_off.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/modern_light_on.png b/src/main/resources/assets/tfmg/textures/block/modern_light_on.png new file mode 100644 index 00000000..b0f12bce Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/modern_light_on.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/modular_pumpjack.png b/src/main/resources/assets/tfmg/textures/block/modular_pumpjack.png new file mode 100644 index 00000000..180bcb07 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/modular_pumpjack.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/molten_metal.png b/src/main/resources/assets/tfmg/textures/block/molten_metal.png new file mode 100644 index 00000000..f79b04ca Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/molten_metal.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/molten_metal.png.mcmeta b/src/main/resources/assets/tfmg/textures/block/molten_metal.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/block/molten_metal.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/block/napalm_bomb_bottom.png b/src/main/resources/assets/tfmg/textures/block/napalm_bomb_bottom.png new file mode 100644 index 00000000..138d7814 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/napalm_bomb_bottom.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/napalm_bomb_side.png b/src/main/resources/assets/tfmg/textures/block/napalm_bomb_side.png new file mode 100644 index 00000000..3f643bdd Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/napalm_bomb_side.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/napalm_bomb_top.png b/src/main/resources/assets/tfmg/textures/block/napalm_bomb_top.png new file mode 100644 index 00000000..ceeb4ddf Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/napalm_bomb_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/neon_tube.png b/src/main/resources/assets/tfmg/textures/block/neon_tube.png new file mode 100644 index 00000000..bd6696b1 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/neon_tube.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/new_generator.png b/src/main/resources/assets/tfmg/textures/block/new_generator.png new file mode 100644 index 00000000..e6c693df Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/new_generator.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/nickel_block.png b/src/main/resources/assets/tfmg/textures/block/nickel_block.png new file mode 100644 index 00000000..80f645a0 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/nickel_block.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/nickel_flywheel.png b/src/main/resources/assets/tfmg/textures/block/nickel_flywheel.png new file mode 100644 index 00000000..a243d445 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/nickel_flywheel.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/nickel_frame.png b/src/main/resources/assets/tfmg/textures/block/nickel_frame.png new file mode 100644 index 00000000..896f8be9 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/nickel_frame.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/nickel_ore.png b/src/main/resources/assets/tfmg/textures/block/nickel_ore.png new file mode 100644 index 00000000..7bc10d26 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/nickel_ore.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/nickel_truss.png b/src/main/resources/assets/tfmg/textures/block/nickel_truss.png new file mode 100644 index 00000000..0f54b3d3 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/nickel_truss.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/oil_can.png b/src/main/resources/assets/tfmg/textures/block/oil_can.png new file mode 100644 index 00000000..c204e53e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/oil_can.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/oil_deposit.png b/src/main/resources/assets/tfmg/textures/block/oil_deposit.png new file mode 100644 index 00000000..0cf82178 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/oil_deposit.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/orange_concrete.png b/src/main/resources/assets/tfmg/textures/block/orange_concrete.png new file mode 100644 index 00000000..3adbe119 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/orange_concrete.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/bauxite_cut_basketweave.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/bauxite_cut_basketweave.png new file mode 100644 index 00000000..db41ffaa Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/bauxite_cut_basketweave.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/bauxite_cut_bond.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/bauxite_cut_bond.png new file mode 100644 index 00000000..c97a2163 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/bauxite_cut_bond.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/bauxite_cut_herring.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/bauxite_cut_herring.png new file mode 100644 index 00000000..81bd23ca Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/bauxite_cut_herring.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/bauxite_cut_indented.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/bauxite_cut_indented.png new file mode 100644 index 00000000..a225f071 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/bauxite_cut_indented.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/galena_cut_basketweave.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/galena_cut_basketweave.png new file mode 100644 index 00000000..db41ffaa Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/galena_cut_basketweave.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/galena_cut_bond.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/galena_cut_bond.png new file mode 100644 index 00000000..c97a2163 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/galena_cut_bond.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/galena_cut_herring.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/galena_cut_herring.png new file mode 100644 index 00000000..df13d614 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/galena_cut_herring.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/galena_cut_indented.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/galena_cut_indented.png new file mode 100644 index 00000000..c9270fb3 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/alternatives/galena_cut_indented.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/brick/bauxite_cut_brick.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/brick/bauxite_cut_brick.png new file mode 100644 index 00000000..04609931 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/brick/bauxite_cut_brick.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/brick/galena_cut_brick.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/brick/galena_cut_brick.png new file mode 100644 index 00000000..667d1fa8 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/brick/galena_cut_brick.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/cap/bauxite_cut_cap.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/cap/bauxite_cut_cap.png new file mode 100644 index 00000000..5b3ce77f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/cap/bauxite_cut_cap.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/cap/bauxite_cut_cap_connected.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/cap/bauxite_cut_cap_connected.png new file mode 100644 index 00000000..3ff443b9 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/cap/bauxite_cut_cap_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/cap/galena_cut_cap.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/cap/galena_cut_cap.png new file mode 100644 index 00000000..c25425fb Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/cap/galena_cut_cap.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/cap/galena_cut_cap_connected.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/cap/galena_cut_cap_connected.png new file mode 100644 index 00000000..32168693 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/cap/galena_cut_cap_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/cut/bauxite_cut.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/cut/bauxite_cut.png new file mode 100644 index 00000000..7039a535 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/cut/bauxite_cut.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/cut/galena_cut.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/cut/galena_cut.png new file mode 100644 index 00000000..aee88016 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/cut/galena_cut.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/layered/bauxite_cut_layered.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/layered/bauxite_cut_layered.png new file mode 100644 index 00000000..e0e60236 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/layered/bauxite_cut_layered.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/layered/bauxite_cut_layered_connected.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/layered/bauxite_cut_layered_connected.png new file mode 100644 index 00000000..d7fe1875 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/layered/bauxite_cut_layered_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/layered/galena_cut_layered.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/layered/galena_cut_layered.png new file mode 100644 index 00000000..7174d3ca Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/layered/galena_cut_layered.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/layered/galena_cut_layered_connected.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/layered/galena_cut_layered_connected.png new file mode 100644 index 00000000..50794531 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/layered/galena_cut_layered_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/bauxite_0.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/bauxite_0.png new file mode 100644 index 00000000..65546feb Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/bauxite_0.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/bauxite_1.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/bauxite_1.png new file mode 100644 index 00000000..74842c07 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/bauxite_1.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/bauxite_2.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/bauxite_2.png new file mode 100644 index 00000000..cdf67816 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/bauxite_2.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/bauxite_3.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/bauxite_3.png new file mode 100644 index 00000000..2b7ae341 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/bauxite_3.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/galena_0.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/galena_0.png new file mode 100644 index 00000000..de931ac0 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/galena_0.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/galena_1.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/galena_1.png new file mode 100644 index 00000000..3d355952 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/galena_1.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/galena_2.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/galena_2.png new file mode 100644 index 00000000..1e195563 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/galena_2.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/galena_3.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/galena_3.png new file mode 100644 index 00000000..be928ed3 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/natural/galena_3.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/pillar/bauxite_cut_pillar.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/pillar/bauxite_cut_pillar.png new file mode 100644 index 00000000..5fa011cb Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/pillar/bauxite_cut_pillar.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/pillar/bauxite_cut_pillar_connected.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/pillar/bauxite_cut_pillar_connected.png new file mode 100644 index 00000000..9ac8eeec Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/pillar/bauxite_cut_pillar_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/pillar/galena_cut_pillar.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/pillar/galena_cut_pillar.png new file mode 100644 index 00000000..95a6aa64 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/pillar/galena_cut_pillar.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/pillar/galena_cut_pillar_connected.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/pillar/galena_cut_pillar_connected.png new file mode 100644 index 00000000..03728cb9 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/pillar/galena_cut_pillar_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/polished/bauxite_cut_polished.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/polished/bauxite_cut_polished.png new file mode 100644 index 00000000..12837171 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/polished/bauxite_cut_polished.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/polished/galena_cut_polished.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/polished/galena_cut_polished.png new file mode 100644 index 00000000..06ee0978 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/polished/galena_cut_polished.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/slab/bauxite_cut_slab.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/slab/bauxite_cut_slab.png new file mode 100644 index 00000000..c8557a52 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/slab/bauxite_cut_slab.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/slab/galena_cut_slab.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/slab/galena_cut_slab.png new file mode 100644 index 00000000..391f5196 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/slab/galena_cut_slab.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/small_brick/bauxite_cut_small_brick.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/small_brick/bauxite_cut_small_brick.png new file mode 100644 index 00000000..c97a2163 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/small_brick/bauxite_cut_small_brick.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/small_brick/galena_cut_small_brick.png b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/small_brick/galena_cut_small_brick.png new file mode 100644 index 00000000..baec2c50 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/palettes/stone_types/small_brick/galena_cut_small_brick.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/pink_concrete.png b/src/main/resources/assets/tfmg/textures/block/pink_concrete.png new file mode 100644 index 00000000..17509d27 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/pink_concrete.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/plastic_block.png b/src/main/resources/assets/tfmg/textures/block/plastic_block.png new file mode 100644 index 00000000..6bc8f766 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/plastic_block.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/plastic_encased_pipe.png b/src/main/resources/assets/tfmg/textures/block/plastic_encased_pipe.png new file mode 100644 index 00000000..a7919dbc Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/plastic_encased_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/plastic_fluid_valve.png b/src/main/resources/assets/tfmg/textures/block/plastic_fluid_valve.png new file mode 100644 index 00000000..4b5b2d05 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/plastic_fluid_valve.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/plastic_glass_fluid_pipe.png b/src/main/resources/assets/tfmg/textures/block/plastic_glass_fluid_pipe.png new file mode 100644 index 00000000..3c3e13da Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/plastic_glass_fluid_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/plastic_pipes.png b/src/main/resources/assets/tfmg/textures/block/plastic_pipes.png new file mode 100644 index 00000000..47c71e85 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/plastic_pipes.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/plastic_pipes_connected.png b/src/main/resources/assets/tfmg/textures/block/plastic_pipes_connected.png new file mode 100644 index 00000000..09ebcae4 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/plastic_pipes_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/plastic_pump.png b/src/main/resources/assets/tfmg/textures/block/plastic_pump.png new file mode 100644 index 00000000..c152badc Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/plastic_pump.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/plastic_smart_pipe_1.png b/src/main/resources/assets/tfmg/textures/block/plastic_smart_pipe_1.png new file mode 100644 index 00000000..0519b06e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/plastic_smart_pipe_1.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/plastic_smart_pipe_2.png b/src/main/resources/assets/tfmg/textures/block/plastic_smart_pipe_2.png new file mode 100644 index 00000000..1878a59a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/plastic_smart_pipe_2.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/plastic_smart_pipe_3.png b/src/main/resources/assets/tfmg/textures/block/plastic_smart_pipe_3.png new file mode 100644 index 00000000..3f3ba7ee Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/plastic_smart_pipe_3.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/plastic_valve_closed.png b/src/main/resources/assets/tfmg/textures/block/plastic_valve_closed.png new file mode 100644 index 00000000..ca6f26b5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/plastic_valve_closed.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/plastic_valve_open.png b/src/main/resources/assets/tfmg/textures/block/plastic_valve_open.png new file mode 100644 index 00000000..a68c4006 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/plastic_valve_open.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/polarizer.png b/src/main/resources/assets/tfmg/textures/block/polarizer.png new file mode 100644 index 00000000..8df69e74 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/polarizer.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/polarizer_back.png b/src/main/resources/assets/tfmg/textures/block/polarizer_back.png new file mode 100644 index 00000000..47f989e3 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/polarizer_back.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/polarizer_front.png b/src/main/resources/assets/tfmg/textures/block/polarizer_front.png new file mode 100644 index 00000000..f419e079 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/polarizer_front.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/polarizer_top.png b/src/main/resources/assets/tfmg/textures/block/polarizer_top.png new file mode 100644 index 00000000..d193998e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/polarizer_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/pumpjack_base.png b/src/main/resources/assets/tfmg/textures/block/pumpjack_base.png new file mode 100644 index 00000000..854c688f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/pumpjack_base.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/pumpjack_crank.png b/src/main/resources/assets/tfmg/textures/block/pumpjack_crank.png new file mode 100644 index 00000000..9a4a5023 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/pumpjack_crank.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/pumpjack_hammer.png b/src/main/resources/assets/tfmg/textures/block/pumpjack_hammer.png new file mode 100644 index 00000000..2d4cd76d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/pumpjack_hammer.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/pumpjack_hammer_connector.png b/src/main/resources/assets/tfmg/textures/block/pumpjack_hammer_connector.png new file mode 100644 index 00000000..69696456 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/pumpjack_hammer_connector.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/pumpjack_hammer_head.png b/src/main/resources/assets/tfmg/textures/block/pumpjack_hammer_head.png new file mode 100644 index 00000000..4111b356 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/pumpjack_hammer_head.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/pumpjack_hammer_part.png b/src/main/resources/assets/tfmg/textures/block/pumpjack_hammer_part.png new file mode 100644 index 00000000..d1c98f39 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/pumpjack_hammer_part.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/purple_concrete.png b/src/main/resources/assets/tfmg/textures/block/purple_concrete.png new file mode 100644 index 00000000..e723684f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/purple_concrete.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/radial_engine.png b/src/main/resources/assets/tfmg/textures/block/radial_engine.png new file mode 100644 index 00000000..87a5b9fe Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/radial_engine.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/raw_lead_block.png b/src/main/resources/assets/tfmg/textures/block/raw_lead_block.png new file mode 100644 index 00000000..6b97681c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/raw_lead_block.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/raw_lithium_block.png b/src/main/resources/assets/tfmg/textures/block/raw_lithium_block.png new file mode 100644 index 00000000..a56c9323 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/raw_lithium_block.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/raw_nickel_block.png b/src/main/resources/assets/tfmg/textures/block/raw_nickel_block.png new file mode 100644 index 00000000..27d93ff8 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/raw_nickel_block.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/rebar_cage.png b/src/main/resources/assets/tfmg/textures/block/rebar_cage.png new file mode 100644 index 00000000..0703b3f3 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/rebar_cage.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/rebar_concrete.png b/src/main/resources/assets/tfmg/textures/block/rebar_concrete.png new file mode 100644 index 00000000..23bb156b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/rebar_concrete.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/rebar_connecting_rods.png b/src/main/resources/assets/tfmg/textures/block/rebar_connecting_rods.png new file mode 100644 index 00000000..015fd2e6 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/rebar_connecting_rods.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/rebar_floor.png b/src/main/resources/assets/tfmg/textures/block/rebar_floor.png new file mode 100644 index 00000000..4bfac1af Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/rebar_floor.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/rebar_pile_side.png b/src/main/resources/assets/tfmg/textures/block/rebar_pile_side.png new file mode 100644 index 00000000..46a6e2d4 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/rebar_pile_side.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/rebar_pile_top.png b/src/main/resources/assets/tfmg/textures/block/rebar_pile_top.png new file mode 100644 index 00000000..e6d821c6 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/rebar_pile_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/rebar_stairs.png b/src/main/resources/assets/tfmg/textures/block/rebar_stairs.png new file mode 100644 index 00000000..b69cbf30 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/rebar_stairs.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/rebar_wall.png b/src/main/resources/assets/tfmg/textures/block/rebar_wall.png new file mode 100644 index 00000000..65699350 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/rebar_wall.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/red_caution_block.png b/src/main/resources/assets/tfmg/textures/block/red_caution_block.png new file mode 100644 index 00000000..bcefb768 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/red_caution_block.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/red_concrete.png b/src/main/resources/assets/tfmg/textures/block/red_concrete.png new file mode 100644 index 00000000..b1de5a1b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/red_concrete.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/redstone_inlet.png b/src/main/resources/assets/tfmg/textures/block/redstone_inlet.png new file mode 100644 index 00000000..4fe2ce88 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/redstone_inlet.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/regular_insulator.png b/src/main/resources/assets/tfmg/textures/block/regular_insulator.png new file mode 100644 index 00000000..b26330d1 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/regular_insulator.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/relay_inlet.png b/src/main/resources/assets/tfmg/textures/block/relay_inlet.png new file mode 100644 index 00000000..f402727b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/relay_inlet.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/resistor.png b/src/main/resources/assets/tfmg/textures/block/resistor.png new file mode 100644 index 00000000..99dd3d49 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/resistor.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/resistor2.png b/src/main/resources/assets/tfmg/textures/block/resistor2.png new file mode 100644 index 00000000..f2dc8e80 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/resistor2.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/rgb_light_bulb.png b/src/main/resources/assets/tfmg/textures/block/rgb_light_bulb.png new file mode 100644 index 00000000..460ab802 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/rgb_light_bulb.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/rotor.png b/src/main/resources/assets/tfmg/textures/block/rotor.png new file mode 100644 index 00000000..9ef25d6a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/rotor.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/rusted_blast_furnace_reinforcement.png b/src/main/resources/assets/tfmg/textures/block/rusted_blast_furnace_reinforcement.png new file mode 100644 index 00000000..55a93ed9 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/rusted_blast_furnace_reinforcement.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/rusted_blast_furnace_reinforcement_connected.png b/src/main/resources/assets/tfmg/textures/block/rusted_blast_furnace_reinforcement_connected.png new file mode 100644 index 00000000..8cc06de6 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/rusted_blast_furnace_reinforcement_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/scaffold/aluminum_scaffold.png b/src/main/resources/assets/tfmg/textures/block/scaffold/aluminum_scaffold.png new file mode 100644 index 00000000..537b709a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/scaffold/aluminum_scaffold.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/scaffold/aluminum_scaffold_connected.png b/src/main/resources/assets/tfmg/textures/block/scaffold/aluminum_scaffold_connected.png new file mode 100644 index 00000000..ea81f421 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/scaffold/aluminum_scaffold_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/scaffold/aluminum_scaffold_inside.png b/src/main/resources/assets/tfmg/textures/block/scaffold/aluminum_scaffold_inside.png new file mode 100644 index 00000000..ae8b8c2d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/scaffold/aluminum_scaffold_inside.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/scaffold/aluminum_scaffold_inside_connected.png b/src/main/resources/assets/tfmg/textures/block/scaffold/aluminum_scaffold_inside_connected.png new file mode 100644 index 00000000..5410e0b1 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/scaffold/aluminum_scaffold_inside_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/scaffold/steel_scaffold.png b/src/main/resources/assets/tfmg/textures/block/scaffold/steel_scaffold.png new file mode 100644 index 00000000..864ec293 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/scaffold/steel_scaffold.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/scaffold/steel_scaffold_connected.png b/src/main/resources/assets/tfmg/textures/block/scaffold/steel_scaffold_connected.png new file mode 100644 index 00000000..18c28051 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/scaffold/steel_scaffold_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/scaffold/steel_scaffold_inside.png b/src/main/resources/assets/tfmg/textures/block/scaffold/steel_scaffold_inside.png new file mode 100644 index 00000000..2374a76f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/scaffold/steel_scaffold_inside.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/scaffold/steel_scaffold_inside_connected.png b/src/main/resources/assets/tfmg/textures/block/scaffold/steel_scaffold_inside_connected.png new file mode 100644 index 00000000..65c3edfc Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/scaffold/steel_scaffold_inside_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/segmented_display_screen.png b/src/main/resources/assets/tfmg/textures/block/segmented_display_screen.png new file mode 100644 index 00000000..05d76054 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/segmented_display_screen.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/segmented_display_screen_connected.png b/src/main/resources/assets/tfmg/textures/block/segmented_display_screen_connected.png new file mode 100644 index 00000000..4deae1d2 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/segmented_display_screen_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/servo_motor.png b/src/main/resources/assets/tfmg/textures/block/servo_motor.png new file mode 100644 index 00000000..9750a462 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/servo_motor.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/shaft.png b/src/main/resources/assets/tfmg/textures/block/shaft.png new file mode 100644 index 00000000..18df4804 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/shaft.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/shaft_top.png b/src/main/resources/assets/tfmg/textures/block/shaft_top.png new file mode 100644 index 00000000..1194ab31 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/shaft_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/simple_engine_linkage.png b/src/main/resources/assets/tfmg/textures/block/simple_engine_linkage.png new file mode 100644 index 00000000..adf1eab0 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/simple_engine_linkage.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/simple_large_engine.png b/src/main/resources/assets/tfmg/textures/block/simple_large_engine.png new file mode 100644 index 00000000..f2cd3bbc Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/simple_large_engine.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/slag_block.png b/src/main/resources/assets/tfmg/textures/block/slag_block.png new file mode 100644 index 00000000..5bd15726 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/slag_block.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/slag_bricks.png b/src/main/resources/assets/tfmg/textures/block/slag_bricks.png new file mode 100644 index 00000000..2aa4af1f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/slag_bricks.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/small_mixer.png b/src/main/resources/assets/tfmg/textures/block/small_mixer.png new file mode 100644 index 00000000..f1e4795d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/small_mixer.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/smokestack_top.png b/src/main/resources/assets/tfmg/textures/block/smokestack_top.png new file mode 100644 index 00000000..f9e36c71 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/smokestack_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/stator.png b/src/main/resources/assets/tfmg/textures/block/stator.png new file mode 100644 index 00000000..0ba3c5a2 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/stator.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img.png b/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img.png new file mode 100644 index 00000000..cd6704d6 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_1.png b/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_1.png new file mode 100644 index 00000000..a6d8b619 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_1.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_2.png b/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_2.png new file mode 100644 index 00000000..89d3d6ff Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_2.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_3.png b/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_3.png new file mode 100644 index 00000000..0d56a4c2 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_3.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_4.png b/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_4.png new file mode 100644 index 00000000..9b20d313 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_4.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_5.png b/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_5.png new file mode 100644 index 00000000..014ec7aa Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_5.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_6.png b/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_6.png new file mode 100644 index 00000000..4c810df8 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_6.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_7.png b/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_7.png new file mode 100644 index 00000000..64848a6f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_blast_furnace_reinforcement/img_7.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_block.png b/src/main/resources/assets/tfmg/textures/block/steel_block.png new file mode 100644 index 00000000..78afbecd Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_block.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_block_connected.png b/src/main/resources/assets/tfmg/textures/block/steel_block_connected.png new file mode 100644 index 00000000..0bd5cc81 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_block_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_cable_hub.png b/src/main/resources/assets/tfmg/textures/block/steel_cable_hub.png new file mode 100644 index 00000000..2d57e6e0 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_cable_hub.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_casing.png b/src/main/resources/assets/tfmg/textures/block/steel_casing.png new file mode 100644 index 00000000..b5b78712 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_casing.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_casing_cable_hub.png b/src/main/resources/assets/tfmg/textures/block/steel_casing_cable_hub.png new file mode 100644 index 00000000..415d0a66 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_casing_cable_hub.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_casing_connected.png b/src/main/resources/assets/tfmg/textures/block/steel_casing_connected.png new file mode 100644 index 00000000..f65408e1 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_casing_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_casing_slab.png b/src/main/resources/assets/tfmg/textures/block/steel_casing_slab.png new file mode 100644 index 00000000..67c3b8dc Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_casing_slab.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_coghweel.png b/src/main/resources/assets/tfmg/textures/block/steel_coghweel.png new file mode 100644 index 00000000..dfae3ce6 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_coghweel.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_door_bottom.png b/src/main/resources/assets/tfmg/textures/block/steel_door_bottom.png new file mode 100644 index 00000000..8eec1780 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_door_bottom.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_door_side.png b/src/main/resources/assets/tfmg/textures/block/steel_door_side.png new file mode 100644 index 00000000..df9d7762 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_door_side.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_door_top.png b/src/main/resources/assets/tfmg/textures/block/steel_door_top.png new file mode 100644 index 00000000..cc4ddc6a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_door_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_encased_cogwheel_side.png b/src/main/resources/assets/tfmg/textures/block/steel_encased_cogwheel_side.png new file mode 100644 index 00000000..02c4aa1d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_encased_cogwheel_side.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_encased_cogwheel_side_connected.png b/src/main/resources/assets/tfmg/textures/block/steel_encased_cogwheel_side_connected.png new file mode 100644 index 00000000..1554d64d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_encased_cogwheel_side_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_encased_cogwheel_side_horizontal.png b/src/main/resources/assets/tfmg/textures/block/steel_encased_cogwheel_side_horizontal.png new file mode 100644 index 00000000..02c4aa1d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_encased_cogwheel_side_horizontal.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_encased_cogwheel_side_horizontal_connected.png b/src/main/resources/assets/tfmg/textures/block/steel_encased_cogwheel_side_horizontal_connected.png new file mode 100644 index 00000000..ddae6d4f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_encased_cogwheel_side_horizontal_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_encased_cogwheel_side_large.png b/src/main/resources/assets/tfmg/textures/block/steel_encased_cogwheel_side_large.png new file mode 100644 index 00000000..52e4b760 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_encased_cogwheel_side_large.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_encased_pipe.png b/src/main/resources/assets/tfmg/textures/block/steel_encased_pipe.png new file mode 100644 index 00000000..0fce5d9c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_encased_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank.png b/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank.png new file mode 100644 index 00000000..c026ab1d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank_connected.png b/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank_connected.png new file mode 100644 index 00000000..45ffb538 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank_inner.png b/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank_inner.png new file mode 100644 index 00000000..03681585 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank_inner.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank_inner_connected.png b/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank_inner_connected.png new file mode 100644 index 00000000..c4be9948 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank_inner_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank_top.png b/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank_top.png new file mode 100644 index 00000000..d1fb3a3b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank_top_connected.png b/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank_top_connected.png new file mode 100644 index 00000000..6171082a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank_top_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank_window.png b/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank_window.png new file mode 100644 index 00000000..bdd88ee7 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank_window.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank_window_single.png b/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank_window_single.png new file mode 100644 index 00000000..7a550eac Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_fluid_tank_window_single.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_fluid_valve.png b/src/main/resources/assets/tfmg/textures/block/steel_fluid_valve.png new file mode 100644 index 00000000..015f4e97 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_fluid_valve.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_flywheel.png b/src/main/resources/assets/tfmg/textures/block/steel_flywheel.png new file mode 100644 index 00000000..2f44faec Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_flywheel.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_frame.png b/src/main/resources/assets/tfmg/textures/block/steel_frame.png new file mode 100644 index 00000000..a08981ff Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_frame.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_frame_2.png b/src/main/resources/assets/tfmg/textures/block/steel_frame_2.png new file mode 100644 index 00000000..fd63c6b4 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_frame_2.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_gauge.png b/src/main/resources/assets/tfmg/textures/block/steel_gauge.png new file mode 100644 index 00000000..7d3ca1cd Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_gauge.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_gearbox.png b/src/main/resources/assets/tfmg/textures/block/steel_gearbox.png new file mode 100644 index 00000000..55450268 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_gearbox.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_glass_fluid_pipe.png b/src/main/resources/assets/tfmg/textures/block/steel_glass_fluid_pipe.png new file mode 100644 index 00000000..22ef119c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_glass_fluid_pipe.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_pipes.png b/src/main/resources/assets/tfmg/textures/block/steel_pipes.png new file mode 100644 index 00000000..2a07d42a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_pipes.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_pipes_connected.png b/src/main/resources/assets/tfmg/textures/block/steel_pipes_connected.png new file mode 100644 index 00000000..52f3e788 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_pipes_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_pump.png b/src/main/resources/assets/tfmg/textures/block/steel_pump.png new file mode 100644 index 00000000..895f0fbc Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_pump.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_smart_pipe_1.png b/src/main/resources/assets/tfmg/textures/block/steel_smart_pipe_1.png new file mode 100644 index 00000000..856b2519 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_smart_pipe_1.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_smart_pipe_2.png b/src/main/resources/assets/tfmg/textures/block/steel_smart_pipe_2.png new file mode 100644 index 00000000..135fe93d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_smart_pipe_2.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_smart_pipe_3.png b/src/main/resources/assets/tfmg/textures/block/steel_smart_pipe_3.png new file mode 100644 index 00000000..94fae740 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_smart_pipe_3.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_structural_block.png b/src/main/resources/assets/tfmg/textures/block/steel_structural_block.png new file mode 100644 index 00000000..fd63c6b4 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_structural_block.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_trapdoor.png b/src/main/resources/assets/tfmg/textures/block/steel_trapdoor.png new file mode 100644 index 00000000..0bd0566d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_trapdoor.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_truss.png b/src/main/resources/assets/tfmg/textures/block/steel_truss.png new file mode 100644 index 00000000..c8cee7c0 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_truss.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_valve_closed.png b/src/main/resources/assets/tfmg/textures/block/steel_valve_closed.png new file mode 100644 index 00000000..e5459d69 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_valve_closed.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_valve_open.png b/src/main/resources/assets/tfmg/textures/block/steel_valve_open.png new file mode 100644 index 00000000..28831bff Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_valve_open.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_vat.png b/src/main/resources/assets/tfmg/textures/block/steel_vat.png new file mode 100644 index 00000000..c715b8f2 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_vat.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_vat_connected.png b/src/main/resources/assets/tfmg/textures/block/steel_vat_connected.png new file mode 100644 index 00000000..69c2e113 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_vat_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_vat_top.png b/src/main/resources/assets/tfmg/textures/block/steel_vat_top.png new file mode 100644 index 00000000..c9f1b887 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_vat_top.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_vat_top_connected.png b/src/main/resources/assets/tfmg/textures/block/steel_vat_top_connected.png new file mode 100644 index 00000000..435d0067 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_vat_top_connected.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_vat_window.png b/src/main/resources/assets/tfmg/textures/block/steel_vat_window.png new file mode 100644 index 00000000..6a167153 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_vat_window.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/steel_vat_window_single.png b/src/main/resources/assets/tfmg/textures/block/steel_vat_window_single.png new file mode 100644 index 00000000..723aadec Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/steel_vat_window_single.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/sulfur.png b/src/main/resources/assets/tfmg/textures/block/sulfur.png new file mode 100644 index 00000000..4559c44d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/sulfur.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/surface_scanner.png b/src/main/resources/assets/tfmg/textures/block/surface_scanner.png new file mode 100644 index 00000000..452ed784 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/surface_scanner.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/surface_scanner_electron_tube.png b/src/main/resources/assets/tfmg/textures/block/surface_scanner_electron_tube.png new file mode 100644 index 00000000..1ce879bc Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/surface_scanner_electron_tube.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/switch_inlet.png b/src/main/resources/assets/tfmg/textures/block/switch_inlet.png new file mode 100644 index 00000000..eb298ae3 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/switch_inlet.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/track_ballast.png b/src/main/resources/assets/tfmg/textures/block/track_ballast.png new file mode 100644 index 00000000..cacfb8e4 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/track_ballast.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/traffic_light.png b/src/main/resources/assets/tfmg/textures/block/traffic_light.png new file mode 100644 index 00000000..ff09a649 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/traffic_light.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/transformer.png b/src/main/resources/assets/tfmg/textures/block/transformer.png new file mode 100644 index 00000000..a8a5219b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/transformer.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/transmission.png b/src/main/resources/assets/tfmg/textures/block/transmission.png new file mode 100644 index 00000000..43928c6a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/transmission.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/turbo.png b/src/main/resources/assets/tfmg/textures/block/turbo.png new file mode 100644 index 00000000..ad696795 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/turbo.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/unfinished_generator.png b/src/main/resources/assets/tfmg/textures/block/unfinished_generator.png new file mode 100644 index 00000000..aa56f83a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/unfinished_generator.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/unfinished_potentiometer.png b/src/main/resources/assets/tfmg/textures/block/unfinished_potentiometer.png new file mode 100644 index 00000000..122ea1aa Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/unfinished_potentiometer.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/voltage_cube.png b/src/main/resources/assets/tfmg/textures/block/voltage_cube.png new file mode 100644 index 00000000..09fb5dea Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/voltage_cube.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/voltage_observer.png b/src/main/resources/assets/tfmg/textures/block/voltage_observer.png new file mode 100644 index 00000000..cbfc65b6 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/voltage_observer.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/voltage_observer_on.png b/src/main/resources/assets/tfmg/textures/block/voltage_observer_on.png new file mode 100644 index 00000000..7c748905 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/voltage_observer_on.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/voltmeter.png b/src/main/resources/assets/tfmg/textures/block/voltmeter.png new file mode 100644 index 00000000..62747a9d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/voltmeter.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/waterproof_planks.png b/src/main/resources/assets/tfmg/textures/block/waterproof_planks.png new file mode 100644 index 00000000..03ee5a9c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/waterproof_planks.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/white_concrete.png b/src/main/resources/assets/tfmg/textures/block/white_concrete.png new file mode 100644 index 00000000..8bcb79e7 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/white_concrete.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/winding_machine.png b/src/main/resources/assets/tfmg/textures/block/winding_machine.png new file mode 100644 index 00000000..39e5d4d0 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/winding_machine.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/winding_machine_wire.png b/src/main/resources/assets/tfmg/textures/block/winding_machine_wire.png new file mode 100644 index 00000000..6b689078 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/winding_machine_wire.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/winding_machine_wire_animated.png b/src/main/resources/assets/tfmg/textures/block/winding_machine_wire_animated.png new file mode 100644 index 00000000..66c87d4d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/winding_machine_wire_animated.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/winding_machine_wire_animated.png.mcmeta b/src/main/resources/assets/tfmg/textures/block/winding_machine_wire_animated.png.mcmeta new file mode 100644 index 00000000..942c2a07 --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/block/winding_machine_wire_animated.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation": { + "frametime": 1, + "frames": [6, 5, 4, 3, 2, 1, 0] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/textures/block/yellow_concrete.png b/src/main/resources/assets/tfmg/textures/block/yellow_concrete.png new file mode 100644 index 00000000..d54d7412 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/yellow_concrete.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/zinc_frame.png b/src/main/resources/assets/tfmg/textures/block/zinc_frame.png new file mode 100644 index 00000000..9751f5d0 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/zinc_frame.png differ diff --git a/src/main/resources/assets/tfmg/textures/block/zinc_truss.png b/src/main/resources/assets/tfmg/textures/block/zinc_truss.png new file mode 100644 index 00000000..cba8b147 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/block/zinc_truss.png differ diff --git a/src/main/resources/assets/tfmg/textures/entity/blue_spark.png b/src/main/resources/assets/tfmg/textures/entity/blue_spark.png new file mode 100644 index 00000000..9c0d810f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/entity/blue_spark.png differ diff --git a/src/main/resources/assets/tfmg/textures/entity/green_spark.png b/src/main/resources/assets/tfmg/textures/entity/green_spark.png new file mode 100644 index 00000000..5c6a1bef Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/entity/green_spark.png differ diff --git a/src/main/resources/assets/tfmg/textures/entity/lithium_spark.png b/src/main/resources/assets/tfmg/textures/entity/lithium_spark.png new file mode 100644 index 00000000..4626d7fb Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/entity/lithium_spark.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/air.png b/src/main/resources/assets/tfmg/textures/fluid/air.png new file mode 100644 index 00000000..5b902ed0 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/air.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/air.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/air.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/air.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/butane.png b/src/main/resources/assets/tfmg/textures/fluid/butane.png new file mode 100644 index 00000000..e047dbfa Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/butane.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/butane.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/butane.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/butane.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/carbon_dioxide.png b/src/main/resources/assets/tfmg/textures/fluid/carbon_dioxide.png new file mode 100644 index 00000000..98467add Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/carbon_dioxide.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/carbon_dioxide.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/carbon_dioxide.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/carbon_dioxide.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/cooling_fluid_flow.png b/src/main/resources/assets/tfmg/textures/fluid/cooling_fluid_flow.png new file mode 100644 index 00000000..04f3caf5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/cooling_fluid_flow.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/cooling_fluid_flow.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/cooling_fluid_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/cooling_fluid_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/cooling_fluid_still.png b/src/main/resources/assets/tfmg/textures/fluid/cooling_fluid_still.png new file mode 100644 index 00000000..2c3478c0 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/cooling_fluid_still.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/cooling_fluid_still.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/cooling_fluid_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/cooling_fluid_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/creosote_flow.png b/src/main/resources/assets/tfmg/textures/fluid/creosote_flow.png new file mode 100644 index 00000000..e26153d1 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/creosote_flow.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/creosote_flow.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/creosote_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/creosote_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/creosote_still.png b/src/main/resources/assets/tfmg/textures/fluid/creosote_still.png new file mode 100644 index 00000000..c712ba38 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/creosote_still.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/creosote_still.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/creosote_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/creosote_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/crude_oil_flow.png b/src/main/resources/assets/tfmg/textures/fluid/crude_oil_flow.png new file mode 100644 index 00000000..3a46aad8 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/crude_oil_flow.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/crude_oil_flow.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/crude_oil_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/crude_oil_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/crude_oil_still.png b/src/main/resources/assets/tfmg/textures/fluid/crude_oil_still.png new file mode 100644 index 00000000..3936d9ef Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/crude_oil_still.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/crude_oil_still.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/crude_oil_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/crude_oil_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/diesel_flow.png b/src/main/resources/assets/tfmg/textures/fluid/diesel_flow.png new file mode 100644 index 00000000..42956e8b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/diesel_flow.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/diesel_flow.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/diesel_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/diesel_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/diesel_still.png b/src/main/resources/assets/tfmg/textures/fluid/diesel_still.png new file mode 100644 index 00000000..7cecdcb4 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/diesel_still.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/diesel_still.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/diesel_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/diesel_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/ethylene.png b/src/main/resources/assets/tfmg/textures/fluid/ethylene.png new file mode 100644 index 00000000..e047dbfa Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/ethylene.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/ethylene.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/ethylene.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/ethylene.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/fluid_texture_flow.png b/src/main/resources/assets/tfmg/textures/fluid/fluid_texture_flow.png new file mode 100644 index 00000000..c98a5fdd Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/fluid_texture_flow.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/fluid_texture_flow.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/fluid_texture_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/fluid_texture_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/fluid_texture_still.png b/src/main/resources/assets/tfmg/textures/fluid/fluid_texture_still.png new file mode 100644 index 00000000..4bd089f1 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/fluid_texture_still.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/fluid_texture_still.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/fluid_texture_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/fluid_texture_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/furnace_gas.png b/src/main/resources/assets/tfmg/textures/fluid/furnace_gas.png new file mode 100644 index 00000000..5b902ed0 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/furnace_gas.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/furnace_gas.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/furnace_gas.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/furnace_gas.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/gas_texture.png b/src/main/resources/assets/tfmg/textures/fluid/gas_texture.png new file mode 100644 index 00000000..d1309bbc Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/gas_texture.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/gas_texture.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/gas_texture.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/gas_texture.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/gasoline_flow.png b/src/main/resources/assets/tfmg/textures/fluid/gasoline_flow.png new file mode 100644 index 00000000..80d6f140 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/gasoline_flow.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/gasoline_flow.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/gasoline_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/gasoline_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/gasoline_still.png b/src/main/resources/assets/tfmg/textures/fluid/gasoline_still.png new file mode 100644 index 00000000..456b859c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/gasoline_still.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/gasoline_still.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/gasoline_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/gasoline_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/heavy_oil_flow.png b/src/main/resources/assets/tfmg/textures/fluid/heavy_oil_flow.png new file mode 100644 index 00000000..c95940f4 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/heavy_oil_flow.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/heavy_oil_flow.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/heavy_oil_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/heavy_oil_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/heavy_oil_still.png b/src/main/resources/assets/tfmg/textures/fluid/heavy_oil_still.png new file mode 100644 index 00000000..3fc807d8 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/heavy_oil_still.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/heavy_oil_still.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/heavy_oil_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/heavy_oil_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/hot_air.png b/src/main/resources/assets/tfmg/textures/fluid/hot_air.png new file mode 100644 index 00000000..5b902ed0 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/hot_air.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/hot_air.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/hot_air.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/hot_air.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/kerosene_flow.png b/src/main/resources/assets/tfmg/textures/fluid/kerosene_flow.png new file mode 100644 index 00000000..64f79e26 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/kerosene_flow.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/kerosene_flow.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/kerosene_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/kerosene_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/kerosene_still.png b/src/main/resources/assets/tfmg/textures/fluid/kerosene_still.png new file mode 100644 index 00000000..291a1076 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/kerosene_still.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/kerosene_still.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/kerosene_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/kerosene_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/liquid_asphalt_flow.png b/src/main/resources/assets/tfmg/textures/fluid/liquid_asphalt_flow.png new file mode 100644 index 00000000..dcfac096 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/liquid_asphalt_flow.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/liquid_asphalt_still.png b/src/main/resources/assets/tfmg/textures/fluid/liquid_asphalt_still.png new file mode 100644 index 00000000..8d837f89 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/liquid_asphalt_still.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/liquid_concrete_flow.png b/src/main/resources/assets/tfmg/textures/fluid/liquid_concrete_flow.png new file mode 100644 index 00000000..c7e9fd50 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/liquid_concrete_flow.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/liquid_concrete_still.png b/src/main/resources/assets/tfmg/textures/fluid/liquid_concrete_still.png new file mode 100644 index 00000000..17fa30fe Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/liquid_concrete_still.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/liquid_silicon_flow.png b/src/main/resources/assets/tfmg/textures/fluid/liquid_silicon_flow.png new file mode 100644 index 00000000..126998ef Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/liquid_silicon_flow.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/liquid_silicon_flow.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/liquid_silicon_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/liquid_silicon_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/liquid_silicon_still.png b/src/main/resources/assets/tfmg/textures/fluid/liquid_silicon_still.png new file mode 100644 index 00000000..748e9fd2 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/liquid_silicon_still.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/liquid_silicon_still.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/liquid_silicon_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/liquid_silicon_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/lpg.png b/src/main/resources/assets/tfmg/textures/fluid/lpg.png new file mode 100644 index 00000000..0bf37429 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/lpg.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/lpg.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/lpg.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/lpg.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/lubrication_oil_flow.png b/src/main/resources/assets/tfmg/textures/fluid/lubrication_oil_flow.png new file mode 100644 index 00000000..1e3cb44b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/lubrication_oil_flow.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/lubrication_oil_flow.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/lubrication_oil_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/lubrication_oil_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/lubrication_oil_still.png b/src/main/resources/assets/tfmg/textures/fluid/lubrication_oil_still.png new file mode 100644 index 00000000..feffd25f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/lubrication_oil_still.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/lubrication_oil_still.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/lubrication_oil_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/lubrication_oil_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/molten_plastic_flow.png b/src/main/resources/assets/tfmg/textures/fluid/molten_plastic_flow.png new file mode 100644 index 00000000..d61cd207 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/molten_plastic_flow.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/molten_plastic_flow.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/molten_plastic_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/molten_plastic_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/molten_plastic_still.png b/src/main/resources/assets/tfmg/textures/fluid/molten_plastic_still.png new file mode 100644 index 00000000..dfbe3141 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/molten_plastic_still.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/molten_plastic_still.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/molten_plastic_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/molten_plastic_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/molten_slag_flow.png b/src/main/resources/assets/tfmg/textures/fluid/molten_slag_flow.png new file mode 100644 index 00000000..249e6a13 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/molten_slag_flow.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/molten_slag_flow.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/molten_slag_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/molten_slag_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/molten_slag_still.png b/src/main/resources/assets/tfmg/textures/fluid/molten_slag_still.png new file mode 100644 index 00000000..42314ac9 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/molten_slag_still.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/molten_slag_still.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/molten_slag_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/molten_slag_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/molten_steel_flow.png b/src/main/resources/assets/tfmg/textures/fluid/molten_steel_flow.png new file mode 100644 index 00000000..69420ff2 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/molten_steel_flow.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/molten_steel_flow.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/molten_steel_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/molten_steel_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/molten_steel_still.png b/src/main/resources/assets/tfmg/textures/fluid/molten_steel_still.png new file mode 100644 index 00000000..f79b04ca Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/molten_steel_still.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/molten_steel_still.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/molten_steel_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/molten_steel_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/napalm_flow.png b/src/main/resources/assets/tfmg/textures/fluid/napalm_flow.png new file mode 100644 index 00000000..d3630e41 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/napalm_flow.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/napalm_flow.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/napalm_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/napalm_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/napalm_still.png b/src/main/resources/assets/tfmg/textures/fluid/napalm_still.png new file mode 100644 index 00000000..b328465a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/napalm_still.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/napalm_still.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/napalm_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/napalm_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/naphtha_flow.png b/src/main/resources/assets/tfmg/textures/fluid/naphtha_flow.png new file mode 100644 index 00000000..7ea805b1 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/naphtha_flow.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/naphtha_flow.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/naphtha_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/naphtha_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/naphtha_still.png b/src/main/resources/assets/tfmg/textures/fluid/naphtha_still.png new file mode 100644 index 00000000..6bfec378 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/naphtha_still.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/naphtha_still.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/naphtha_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/naphtha_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/neon.png b/src/main/resources/assets/tfmg/textures/fluid/neon.png new file mode 100644 index 00000000..5b902ed0 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/neon.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/neon.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/neon.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/neon.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/pink_cooling_fluid_flow.png b/src/main/resources/assets/tfmg/textures/fluid/pink_cooling_fluid_flow.png new file mode 100644 index 00000000..4d86bb36 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/pink_cooling_fluid_flow.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/pink_cooling_fluid_flow.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/pink_cooling_fluid_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/pink_cooling_fluid_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/pink_cooling_fluid_still.png b/src/main/resources/assets/tfmg/textures/fluid/pink_cooling_fluid_still.png new file mode 100644 index 00000000..5235161b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/pink_cooling_fluid_still.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/pink_cooling_fluid_still.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/pink_cooling_fluid_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/pink_cooling_fluid_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/propane.png b/src/main/resources/assets/tfmg/textures/fluid/propane.png new file mode 100644 index 00000000..0a36b7d1 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/propane.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/propane.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/propane.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/propane.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/propylene.png b/src/main/resources/assets/tfmg/textures/fluid/propylene.png new file mode 100644 index 00000000..0a36b7d1 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/propylene.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/propylene.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/propylene.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/propylene.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/sulfuric_acid_flow.png b/src/main/resources/assets/tfmg/textures/fluid/sulfuric_acid_flow.png new file mode 100644 index 00000000..c5437033 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/sulfuric_acid_flow.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/sulfuric_acid_flow.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/sulfuric_acid_flow.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/sulfuric_acid_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/fluid/sulfuric_acid_still.png b/src/main/resources/assets/tfmg/textures/fluid/sulfuric_acid_still.png new file mode 100644 index 00000000..f02cf468 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/fluid/sulfuric_acid_still.png differ diff --git a/src/main/resources/assets/tfmg/textures/fluid/sulfuric_acid_still.png.mcmeta b/src/main/resources/assets/tfmg/textures/fluid/sulfuric_acid_still.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/fluid/sulfuric_acid_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/gui/chemical_vat.png b/src/main/resources/assets/tfmg/textures/gui/chemical_vat.png new file mode 100644 index 00000000..da5dbffb Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/gui/chemical_vat.png differ diff --git a/src/main/resources/assets/tfmg/textures/gui/distillation_tower.png b/src/main/resources/assets/tfmg/textures/gui/distillation_tower.png new file mode 100644 index 00000000..ab87a379 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/gui/distillation_tower.png differ diff --git a/src/main/resources/assets/tfmg/textures/gui/electricians_wrench.png b/src/main/resources/assets/tfmg/textures/gui/electricians_wrench.png new file mode 100644 index 00000000..076840cf Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/gui/electricians_wrench.png differ diff --git a/src/main/resources/assets/tfmg/textures/gui/engine_controller.png b/src/main/resources/assets/tfmg/textures/gui/engine_controller.png new file mode 100644 index 00000000..b2f1536d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/gui/engine_controller.png differ diff --git a/src/main/resources/assets/tfmg/textures/gui/icons.png b/src/main/resources/assets/tfmg/textures/gui/icons.png new file mode 100644 index 00000000..03274366 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/gui/icons.png differ diff --git a/src/main/resources/assets/tfmg/textures/gui/molten_metal.png b/src/main/resources/assets/tfmg/textures/gui/molten_metal.png new file mode 100644 index 00000000..cb9da7f4 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/gui/molten_metal.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/advanced_potato_cannon.png b/src/main/resources/assets/tfmg/textures/item/advanced_potato_cannon.png new file mode 100644 index 00000000..76ba15e1 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/advanced_potato_cannon.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/air_bucket.png b/src/main/resources/assets/tfmg/textures/item/air_bucket.png new file mode 100644 index 00000000..3259b5bc Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/air_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/aluminum_axe.png b/src/main/resources/assets/tfmg/textures/item/aluminum_axe.png new file mode 100644 index 00000000..3382d26a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/aluminum_axe.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/aluminum_door.png b/src/main/resources/assets/tfmg/textures/item/aluminum_door.png new file mode 100644 index 00000000..97eff285 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/aluminum_door.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/aluminum_dust.png b/src/main/resources/assets/tfmg/textures/item/aluminum_dust.png new file mode 100644 index 00000000..321ff195 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/aluminum_dust.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/aluminum_hoe.png b/src/main/resources/assets/tfmg/textures/item/aluminum_hoe.png new file mode 100644 index 00000000..bb6d8a12 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/aluminum_hoe.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/aluminum_ingot.png b/src/main/resources/assets/tfmg/textures/item/aluminum_ingot.png new file mode 100644 index 00000000..886550e3 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/aluminum_ingot.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/aluminum_nugget.png b/src/main/resources/assets/tfmg/textures/item/aluminum_nugget.png new file mode 100644 index 00000000..77c804e4 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/aluminum_nugget.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/aluminum_pickaxe.png b/src/main/resources/assets/tfmg/textures/item/aluminum_pickaxe.png new file mode 100644 index 00000000..c98a6ace Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/aluminum_pickaxe.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/aluminum_sheet.png b/src/main/resources/assets/tfmg/textures/item/aluminum_sheet.png new file mode 100644 index 00000000..7af65e73 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/aluminum_sheet.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/aluminum_shovel.png b/src/main/resources/assets/tfmg/textures/item/aluminum_shovel.png new file mode 100644 index 00000000..98e7cc32 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/aluminum_shovel.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/aluminum_spool.png b/src/main/resources/assets/tfmg/textures/item/aluminum_spool.png new file mode 100644 index 00000000..114bd633 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/aluminum_spool.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/aluminum_sword.png b/src/main/resources/assets/tfmg/textures/item/aluminum_sword.png new file mode 100644 index 00000000..29663262 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/aluminum_sword.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/aluminum_wire.png b/src/main/resources/assets/tfmg/textures/item/aluminum_wire.png new file mode 100644 index 00000000..6f5273ce Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/aluminum_wire.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/asphalt_mixture.png b/src/main/resources/assets/tfmg/textures/item/asphalt_mixture.png new file mode 100644 index 00000000..65f38513 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/asphalt_mixture.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/bauxite_powder.png b/src/main/resources/assets/tfmg/textures/item/bauxite_powder.png new file mode 100644 index 00000000..8b2a18a1 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/bauxite_powder.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/bitumen.png b/src/main/resources/assets/tfmg/textures/item/bitumen.png new file mode 100644 index 00000000..3a8b3498 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/bitumen.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/black_multimeter.png b/src/main/resources/assets/tfmg/textures/item/black_multimeter.png new file mode 100644 index 00000000..18f36d5a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/black_multimeter.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/blasting_mixture.png b/src/main/resources/assets/tfmg/textures/item/blasting_mixture.png new file mode 100644 index 00000000..e6a6c763 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/blasting_mixture.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/block_mold.png b/src/main/resources/assets/tfmg/textures/item/block_mold.png new file mode 100644 index 00000000..77a4b722 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/block_mold.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/blue_multimeter.png b/src/main/resources/assets/tfmg/textures/item/blue_multimeter.png new file mode 100644 index 00000000..9767791c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/blue_multimeter.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/bottle_of_battery_acid.png b/src/main/resources/assets/tfmg/textures/item/bottle_of_battery_acid.png new file mode 100644 index 00000000..a4bd435b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/bottle_of_battery_acid.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/bottle_of_concrete.png b/src/main/resources/assets/tfmg/textures/item/bottle_of_concrete.png new file mode 100644 index 00000000..f4b860a3 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/bottle_of_concrete.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/brown_multimeter.png b/src/main/resources/assets/tfmg/textures/item/brown_multimeter.png new file mode 100644 index 00000000..b8ad5163 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/brown_multimeter.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/butane_bucket.png b/src/main/resources/assets/tfmg/textures/item/butane_bucket.png new file mode 100644 index 00000000..d0756f32 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/butane_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/capacitor_item.png b/src/main/resources/assets/tfmg/textures/item/capacitor_item.png new file mode 100644 index 00000000..a3c304b5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/capacitor_item.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/carbon_dioxide_bucket.png b/src/main/resources/assets/tfmg/textures/item/carbon_dioxide_bucket.png new file mode 100644 index 00000000..ecf18af4 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/carbon_dioxide_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/cast_iron_ingot.png b/src/main/resources/assets/tfmg/textures/item/cast_iron_ingot.png new file mode 100644 index 00000000..1c4cf21f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/cast_iron_ingot.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/cast_iron_nugget.png b/src/main/resources/assets/tfmg/textures/item/cast_iron_nugget.png new file mode 100644 index 00000000..c25f1944 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/cast_iron_nugget.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/cast_iron_sheet.png b/src/main/resources/assets/tfmg/textures/item/cast_iron_sheet.png new file mode 100644 index 00000000..34274962 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/cast_iron_sheet.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/cement.png b/src/main/resources/assets/tfmg/textures/item/cement.png new file mode 100644 index 00000000..8b2a18a1 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/cement.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/centrifuge.png b/src/main/resources/assets/tfmg/textures/item/centrifuge.png new file mode 100644 index 00000000..5584e870 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/centrifuge.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/charcoal_dust.png b/src/main/resources/assets/tfmg/textures/item/charcoal_dust.png new file mode 100644 index 00000000..409a934b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/charcoal_dust.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/cinderblock.png b/src/main/resources/assets/tfmg/textures/item/cinderblock.png new file mode 100644 index 00000000..c460adfb Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/cinderblock.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/cinderflourblock.png b/src/main/resources/assets/tfmg/textures/item/cinderflourblock.png new file mode 100644 index 00000000..47de172e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/cinderflourblock.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/circuit_board.png b/src/main/resources/assets/tfmg/textures/item/circuit_board.png new file mode 100644 index 00000000..c0bf0bbe Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/circuit_board.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/coal_coke.png b/src/main/resources/assets/tfmg/textures/item/coal_coke.png new file mode 100644 index 00000000..44caae2f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/coal_coke.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/coal_coke_dust.png b/src/main/resources/assets/tfmg/textures/item/coal_coke_dust.png new file mode 100644 index 00000000..b9439b42 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/coal_coke_dust.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/coated_circuit_board.png b/src/main/resources/assets/tfmg/textures/item/coated_circuit_board.png new file mode 100644 index 00000000..d58e6721 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/coated_circuit_board.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/concrete_mixture.png b/src/main/resources/assets/tfmg/textures/item/concrete_mixture.png new file mode 100644 index 00000000..ead647e3 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/concrete_mixture.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/constantan_ingot.png b/src/main/resources/assets/tfmg/textures/item/constantan_ingot.png new file mode 100644 index 00000000..cc96b60b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/constantan_ingot.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/constantan_nugget.png b/src/main/resources/assets/tfmg/textures/item/constantan_nugget.png new file mode 100644 index 00000000..675440f9 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/constantan_nugget.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/constantan_spool.png b/src/main/resources/assets/tfmg/textures/item/constantan_spool.png new file mode 100644 index 00000000..cfdfe976 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/constantan_spool.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/constantan_wire.png b/src/main/resources/assets/tfmg/textures/item/constantan_wire.png new file mode 100644 index 00000000..dfc8c790 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/constantan_wire.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/cooling_fluid_bottle.png b/src/main/resources/assets/tfmg/textures/item/cooling_fluid_bottle.png new file mode 100644 index 00000000..1f53b0d1 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/cooling_fluid_bottle.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/cooling_fluid_bucket.png b/src/main/resources/assets/tfmg/textures/item/cooling_fluid_bucket.png new file mode 100644 index 00000000..9a5d8069 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/cooling_fluid_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/copper_cable.png b/src/main/resources/assets/tfmg/textures/item/copper_cable.png new file mode 100644 index 00000000..85b48caf Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/copper_cable.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/copper_grenade.png b/src/main/resources/assets/tfmg/textures/item/copper_grenade.png new file mode 100644 index 00000000..0094a3c5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/copper_grenade.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/copper_spool.png b/src/main/resources/assets/tfmg/textures/item/copper_spool.png new file mode 100644 index 00000000..8109161c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/copper_spool.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/copper_sulfate.png b/src/main/resources/assets/tfmg/textures/item/copper_sulfate.png new file mode 100644 index 00000000..f40c7231 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/copper_sulfate.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/copper_wire.png b/src/main/resources/assets/tfmg/textures/item/copper_wire.png new file mode 100644 index 00000000..1d7c898d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/copper_wire.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/crankshaft.png b/src/main/resources/assets/tfmg/textures/item/crankshaft.png new file mode 100644 index 00000000..809a92a9 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/crankshaft.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/creosote_bucket.png b/src/main/resources/assets/tfmg/textures/item/creosote_bucket.png new file mode 100644 index 00000000..d4e0ac1f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/creosote_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/crude_oil_bucket.png b/src/main/resources/assets/tfmg/textures/item/crude_oil_bucket.png new file mode 100644 index 00000000..1f8717de Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/crude_oil_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/cyan_multimeter.png b/src/main/resources/assets/tfmg/textures/item/cyan_multimeter.png new file mode 100644 index 00000000..9e4853cb Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/cyan_multimeter.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/debug_cinderblock.png b/src/main/resources/assets/tfmg/textures/item/debug_cinderblock.png new file mode 100644 index 00000000..c460adfb Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/debug_cinderblock.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/deposit_item.png b/src/main/resources/assets/tfmg/textures/item/deposit_item.png new file mode 100644 index 00000000..0bb86a35 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/deposit_item.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/diesel_bucket.png b/src/main/resources/assets/tfmg/textures/item/diesel_bucket.png new file mode 100644 index 00000000..28f8f323 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/diesel_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/diesel_engine_cylinder.png b/src/main/resources/assets/tfmg/textures/item/diesel_engine_cylinder.png new file mode 100644 index 00000000..31f452ed Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/diesel_engine_cylinder.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/duraluminium_ingot.png b/src/main/resources/assets/tfmg/textures/item/duraluminium_ingot.png new file mode 100644 index 00000000..69eede6c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/duraluminium_ingot.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/electricians_wrench.png b/src/main/resources/assets/tfmg/textures/item/electricians_wrench.png new file mode 100644 index 00000000..ea07db4c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/electricians_wrench.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/electromagnetic_coil.png b/src/main/resources/assets/tfmg/textures/item/electromagnetic_coil.png new file mode 100644 index 00000000..5e45b53b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/electromagnetic_coil.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/empty_circuit_board.png b/src/main/resources/assets/tfmg/textures/item/empty_circuit_board.png new file mode 100644 index 00000000..b8a75bde Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/empty_circuit_board.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/empty_cooling_fluid_bottle.png b/src/main/resources/assets/tfmg/textures/item/empty_cooling_fluid_bottle.png new file mode 100644 index 00000000..84f552ff Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/empty_cooling_fluid_bottle.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/empty_spool.png b/src/main/resources/assets/tfmg/textures/item/empty_spool.png new file mode 100644 index 00000000..69adc99f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/empty_spool.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/engine_base.png b/src/main/resources/assets/tfmg/textures/item/engine_base.png new file mode 100644 index 00000000..b18e27f7 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/engine_base.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/engine_cylinder.png b/src/main/resources/assets/tfmg/textures/item/engine_cylinder.png new file mode 100644 index 00000000..31f452ed Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/engine_cylinder.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/etched_circuit_board.png b/src/main/resources/assets/tfmg/textures/item/etched_circuit_board.png new file mode 100644 index 00000000..d8e10681 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/etched_circuit_board.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/ethylene_bucket.png b/src/main/resources/assets/tfmg/textures/item/ethylene_bucket.png new file mode 100644 index 00000000..49912206 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/ethylene_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/fireclay_ball.png b/src/main/resources/assets/tfmg/textures/item/fireclay_ball.png new file mode 100644 index 00000000..8b02820b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/fireclay_ball.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/fireproof_brick.png b/src/main/resources/assets/tfmg/textures/item/fireproof_brick.png new file mode 100644 index 00000000..cfcf0875 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/fireproof_brick.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/flamethrower.png b/src/main/resources/assets/tfmg/textures/item/flamethrower.png new file mode 100644 index 00000000..70d9270e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/flamethrower.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/fossilstone_chunk.png b/src/main/resources/assets/tfmg/textures/item/fossilstone_chunk.png new file mode 100644 index 00000000..5d4e6aa1 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/fossilstone_chunk.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/furnace_gas_bucket.png b/src/main/resources/assets/tfmg/textures/item/furnace_gas_bucket.png new file mode 100644 index 00000000..3259b5bc Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/furnace_gas_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/fuse.png b/src/main/resources/assets/tfmg/textures/item/fuse.png new file mode 100644 index 00000000..aa62c463 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/fuse.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/gasoline_bucket.png b/src/main/resources/assets/tfmg/textures/item/gasoline_bucket.png new file mode 100644 index 00000000..6f52794a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/gasoline_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/golden_turbo.png b/src/main/resources/assets/tfmg/textures/item/golden_turbo.png new file mode 100644 index 00000000..0cbbd4ce Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/golden_turbo.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/gray_multimeter.png b/src/main/resources/assets/tfmg/textures/item/gray_multimeter.png new file mode 100644 index 00000000..f82fe988 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/gray_multimeter.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/green_multimeter.png b/src/main/resources/assets/tfmg/textures/item/green_multimeter.png new file mode 100644 index 00000000..70784b74 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/green_multimeter.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/heavy_casing_door.png b/src/main/resources/assets/tfmg/textures/item/heavy_casing_door.png new file mode 100644 index 00000000..60f1bfc5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/heavy_casing_door.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/heavy_oil_bucket.png b/src/main/resources/assets/tfmg/textures/item/heavy_oil_bucket.png new file mode 100644 index 00000000..1476dfbf Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/heavy_oil_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/heavy_plate.png b/src/main/resources/assets/tfmg/textures/item/heavy_plate.png new file mode 100644 index 00000000..7027c919 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/heavy_plate.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/heavy_plated_door.png b/src/main/resources/assets/tfmg/textures/item/heavy_plated_door.png new file mode 100644 index 00000000..baf435bb Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/heavy_plated_door.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/hot_air_bucket.png b/src/main/resources/assets/tfmg/textures/item/hot_air_bucket.png new file mode 100644 index 00000000..3259b5bc Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/hot_air_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/hydrogen_bucket.png b/src/main/resources/assets/tfmg/textures/item/hydrogen_bucket.png new file mode 100644 index 00000000..d166fb26 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/hydrogen_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/ingot_mold.png b/src/main/resources/assets/tfmg/textures/item/ingot_mold.png new file mode 100644 index 00000000..7044a7b5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/ingot_mold.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/kerosene_bucket.png b/src/main/resources/assets/tfmg/textures/item/kerosene_bucket.png new file mode 100644 index 00000000..df5b5bd5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/kerosene_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/lead_axe.png b/src/main/resources/assets/tfmg/textures/item/lead_axe.png new file mode 100644 index 00000000..14e8f80c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/lead_axe.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/lead_hoe.png b/src/main/resources/assets/tfmg/textures/item/lead_hoe.png new file mode 100644 index 00000000..38b43a81 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/lead_hoe.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/lead_ingot.png b/src/main/resources/assets/tfmg/textures/item/lead_ingot.png new file mode 100644 index 00000000..a0da379f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/lead_ingot.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/lead_nugget.png b/src/main/resources/assets/tfmg/textures/item/lead_nugget.png new file mode 100644 index 00000000..4b2419f3 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/lead_nugget.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/lead_pickaxe.png b/src/main/resources/assets/tfmg/textures/item/lead_pickaxe.png new file mode 100644 index 00000000..87525598 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/lead_pickaxe.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/lead_sheet.png b/src/main/resources/assets/tfmg/textures/item/lead_sheet.png new file mode 100644 index 00000000..861ad632 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/lead_sheet.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/lead_shovel.png b/src/main/resources/assets/tfmg/textures/item/lead_shovel.png new file mode 100644 index 00000000..d0ae8339 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/lead_shovel.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/lead_sword.png b/src/main/resources/assets/tfmg/textures/item/lead_sword.png new file mode 100644 index 00000000..7637c231 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/lead_sword.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/light_blue_multimeter.png b/src/main/resources/assets/tfmg/textures/item/light_blue_multimeter.png new file mode 100644 index 00000000..c999fdf6 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/light_blue_multimeter.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/light_gray_multimeter.png b/src/main/resources/assets/tfmg/textures/item/light_gray_multimeter.png new file mode 100644 index 00000000..f2668ee5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/light_gray_multimeter.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/lime_multimeter.png b/src/main/resources/assets/tfmg/textures/item/lime_multimeter.png new file mode 100644 index 00000000..de8c7b44 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/lime_multimeter.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/limesand.png b/src/main/resources/assets/tfmg/textures/item/limesand.png new file mode 100644 index 00000000..22844586 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/limesand.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/liquid_asphalt_bucket.png b/src/main/resources/assets/tfmg/textures/item/liquid_asphalt_bucket.png new file mode 100644 index 00000000..375c39db Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/liquid_asphalt_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/liquid_concrete_bucket.png b/src/main/resources/assets/tfmg/textures/item/liquid_concrete_bucket.png new file mode 100644 index 00000000..fff7f0e2 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/liquid_concrete_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/liquid_rebar_concrete_bucket.png b/src/main/resources/assets/tfmg/textures/item/liquid_rebar_concrete_bucket.png new file mode 100644 index 00000000..a43010f6 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/liquid_rebar_concrete_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/liquid_silicon_bucket.png b/src/main/resources/assets/tfmg/textures/item/liquid_silicon_bucket.png new file mode 100644 index 00000000..4401c5c6 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/liquid_silicon_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/lithium_blade.png b/src/main/resources/assets/tfmg/textures/item/lithium_blade.png new file mode 100644 index 00000000..1fae2b54 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/lithium_blade.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/lithium_blade_lit.png b/src/main/resources/assets/tfmg/textures/item/lithium_blade_lit.png new file mode 100644 index 00000000..6f9b9891 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/lithium_blade_lit.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/lithium_blade_lit.png.mcmeta b/src/main/resources/assets/tfmg/textures/item/lithium_blade_lit.png.mcmeta new file mode 100644 index 00000000..0645f48c --- /dev/null +++ b/src/main/resources/assets/tfmg/textures/item/lithium_blade_lit.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/tfmg/textures/item/lithium_charge.png b/src/main/resources/assets/tfmg/textures/item/lithium_charge.png new file mode 100644 index 00000000..b2828d34 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/lithium_charge.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/lithium_ingot.png b/src/main/resources/assets/tfmg/textures/item/lithium_ingot.png new file mode 100644 index 00000000..8f0ace08 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/lithium_ingot.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/lithium_nugget.png b/src/main/resources/assets/tfmg/textures/item/lithium_nugget.png new file mode 100644 index 00000000..2ef98842 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/lithium_nugget.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/lpg_bucket.png b/src/main/resources/assets/tfmg/textures/item/lpg_bucket.png new file mode 100644 index 00000000..d1d8d3f0 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/lpg_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/lubrication_oil_bucket.png b/src/main/resources/assets/tfmg/textures/item/lubrication_oil_bucket.png new file mode 100644 index 00000000..dbe2e41a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/lubrication_oil_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/magenta_multimeter.png b/src/main/resources/assets/tfmg/textures/item/magenta_multimeter.png new file mode 100644 index 00000000..df1470ac Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/magenta_multimeter.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/magnet.png b/src/main/resources/assets/tfmg/textures/item/magnet.png new file mode 100644 index 00000000..bb368cf9 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/magnet.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/magnetic_alloy_ingot.png b/src/main/resources/assets/tfmg/textures/item/magnetic_alloy_ingot.png new file mode 100644 index 00000000..d2b4a33e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/magnetic_alloy_ingot.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/mesh.png b/src/main/resources/assets/tfmg/textures/item/mesh.png new file mode 100644 index 00000000..0efcf3e5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/mesh.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/mixer_blade.png b/src/main/resources/assets/tfmg/textures/item/mixer_blade.png new file mode 100644 index 00000000..8b339540 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/mixer_blade.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/molten_plastic_bucket.png b/src/main/resources/assets/tfmg/textures/item/molten_plastic_bucket.png new file mode 100644 index 00000000..d25a6d35 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/molten_plastic_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/molten_slag_bucket.png b/src/main/resources/assets/tfmg/textures/item/molten_slag_bucket.png new file mode 100644 index 00000000..b91b0881 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/molten_slag_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/molten_steel_bucket.png b/src/main/resources/assets/tfmg/textures/item/molten_steel_bucket.png new file mode 100644 index 00000000..3fa5d17a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/molten_steel_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/multimeter.png b/src/main/resources/assets/tfmg/textures/item/multimeter.png new file mode 100644 index 00000000..6da09a23 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/multimeter.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/n_semiconductor.png b/src/main/resources/assets/tfmg/textures/item/n_semiconductor.png new file mode 100644 index 00000000..63a0df6a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/n_semiconductor.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/napalm_bucket.png b/src/main/resources/assets/tfmg/textures/item/napalm_bucket.png new file mode 100644 index 00000000..5598354f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/napalm_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/napalm_potato.png b/src/main/resources/assets/tfmg/textures/item/napalm_potato.png new file mode 100644 index 00000000..bae2e115 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/napalm_potato.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/naphtha_bucket.png b/src/main/resources/assets/tfmg/textures/item/naphtha_bucket.png new file mode 100644 index 00000000..bb7f0bb4 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/naphtha_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/neon_bucket.png b/src/main/resources/assets/tfmg/textures/item/neon_bucket.png new file mode 100644 index 00000000..70156782 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/neon_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/nickel_ingot.png b/src/main/resources/assets/tfmg/textures/item/nickel_ingot.png new file mode 100644 index 00000000..bd558756 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/nickel_ingot.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/nickel_nugget.png b/src/main/resources/assets/tfmg/textures/item/nickel_nugget.png new file mode 100644 index 00000000..aba32ef5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/nickel_nugget.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/nickel_sheet.png b/src/main/resources/assets/tfmg/textures/item/nickel_sheet.png new file mode 100644 index 00000000..d748f933 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/nickel_sheet.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/nitrate_dust.png b/src/main/resources/assets/tfmg/textures/item/nitrate_dust.png new file mode 100644 index 00000000..6c721c59 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/nitrate_dust.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/oil_can.png b/src/main/resources/assets/tfmg/textures/item/oil_can.png new file mode 100644 index 00000000..054d66c5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/oil_can.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/oil_hammer.png b/src/main/resources/assets/tfmg/textures/item/oil_hammer.png new file mode 100644 index 00000000..840eaf57 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/oil_hammer.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/orange_multimeter.png b/src/main/resources/assets/tfmg/textures/item/orange_multimeter.png new file mode 100644 index 00000000..b4d97f0f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/orange_multimeter.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/p_semiconductor.png b/src/main/resources/assets/tfmg/textures/item/p_semiconductor.png new file mode 100644 index 00000000..957a7553 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/p_semiconductor.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/pink_cooling_fluid_bucket.png b/src/main/resources/assets/tfmg/textures/item/pink_cooling_fluid_bucket.png new file mode 100644 index 00000000..4cf47669 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/pink_cooling_fluid_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/pink_multimeter.png b/src/main/resources/assets/tfmg/textures/item/pink_multimeter.png new file mode 100644 index 00000000..0413ec92 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/pink_multimeter.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/pipe_bomb.png b/src/main/resources/assets/tfmg/textures/item/pipe_bomb.png new file mode 100644 index 00000000..328147d3 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/pipe_bomb.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/plastic_sheet.png b/src/main/resources/assets/tfmg/textures/item/plastic_sheet.png new file mode 100644 index 00000000..c3566e3e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/plastic_sheet.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/propane_bucket.png b/src/main/resources/assets/tfmg/textures/item/propane_bucket.png new file mode 100644 index 00000000..753af0b7 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/propane_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/propylene_bucket.png b/src/main/resources/assets/tfmg/textures/item/propylene_bucket.png new file mode 100644 index 00000000..39a2429e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/propylene_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/prospector_tool.png b/src/main/resources/assets/tfmg/textures/item/prospector_tool.png new file mode 100644 index 00000000..53becd09 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/prospector_tool.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/purple_multimeter.png b/src/main/resources/assets/tfmg/textures/item/purple_multimeter.png new file mode 100644 index 00000000..ac5da876 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/purple_multimeter.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/quad_potato_cannon.png b/src/main/resources/assets/tfmg/textures/item/quad_potato_cannon.png new file mode 100644 index 00000000..a1aed8f8 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/quad_potato_cannon.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/raw_lead.png b/src/main/resources/assets/tfmg/textures/item/raw_lead.png new file mode 100644 index 00000000..52d7411b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/raw_lead.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/raw_lithium.png b/src/main/resources/assets/tfmg/textures/item/raw_lithium.png new file mode 100644 index 00000000..222b950c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/raw_lithium.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/raw_nickel.png b/src/main/resources/assets/tfmg/textures/item/raw_nickel.png new file mode 100644 index 00000000..51e02768 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/raw_nickel.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/rebar.png b/src/main/resources/assets/tfmg/textures/item/rebar.png new file mode 100644 index 00000000..9d18b80a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/rebar.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/red_multimeter.png b/src/main/resources/assets/tfmg/textures/item/red_multimeter.png new file mode 100644 index 00000000..0875755b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/red_multimeter.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/resistor_item.png b/src/main/resources/assets/tfmg/textures/item/resistor_item.png new file mode 100644 index 00000000..35928897 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/resistor_item.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/rubber_sheet.png b/src/main/resources/assets/tfmg/textures/item/rubber_sheet.png new file mode 100644 index 00000000..d23bbbc5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/rubber_sheet.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/sawdust.png b/src/main/resources/assets/tfmg/textures/item/sawdust.png new file mode 100644 index 00000000..f3b03d56 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/sawdust.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/screw.png b/src/main/resources/assets/tfmg/textures/item/screw.png new file mode 100644 index 00000000..25220f10 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/screw.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/screwdriver.png b/src/main/resources/assets/tfmg/textures/item/screwdriver.png new file mode 100644 index 00000000..dfb8058f Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/screwdriver.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/silicon_ingot.png b/src/main/resources/assets/tfmg/textures/item/silicon_ingot.png new file mode 100644 index 00000000..39b95dcf Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/silicon_ingot.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/simple_engine_cylinder.png b/src/main/resources/assets/tfmg/textures/item/simple_engine_cylinder.png new file mode 100644 index 00000000..31f452ed Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/simple_engine_cylinder.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/slag.png b/src/main/resources/assets/tfmg/textures/item/slag.png new file mode 100644 index 00000000..d92d2c15 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/slag.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/spark_plug.png b/src/main/resources/assets/tfmg/textures/item/spark_plug.png new file mode 100644 index 00000000..d9ba84eb Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/spark_plug.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/steel_axe.png b/src/main/resources/assets/tfmg/textures/item/steel_axe.png new file mode 100644 index 00000000..99972e29 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/steel_axe.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/steel_boots.png b/src/main/resources/assets/tfmg/textures/item/steel_boots.png new file mode 100644 index 00000000..a3372a6d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/steel_boots.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/steel_chestplate.png b/src/main/resources/assets/tfmg/textures/item/steel_chestplate.png new file mode 100644 index 00000000..e800277a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/steel_chestplate.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/steel_door.png b/src/main/resources/assets/tfmg/textures/item/steel_door.png new file mode 100644 index 00000000..ddf60b1d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/steel_door.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/steel_helmet.png b/src/main/resources/assets/tfmg/textures/item/steel_helmet.png new file mode 100644 index 00000000..7623e5bf Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/steel_helmet.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/steel_hoe.png b/src/main/resources/assets/tfmg/textures/item/steel_hoe.png new file mode 100644 index 00000000..f5b31be2 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/steel_hoe.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/steel_ingot.png b/src/main/resources/assets/tfmg/textures/item/steel_ingot.png new file mode 100644 index 00000000..30049f93 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/steel_ingot.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/steel_leggings.png b/src/main/resources/assets/tfmg/textures/item/steel_leggings.png new file mode 100644 index 00000000..eb87fa07 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/steel_leggings.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/steel_mechanism.png b/src/main/resources/assets/tfmg/textures/item/steel_mechanism.png new file mode 100644 index 00000000..9f8f39d8 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/steel_mechanism.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/steel_nugget.png b/src/main/resources/assets/tfmg/textures/item/steel_nugget.png new file mode 100644 index 00000000..a66727bd Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/steel_nugget.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/steel_pickaxe.png b/src/main/resources/assets/tfmg/textures/item/steel_pickaxe.png new file mode 100644 index 00000000..029c5343 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/steel_pickaxe.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/steel_shovel.png b/src/main/resources/assets/tfmg/textures/item/steel_shovel.png new file mode 100644 index 00000000..0e66e896 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/steel_shovel.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/steel_sword.png b/src/main/resources/assets/tfmg/textures/item/steel_sword.png new file mode 100644 index 00000000..1fbd30e6 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/steel_sword.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/sulfur_dust.png b/src/main/resources/assets/tfmg/textures/item/sulfur_dust.png new file mode 100644 index 00000000..49a44de9 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/sulfur_dust.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/sulfuric_acid_bucket.png b/src/main/resources/assets/tfmg/textures/item/sulfuric_acid_bucket.png new file mode 100644 index 00000000..40f80143 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/sulfuric_acid_bucket.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/synthetic_leather.png b/src/main/resources/assets/tfmg/textures/item/synthetic_leather.png new file mode 100644 index 00000000..81467687 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/synthetic_leather.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/synthetic_string.png b/src/main/resources/assets/tfmg/textures/item/synthetic_string.png new file mode 100644 index 00000000..f1c9690d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/synthetic_string.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/thermite_grenade.png b/src/main/resources/assets/tfmg/textures/item/thermite_grenade.png new file mode 100644 index 00000000..4afc658b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/thermite_grenade.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/thermite_powder.png b/src/main/resources/assets/tfmg/textures/item/thermite_powder.png new file mode 100644 index 00000000..2cc8d268 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/thermite_powder.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/transistor_item.png b/src/main/resources/assets/tfmg/textures/item/transistor_item.png new file mode 100644 index 00000000..0cbd93fb Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/transistor_item.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/transmission.png b/src/main/resources/assets/tfmg/textures/item/transmission.png new file mode 100644 index 00000000..3259b5bc Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/transmission.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/turbine_blade.png b/src/main/resources/assets/tfmg/textures/item/turbine_blade.png new file mode 100644 index 00000000..acb95cb0 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/turbine_blade.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/turbo.png b/src/main/resources/assets/tfmg/textures/item/turbo.png new file mode 100644 index 00000000..1b016478 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/turbo.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/unfinished_capacitor.png b/src/main/resources/assets/tfmg/textures/item/unfinished_capacitor.png new file mode 100644 index 00000000..f5f553c5 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/unfinished_capacitor.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/unfinished_circuit_board.png b/src/main/resources/assets/tfmg/textures/item/unfinished_circuit_board.png new file mode 100644 index 00000000..d8e10681 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/unfinished_circuit_board.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/unfinished_electromagnetic_coil.png b/src/main/resources/assets/tfmg/textures/item/unfinished_electromagnetic_coil.png new file mode 100644 index 00000000..8c26f219 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/unfinished_electromagnetic_coil.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/unfinished_resistor.png b/src/main/resources/assets/tfmg/textures/item/unfinished_resistor.png new file mode 100644 index 00000000..f82c24af Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/unfinished_resistor.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/unfinished_steel_mechanism.png b/src/main/resources/assets/tfmg/textures/item/unfinished_steel_mechanism.png new file mode 100644 index 00000000..a8163fb2 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/unfinished_steel_mechanism.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/unfinished_transistor.png b/src/main/resources/assets/tfmg/textures/item/unfinished_transistor.png new file mode 100644 index 00000000..845b54a1 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/unfinished_transistor.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/unprocessed_heavy_plate.png b/src/main/resources/assets/tfmg/textures/item/unprocessed_heavy_plate.png new file mode 100644 index 00000000..b16e795b Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/unprocessed_heavy_plate.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/water_insulation.png b/src/main/resources/assets/tfmg/textures/item/water_insulation.png new file mode 100644 index 00000000..b3dc05b9 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/water_insulation.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/white_multimeter.png b/src/main/resources/assets/tfmg/textures/item/white_multimeter.png new file mode 100644 index 00000000..ca3e950d Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/white_multimeter.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/yellow_multimeter.png b/src/main/resources/assets/tfmg/textures/item/yellow_multimeter.png new file mode 100644 index 00000000..13490b5c Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/yellow_multimeter.png differ diff --git a/src/main/resources/assets/tfmg/textures/item/zinc_grenade.png b/src/main/resources/assets/tfmg/textures/item/zinc_grenade.png new file mode 100644 index 00000000..f9e99e01 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/item/zinc_grenade.png differ diff --git a/src/main/resources/assets/tfmg/textures/mob_effect/hellfire.png b/src/main/resources/assets/tfmg/textures/mob_effect/hellfire.png new file mode 100644 index 00000000..26b0225a Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/mob_effect/hellfire.png differ diff --git a/src/main/resources/assets/tfmg/textures/models/armor/steel_layer_1.png b/src/main/resources/assets/tfmg/textures/models/armor/steel_layer_1.png new file mode 100644 index 00000000..dac2be06 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/models/armor/steel_layer_1.png differ diff --git a/src/main/resources/assets/tfmg/textures/models/armor/steel_layer_2.png b/src/main/resources/assets/tfmg/textures/models/armor/steel_layer_2.png new file mode 100644 index 00000000..2f7cbd7e Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/models/armor/steel_layer_2.png differ diff --git a/src/main/resources/assets/tfmg/textures/particle/electric_spark.png b/src/main/resources/assets/tfmg/textures/particle/electric_spark.png new file mode 100644 index 00000000..29754507 Binary files /dev/null and b/src/main/resources/assets/tfmg/textures/particle/electric_spark.png differ diff --git a/src/main/resources/data/tfmg/recipe/engine_cylinder.json b/src/main/resources/data/tfmg/recipe/engine_cylinder.json new file mode 100644 index 00000000..ba631548 --- /dev/null +++ b/src/main/resources/data/tfmg/recipe/engine_cylinder.json @@ -0,0 +1,26 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "P": { + "tag": "c:plates/aluminum" + } + }, + "pattern": [ + " ", + "P P", + "P P" + ], + "result": { + "count": 1, + "id": "tfmg:diesel_engine_cylinder", + "components": { + "tfmg:fuel_tags": { + "diesel": "c:diesel" + }, + "tfmg:fuels": { + "diesel": "fluid.tfmg.diesel" + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tfmg/recipe/engine_cylinder_cheap.json b/src/main/resources/data/tfmg/recipe/engine_cylinder_cheap.json new file mode 100644 index 00000000..57ead570 --- /dev/null +++ b/src/main/resources/data/tfmg/recipe/engine_cylinder_cheap.json @@ -0,0 +1,31 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "P": { + "tag": "c:plates/iron" + }, + "F": { + "item": "minecraft:flint_and_steel" + } + }, + "pattern": [ + " F ", + "P P", + "P P" + ], + "result": { + "count": 1, + "id": "tfmg:simple_engine_cylinder", + "components": { + "tfmg:fuel_tags": { + "furnace_gas": "c:furnace_gas", + "creosote": "c:creosote" + }, + "tfmg:fuels": { + "furnace_gas": "Furnace Gas", + "creosote": "Creosote" + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tfmg/recipe/engine_cylinder_gas.json b/src/main/resources/data/tfmg/recipe/engine_cylinder_gas.json new file mode 100644 index 00000000..31460ac5 --- /dev/null +++ b/src/main/resources/data/tfmg/recipe/engine_cylinder_gas.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:engine_cylinder" + }, + "B": { + "item": "tfmg:brass_pipe" + } + }, + "pattern": [ + " ", + " C ", + " B " + ], + "result": { + "count": 1, + "id": "tfmg:engine_cylinder", + "components": { + "tfmg:fuel_tags": { + "lpg": "c:lpg" + }, + "tfmg:fuels": { + "lpg": "LPG" + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tfmg/recipe/engine_cylinder_spark_plug.json b/src/main/resources/data/tfmg/recipe/engine_cylinder_spark_plug.json new file mode 100644 index 00000000..f0642af8 --- /dev/null +++ b/src/main/resources/data/tfmg/recipe/engine_cylinder_spark_plug.json @@ -0,0 +1,33 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "tfmg:diesel_engine_cylinder" + }, + "S": { + "item": "tfmg:spark_plug" + } + }, + "pattern": [ + " S ", + " C ", + " " + ], + "result": { + "count": 1, + "id": "tfmg:engine_cylinder", + "components": { + "tfmg:fuel_tags": { + "gasoline": "c:gasoline", + "naphtha": "c:naphtha", + "kerosene": "c:kerosene" + }, + "tfmg:fuels": { + "gasoline": "Gasoline", + "naphtha": "Naphtha", + "kerosene": "Kerosene" + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/tfmg/recipe/turbine_blade.json b/src/main/resources/data/tfmg/recipe/turbine_blade.json new file mode 100644 index 00000000..ff633aa8 --- /dev/null +++ b/src/main/resources/data/tfmg/recipe/turbine_blade.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "S": { + "item": "create:shaft" + }, + "I": { + "tag": "c:plates/iron" + } + }, + "pattern": [ + "III", + "ISI", + "III" + ], + "result": { + "count": 1, + "id": "tfmg:turbine_blade", + "components": { + "tfmg:fuel_tags": { + "kerosene": "c:kerosene" + }, + "tfmg:fuels": { + "kerosene": "Kerosene" + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/tfmg.mixins.json b/src/main/resources/tfmg.mixins.json new file mode 100644 index 00000000..96ea7bed --- /dev/null +++ b/src/main/resources/tfmg.mixins.json @@ -0,0 +1,24 @@ +{ + "required": true, + "minVersion": "0.8", + "package": "com.drmangotea.tfmg.mixin", + "compatibilityLevel": "JAVA_8", + "refmap": "tfmg.refmap.json", + "mixins": [ + "FluidPipeBlockMixin", + "FluidPropagatorMixin", + "FluidTankBlockEntityMixin", + "GoggleOverlayRendererMixin", + "PipeAttachmentModelMixin", + "RecipeProviderMixin", + "accessor.FluidTankBlockEntityAccessor", + "accessor.ProcessingRecipeAccessor", + "accessor.SequencedAssemblyRecipeAccessor", + "accessor.TankSegmentAccessor" + ], + "client": [ + ], + "injectors": { + "defaultRequire": 1 + } +} diff --git a/src/main/templates/META-INF/neoforge.mods.toml b/src/main/templates/META-INF/neoforge.mods.toml new file mode 100644 index 00000000..7f09fdbe --- /dev/null +++ b/src/main/templates/META-INF/neoforge.mods.toml @@ -0,0 +1,79 @@ +# This is an example mods.toml file. It contains the data relating to the loading mods. +# There are several mandatory fields (#mandatory), and many more that are optional (#optional). +# The overall format is standard TOML format, v0.5.0. +# Note that there are a couple of TOML lists in this file. +# Find more information on toml format here: https://github.com/toml-lang/toml +# The name of the mod loader type to load - for regular FML @Mod mods it should be javafml +modLoader = "javafml" #mandatory +# A version range to match for said mod loader - for regular FML @Mod it will be the the FML version. This is currently 47. +loaderVersion = "${loader_version_range}" #mandatory +# The license for you mod. This is mandatory metadata and allows for easier comprehension of your redistributive properties. +# Review your options at https://choosealicense.com/. All rights reserved is the default copyright stance, and is thus the default here. +license = "${mod_license}" +# A URL to refer people to when problems occur with this mod +#issueTrackerURL="https://change.me.to.your.issue.tracker.example.invalid/" #optional +# A list of mods - how many allowed here is determined by the individual mod loader +[[mods]] #mandatory +# The modid of the mod +modId = "${mod_id}" #mandatory +# The version number of the mod +version = "${mod_version}" #mandatory +# A display name for the mod +displayName = "${mod_name}" #mandatory +# A URL to query for updates for this mod. See the JSON update specification https://docs.neoforge.net/docs/misc/updatechecker/ +#updateJSONURL="https://change.me.example.invalid/updates.json" #optional +# A URL for the "homepage" for this mod, displayed in the mod UI +#displayURL="https://change.me.to.your.mods.homepage.example.invalid/" #optional +# A file name (in the root of the mod JAR) containing a logo for display +#logoFile="tfmg.png" #optional +# A text field displayed in the mod UI +#credits="" #optional +# A text field displayed in the mod UI +authors = "${mod_authors}" #optional + +# The description text for the mod (multi line!) (#mandatory) +description = '''${mod_description}''' + +# The [[mixins]] block allows you to declare your mixin config to FML so that it gets loaded. +[[mixins]] +config = "${mod_id}.mixins.json" + +# The [[accessTransformers]] block allows you to declare where your AT file is. +# If this block is omitted, a fallback attempt will be made to load an AT from META-INF/accesstransformer.cfg +#[[accessTransformers]] +#file="META-INF/accesstransformer.cfg" + +# The coremods config file path is not configurable and is always loaded from META-INF/coremods.json + +# A dependency - use the . to indicate dependency for a specific modid. Dependencies are optional. +[[dependencies."${mod_id}"]] #optional +# the modid of the dependency +modId = "neoforge" #mandatory +# The type of the dependency. Can be one of "required", "optional", "incompatible" or "discouraged" (case insensitive). +# 'required' requires the mod to exist, 'optional' does not +# 'incompatible' will prevent the game from loading when the mod exists, and 'discouraged' will show a warning +type = "required" #mandatory +# Optional field describing why the dependency is required or why it is incompatible +# reason="..." +# The version range of the dependency +versionRange = "${neo_version_range}" #mandatory +# An ordering relationship for the dependency. +# BEFORE - This mod is loaded BEFORE the dependency +# AFTER - This mod is loaded AFTER the dependency +ordering = "NONE" +# Side this dependency is applied on - BOTH, CLIENT, or SERVER +side = "BOTH" +# Here's another dependency +[[dependencies."${mod_id}"]] +modId = "minecraft" +type = "required" +# This version range declares a minimum of the current minecraft version up to but not including the next major version +versionRange = "${minecraft_version_range}" +ordering = "NONE" +side = "BOTH" + +# Features are specific properties of the game environment, that you may want to declare you require. This example declares +# that your mod requires GL version 3.2 or higher. Other features will be added. They are side aware so declaring this won't +# stop your mod loading on the server for example. +#[features."${mod_id}"] +#openGLVersion="[3.2,)"